Revision: 12823
          http://sourceforge.net/p/skim-app/code/12823
Author:   hofman
Date:     2022-04-06 09:25:45 +0000 (Wed, 06 Apr 2022)
Log Message:
-----------
scroll only horizontally for navigation with horizontal layout, as PDFView 
scrolls only vertically in vertical layout mode

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

Modified: trunk/SKBasePDFView.m
===================================================================
--- trunk/SKBasePDFView.m       2022-04-04 14:10:12 UTC (rev 12822)
+++ trunk/SKBasePDFView.m       2022-04-06 09:25:45 UTC (rev 12823)
@@ -300,23 +300,16 @@
 
 - (void)goToPage:(PDFPage *)page {
     if (hasHorizontalLayout(self)) {
-        NSRect bounds = [page boundsForBox:[self displayBox]];
+        NSView *clipView = [[self scrollView] contentView];
+        NSRect bounds = [self convertRect:[self convertRect:[page 
boundsForBox:[self displayBox]] fromPage:page] toView:clipView];
+        NSPoint point = NSMakePoint(NSMinX(bounds), NSMinY([clipView bounds]));
         if ([self displaysPageBreaks]) {
 #pragma clang diagnostic push
 #pragma clang diagnostic ignored "-Wpartial-availability"
-            NSEdgeInsets margins = [self pageBreakMargins];
+            point.x -= [self pageBreakMargins].left;
 #pragma clang diagnostic pop
-            bounds = NSInsetRect(bounds, -margins.left, ([page rotation] % 
180) == 0 ? -margins.bottom : -margins.left);
         }
-        NSPoint point;
-        switch ([page rotation]) {
-            case 0:   point = SKTopLeftPoint(bounds);     break;
-            case 90:  point = SKBottomLeftPoint(bounds);  break;
-            case 180: point = SKBottomRightPoint(bounds); break;
-            case 270: point = SKTopRightPoint(bounds);    break;
-            default:  point = SKTopLeftPoint(bounds);     break;
-        }
-        [self goToDestination:[[[PDFDestination alloc] initWithPage:page 
atPoint:point] autorelease]];
+        [clipView scrollPoint:point];
     } else {
         [super 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