Revision: 13686
          http://sourceforge.net/p/skim-app/code/13686
Author:   hofman
Date:     2023-10-19 22:35:21 +0000 (Thu, 19 Oct 2023)
Log Message:
-----------
Use boundingBox as fallback for restricting image tool tip. Add margin of 2pt 
around selection for restriction of image tool tip.

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

Modified: trunk/SKImageToolTipContext.m
===================================================================
--- trunk/SKImageToolTipContext.m       2023-10-19 22:22:16 UTC (rev 13685)
+++ trunk/SKImageToolTipContext.m       2023-10-19 22:35:21 UTC (rev 13686)
@@ -114,6 +114,7 @@
     NSRect pageImageRect = {NSZeroPoint, [pageImage size]};
     NSRect sourceRect = NSZeroRect;
     PDFSelection *pageSelection = [page selectionForRect:bounds];
+    NSRect selBounds;
     NSAffineTransform *transform = [page 
affineTransformForBox:kPDFDisplayBoxCropBox];
     if (isScaled) {
         NSAffineTransform *scaleTransform = [NSAffineTransform transform];
@@ -129,12 +130,13 @@
     sourceRect.origin = SKAddPoints([transform transformPoint:point], offset);
     sourceRect.origin.y -= NSHeight(sourceRect);
     
-    if ([pageSelection hasCharacters]) {
-        NSRect selBounds = [pageSelection boundsForPage:page];
-        selBounds = SKTransformRect(transform, selBounds);
-        sourceRect.origin.x = fmax(floor(NSMinX(selBounds)), 
fmin(floor(NSMaxX(selBounds) - NSWidth(sourceRect)), NSMinX(sourceRect)));
-        sourceRect.origin.y = fmin(ceil(NSMaxY(selBounds)), 
fmax(ceil(NSMinY(selBounds) + NSHeight(sourceRect)), NSMaxY(sourceRect))) - 
NSHeight(sourceRect);
-    }
+    if ([pageSelection hasCharacters])
+        selBounds = NSIntersectionRect(NSInsetRect([pageSelection 
boundsForPage:page], -2.0, -2.0), bounds);
+    else
+        selBounds = [page boundingBox];
+    selBounds = SKTransformRect(transform, selBounds);
+    sourceRect.origin.x = fmax(floor(NSMinX(selBounds)), 
fmin(floor(NSMaxX(selBounds) - NSWidth(sourceRect)), NSMinX(sourceRect)));
+    sourceRect.origin.y = fmin(ceil(NSMaxY(selBounds)), 
fmax(ceil(NSMinY(selBounds) + NSHeight(sourceRect)), NSMaxY(sourceRect))) - 
NSHeight(sourceRect);
     
     sourceRect = SKConstrainRect(sourceRect, pageImageRect);
     

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