Revision: 15933
          http://sourceforge.net/p/skim-app/code/15933
Author:   hofman
Date:     2025-12-27 17:28:14 +0000 (Sat, 27 Dec 2025)
Log Message:
-----------
separate method to redisplay full view for inverted readingbar

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

Modified: trunk/SKPDFView.m
===================================================================
--- trunk/SKPDFView.m   2025-12-26 17:56:41 UTC (rev 15932)
+++ trunk/SKPDFView.m   2025-12-27 17:28:14 UTC (rev 15933)
@@ -205,7 +205,8 @@
 - (void)stopPacer;
 - (void)updatePacer;
 
-- (void)setNeedsDisplay:(BOOL)needsDisplay forReadingBarBounds:(NSRect)rect 
onPage:(PDFPage *)page;
+- (void)setNeedsDisplayForReadingBarBounds:(NSRect)rect onPage:(PDFPage *)page;
+- (void)setNeedsDisplayForInvertedReadingBar;
 
 - (void)doMoveCurrentAnnotationForKey:(unichar)eventChar 
byAmount:(CGFloat)delta;
 - (void)doResizeCurrentAnnotationForKey:(unichar)eventChar 
byAmount:(CGFloat)delta;
@@ -966,7 +967,10 @@
         userInfo = page ? @{SKPDFViewPageKey: page} : nil;
     }
     [self updatePacer];
-    [self setNeedsDisplay:[[NSUserDefaults standardUserDefaults] 
boolForKey:SKReadingBarInvertKey] forReadingBarBounds:bounds onPage:page];
+    if ([[NSUserDefaults standardUserDefaults] 
boolForKey:SKReadingBarInvertKey])
+        [self setNeedsDisplayForInvertedReadingBar];
+    else
+        [self setNeedsDisplayForReadingBarBounds:bounds onPage:page];
     [[NSNotificationCenter defaultCenter] 
postNotificationName:SKPDFViewReadingBarDidChangeNotification object:self 
userInfo:userInfo];
 }
 
@@ -1007,9 +1011,9 @@
     }
     
     if (oldPage)
-        [self setNeedsDisplay:NO forReadingBarBounds:oldBounds onPage:oldPage];
+        [self setNeedsDisplayForReadingBarBounds:oldBounds onPage:oldPage];
     if (newPage)
-        [self setNeedsDisplay:NO forReadingBarBounds:newBounds onPage:newPage];
+        [self setNeedsDisplayForReadingBarBounds:newBounds onPage:newPage];
     
     NSDictionary *userInfo = (newPage && oldPage && newPage != oldPage) ? 
@{SKPDFViewPageKey: newPage, SKPDFViewOldPageKey: oldPage} : (newPage || 
oldPage) ? @{SKPDFViewPageKey: newPage ?: oldPage} : nil;
     [[NSNotificationCenter defaultCenter] 
postNotificationName:SKPDFViewReadingBarDidChangeNotification object:self 
userInfo:userInfo];
@@ -2908,15 +2912,15 @@
     [self updatedAnnotation:annotation forKey:nil fromValue:nil];
 }
 
-- (void)setNeedsDisplay:(BOOL)needsDisplay forReadingBarBounds:(NSRect)rect 
onPage:(PDFPage *)page {
-    if (needsDisplay) {
-        [self setNeedsDisplay:YES];
-        [loupeController updateContents];
-    } else {
-        [self setNeedsDisplayInRect:[SKReadingBar bounds:rect forBox:[self 
displayBox] onPage:page] ofPage:page];
-    }
+- (void)setNeedsDisplayForReadingBarBounds:(NSRect)rect onPage:(PDFPage *)page 
{
+    [self setNeedsDisplayInRect:[SKReadingBar bounds:rect forBox:[self 
displayBox] onPage:page] ofPage:page];
 }
 
+- (void)setNeedsDisplayForInvertedReadingBar {
+    [self setNeedsDisplay:YES];
+    [loupeController updateContents];
+}
+
 - (void)setNeedsDisplayInRect:(NSRect)rect ofPage:(PDFPage *)page {
     if ([self isPageAtIndexDisplayed:[page pageIndex]]) {
         rect = NSIntegralRect([self convertRect:NSInsetRect(rect, -1.0, -1.0) 
fromPage:page]);
@@ -2954,7 +2958,10 @@
             if ([self hasReadingBar] == NO) {
                 SKReadingBar *aReadingBar = [[SKReadingBar alloc] 
initWithPage:page line:line delegate:self];
                 [self setReadingBar:aReadingBar];
-                [self setNeedsDisplay:invert forReadingBarBounds:[readingBar 
currentBounds] onPage:[readingBar page]];
+                if (invert)
+                    [self setNeedsDisplayForInvertedReadingBar];
+                else
+                    [self setNeedsDisplayForReadingBarBounds:[readingBar 
currentBounds] onPage:[readingBar page]];
                 page = [readingBar page];
                 [[NSNotificationCenter defaultCenter] 
postNotificationName:SKPDFViewReadingBarDidChangeNotification object:self 
userInfo:page ? @{SKPDFViewPageKey: page} : nil];
             } else {
@@ -3304,7 +3311,10 @@
     if (context == &SKPDFViewDefaultsObservationContext) {
         if (readingBar) {
             PDFPage *page = [readingBar page];
-            [self setNeedsDisplay:([keyPath 
isEqualToString:SKReadingBarInvertKey] || [[NSUserDefaults 
standardUserDefaults] boolForKey:SKReadingBarInvertKey]) 
forReadingBarBounds:[readingBar currentBounds] onPage:page];
+            if ([keyPath isEqualToString:SKReadingBarInvertKey] || 
[[NSUserDefaults standardUserDefaults] boolForKey:SKReadingBarInvertKey])
+                [self setNeedsDisplayForInvertedReadingBar];
+            else
+                [self setNeedsDisplayForReadingBarBounds:[readingBar 
currentBounds] onPage:page];
             [[NSNotificationCenter defaultCenter] 
postNotificationName:SKPDFViewReadingBarDidChangeNotification
                                                                 object:self 
userInfo:page ? @{SKPDFViewPageKey: page} : nil];
         }

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

Reply via email to