Print this page
Added gradle and cmake project

*** 24,33 **** --- 24,35 ---- */ #import "LWCToolkit.h" #import "ThreadUtilities.h" #include "GeomUtilities.h" + #import <Metal/Metal.h> + #import <MetalKit/MetalKit.h> #import <JavaNativeFoundation/JavaNativeFoundation.h> /** * Some default values for invalid CoreGraphics display ID.
*** 382,386 **** --- 384,408 ---- }]; JNF_COCOA_EXIT(env); return ret; } + + /* + * Class: sun_awt_CGraphicsDevice + * Method: nativeGetMetalDeviceName + * Signature: (I)Ljava/lang/String; + */ + JNIEXPORT jstring JNICALL Java_sun_awt_CGraphicsDevice_nativeGetMetalDeviceName + (JNIEnv *env, jclass class, jint displayID) + { + + id<MTLDevice> device = CGDirectDisplayCopyCurrentMetalDevice(displayID); + if (!device) return NULL; + NSString* name = [device name]; + UniChar *chars = malloc(name.length * sizeof(UniChar)); + if (!chars) return NULL; + [name getCharacters:chars range:NSMakeRange(0,name.length)]; + jstring javaString = (*env)->NewString(env, chars, name.length); + free(chars); + return javaString; + }