gnu_java_awt_peer_gtk_gdkgraphics2d.c

来自「Mac OS X 10.4.9 for x86 Source Code gcc」· C语言 代码 · 共 1,622 行 · 第 1/4 页

C
1,622
字号
  gdk_threads_enter();  if (peer_is_disposed(env, obj)) { gdk_threads_leave(); return; }  gr = (struct graphics2d *) NSA_GET_G2D_PTR (env, obj);  g_assert (gr != NULL);  /* this is a very weird fact: GDK Pixbufs and RENDER drawables consider     colors in opposite pixel order. I have no idea why.  thus when you     draw to a PixBuf, you must exchange the R and B components of your     color. */  if (gr->debug) printf ("cairo_set_rgb_color (%f, %f, %f)\n", r, g, b);  if (gr->drawbuf)    cairo_set_rgb_color (gr->cr, b, g, r);  else    cairo_set_rgb_color (gr->cr, r, g, b);  gdk_threads_leave();}JNIEXPORT void JNICALLJava_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSetAlpha    (JNIEnv *env, jobject obj, jdouble a){  struct graphics2d *gr = NULL;  gdk_threads_enter();  if (peer_is_disposed(env, obj)) { gdk_threads_leave(); return; }  gr = (struct graphics2d *) NSA_GET_G2D_PTR (env, obj);  g_assert (gr != NULL);  if (gr->debug) printf ("cairo_set_alpha %f\n", a);    cairo_set_alpha (gr->cr, a);  gdk_threads_leave();}JNIEXPORT void JNICALLJava_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSetFillRule    (JNIEnv *env, jobject obj, jint rule){  struct graphics2d *gr = NULL;  gdk_threads_enter();  if (peer_is_disposed(env, obj)) { gdk_threads_leave(); return; }  gr = (struct graphics2d *) NSA_GET_G2D_PTR (env, obj);  if (gr->debug) printf ("cairo_set_fill_rule %d\n", rule);  g_assert (gr != NULL);  switch ((enum java_awt_geom_path_iterator_winding_rule) rule)    {    case java_awt_geom_path_iterator_WIND_NON_ZERO:      cairo_set_fill_rule (gr->cr, CAIRO_FILL_RULE_WINDING);      break;    case java_awt_geom_path_iterator_WIND_EVEN_ODD:      cairo_set_fill_rule (gr->cr, CAIRO_FILL_RULE_EVEN_ODD);      break;    }    gdk_threads_leave();}JNIEXPORT void JNICALLJava_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSetLineWidth    (JNIEnv *env, jobject obj, jdouble width){  struct graphics2d *gr = NULL;  gdk_threads_enter();  if (peer_is_disposed(env, obj)) { gdk_threads_leave(); return; }  gr = (struct graphics2d *) NSA_GET_G2D_PTR (env, obj);  g_assert (gr != NULL);  if (gr->debug) printf ("cairo_set_line_width %f\n", width);  cairo_set_line_width (gr->cr, width);  gdk_threads_leave();}JNIEXPORT void JNICALLJava_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSetLineCap    (JNIEnv *env, jobject obj, jint cap){  struct graphics2d *gr = NULL;  gdk_threads_enter();  if (peer_is_disposed(env, obj)) { gdk_threads_leave(); return; }  gr = (struct graphics2d *) NSA_GET_G2D_PTR (env, obj);  g_assert (gr != NULL);  if (gr->debug) printf ("cairo_set_line_cap %d\n", cap);  switch ((enum java_awt_basic_stroke_cap_rule) cap)    {    case java_awt_basic_stroke_CAP_BUTT:       cairo_set_line_cap (gr->cr, CAIRO_LINE_CAP_BUTT);      break;    case java_awt_basic_stroke_CAP_ROUND:       cairo_set_line_cap (gr->cr, CAIRO_LINE_CAP_ROUND);      break;    case java_awt_basic_stroke_CAP_SQUARE:       cairo_set_line_cap (gr->cr, CAIRO_LINE_CAP_SQUARE);      break;    }  gdk_threads_leave();}JNIEXPORT void JNICALLJava_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSetLineJoin    (JNIEnv *env, jobject obj, jint join){  struct graphics2d *gr = NULL;  gdk_threads_enter();  if (peer_is_disposed(env, obj)) { gdk_threads_leave(); return; }  gr = (struct graphics2d *) NSA_GET_G2D_PTR (env, obj);  g_assert (gr != NULL);  if (gr->debug) printf ("cairo_set_line_join %d\n", join);  switch ((enum java_awt_basic_stroke_join_rule) join)    {    case java_awt_basic_stroke_JOIN_MITER:      cairo_set_line_join (gr->cr, CAIRO_LINE_JOIN_MITER);      break;    case java_awt_basic_stroke_JOIN_ROUND:      cairo_set_line_join (gr->cr, CAIRO_LINE_JOIN_ROUND);      break;    case java_awt_basic_stroke_JOIN_BEVEL:      cairo_set_line_join (gr->cr, CAIRO_LINE_JOIN_BEVEL);      break;    }  gdk_threads_leave();}JNIEXPORT void JNICALLJava_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSetDash    (JNIEnv *env, jobject obj, jdoubleArray dashes, jint ndash, jdouble offset){  struct graphics2d *gr = NULL;  jdouble *dasharr = NULL;  gdk_threads_enter();  if (peer_is_disposed(env, obj)) { gdk_threads_leave(); return; }  gr = (struct graphics2d *) NSA_GET_G2D_PTR (env, obj);  g_assert (gr != NULL);  if (gr->debug) printf ("cairo_set_dash\n");  dasharr = (*env)->GetDoubleArrayElements (env, dashes, NULL);    g_assert (dasharr != NULL);  cairo_set_dash (gr->cr, dasharr, ndash, offset);  (*env)->ReleaseDoubleArrayElements (env, dashes, dasharr, 0);  gdk_threads_leave();}JNIEXPORT void JNICALLJava_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSetMiterLimit    (JNIEnv *env, jobject obj, jdouble miter){  struct graphics2d *gr = NULL;  gdk_threads_enter();  if (peer_is_disposed(env, obj)) { gdk_threads_leave(); return; }  gr = (struct graphics2d *) NSA_GET_G2D_PTR (env, obj);  g_assert (gr != NULL);  if (gr->debug) printf ("cairo_set_miter_limit %f\n", miter);  cairo_set_miter_limit (gr->cr, miter);  gdk_threads_leave();}JNIEXPORT void JNICALLJava_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoNewPath    (JNIEnv *env, jobject obj){  struct graphics2d *gr = NULL;  gdk_threads_enter();  if (peer_is_disposed(env, obj)) { gdk_threads_leave(); return; }  gr = (struct graphics2d *) NSA_GET_G2D_PTR (env, obj);  if (gr == NULL) { gdk_threads_leave (); return; }  if (gr->debug) printf ("cairo_new_path\n");  cairo_new_path (gr->cr);  gdk_threads_leave();}JNIEXPORT void JNICALLJava_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoMoveTo    (JNIEnv *env, jobject obj, jdouble x, jdouble y){  struct graphics2d *gr = NULL;  gdk_threads_enter();  if (peer_is_disposed(env, obj)) { gdk_threads_leave(); return; }  gr = (struct graphics2d *) NSA_GET_G2D_PTR (env, obj);  g_assert (gr != NULL);  if (gr->debug) printf ("cairo_move_to (%f, %f)\n", x, y);  cairo_move_to (gr->cr, x, y);  gdk_threads_leave();}JNIEXPORT void JNICALLJava_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoLineTo    (JNIEnv *env, jobject obj, jdouble x, jdouble y){  struct graphics2d *gr = NULL;  gdk_threads_enter();  if (peer_is_disposed(env, obj)) { gdk_threads_leave(); return; }  gr = (struct graphics2d *) NSA_GET_G2D_PTR (env, obj);  g_assert (gr != NULL);  if (gr->debug) printf ("cairo_line_to (%f, %f)\n", x, y);  cairo_line_to (gr->cr, x, y);  gdk_threads_leave();}JNIEXPORT void JNICALLJava_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoCurveTo    (JNIEnv *env, jobject obj, jdouble x1, jdouble y1, jdouble x2, jdouble y2, jdouble x3, jdouble y3){  struct graphics2d *gr = NULL;  gdk_threads_enter();  if (peer_is_disposed(env, obj)) { gdk_threads_leave(); return; }  gr = (struct graphics2d *) NSA_GET_G2D_PTR (env, obj);  g_assert (gr != NULL);  if (gr->debug) printf ("cairo_curve_to (%f, %f), (%f, %f), (%f, %f)\n", x1, y1, x2, y2, x3, y3);  cairo_curve_to (gr->cr, x1, y1, x2, y2, x3, y3);  gdk_threads_leave();}JNIEXPORT void JNICALLJava_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoRelMoveTo    (JNIEnv *env, jobject obj, jdouble dx, jdouble dy){  struct graphics2d *gr = NULL;  gdk_threads_enter();  if (peer_is_disposed(env, obj)) { gdk_threads_leave(); return; }  gr = (struct graphics2d *) NSA_GET_G2D_PTR (env, obj);  g_assert (gr != NULL);  if (gr->debug) printf ("cairo_rel_move_to (%f, %f)\n", dx, dy);  cairo_rel_move_to (gr->cr, dx, dy);  gdk_threads_leave();}JNIEXPORT void JNICALLJava_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoRelLineTo    (JNIEnv *env, jobject obj, jdouble dx, jdouble dy){  struct graphics2d *gr = NULL;  gdk_threads_enter();  if (peer_is_disposed(env, obj)) { gdk_threads_leave(); return; }  gr = (struct graphics2d *) NSA_GET_G2D_PTR (env, obj);  g_assert (gr != NULL);  if (gr->debug) printf ("cairo_rel_line_to (%f, %f)\n", dx, dy);  cairo_rel_line_to (gr->cr, dx, dy);  gdk_threads_leave();}JNIEXPORT void JNICALLJava_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoRelCurveTo    (JNIEnv *env, jobject obj, jdouble dx1, jdouble dy1, jdouble dx2, jdouble dy2, jdouble dx3, jdouble dy3){  struct graphics2d *gr = NULL;  gdk_threads_enter();  if (peer_is_disposed(env, obj)) { gdk_threads_leave(); return; }  gr = (struct graphics2d *) NSA_GET_G2D_PTR (env, obj);  g_assert (gr != NULL);  if (gr->debug) printf ("cairo_rel_curve_to (%f, %f), (%f, %f), (%f, %f)\n", dx1, dy1, dx2, dy2, dx3, dy3);  cairo_rel_curve_to (gr->cr, dx1, dy1, dx2, dy2, dx3, dy3);  gdk_threads_leave();}JNIEXPORT void JNICALLJava_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoRectangle    (JNIEnv *env, jobject obj, jdouble x, jdouble y, jdouble width, jdouble height){  struct graphics2d *gr = NULL;  gdk_threads_enter();  if (peer_is_disposed(env, obj)) { gdk_threads_leave(); return; }  gr = (struct graphics2d *) NSA_GET_G2D_PTR (env, obj);  if (gr == NULL) { gdk_threads_leave (); return; }  if (gr->debug) printf ("cairo_rectangle (%f, %f) (%f, %f)\n", x, y, width, height);  cairo_rectangle (gr->cr, x, y, width, height);  gdk_threads_leave();}JNIEXPORT void JNICALLJava_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoClosePath    (JNIEnv *env, jobject obj){  struct graphics2d *gr = NULL;  gdk_threads_enter();  if (peer_is_disposed(env, obj)) { gdk_threads_leave(); return; }  gr = (struct graphics2d *) NSA_GET_G2D_PTR (env, obj);  g_assert (gr != NULL);  if (gr->debug) printf ("cairo_close_path\n");  cairo_close_path (gr->cr);  gdk_threads_leave();}JNIEXPORT void JNICALLJava_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoStroke    (JNIEnv *env, jobject obj){  struct graphics2d *gr = NULL;  gdk_threads_enter();  if (peer_is_disposed(env, obj)) { gdk_threads_leave(); return; }  gr = (struct graphics2d *) NSA_GET_G2D_PTR (env, obj);  g_assert (gr != NULL);  if (gr->debug) printf ("cairo_stroke\n");  begin_drawing_operation (env, gr);  cairo_stroke (gr->cr);  end_drawing_operation (env, gr);  gdk_threads_leave();}JNIEXPORT void JNICALLJava_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoFill    (JNIEnv *env, jobject obj){  struct graphics2d *gr = NULL;  gdk_threads_enter();  if (peer_is_disposed(env, obj)) { gdk_threads_leave(); return; }  gr = (struct graphics2d *) NSA_GET_G2D_PTR (env, obj);  g_assert (gr != NULL);  if (gr->debug) printf ("cairo_fill\n");  begin_drawing_operation (env, gr);  cairo_fill (gr->cr);  end_drawing_operation (env, gr);  gdk_threads_leave();}JNIEXPORT void JNICALLJava_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoClip    (JNIEnv *env, jobject obj){  struct graphics2d *gr = NULL;  gdk_threads_enter();  if (peer_is_disposed(env, obj)) { gdk_threads_leave(); return; }  gr = (struct graphics2d *) NSA_GET_G2D_PTR (env, obj);  if (gr == NULL) { gdk_threads_leave (); return; }  if (gr->debug) printf ("cairo_clip\n");  begin_drawing_operation (env, gr);  cairo_init_clip (gr->cr);  cairo_clip (gr->cr);  end_drawing_operation (env, gr);  gdk_threads_leave();}JNIEXPORT void JNICALLJava_gnu_java_awt_peer_gtk_GdkGraphics2D_cairoSurfaceSetFilter   (JNIEnv *env, jobject obj, jint filter){   struct graphics2d *gr = NULL;      gdk_threads_enter();  if (peer_is_disposed(env, obj)) { gdk_threads_leave(); return; }   gr = (struct graphics2d *) NSA_GET_G2D_PTR (env, obj);   g_assert (gr != NULL);   if (gr->debug) printf ("cairo_surface_set_filter %d\n", filter);      switch ((enum java_awt_rendering_hints_filter) filter)     {     case java_awt_rendering_hints_VALUE_INTERPOLATION_NEAREST_NEIGHBOR:       cairo_surface_set_filter (gr->surface, CAIRO_FILTER_NEAREST);       break;     case java_awt_rendering_hints_VALUE_INTERPOLATION_BILINEAR:       cairo_surface_set_filter (gr->surface, CAIRO_FILTER_BILINEAR);       break;      case java_awt_rendering_hints_VALUE_ALPHA_INTERPOLATION_SPEED:       cairo_surface_set_filter (gr->surface, CAIRO_FILTER_FAST);       break;     case java_awt_rendering_hints_VALUE_ALPHA_INTERPOLATION_DEFAULT:       cairo_surface_set_filter (gr->surface, CAIRO_FILTER_NEAREST);       break;     case java_awt_rendering_hints_VALUE_ALPHA_INTERPOLATION_QUALITY:       cairo_surface_set_filter (gr->surface, CAIRO_FILTER_BEST);       break;     }   gdk_threads_leave();}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?