Revision: 14390
          http://sourceforge.net/p/skim-app/code/14390
Author:   hofman
Date:     2024-07-21 14:52:55 +0000 (Sun, 21 Jul 2024)
Log Message:
-----------
use some private system cursor when available for diagnoal resize and zoom 
in/out

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

Modified: trunk/NSCursor_SKExtensions.m
===================================================================
--- trunk/NSCursor_SKExtensions.m       2024-07-20 09:42:11 UTC (rev 14389)
+++ trunk/NSCursor_SKExtensions.m       2024-07-21 14:52:55 UTC (rev 14390)
@@ -45,6 +45,13 @@
 
 static inline void hideLaserPointer(void);
 
+@interface NSCursor (SKPrivateDeclarations)
++ (id)_windowResizeNorthWestSouthEastCursor;
++ (id)_windowResizeNorthEastSouthWestCursor;
++ (id)_zoomOutCursor;
++ (id)_zoomInCursor;
+@end
+
 @interface SKLaserPointerCursor : NSCursor
 @end
 
@@ -73,8 +80,12 @@
 + (NSCursor *)zoomInCursor {
     static NSCursor *zoomInCursor = nil;
     if (nil == zoomInCursor) {
-        NSImage *cursorImage = [[NSImage imageNamed:SKImageNameZoomInCursor] 
copy];
-        zoomInCursor = [[NSCursor alloc] initWithImage:cursorImage 
hotSpot:NSMakePoint(7.0, 6.0)];
+        if ([self respondsToSelector:@selector(_zoomInCursor)]) {
+            zoomInCursor = [NSCursor _zoomInCursor];
+        } else {
+            NSImage *cursorImage = [[NSImage 
imageNamed:SKImageNameZoomInCursor] copy];
+            zoomInCursor = [[NSCursor alloc] initWithImage:cursorImage 
hotSpot:NSMakePoint(7.0, 6.0)];
+        }
     }
     return zoomInCursor;
 }
@@ -82,8 +93,12 @@
 + (NSCursor *)zoomOutCursor {
     static NSCursor *zoomOutCursor = nil;
     if (nil == zoomOutCursor) {
-        NSImage *cursorImage = [[NSImage imageNamed:SKImageNameZoomOutCursor] 
copy];
-        zoomOutCursor = [[NSCursor alloc] initWithImage:cursorImage 
hotSpot:NSMakePoint(7.0, 6.0)];
+        if ([self respondsToSelector:@selector(_zoomOutCursor)]) {
+            zoomOutCursor = [NSCursor _zoomOutCursor];
+        } else {
+            NSImage *cursorImage = [[NSImage 
imageNamed:SKImageNameZoomOutCursor] copy];
+            zoomOutCursor = [[NSCursor alloc] initWithImage:cursorImage 
hotSpot:NSMakePoint(7.0, 6.0)];
+        }
     }
     return zoomOutCursor;
 }
@@ -91,8 +106,12 @@
 + (NSCursor *)resizeDiagonal45Cursor {
     static NSCursor *resizeDiagonal45Cursor = nil;
     if (nil == resizeDiagonal45Cursor) {
-        NSImage *cursorImage = [[NSImage 
imageNamed:SKImageNameResizeDiagonal45Cursor] copy];
-        resizeDiagonal45Cursor = [[NSCursor alloc] initWithImage:cursorImage 
hotSpot:NSMakePoint(8.0, 8.0)];
+        if ([self 
respondsToSelector:@selector(_windowResizeNorthEastSouthWestCursor)]) {
+            resizeDiagonal45Cursor = [NSCursor 
_windowResizeNorthEastSouthWestCursor];
+        } else {
+            NSImage *cursorImage = [[NSImage 
imageNamed:SKImageNameResizeDiagonal45Cursor] copy];
+            resizeDiagonal45Cursor = [[NSCursor alloc] 
initWithImage:cursorImage hotSpot:NSMakePoint(8.0, 8.0)];
+        }
     }
     return resizeDiagonal45Cursor;
 }
@@ -100,8 +119,12 @@
 + (NSCursor *)resizeDiagonal135Cursor {
     static NSCursor *resizeDiagonal135Cursor = nil;
     if (nil == resizeDiagonal135Cursor) {
-        NSImage *cursorImage = [[NSImage 
imageNamed:SKImageNameResizeDiagonal135Cursor] copy];
-        resizeDiagonal135Cursor = [[NSCursor alloc] initWithImage:cursorImage 
hotSpot:NSMakePoint(8.0, 8.0)];
+        if ([self 
respondsToSelector:@selector(_windowResizeNorthWestSouthEastCursor)]) {
+            resizeDiagonal135Cursor = [NSCursor 
_windowResizeNorthWestSouthEastCursor];
+        } else {
+            NSImage *cursorImage = [[NSImage 
imageNamed:SKImageNameResizeDiagonal135Cursor] copy];
+            resizeDiagonal135Cursor = [[NSCursor alloc] 
initWithImage:cursorImage hotSpot:NSMakePoint(8.0, 8.0)];
+        }
     }
     return resizeDiagonal135Cursor;
 }

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