diff options
Diffstat (limited to 'libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c')
| -rw-r--r-- | libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c b/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c index 9c370e936cc..864e465871b 100644 --- a/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c +++ b/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c @@ -207,7 +207,8 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_drawString gdk_threads_enter (); font_desc = pango_font_description_from_string (font_name); - pango_font_description_set_size (font_desc, size * PANGO_SCALE); + + pango_font_description_set_size (font_desc, size * dpi_conversion_factor); if (style & AWT_STYLE_BOLD) pango_font_description_set_weight (font_desc, PANGO_WEIGHT_BOLD); @@ -225,12 +226,15 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_drawString baseline_y = pango_layout_iter_get_baseline (iter); - gdk_draw_layout (g->drawable, g->gc, - x + g->x_offset, y + g->y_offset - (baseline_y / PANGO_SCALE), layout); + gdk_draw_layout (g->drawable, g->gc, + x + g->x_offset, + y + g->y_offset - PANGO_PIXELS (baseline_y), + layout); pango_font_description_free (font_desc); pango_layout_iter_free (iter); + gdk_flush (); gdk_threads_leave (); (*env)->ReleaseStringUTFChars (env, fname, font_name); @@ -248,6 +252,7 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_drawLine gdk_draw_line (g->drawable, g->gc, x + g->x_offset, y + g->y_offset, x2 + g->x_offset, y2 + g->y_offset); + gdk_flush (); gdk_threads_leave (); } @@ -259,8 +264,10 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_fillRect g = (struct graphics *) NSA_GET_PTR (env, obj); gdk_threads_enter (); + gdk_draw_rectangle (g->drawable, g->gc, TRUE, x + g->x_offset, y + g->y_offset, width, height); + gdk_flush (); gdk_threads_leave (); } @@ -274,6 +281,7 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_drawRect gdk_threads_enter (); gdk_draw_rectangle (g->drawable, g->gc, FALSE, x + g->x_offset, y + g->y_offset, width, height); + gdk_flush (); gdk_threads_leave (); } @@ -292,6 +300,7 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_copyArea (GdkWindow *)g->drawable, x + g->x_offset, y + g->y_offset, width, height); + gdk_flush (); gdk_threads_leave (); } @@ -311,6 +320,7 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_copyPixmap (GdkWindow *)g2->drawable, 0 + g2->x_offset, 0 + g2->y_offset, width, height); + gdk_flush (); gdk_threads_leave (); } @@ -340,6 +350,7 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_clearRect x + g->x_offset, y + g->y_offset, width, height); gdk_gc_set_foreground (g->gc, &(saved.foreground)); } + gdk_flush (); gdk_threads_leave (); } @@ -370,6 +381,7 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_setFGColor gdk_threads_enter (); gdk_color_alloc (g->cm, &color); gdk_gc_set_foreground (g->gc, &color); + gdk_threads_leave (); } @@ -385,6 +397,7 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_drawArc gdk_draw_arc (g->drawable, g->gc, FALSE, x + g->x_offset, y + g->y_offset, width, height, angle1 << 6, angle2 << 6); + gdk_flush (); gdk_threads_leave (); } @@ -428,6 +441,7 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_drawPolyline gdk_threads_enter (); gdk_draw_lines (g->drawable, g->gc, points, npoints); + gdk_flush (); gdk_threads_leave (); g_free (points); @@ -451,6 +465,7 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_drawPolygon gdk_threads_enter (); gdk_draw_lines (g->drawable, g->gc, points, npoints); + gdk_flush (); gdk_threads_leave (); g_free (points); @@ -468,6 +483,7 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_fillPolygon g->x_offset, g->y_offset); gdk_threads_enter (); gdk_draw_polygon (g->drawable, g->gc, TRUE, points, npoints); + gdk_flush (); gdk_threads_leave (); g_free (points); @@ -485,6 +501,7 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_fillArc gdk_draw_arc (g->drawable, g->gc, TRUE, x + g->x_offset, y + g->y_offset, width, height, angle1 << 6, angle2 << 6); + gdk_flush (); gdk_threads_leave (); } @@ -499,6 +516,7 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_drawOval gdk_draw_arc (g->drawable, g->gc, FALSE, x + g->x_offset, y + g->y_offset, width, height, 0, 23040); + gdk_flush (); gdk_threads_leave (); } @@ -513,8 +531,9 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_fillOval gdk_draw_arc (g->drawable, g->gc, TRUE, x + g->x_offset, y + g->y_offset, width, height, 0, 23040); + gdk_flush (); gdk_threads_leave (); -} +} JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_setClipRectangle (JNIEnv *env, jobject obj, jint x, jint y, jint width, jint height) |

