< prev index next >

src/java.desktop/share/native/libawt/java2d/Trace.h

Print this page
rev 55352 : JB_base_webrev

*** 25,39 **** --- 25,42 ---- #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,182 **** --- 176,238 ---- } #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(prim) { \ + if (graphicsPrimitive_traceflags && jvm) { \ + char cbuf[255]; \ + JNIEnv *env; \ + jstring jprim; \ + jstring jmsg; \ + snprintf(cbuf, 255, "[NOT IMPL] at %s:%d", __FILE__, __LINE__); \ + (*jvm)->AttachCurrentThreadAsDaemon(jvm, &env, NULL); \ + jprim = (*env)->NewStringUTF(env, prim); \ + jmsg = (*env)->NewStringUTF(env, cbuf); \ + JNU_CallStaticMethodByName(env, NULL, \ + "sun/java2d/loops/GraphicsPrimitive", \ + "traceImplPrimitive", \ + "(Ljava/lang/Object;Ljava/lang/Object;)V", \ + jprim, jmsg); \ + (*env)->DeleteLocalRef(env, jprim); \ + (*env)->DeleteLocalRef(env, jmsg); \ + } \ + } + + #define J2dTraceImplPrimitive(prim, msg) { \ + if (graphicsPrimitive_traceflags && jvm) { \ + char cbuf[255]; \ + JNIEnv *env; \ + jstring jprim; \ + jstring jmsg; \ + snprintf(cbuf, 255, "%s at %s:%d", msg, __FILE__, __LINE__); \ + (*jvm)->AttachCurrentThreadAsDaemon(jvm, &env, NULL); \ + jprim = (*env)->NewStringUTF(env, prim); \ + jmsg = (*env)->NewStringUTF(env, cbuf); \ + JNU_CallStaticMethodByName(env, NULL, \ + "sun/java2d/loops/GraphicsPrimitive", \ + "traceImplPrimitive", \ + "(Ljava/lang/Object;Ljava/lang/Object;)V", \ + jprim, jmsg); \ + (*env)->DeleteLocalRef(env, jprim); \ + (*env)->DeleteLocalRef(env, jmsg); \ + } \ + } + + #ifdef __cplusplus }; #endif /* __cplusplus */ #endif /* _Included_Trace */
< prev index next >