Revision: 15965
http://sourceforge.net/p/skim-app/code/15965
Author: hofman
Date: 2026-01-06 18:13:00 +0000 (Tue, 06 Jan 2026)
Log Message:
-----------
get point only when needed
Modified Paths:
--------------
trunk/SKPDFView.m
Modified: trunk/SKPDFView.m
===================================================================
--- trunk/SKPDFView.m 2026-01-06 17:21:55 UTC (rev 15964)
+++ trunk/SKPDFView.m 2026-01-06 18:13:00 UTC (rev 15965)
@@ -4563,7 +4563,7 @@
NSPoint mouseLocInWindow = [lastMouseEvent locationInWindow];
NSPoint mouseLoc = [self convertPoint:mouseLocInWindow fromView:nil];
if ([docView autoscroll:lastMouseEvent] == NO &&
- ([self displayMode] == kPDFDisplaySinglePage || [self displayMode]
== kPDFDisplayTwoUp) &&
+ ([self displayMode] & kPDFDisplaySinglePageContinuous) == 0 &&
[[NSDate date] timeIntervalSinceDate:lastPageChangeDate] > 0.7) {
if (mouseLoc.y < NSMinY([self bounds])) {
if ([self canGoToNextPage]) {
@@ -4583,9 +4583,6 @@
mouseLoc = [self convertPoint:mouseLocInWindow fromView:nil];
PDFPage *mousePage = [self pageForPoint:mouseLoc nearest:YES];
- NSPoint mouseLocInPage = [self convertPoint:mouseLoc toPage:mousePage];
- NSPoint mouseLocInDocument = [self convertPoint:mouseLoc
toView:docView];
- NSInteger currentLine;
if ([mousePage isEqual:page] == NO) {
page = mousePage;
@@ -4593,16 +4590,19 @@
lineAngle = [page lineDirectionAngle];
}
- if (numberOfLines == 0)
- continue;
-
- currentLine = [page indexOfLineRectAtPoint:mouseLocInPage
lower:mouseLocInDocument.y < lastMouseLoc.y] - lineOffset;
- currentLine = MAX(0, MIN(numberOfLines - (NSInteger)[readingBar
numberOfLines], currentLine));
-
- if ([page isEqual:readingBarPage] == NO || currentLine != [readingBar
currentLine]) {
- [readingBar goToLine:currentLine onPage:page];
- readingBarPage = page;
- lastMouseLoc = mouseLocInDocument;
+ if (numberOfLines > 0) {
+ NSPoint mouseLocInPage = [self convertPoint:mouseLoc
toPage:mousePage];
+ NSPoint mouseLocInDocument = [self convertPoint:mouseLoc
toView:docView];
+ NSInteger currentLine;
+
+ currentLine = [page indexOfLineRectAtPoint:mouseLocInPage
lower:mouseLocInDocument.y < lastMouseLoc.y] - lineOffset;
+ currentLine = MAX(0, MIN(numberOfLines - (NSInteger)[readingBar
numberOfLines], currentLine));
+
+ if ([page isEqual:readingBarPage] == NO || currentLine !=
[readingBar currentLine]) {
+ [readingBar goToLine:currentLine onPage:page];
+ readingBarPage = page;
+ lastMouseLoc = mouseLocInDocument;
+ }
}
}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit