From: Artur Adib Date: Tue, 8 May 2012 21:22:48 +0000 (-0400) Subject: Merge branch 'refs/heads/master' into textsearch X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=2d3ed7fc7886b371525cba4a27c2c8e1f247fefd;p=pdf.js.git Merge branch 'refs/heads/master' into textsearch Conflicts: web/viewer.css web/viewer.html web/viewer.js --- 2d3ed7fc7886b371525cba4a27c2c8e1f247fefd diff --cc src/api.js index dee6c66,bbab680..e1991a0 --- a/src/api.js +++ b/src/api.js @@@ -329,18 -329,12 +329,18 @@@ var PDFPageProxy = (function PDFPagePro next(); }, /** - * Stub for future feature. + * @return {Promise} That is resolved with the a {string} that is the text + * content from the page. */ - getTextContent: function() { + getTextContent: function PDFPageProxy_getTextContent() { var promise = new PDFJS.Promise(); - var textContent = 'page text'; // not implemented - promise.resolve(textContent); + this.transport.messageHandler.send('GetTextContent', { + pageIndex: this.pageNumber - 1 + }, + function textContentCallback(textContent) { + promise.resolve(textContent); + } + ); return promise; }, /** diff --cc web/viewer.css index 6e770a7,7b0ce03..4fc426c --- a/web/viewer.css +++ b/web/viewer.css @@@ -12,156 -21,631 +21,642 @@@ body display: none !important; } - /* === Toolbar === */ - #controls { - background-color: #eee; - background: -o-linear-gradient(bottom,#eee 0%,#fff 100%); - background: -moz-linear-gradient(center bottom, #eee 0%, #fff 100%); - background: -webkit-gradient(linear, left bottom, left top, color-stop(0.0, #ddd), color-stop(1.0, #fff)); - border-bottom: 1px solid #666; - padding: 3px; - position: fixed; - left: 0px; - top: 0px; - height: 24px; + /* outer/inner center provides horizontal center */ + html[dir='ltr'] .outerCenter { + float: right; + position: relative; + right: 50%; + } + html[dir='rtl'] .outerCenter { + float: left; + position: relative; + left: 50%; + } + html[dir='ltr'] .innerCenter { + float: right; + position: relative; + right: -50%; + } + html[dir='rtl'] .innerCenter { + float: left; + position: relative; + left: -50%; + } + + #outerContainer { width: 100%; - z-index: 1; - white-space:nowrap; - overflow: hidden; + height: 100%; } - .separator { - display: inline; - border-left: 1px solid #d3d3d3; - border-right: 1px solid #fff; - height: 16px; - width:0px; - margin: 4px; + #sidebarContainer { + position: absolute; + top: 0; + bottom: 0; + width: 200px; + visibility: hidden; + -moz-transition-duration: 200ms; + -moz-transition-timing-function: ease; + -webkit-transition-duration: 200ms; + -webkit-transition-timing-function: ease; + } + html[dir='ltr'] #sidebarContainer { + -moz-transition-property: left; + -webkit-transition-property: left; + left: -200px; + } + html[dir='rtl'] #sidebarContainer { + -moz-transition-property: right; + -webkit-transition-property: right; + right: -200px; } - #controls > a > img { - margin: 4px; - height: 16px; + #outerContainer.sidebarMoving > #sidebarContainer, + #outerContainer.sidebarOpen > #sidebarContainer { + visibility: visible; + } + html[dir='ltr'] #outerContainer.sidebarOpen > #sidebarContainer { + left: 0px; + } + html[dir='rtl'] #outerContainer.sidebarOpen > #sidebarContainer { + right: 0px; } - #controls > button { - line-height: 16px; + #mainContainer { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + -moz-transition-duration: 200ms; + -moz-transition-timing-function: ease; + -webkit-transition-duration: 200ms; + -webkit-transition-timing-function: ease; } + html[dir='ltr'] #outerContainer.sidebarOpen > #mainContainer { + -moz-transition-property: left; + -webkit-transition-property: left; + left: 200px; + } + html[dir='rtl'] #outerContainer.sidebarOpen > #mainContainer { + -moz-transition-property: right; + -webkit-transition-property: right; + right: 200px; + } + + #sidebarContent { + top: 32px; + bottom: 0; + overflow: auto; + position: absolute; + width: 200px; - #controls > button > img { - width: 16px; - height: 16px; + background-color: hsla(0,0%,0%,.1); + box-shadow: inset -1px 0 0 hsla(0,0%,0%,.25); + } + html[dir='ltr'] #sidebarContent { + left: 0; + } + html[dir='rtl'] #sidebarContent { + right: 0; } - #controls > button[disabled] > img { - opacity: 0.5; + #viewerContainer { + overflow: auto; + box-shadow: inset 1px 0 0 hsla(0,0%,100%,.05); + padding-top: 30px; + position: absolute; + top: 32px; + right: 0; + bottom: 0; + left: 0; } - #pageNumber { - text-align: right; + .toolbar { + position: absolute; + left: 0; + right: 0; + height: 32px; + z-index: 9999; + cursor: default; } - #fileInput { - line-height: 16px; + #toolbarContainer { + width: 100%; } - /* === Sidebar === */ - #sidebar { - position: fixed; - width: 350px; - top: 62px; - bottom: 18px; - left: -290px; - transition: left 0.25s ease-in-out 1s; - -o-transition: left 0.25s ease-in-out 1s; - -moz-transition: left 0.25s ease-in-out 1s; - -webkit-transition: left 0.25s ease-in-out 1s; - z-index: 1; - } - - #sidebar:hover, - #sidebar.pinned { - left: 0px; - transition: left 0.25s ease-in-out 0s; - -o-transition: left 0.25s ease-in-out 0s; - -moz-transition: left 0.25s ease-in-out 0s; - -webkit-transition: left 0.25s ease-in-out 0s; + #toolbarSidebar { + width: 200px; + height: 32px; + background-image: url(images/texture.png), + -moz-linear-gradient(hsla(0,0%,30%,.99), hsla(0,0%,25%,.95)); + background-image: url(images/texture.png), + -webkit-linear-gradient(hsla(0,0%,30%,.99), hsla(0,0%,25%,.95)); + box-shadow: inset -2px 0 0 hsla(0,0%,100%,.08), + inset 0 1px 1px hsla(0,0%,0%,.15), + inset 0 -1px 0 hsla(0,0%,100%,.05), + 0 1px 0 hsla(0,0%,0%,.15), + 0 1px 1px hsla(0,0%,0%,.1); + } + + #toolbarViewer { + position: relative; + height: 32px; + background-image: url(images/texture.png), + -moz-linear-gradient(hsla(0,0%,32%,.99), hsla(0,0%,27%,.95)); + background-image: url(images/texture.png), + -webkit-linear-gradient(hsla(0,0%,32%,.99), hsla(0,0%,27%,.95)); + border-left: 1px solid hsla(0,0%,0%,.5); + box-shadow: inset 1px 0 0 hsla(0,0%,100%,.08), + inset 0 1px 1px hsla(0,0%,0%,.15), + inset 0 -1px 0 hsla(0,0%,100%,.05), + 0 1px 0 hsla(0,0%,0%,.15), + 0 1px 1px hsla(0,0%,0%,.1); + } + html[dir='ltr'] #toolbarViewerLeft { + margin-left: -1px; + } + html[dir='rtl'] #toolbarViewerRight { + margin-left: -1px; } - #pinIcon { + + html[dir='ltr'] #toolbarViewerLeft, + html[dir='rtl'] #toolbarViewerRight { + position: absolute; + top: 0; + left: 0; + } + html[dir='ltr'] #toolbarViewerRight, + html[dir='rtl'] #toolbarViewerLeft { position: absolute; - top: 4px; - right: 55px; - width: 15px; - height: 15px; - background: center no-repeat; - background-image: url('images/pin-up.svg'); - background-size: 15px 15px; + top: 0; + right: 0; + } + html[dir='ltr'] #toolbarViewerLeft > *, + html[dir='ltr'] #toolbarViewerMiddle > *, + html[dir='ltr'] #toolbarViewerRight > * { + float: left; + } + html[dir='rtl'] #toolbarViewerLeft > *, + html[dir='rtl'] #toolbarViewerMiddle > *, + html[dir='rtl'] #toolbarViewerRight > * { + float: right; } - #pinIcon:hover { - background-color: rgba(255,255,255,0.35); + html[dir='ltr'] .splitToolbarButton { + margin: 3px 2px 4px 0; + display: inline-block; + } + html[dir='rtl'] .splitToolbarButton { + margin: 3px 0 4px 2px; + display: inline-block; + } + html[dir='ltr'] .splitToolbarButton > .toolbarButton { + border-radius: 0; + float: left; + } + html[dir='rtl'] .splitToolbarButton > .toolbarButton { + border-radius: 0; + float: right; } - #sidebar.pinned #pinIcon { - background-image: url('images/pin-down.svg'); - background-size: 15px 15px; + .toolbarButton { + border: 0 none; + background-color: rgba(0, 0, 0, 0); + width: 32px; + height: 25px; } - #sidebarBox { - background-color: rgba(0, 0, 0, 0.7); - width: 300px; - height: 100%; - border-top-right-radius: 8px; - border-bottom-right-radius: 8px; - -moz-border-radius-topright: 8px; - -moz-border-radius-bottomright: 8px; - -webkit-border-top-right-radius: 8px; - -webkit-border-bottom-right-radius: 8px; - box-shadow: 0px 2px 8px #000; - -moz-box-shadow: 0px 2px 8px #000; - -webkit-box-shadow: 0px 2px 8px #000; - } - - #sidebarScrollView { - position: absolute; + .toolbarButton > span { + display: inline-block; + width: 0; + height: 0; overflow: hidden; - overflow-y: auto; - top: 20px; - bottom: 10px; - left: 10px; - width: 280px; } - .thumbnail { - width: 134px; - height: 134px; - margin-top: 5px; - margin-bottom: 5px; - margin-left:auto; - margin-right:auto; - line-height: 134px; - text-align: center; + .toolbarButton[disabled] { + opacity: .5; + } + ++.toolbarButton.group { ++ margin-right:0; ++} ++ + .splitToolbarButton:hover > .toolbarButton, + .splitToolbarButton:focus > .toolbarButton, + .splitToolbarButton.toggled > .toolbarButton { + background-color: hsla(0,0%,0%,.12); + background-image: -moz-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-image: -webkit-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-clip: padding-box; + border: 1px solid hsla(0,0%,0%,.35); + border-color: hsla(0,0%,0%,.32) hsla(0,0%,0%,.38) hsla(0,0%,0%,.42); + box-shadow: 0 1px 0 hsla(0,0%,100%,.05) inset, + 0 0 1px hsla(0,0%,100%,.15) inset, + 0 1px 0 hsla(0,0%,100%,.05); + -moz-transition-property: background-color, border-color, box-shadow; + -moz-transition-duration: 150ms; + -moz-transition-timing-function: ease; + -webkit-transition-property: background-color, border-color, box-shadow; + -webkit-transition-duration: 150ms; + -webkit-transition-timing-function: ease; + } + .splitToolbarButton > .toolbarButton:hover, + .splitToolbarButton > .toolbarButton:focus, + .dropdownToolbarButton:hover { + background-color: hsla(0,0%,0%,.2); + box-shadow: 0 1px 0 hsla(0,0%,100%,.05) inset, + 0 0 1px hsla(0,0%,100%,.15) inset, + 0 0 1px hsla(0,0%,0%,.05); + z-index: 199; + } + html[dir='ltr'] .splitToolbarButton > .toolbarButton:first-child, + html[dir='rtl'] .splitToolbarButton > .toolbarButton:last-child { + position: relative; + margin: 0; + margin-right: -1px; + border-top-left-radius: 2px; + border-bottom-left-radius: 2px; + border-right-color: transparent; + } + html[dir='ltr'] .splitToolbarButton > .toolbarButton:last-child, + html[dir='rtl'] .splitToolbarButton > .toolbarButton:first-child { + position: relative; + margin: 0; + margin-left: -1px; + border-top-right-radius: 2px; + border-bottom-right-radius: 2px; + border-left-color: transparent; + } + .splitToolbarButtonSeparator { + padding: 8px 0; + width: 1px; + background-color: hsla(0,0%,00%,.5); + z-index: 99; + box-shadow: 0 0 0 1px hsla(0,0%,100%,.08); + display: inline-block; + margin: 5px 0; + } + html[dir='ltr'] .splitToolbarButtonSeparator { + float:left; + } + html[dir='rtl'] .splitToolbarButtonSeparator { + float:right; + } + .splitToolbarButton:hover > .splitToolbarButtonSeparator, + .splitToolbarButton.toggled > .splitToolbarButtonSeparator { + padding: 12px 0; + margin: 0; + box-shadow: 0 0 0 1px hsla(0,0%,100%,.03); + -moz-transition-property: padding; + -moz-transition-duration: 10ms; + -moz-transition-timing-function: ease; + -webkit-transition-property: padding; + -webkit-transition-duration: 10ms; + -webkit-transition-timing-function: ease; + } + + .toolbarButton, + .dropdownToolbarButton { + min-width: 16px; + padding: 2px 6px 0; + border: 1px solid transparent; + border-radius: 2px; + color: hsl(0,0%,95%); + font-size: 12px; + line-height: 14px; + -moz-user-select:none; + -webkit-user-select:none; + cursor: default; + -moz-transition-property: background-color, border-color, box-shadow; + -moz-transition-duration: 150ms; + -moz-transition-timing-function: ease; + -webkit-transition-property: background-color, border-color, box-shadow; + -webkit-transition-duration: 150ms; + -webkit-transition-timing-function: ease; + } + + html[dir='ltr'] .toolbarButton, + html[dir='ltr'] .dropdownToolbarButton { + margin: 3px 2px 4px 0; + } + html[dir='rtl'] .toolbarButton, + html[dir='rtl'] .dropdownToolbarButton { + margin: 3px 0 4px 2px; + } + + .toolbarButton:hover, + .toolbarButton:focus, + .dropdownToolbarButton { + background-color: hsla(0,0%,0%,.12); + background-image: -moz-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-image: -webkit-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-clip: padding-box; + border: 1px solid hsla(0,0%,0%,.35); + border-color: hsla(0,0%,0%,.32) hsla(0,0%,0%,.38) hsla(0,0%,0%,.42); + box-shadow: 0 1px 0 hsla(0,0%,100%,.05) inset, + 0 0 1px hsla(0,0%,100%,.15) inset, + 0 1px 0 hsla(0,0%,100%,.05); + } + + .toolbarButton:hover:active, + .dropdownToolbarButton:hover:active { + background-color: hsla(0,0%,0%,.2); + background-image: -moz-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-image: -webkit-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + border-color: hsla(0,0%,0%,.35) hsla(0,0%,0%,.4) hsla(0,0%,0%,.45); + box-shadow: 0 1px 1px hsla(0,0%,0%,.1) inset, + 0 0 1px hsla(0,0%,0%,.2) inset, + 0 1px 0 hsla(0,0%,100%,.05); + -moz-transition-property: background-color, border-color, box-shadow; + -moz-transition-duration: 10ms; + -moz-transition-timing-function: linear; + -webkit-transition-property: background-color, border-color, box-shadow; + -webkit-transition-duration: 10ms; + -webkit-transition-timing-function: linear; + } + + .toolbarButton.toggled, + .splitToolbarButton.toggled > .toolbarButton.toggled { + background-color: hsla(0,0%,0%,.3); + background-image: -moz-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-image: -webkit-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + border-color: hsla(0,0%,0%,.4) hsla(0,0%,0%,.45) hsla(0,0%,0%,.5); + box-shadow: 0 1px 1px hsla(0,0%,0%,.1) inset, + 0 0 1px hsla(0,0%,0%,.2) inset, + 0 1px 0 hsla(0,0%,100%,.05); + -moz-transition-property: background-color, border-color, box-shadow; + -moz-transition-duration: 10ms; + -moz-transition-timing-function: linear; + -webkit-transition-property: background-color, border-color, box-shadow; + -webkit-transition-duration: 10ms; + -webkit-transition-timing-function: linear; + } + + .toolbarButton.toggled:hover:active, + .splitToolbarButton.toggled > .toolbarButton.toggled:hover:active { + background-color: hsla(0,0%,0%,.4); + border-color: hsla(0,0%,0%,.4) hsla(0,0%,0%,.5) hsla(0,0%,0%,.55); + box-shadow: 0 1px 1px hsla(0,0%,0%,.2) inset, + 0 0 1px hsla(0,0%,0%,.3) inset, + 0 1px 0 hsla(0,0%,100%,.05); + } + + .dropdownToolbarButton { + min-width: 120px; + max-width: 120px; + padding: 3px 2px 2px; overflow: hidden; + background: url(images/toolbarButton-menuArrows.png) no-repeat; + } + html[dir='ltr'] .dropdownToolbarButton { + background-position: 95%; + } + html[dir='rtl'] .dropdownToolbarButton { + background-position: 5%; } - .thumbnail:not([data-loaded]) { - background-color: gray; + .dropdownToolbarButton > select { + -moz-appearance: none; /* in the future this might matter, see bugzilla bug #649849 */ + -webkit-appearance: none; + min-width: 140px; + font-size: 12px; + color: hsl(0,0%,95%); + margin:0; + padding:0; + border:none; + background: transparent; + } + + #customScaleOption { + display: none; + } + + #pageWidthOption { + border-bottom: 1px rgba(255, 255, 255, .5) solid; + } + + html[dir='ltr'] .splitToolbarButton:first-child, + html[dir='ltr'] .toolbarButton:first-child, + html[dir='rtl'] .splitToolbarButton:last-child, + html[dir='rtl'] .toolbarButton:last-child { + margin-left: 4px; + } + html[dir='ltr'] .splitToolbarButton:last-child, + html[dir='ltr'] .toolbarButton:last-child, + html[dir='rtl'] .splitToolbarButton:first-child, + html[dir='rtl'] .toolbarButton:first-child { + margin-right: 4px; } - .thumbnail > canvas { - vertical-align: middle; + .toolbarButtonSpacer { + width: 30px; display: inline-block; + height: 1px; } - #outlineScrollView { - position: absolute; - background-color: #fff; + .toolbarButtonFlexibleSpacer { + -moz-box-flex: 1; + -webkit-box-flex: 1; + min-width: 30px; + } + + .toolbarButton#sidebarToggle::before { + display: inline-block; + content: url(images/toolbarButton-sidebarToggle.png); + } + + html[dir='ltr'] .toolbarButton.pageUp::before { + display: inline-block; + content: url(images/toolbarButton-pageUp.png); + } + + html[dir='rtl'] .toolbarButton.pageUp::before { + display: inline-block; + content: url(images/toolbarButton-pageUp-rtl.png); + } + + html[dir='ltr'] .toolbarButton.pageDown::before { + display: inline-block; + content: url(images/toolbarButton-pageDown.png); + } + + html[dir='rtl'] .toolbarButton.pageDown::before { + display: inline-block; + content: url(images/toolbarButton-pageDown-rtl.png); + } + + .toolbarButton.zoomOut::before { + display: inline-block; + content: url(images/toolbarButton-zoomOut.png); + } + + .toolbarButton.zoomIn::before { + display: inline-block; + content: url(images/toolbarButton-zoomIn.png); + } + + .toolbarButton.print::before { + display: inline-block; + content: url(images/toolbarButton-print.png); + } + + .toolbarButton.download::before { + display: inline-block; + content: url(images/toolbarButton-download.png); + } + + .toolbarButton.bookmark { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; + margin-top: 3px; + padding-top: 4px; + } + + .toolbarButton.bookmark::before { + content: url(images/toolbarButton-bookmark.png); + } + + #viewThumbnail.toolbarButton::before { + display: inline-block; + content: url(images/toolbarButton-viewThumbnail.png); + } + + #viewOutline.toolbarButton::before { + display: inline-block; + content: url(images/toolbarButton-viewOutline.png); + } + ++#viewSearch.toolbarButton::before { ++ display: inline-block; ++ font-size: 18px; ++ content: 'S'; ++} ++ ++ + .toolbarField { + min-width: 16px; + width: 32px; + padding: 3px 6px; + margin: 4px 0 4px 0; + border: 1px solid transparent; + border-radius: 2px; + background-color: hsla(0,0%,100%,.09); + background-image: -moz-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-clip: padding-box; + border: 1px solid hsla(0,0%,0%,.35); + border-color: hsla(0,0%,0%,.32) hsla(0,0%,0%,.38) hsla(0,0%,0%,.42); + box-shadow: 0 1px 0 hsla(0,0%,0%,.05) inset, + 0 1px 0 hsla(0,0%,100%,.05); + color: hsl(0,0%,95%); + font-size: 12px; + line-height: 14px; + text-align: right; + outline-style: none; + -moz-transition-property: background-color, border-color, box-shadow; + -moz-transition-duration: 150ms; + -moz-transition-timing-function: ease; + } + + .toolbarField.pageNumber { + width: 40px; + } + + .toolbarField.pageNumber::-webkit-inner-spin-button, + .toolbarField.pageNumber::-webkit-outer-spin-button { + -webkit-appearance: none; + margin: 0; + } + + .toolbarField:hover { + background-color: hsla(0,0%,100%,.11); + border-color: hsla(0,0%,0%,.4) hsla(0,0%,0%,.43) hsla(0,0%,0%,.45); + } + + .toolbarField:focus { + background-color: hsla(0,0%,100%,.15); + border-color: hsla(204,100%,65%,.8) hsla(204,100%,65%,.85) hsla(204,100%,65%,.9); + } + + .toolbarLabel { + min-width: 16px; + padding: 3px 6px 3px 2px; + margin: 4px 2px 4px 0; + border: 1px solid transparent; + border-radius: 2px; + color: hsl(0,0%,85%); + font-size: 12px; + line-height: 14px; + text-align: left; + -moz-user-select:none; + -webkit-user-select:none; + cursor: default; + } + + #thumbnailView { + position: fixed; + width: 120px; + top: 33px; + bottom: 0; + padding: 10px 40px 0; overflow: auto; - top: 20px; - bottom: 10px; - left: 10px; - width: 280px; + } + + .thumbnail { + margin-bottom: 15px; + float: left; + width: 114px; + height: 142px; + } + + .thumbnail:not([data-loaded]) { + border: 1px dashed rgba(255, 255, 255, 0.5); + } + + .thumbnailImage { + -moz-transition-duration: 150ms; + border: 1px solid transparent; + box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.5), 0 2px 8px rgba(0, 0, 0, 0.3); + opacity: 0.8; + z-index: 99; + } + + .thumbnailSelectionRing { + border-radius: 2px; + padding: 7px; + -moz-transition-duration: 150ms; + } + + a:focus > .thumbnail > .thumbnailSelectionRing > .thumbnailImage, + .thumbnail:hover > .thumbnailSelectionRing > .thumbnailImage { + opacity: .9; + } + + a:focus > .thumbnail > .thumbnailSelectionRing, + .thumbnail:hover > .thumbnailSelectionRing { + background-color: hsla(0,0%,100%,.15); + background-image: -moz-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-clip: padding-box; + box-shadow: 0 1px 0 hsla(0,0%,100%,.05) inset, + 0 0 1px hsla(0,0%,100%,.2) inset, + 0 0 1px hsla(0,0%,0%,.2); + color: hsla(0,0%,100%,.9); + } + + .thumbnail.selected > .thumbnailSelectionRing > .thumbnailImage { + box-shadow: 0 0 0 1px hsla(0,0%,0%,.5); + opacity: 1; + } + + .thumbnail.selected > .thumbnailSelectionRing { + background-color: hsla(0,0%,100%,.3); + background-image: -moz-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-clip: padding-box; + box-shadow: 0 1px 0 hsla(0,0%,100%,.05) inset, + 0 0 1px hsla(0,0%,100%,.1) inset, + 0 0 1px hsla(0,0%,0%,.2); + color: hsla(0,0%,100%,1); } #outlineView { @@@ -182,78 -679,33 +690,80 @@@ } .outlineItem > a:hover { - background: #ff0; - box-shadow: 0px 2px 10px #ff0; + background-color: hsla(0,0%,100%,.02); + background-image: -moz-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-clip: padding-box; + box-shadow: 0 1px 0 hsla(0,0%,100%,.05) inset, + 0 0 1px hsla(0,0%,100%,.2) inset, + 0 0 1px hsla(0,0%,0%,.2); + color: hsla(0,0%,100%,.9); } +#searchScrollView { + position: absolute; + top: 10px; + bottom: 10px; + left: 10px; + width: 280px; +} + +#searchToolbar { + padding-left: 0px; + right: 0px; + padding-top: 0px; + padding-bottom: 5px; +} + +#searchToolbar > input { - width: 210px; ++ margin-left: 8px; ++ width: 130px; +} + +#searchResults { + overflow: auto; + background-color: #fff; + position: absolute; + top: 30px; + bottom: 0px; + left: 0px; + right: 0; + font-size: smaller; + opacity: 0.7; +} + +#searchResults a { + display: block; + white-space: pre; + text-decoration: none; + color: black; +} + +#sidebarControls { + position:absolute; + width: 180px; + height: 32px; + left: 15px; + bottom: 35px; +} + - #sidebarControls > button { - box-shadow: 0px 4px 10px #000; - -moz-box-shadow: 0px 4px 10px #000; - -webkit-box-shadow: 0px 4px 10px #000; + .outlineItem.selected { + background-color: hsla(0,0%,100%,.08); + background-image: -moz-linear-gradient(hsla(0,0%,100%,.05), hsla(0,0%,100%,0)); + background-clip: padding-box; + box-shadow: 0 1px 0 hsla(0,0%,100%,.05) inset, + 0 0 1px hsla(0,0%,100%,.1) inset, + 0 0 1px hsla(0,0%,0%,.2); + color: hsla(0,0%,100%,1); } - #sidebarControls > button > img { - width: 32px; - height: 32px; + .noOutline { + font-size: 12px; + color: hsla(0,0%,100%,.8); + font-style: italic; } - #sidebarControls > button[disabled] > img { - opacity: 0.5; - } - #sidebarControls > button[data-selected] { - box-shadow: 0px 4px 10px #ff0; - -moz-box-shadow: 0px 4px 10px #ff0; - -webkit-box-shadow: 0px 4px 10px #ff0; - } - /* === Content view === */ canvas { margin: auto; display: block; diff --cc web/viewer.html index 07817a8,0ec05e0..ff3a214 --- a/web/viewer.html +++ b/web/viewer.html @@@ -1,163 -1,174 +1,182 @@@ - - - Simple pdf.js page viewer - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + PDF.js viewer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -
- - - - -
- - - - / - -- - -
- - - - -
- - - -
- - - - - -
- - - -
+
- - Bookmark - - -
- - -