< prev index next >
modules/javafx.graphics/src/main/native-glass/mac/GlassCursor.m
Print this page
*** 75,84 ****
--- 75,93 ----
JNIEXPORT void JNICALL Java_com_sun_glass_ui_mac_MacCursor__1initIDs
(JNIEnv *env, jclass jCursorClass)
{
LOG("Java_com_sun_glass_ui_mac_MacCursor__1initIDs");
+ if (jSizeInit == NULL)
+ {
+ jclass cls = [GlassHelper ClassForName:"com.sun.glass.ui.Size" withEnv:env];
+ if (!cls) {
+ return;
+ }
+ jSizeInit = (*env)->GetMethodID(env, cls, "<init>", "(II)V");
+ }
+
NSString *base = @"/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/Resources/cursors";
NSString *nwse = @"resizenorthwestsoutheast";
NSString *nesw = @"resizenortheastsouthwest";
NSString *nwsePath = [base stringByAppendingPathComponent:nwse];
NSString *neswPath = [base stringByAppendingPathComponent:nesw];
*** 93,107 ****
NSPoint nwsePoint = NSMakePoint([[nwseDict valueForKey:@"hotx"] doubleValue],
[[nwseDict valueForKey:@"hoty"] doubleValue]);
NSPoint neswPoint = NSMakePoint([[neswDict valueForKey:@"hotx"] doubleValue],
[[neswDict valueForKey:@"hoty"] doubleValue]);
! if (jSizeInit == NULL)
! {
! jSizeInit = (*env)->GetMethodID(env, [GlassHelper ClassForName:"com.sun.glass.ui.Size" withEnv:env],
! "<init>", "(II)V");
! }
cursorCache = [NSArray arrayWithObjects:
/* CURSOR_CUSTOM */ [NSCursor arrowCursor], // not handed out in set
/* CURSOR_DEFAULT */ [NSCursor arrowCursor],
/* CURSOR_TEXT */ [NSCursor IBeamCursor],
/* CURSOR_CROSSHAIR */ [NSCursor crosshairCursor],
--- 102,112 ----
NSPoint nwsePoint = NSMakePoint([[nwseDict valueForKey:@"hotx"] doubleValue],
[[nwseDict valueForKey:@"hoty"] doubleValue]);
NSPoint neswPoint = NSMakePoint([[neswDict valueForKey:@"hotx"] doubleValue],
[[neswDict valueForKey:@"hoty"] doubleValue]);
!
cursorCache = [NSArray arrayWithObjects:
/* CURSOR_CUSTOM */ [NSCursor arrowCursor], // not handed out in set
/* CURSOR_DEFAULT */ [NSCursor arrowCursor],
/* CURSOR_TEXT */ [NSCursor IBeamCursor],
/* CURSOR_CROSSHAIR */ [NSCursor crosshairCursor],
*** 268,279 ****
heightBest = CURSOR_BEST_SIZE;
}
}
[image release];
!
! jsize = (*env)->NewObject(env, [GlassHelper ClassForName:"com.sun.glass.ui.Size" withEnv:env], jSizeInit, widthBest, heightBest);
}
GLASS_POOL_EXIT;
GLASS_CHECK_EXCEPTION(env);
return jsize;
--- 273,287 ----
heightBest = CURSOR_BEST_SIZE;
}
}
[image release];
! jclass sizeClass = [GlassHelper ClassForName:"com.sun.glass.ui.Size" withEnv:env];
! if (sizeClass) {
! return NULL;
! }
! jsize = (*env)->NewObject(env, sizeClass, jSizeInit, widthBest, heightBest);
}
GLASS_POOL_EXIT;
GLASS_CHECK_EXCEPTION(env);
return jsize;
< prev index next >