Revision: 15138
          http://sourceforge.net/p/skim-app/code/15138
Author:   hofman
Date:     2025-05-01 21:54:51 +0000 (Thu, 01 May 2025)
Log Message:
-----------
calculate some parameters first rather than async

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

Modified: trunk/SKImageToolTipWindow.m
===================================================================
--- trunk/SKImageToolTipWindow.m        2025-05-01 21:43:56 UTC (rev 15137)
+++ trunk/SKImageToolTipWindow.m        2025-05-01 21:54:51 UTC (rev 15138)
@@ -135,15 +135,18 @@
         ++currentRequest;
     generatingRequest = YES;
     
-    NSInteger myRequest =currentRequest;
+    NSInteger myRequest = currentRequest;
+    id<SKImageToolTipContext> myContext = context;
     NSPoint thePoint = NSEqualPoints(point, NSZeroPoint) ? [NSEvent 
mouseLocation] : point;
     NSRect screenRect = [[NSScreen screenForPoint:thePoint] frame];
+    NSNumber *usedScaleNumber = [[NSUserDefaults standardUserDefaults] 
objectForKey:SKToolTipScaleKey];
+    CGFloat usedScale = [usedScaleNumber 
respondsToSelector:@selector(doubleValue)] ? [usedScaleNumber doubleValue] : 
DEFAULT_SCALE;
+    if (usedScale <= 0.0)
+        usedScale = usedScale < 0.0 ? fmin(scale, -usedScale) : scale;
     
     dispatch_async([[self class] imageQueue], ^{
         
-        NSNumber *usedScaleNumber = [[NSUserDefaults standardUserDefaults] 
objectForKey:SKToolTipScaleKey];
-        CGFloat usedScale = [usedScaleNumber 
respondsToSelector:@selector(doubleValue)] ? [usedScaleNumber doubleValue] : 
DEFAULT_SCALE;
-        NSImage *image = [context toolTipImageWithScale:usedScale > 0.0 ? 
usedScale : usedScale < 0.0 ? fmin(scale, -usedScale) : scale];
+        NSImage *image = [myContext toolTipImageWithScale:usedScale];
         
         dispatch_async(dispatch_get_main_queue(), ^{
             // check if another image is enerated or we are fading out
@@ -153,6 +156,7 @@
             
             if (image) {
                 BOOL isOpaque = [[[image representations] firstObject] 
isOpaque];
+                
                 [imageView setImage:image];
                 
                 [[self contentView] setContentFilters:isOpaque ? 
SKColorEffectFilters() : @[]];

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