Print this page
Added gradle and cmake project

@@ -25,15 +25,18 @@
 
 #ifndef _Included_Trace
 #define _Included_Trace
 
 #include <jni.h>
+#include "jni_util.h"
 #include "debug_trace.h"
 
 #ifdef __cplusplus
 extern "C" {
 #endif /* __cplusplus */
+extern JavaVM *jvm;
+extern jint graphicsPrimitive_traceflags;
 
 /**
  * J2dTrace
  * Trace utility used throughout Java 2D code.  Uses a "level"
  * parameter that allows user to specify how much detail

@@ -173,10 +176,34 @@
         }
 #define J2dRlsTraceLn5(level, string, arg1, arg2, arg3, arg4, arg5) { \
             J2dTraceImpl(level, JNI_TRUE, string, arg1, arg2, arg3, arg4, arg5); \
         }
 
+#define J2dTracePrimitive(string) { \
+        if (graphicsPrimitive_traceflags && jvm) { \
+            JNIEnv *env; \
+            jstring jstr; \
+            (*jvm)->AttachCurrentThreadAsDaemon(jvm, &env, NULL); \
+            jstr = (*env)->NewStringUTF(env, string); \
+            JNU_CallStaticMethodByName(env, NULL, "sun/java2d/loops/GraphicsPrimitive", \
+                                       "tracePrimitive", "(Ljava/lang/Object;)V", jstr); \
+            (*env)->DeleteLocalRef(env, jstr); \
+        } \
+    }
+
+#define J2dTraceNotImplPrimitive(string) { \
+        if (graphicsPrimitive_traceflags && jvm) { \
+            JNIEnv *env; \
+            jstring jstr; \
+            (*jvm)->AttachCurrentThreadAsDaemon(jvm, &env, NULL); \
+            jstr = (*env)->NewStringUTF(env, string); \
+            JNU_CallStaticMethodByName(env, NULL, "sun/java2d/loops/GraphicsPrimitive", \
+                                       "traceNotImplPrimitive", "(Ljava/lang/Object;)V", jstr); \
+            (*env)->DeleteLocalRef(env, jstr); \
+        } \
+    }
+
 #ifdef __cplusplus
 };
 #endif /* __cplusplus */
 
 #endif /* _Included_Trace */