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