Revision: 13106
          http://sourceforge.net/p/skim-app/code/13106
Author:   hofman
Date:     2022-10-21 14:37:26 +0000 (Fri, 21 Oct 2022)
Log Message:
-----------
also try to scroll horizontally when rewinding in 2 up scrolling mode

Modified Paths:
--------------
    trunk/SKPDFView.m

Modified: trunk/SKPDFView.m
===================================================================
--- trunk/SKPDFView.m   2022-10-21 14:20:06 UTC (rev 13105)
+++ trunk/SKPDFView.m   2022-10-21 14:37:26 UTC (rev 13106)
@@ -1650,7 +1650,8 @@
 #pragma mark Rewind
 
 - (void)scrollToPage:(PDFPage *)page {
-    if (([self displayMode] & kPDFDisplaySinglePageContinuous)) {
+    PDFDisplayMode mode = [self displayMode];
+    if ((mode & kPDFDisplaySinglePageContinuous)) {
         NSRect pageRect = [self convertRect:[page boundsForBox:[self 
displayBox]] fromPage:page];
         if ([self displaysPageBreaks]) {
             CGFloat scale = [self scaleFactor];
@@ -1668,14 +1669,18 @@
         }
         NSClipView *clipView = [[self scrollView] contentView];
         NSRect bounds = [clipView bounds];
-        CGFloat inset = [self convertSize:NSMakeSize(0.0, [[self scrollView] 
contentInsets].top) toView:clipView].height;
         pageRect = [self convertRect:pageRect toView:clipView];
-        if ([self extendedDisplayMode] == kPDFDisplayHorizontalContinuous)
+        if ([self displaysHorizontally] && mode == 
kPDFDisplaySinglePageContinuous) {
             bounds.origin.x = fmin(NSMidX(pageRect) - 0.5 * NSWidth(bounds), 
NSMinX(pageRect));
-        else if ([clipView isFlipped])
-            bounds.origin.y = fmin(NSMidY(pageRect) - 0.5 * (NSHeight(bounds) 
+ inset), NSMinY(pageRect) - inset);
-        else
-            bounds.origin.y = fmax(NSMaxY(pageRect) - NSHeight(bounds) + 
inset, NSMidY(pageRect) - 0.5 * (NSHeight(bounds) - inset));
+        } else {
+            CGFloat inset = [self convertSize:NSMakeSize(0.0, [[self 
scrollView] contentInsets].top) toView:clipView].height;
+            if ([clipView isFlipped])
+                bounds.origin.y = fmin(NSMidY(pageRect) - 0.5 * 
(NSHeight(bounds) + inset), NSMinY(pageRect) - inset);
+            else
+                bounds.origin.y = fmax(NSMaxY(pageRect) - NSHeight(bounds) + 
inset, NSMidY(pageRect) - 0.5 * (NSHeight(bounds) - inset));
+            if ((mode & kPDFDisplayTwoUp))
+                bounds.origin.x = fmin(NSMidX(pageRect) - 0.5 * 
NSWidth(bounds), NSMinX(pageRect));
+        }
         [clipView scrollToPoint:[clipView constrainBoundsRect:bounds].origin];
     } else if ([self isPageAtIndexDisplayed:[page pageIndex]] == NO) {
         [self goToPage:page];

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
Skim-app-commit mailing list
Skim-app-commit@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to