Revision: 12671
          http://sourceforge.net/p/skim-app/code/12671
Author:   hofman
Date:     2022-01-01 22:41:47 +0000 (Sat, 01 Jan 2022)
Log Message:
-----------
pdfview always uses layers since 10.9, so we don't need an overlay window for 
sublayers

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

Modified: trunk/SKPDFView.m
===================================================================
--- trunk/SKPDFView.m   2022-01-01 22:02:55 UTC (rev 12670)
+++ trunk/SKPDFView.m   2022-01-01 22:41:47 UTC (rev 12671)
@@ -3311,33 +3311,6 @@
 
 #pragma mark Event handling
 
-- (NSWindow *)newOverlayLayer:(CALayer *)layer {
-    NSWindow *overlay = nil;
-    BOOL wantsAdded = [layer isKindOfClass:[CAShapeLayer class]];
-    [layer setContentsScale:[[self layer] contentsScale]];
-    if (wantsAdded && [self wantsLayer]) {
-        [[self layer] addSublayer:layer];
-        [layer setFilters:SKColorEffectFilters()];
-    } else {
-        overlay = [[SKAnimatedBorderlessWindow alloc] 
initWithContentRect:[self convertRectToScreen:[self bounds]]];
-        [[overlay contentView] setWantsLayer:YES];
-        [[[overlay contentView] layer] addSublayer:layer];
-        [[overlay contentView] setContentFilters:SKColorEffectFilters()];
-        if (wantsAdded)
-            [[self window] addChildWindow:overlay ordered:NSWindowAbove];
-    }
-    return overlay;
-}
-
-- (void)removeLayer:(CALayer *)layer overlay:(NSWindow *)overlay {
-    if (overlay) {
-        [[self window] removeChildWindow:overlay];
-        [overlay orderOut:nil];
-    } else {
-        [layer removeFromSuperlayer];
-    }
-}
-
 - (void)doMoveActiveAnnotationForKey:(unichar)eventChar 
byAmount:(CGFloat)delta {
     NSRect bounds = [activeAnnotation bounds];
     NSRect newBounds = bounds;
@@ -4188,8 +4161,6 @@
     BOOL wantsBreak = isOption;
     NSBezierPath *bezierPath = nil;
     CAShapeLayer *layer = nil;
-    NSWindow *overlay = nil;
-    
     NSRect boxBounds = NSIntersectionRect([page boundsForBox:[self 
displayBox]], [self convertRect:[self visibleContentRect] toPage:page]);
     CGAffineTransform t = 
CGAffineTransformRotate(CGAffineTransformMakeScale([self scaleFactor], [self 
scaleFactor]), -M_PI_2 * [page rotation] / 90.0);
     layer = [CAShapeLayer layer];
@@ -4224,7 +4195,9 @@
         }
     }
     
-    overlay = [self newOverlayLayer:layer];
+    [layer setContentsScale:[[self layer] contentsScale]];
+    [[self layer] addSublayer:layer];
+    [layer setFilters:SKColorEffectFilters()];
     
     // don't coalesce mouse event from mouse while drawing,
     // but not from tablets because those fire very rapidly and lead to 
serious delays
@@ -4275,8 +4248,7 @@
         }
     }
     
-    [self removeLayer:layer overlay:overlay];
-    [overlay release];
+    [layer removeFromSuperlayer];
     
     [NSEvent setMouseCoalescingEnabled:wasMouseCoalescingEnabled];
     
@@ -4656,9 +4628,7 @@
     NSRect selRect = {startPoint, NSZeroSize};
     BOOL dragged = NO;
     CAShapeLayer *layer = nil;
-    NSWindow *overlay = nil;
     NSWindow *window = [self window];
-    
     CGRect layerRect = NSRectToCGRect([self visibleContentRect]);
     layer = [CAShapeLayer layer];
     [layer setStrokeColor:CGColorGetConstantColor(kCGColorBlack)];
@@ -4669,8 +4639,10 @@
     [layer setMasksToBounds:YES];
     [layer setZPosition:1.0];
     
-    overlay = [self newOverlayLayer:layer];
-    
+    [layer setContentsScale:[[self layer] contentsScale]];
+    [[self layer] addSublayer:layer];
+    [layer setFilters:SKColorEffectFilters()];
+        
     while (YES) {
         theEvent = [window nextEventMatchingMask: NSLeftMouseUpMask | 
NSLeftMouseDraggedMask | NSFlagsChangedMask];
         
@@ -4702,8 +4674,7 @@
         CGPathRelease(path);
     }
     
-    [self removeLayer:layer overlay:overlay];
-    [overlay release];
+    [layer removeFromSuperlayer];
 
     [self setCursorForMouse:theEvent];
     
@@ -5021,7 +4992,11 @@
                 CGColorRelease(borderColor);
             }
             
-            loupeWindow = [self newOverlayLayer:loupeLayer];
+            loupeWindow = [[SKAnimatedBorderlessWindow alloc] 
initWithContentRect:[self convertRectToScreen:[self bounds]]];
+            [[loupeWindow contentView] setWantsLayer:YES];
+            [[[loupeWindow contentView] layer] addSublayer:loupeLayer];
+            [loupeLayer setContentsScale:[[[loupeWindow contentView] layer] 
contentsScale]];
+            [[loupeWindow contentView] 
setContentFilters:SKColorEffectFilters()];
             [loupeWindow setHasShadow:YES];
             [self updateLoupeBackgroundColor];
             if ([[NSUserDefaults standardUserDefaults] 
boolForKey:SKInvertColorsInDarkModeKey])

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