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