Revision: 12685
http://sourceforge.net/p/skim-app/code/12685
Author: hofman
Date: 2022-01-04 23:50:03 +0000 (Tue, 04 Jan 2022)
Log Message:
-----------
Derive wether to draw active selections from passed pdfview
Modified Paths:
--------------
trunk/PDFAnnotationInk_SKExtensions.m
trunk/PDFAnnotationLine_SKExtensions.m
trunk/PDFAnnotationMarkup_SKExtensions.m
trunk/PDFAnnotation_SKExtensions.h
trunk/PDFAnnotation_SKExtensions.m
trunk/PDFView_SKExtensions.h
trunk/PDFView_SKExtensions.m
trunk/SKPDFView.m
Modified: trunk/PDFAnnotationInk_SKExtensions.m
===================================================================
--- trunk/PDFAnnotationInk_SKExtensions.m 2022-01-04 23:41:09 UTC (rev
12684)
+++ trunk/PDFAnnotationInk_SKExtensions.m 2022-01-04 23:50:03 UTC (rev
12685)
@@ -240,8 +240,8 @@
return NSUnionRect([super displayRectForBounds:bounds
lineWidth:lineWidth], NSIntegralRect(rect));
}
-- (void)drawSelectionHighlightForView:(PDFView *)pdfView
inContext:(CGContextRef)context active:(BOOL)active {
- [super drawSelectionHighlightForView:pdfView inContext:context
active:active];
+- (void)drawSelectionHighlightForView:(PDFView *)pdfView
inContext:(CGContextRef)context {
+ [super drawSelectionHighlightForView:pdfView inContext:context];
if (NSIsEmptyRect([self bounds]) == NO && [self isSkimNote]) {
CGFloat scale = ceil(1.0 / [pdfView unitWidthOnPage:[self page]]);
NSRect b = [self bounds];
Modified: trunk/PDFAnnotationLine_SKExtensions.m
===================================================================
--- trunk/PDFAnnotationLine_SKExtensions.m 2022-01-04 23:41:09 UTC (rev
12684)
+++ trunk/PDFAnnotationLine_SKExtensions.m 2022-01-04 23:50:03 UTC (rev
12685)
@@ -266,12 +266,13 @@
return 0;
}
-- (void)drawSelectionHighlightForView:(PDFView *)pdfView
inContext:(CGContextRef)context active:(BOOL)active {
+- (void)drawSelectionHighlightForView:(PDFView *)pdfView
inContext:(CGContextRef)context {
if (NSIsEmptyRect([self bounds]))
return;
NSPoint origin = [self bounds].origin;
NSPoint point = SKAddPoints(origin, [self startPoint]);
CGFloat delta = [pdfView unitWidthOnPage:[self page]];
+ BOOL active = [pdfView drawsActiveSelections];
SKDrawResizeHandle(context, point, delta, active);
point = SKAddPoints(origin, [self endPoint]);
SKDrawResizeHandle(context, point, delta, active);
Modified: trunk/PDFAnnotationMarkup_SKExtensions.m
===================================================================
--- trunk/PDFAnnotationMarkup_SKExtensions.m 2022-01-04 23:41:09 UTC (rev
12684)
+++ trunk/PDFAnnotationMarkup_SKExtensions.m 2022-01-04 23:50:03 UTC (rev
12685)
@@ -327,7 +327,7 @@
return bounds;
}
-- (void)drawSelectionHighlightForView:(PDFView *)pdfView
inContext:(CGContextRef)context active:(BOOL)active {
+- (void)drawSelectionHighlightForView:(PDFView *)pdfView
inContext:(CGContextRef)context {
if (NSIsEmptyRect([self bounds]))
return;
@@ -335,7 +335,7 @@
NSUInteger i, iMax = [lines count];
PDFPage *page = [self page];
CGFloat lineWidth = [pdfView unitWidthOnPage:page];
- CGColorRef color = [[NSColor selectionHighlightColor:active] CGColor];
+ CGColorRef color = [[NSColor selectionHighlightColor:[pdfView
drawsActiveSelections]] CGColor];
CGContextSaveGState(context);
CGContextSetStrokeColorWithColor(context, color);
Modified: trunk/PDFAnnotation_SKExtensions.h
===================================================================
--- trunk/PDFAnnotation_SKExtensions.h 2022-01-04 23:41:09 UTC (rev 12684)
+++ trunk/PDFAnnotation_SKExtensions.h 2022-01-04 23:50:03 UTC (rev 12685)
@@ -106,7 +106,7 @@
- (SKRectEdges)resizeHandleForPoint:(NSPoint)point
scaleFactor:(CGFloat)scaleFactor;
-- (void)drawSelectionHighlightForView:(PDFView *)pdfView
inContext:(CGContextRef)context active:(BOOL)active;
+- (void)drawSelectionHighlightForView:(PDFView *)pdfView
inContext:(CGContextRef)context;
- (void)registerUserName;
Modified: trunk/PDFAnnotation_SKExtensions.m
===================================================================
--- trunk/PDFAnnotation_SKExtensions.m 2022-01-04 23:41:09 UTC (rev 12684)
+++ trunk/PDFAnnotation_SKExtensions.m 2022-01-04 23:50:03 UTC (rev 12685)
@@ -406,12 +406,13 @@
return [self isResizable] ? SKResizeHandleForPointFromRect(point, [self
bounds], 4.0 / scaleFactor) : 0;
}
-- (void)drawSelectionHighlightForView:(PDFView *)pdfView
inContext:(CGContextRef)context active:(BOOL)active {
+- (void)drawSelectionHighlightForView:(PDFView *)pdfView
inContext:(CGContextRef)context {
if (NSIsEmptyRect([self bounds]))
return;
if ([self isSkimNote]) {
NSRect rect = [pdfView backingAlignedRect:[self bounds] onPage:[self
page]];
CGFloat lineWidth = [pdfView unitWidthOnPage:[self page]];
+ BOOL active = [pdfView drawsActiveSelections];
CGContextSaveGState(context);
if ([self isResizable]) {
SKDrawResizeHandles(context, rect, lineWidth, YES, active);
Modified: trunk/PDFView_SKExtensions.h
===================================================================
--- trunk/PDFView_SKExtensions.h 2022-01-04 23:41:09 UTC (rev 12684)
+++ trunk/PDFView_SKExtensions.h 2022-01-04 23:50:03 UTC (rev 12685)
@@ -66,6 +66,8 @@
- (CGFloat)unitWidthOnPage:(PDFPage *)page;
- (NSRect)backingAlignedRect:(NSRect)rect onPage:(PDFPage *)page;
+@property (nonatomic, readonly) BOOL drawsActiveSelections;
+
+ (NSColor *)defaultBackgroundColor;
+ (NSColor *)defaultFullScreenBackgroundColor;
Modified: trunk/PDFView_SKExtensions.m
===================================================================
--- trunk/PDFView_SKExtensions.m 2022-01-04 23:41:09 UTC (rev 12684)
+++ trunk/PDFView_SKExtensions.m 2022-01-04 23:50:03 UTC (rev 12685)
@@ -50,6 +50,7 @@
#import "SKApplication.h"
#import "NSView_SKExtensions.h"
#import "NSImage_SKExtensions.h"
+#import "NSResponder_SKExtensions.h"
#if SDK_BEFORE(10_13)
@@ -70,7 +71,7 @@
@implementation PDFView (SKExtensions)
-@dynamic physicalScaleFactor, scrollView, displayedPages, minimumScaleFactor,
maximumScaleFactor;
+@dynamic physicalScaleFactor, scrollView, displayedPages, minimumScaleFactor,
maximumScaleFactor, drawsActiveSelections;
static inline CGFloat physicalScaleFactorForView(NSView *view) {
NSScreen *screen = [[view window] screen];
@@ -279,6 +280,15 @@
return RUNNING_AFTER(10_11) ? rect : [self convertRect:[self
backingAlignedRect:[self convertRect:rect fromPage:page]
options:NSAlignAllEdgesOutward] toPage:page];
}
+- (BOOL)drawsActiveSelections {
+ if (RUNNING_AFTER(10_14))
+ return [[self window] isKeyWindow];
+ else if (RUNNING_AFTER(10_11))
+ return YES;
+ else
+ return ([[self window] isKeyWindow] && [[[self window] firstResponder]
isDescendantOf:self]);
+}
+
static NSColor *defaultBackgroundColor(NSString *backgroundColorKey, NSString
*darkBackgroundColorKey) {
NSColor *color = nil;
if (SKHasDarkAppearance(NSApp))
Modified: trunk/SKPDFView.m
===================================================================
--- trunk/SKPDFView.m 2022-01-04 23:41:09 UTC (rev 12684)
+++ trunk/SKPDFView.m 2022-01-04 23:50:03 UTC (rev 12685)
@@ -487,7 +487,7 @@
}
if ([[annotation page] isEqual:pdfPage])
- [annotation drawSelectionHighlightForView:self inContext:context
active:[self drawsActiveSelections]];
+ [annotation drawSelectionHighlightForView:self inContext:context];
[self drawSelectionForPage:pdfPage inContext:context];
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