diff options
Diffstat (limited to 'Build/source/libs/xpdf/xpdf-src/xpdf/TileMap.cc')
-rw-r--r-- | Build/source/libs/xpdf/xpdf-src/xpdf/TileMap.cc | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/Build/source/libs/xpdf/xpdf-src/xpdf/TileMap.cc b/Build/source/libs/xpdf/xpdf-src/xpdf/TileMap.cc index d1a5aea2963..d5916627082 100644 --- a/Build/source/libs/xpdf/xpdf-src/xpdf/TileMap.cc +++ b/Build/source/libs/xpdf/xpdf-src/xpdf/TileMap.cc @@ -786,17 +786,18 @@ GBool TileMap::cvtDevToWindow(int pg, int xd, int yd, break; case displaySideBySideSingle: - if (!(pg == state->getScrollPage() || - (pg == state->getScrollPage() + 1 && - state->getScrollPage() + 1 <= state->getDoc()->getNumPages()))) { + leftPg = (state->getScrollPage() - 1) | 1; + if (!(pg == leftPg || + (pg == leftPg + 1 && + leftPg + 1 <= state->getDoc()->getNumPages()))) { *xw = *yw = 0; return gFalse; } - pageW1 = pageW[state->getScrollPage() - 1]; - pageH1 = pageH[state->getScrollPage() - 1]; - if (state->getScrollPage() + 1 <= state->getDoc()->getNumPages()) { - pageW2 = pageW[state->getScrollPage()]; - pageH2 = pageH[state->getScrollPage()]; + pageW1 = pageW[leftPg - 1]; + pageH1 = pageH[leftPg - 1]; + if (leftPg + 1 <= state->getDoc()->getNumPages()) { + pageW2 = pageW[leftPg]; + pageH2 = pageH[leftPg]; } else { // display a single page as though there were a blank facing // page of the same size @@ -819,13 +820,12 @@ GBool TileMap::cvtDevToWindow(int pg, int xd, int yd, } else { offsetY = 0; } - if (pg == state->getScrollPage()) { + if (pg == leftPg) { *xw = xd + offsetX - state->getScrollX(); - *yw = yd + offsetY - state->getScrollY(); } else { *xw = xd + offsetX2 - state->getScrollX(); - *yw = yd + offsetY - state->getScrollY(); } + *yw = yd + offsetY - state->getScrollY(); break; case displaySideBySideContinuous: |