/[classpath]/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c
ViewVC logotype

Diff of /classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.11.2.2 by gnu_andrew, Fri Jan 14 10:24:17 2005 UTC revision 1.11.2.3 by gnu_andrew, Sat Jan 15 17:02:22 2005 UTC
# Line 36  obligated to do so.  If you do not wish Line 36  obligated to do so.  If you do not wish
36  exception statement from your version. */  exception statement from your version. */
37    
38  #include "gtkpeer.h"  #include "gtkpeer.h"
39    #include "gdkfont.h"
40  #include "gnu_java_awt_peer_gtk_GdkGraphics.h"  #include "gnu_java_awt_peer_gtk_GdkGraphics.h"
41  #include <gdk/gdkprivate.h>  #include <gdk/gdkprivate.h>
42  #include <gdk/gdkx.h>  #include <gdk/gdkx.h>
# Line 45  exception statement from your version. * Line 46  exception statement from your version. *
46  GdkPoint *  GdkPoint *
47  translate_points (JNIEnv *env, jintArray xpoints, jintArray ypoints,  translate_points (JNIEnv *env, jintArray xpoints, jintArray ypoints,
48                    jint npoints, jint x_offset, jint y_offset);                    jint npoints, jint x_offset, jint y_offset);
49    static void realize_cb (GtkWidget *widget, jobject peer);
50    
51  JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_copyState  JNIEXPORT void JNICALL
52    Java_gnu_java_awt_peer_gtk_GdkGraphics_copyState
53    (JNIEnv *env, jobject obj, jobject old)    (JNIEnv *env, jobject obj, jobject old)
54  {  {
55    struct graphics *g, *g_old;    struct graphics *g, *g_old;
# Line 73  JNIEXPORT void JNICALL Java_gnu_java_awt Line 76  JNIEXPORT void JNICALL Java_gnu_java_awt
76    NSA_SET_PTR (env, obj, g);    NSA_SET_PTR (env, obj, g);
77  }  }
78    
79  JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_initState__II  JNIEXPORT void JNICALL
80    Java_gnu_java_awt_peer_gtk_GdkGraphics_initState__II
81    (JNIEnv *env, jobject obj, jint width, jint height)    (JNIEnv *env, jobject obj, jint width, jint height)
82  {  {
83    struct graphics *g;    struct graphics *g;
# Line 87  JNIEXPORT void JNICALL Java_gnu_java_awt Line 91  JNIEXPORT void JNICALL Java_gnu_java_awt
91    g->cm = gdk_rgb_get_cmap ();    g->cm = gdk_rgb_get_cmap ();
92    gdk_colormap_ref (g->cm);    gdk_colormap_ref (g->cm);
93    g->gc = gdk_gc_new (g->drawable);    g->gc = gdk_gc_new (g->drawable);
94    
95    gdk_threads_leave ();    gdk_threads_leave ();
96    
97    NSA_SET_PTR (env, obj, g);    NSA_SET_PTR (env, obj, g);
# Line 94  JNIEXPORT void JNICALL Java_gnu_java_awt Line 99  JNIEXPORT void JNICALL Java_gnu_java_awt
99    
100  /* copy the native state of the peer (GtkWidget *) to the native state  /* copy the native state of the peer (GtkWidget *) to the native state
101     of the graphics object */     of the graphics object */
102  JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_initState__Lgnu_java_awt_peer_gtk_GtkComponentPeer_2  JNIEXPORT void JNICALL
103    Java_gnu_java_awt_peer_gtk_GdkGraphics_initState__Lgnu_java_awt_peer_gtk_GtkComponentPeer_2
104    (JNIEnv *env, jobject obj, jobject peer)    (JNIEnv *env, jobject obj, jobject peer)
105  {  {
106    struct graphics *g = (struct graphics *) malloc (sizeof (struct graphics));    struct graphics *g = (struct graphics *) malloc (sizeof (struct graphics));
# Line 122  JNIEXPORT void JNICALL Java_gnu_java_awt Line 128  JNIEXPORT void JNICALL Java_gnu_java_awt
128    NSA_SET_PTR (env, obj, g);    NSA_SET_PTR (env, obj, g);
129  }  }
130    
131  JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_dispose  JNIEXPORT void JNICALL
132    Java_gnu_java_awt_peer_gtk_GdkGraphics_connectSignals
133      (JNIEnv *env, jobject obj, jobject peer)
134    {
135      void *ptr;
136    
137      ptr = NSA_GET_PTR (env, peer);
138    
139      gdk_threads_enter ();
140    
141      g_signal_connect_after (G_OBJECT (ptr), "realize",
142                              G_CALLBACK (realize_cb), obj);
143    
144      gdk_threads_leave ();
145    }
146    
147    JNIEXPORT void JNICALL
148    Java_gnu_java_awt_peer_gtk_GdkGraphics_dispose
149    (JNIEnv *env, jobject obj)    (JNIEnv *env, jobject obj)
150  {  {
151    struct graphics *g;    struct graphics *g;
# Line 145  JNIEXPORT void JNICALL Java_gnu_java_awt Line 168  JNIEXPORT void JNICALL Java_gnu_java_awt
168    
169    gdk_threads_leave ();    gdk_threads_leave ();
170    
171    
172    free (g);    free (g);
173  }  }
174    
175  JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_translateNative  JNIEXPORT void JNICALL
176    Java_gnu_java_awt_peer_gtk_GdkGraphics_translateNative
177    (JNIEnv *env, jobject obj, jint x, jint y)    (JNIEnv *env, jobject obj, jint x, jint y)
178  {  {
179    struct graphics *g;    struct graphics *g;
# Line 163  JNIEXPORT void JNICALL Java_gnu_java_awt Line 188  JNIEXPORT void JNICALL Java_gnu_java_awt
188    gdk_threads_leave ();    gdk_threads_leave ();
189  }  }
190    
191  JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_drawString  JNIEXPORT void JNICALL
192    (JNIEnv *env, jobject obj, jstring str, jint x, jint y,  Java_gnu_java_awt_peer_gtk_GdkGraphics_drawString
193     jstring fname, jint style, jint size)    (JNIEnv *env, jobject obj, jobject font, jstring str, jint x, jint y)
194  {  {
195      struct peerfont *pfont = NULL;
196    struct graphics *g;    struct graphics *g;
197    const char *cstr;    const char *cstr;
   const char *font_name;  
198    int baseline_y;    int baseline_y;
   PangoFontDescription *font_desc;  
   PangoContext *context;  
   PangoLayout *layout;  
199    PangoLayoutIter *iter;    PangoLayoutIter *iter;
200    
201    g = (struct graphics *) NSA_GET_PTR (env, obj);    g = (struct graphics *) NSA_GET_PTR (env, obj);
202      g_assert (g != NULL);
203    
204      pfont = (struct peerfont *)NSA_GET_FONT_PTR (env, font);
205      g_assert (pfont != NULL);
206    
207    cstr = (*env)->GetStringUTFChars (env, str, NULL);    cstr = (*env)->GetStringUTFChars (env, str, NULL);
   font_name = (*env)->GetStringUTFChars (env, fname, NULL);  
208    
209    gdk_threads_enter ();    gdk_threads_enter ();
210    
211    font_desc = pango_font_description_from_string (font_name);    pango_layout_set_font_description (pfont->layout, pfont->desc);
212      pango_layout_set_text (pfont->layout, cstr, -1);
213    pango_font_description_set_size (font_desc, size * dpi_conversion_factor);    iter = pango_layout_get_iter (pfont->layout);
   
   if (style & AWT_STYLE_BOLD)  
     pango_font_description_set_weight (font_desc, PANGO_WEIGHT_BOLD);  
   
   if (style & AWT_STYLE_ITALIC)  
     pango_font_description_set_style (font_desc, PANGO_STYLE_OBLIQUE);  
   
   context = gdk_pango_context_get();  
   pango_context_set_font_description (context, font_desc);  
   
   layout = pango_layout_new (context);  
   
   pango_layout_set_text (layout, cstr, -1);  
   iter = pango_layout_get_iter (layout);  
214    
215    baseline_y = pango_layout_iter_get_baseline (iter);    baseline_y = pango_layout_iter_get_baseline (iter);
216    
217    gdk_draw_layout (g->drawable, g->gc,    gdk_draw_layout (g->drawable, g->gc,
218                     x + g->x_offset,                     x + g->x_offset,
219                     y + g->y_offset - PANGO_PIXELS (baseline_y),                     y + g->y_offset - PANGO_PIXELS (baseline_y),
220                     layout);                     pfont->layout);
221    
   pango_font_description_free (font_desc);  
222    pango_layout_iter_free (iter);    pango_layout_iter_free (iter);
223      pango_layout_set_text (pfont->layout, "", -1);
224    
225    gdk_flush ();    /* gdk_flush (); */
226    gdk_threads_leave ();    gdk_threads_leave ();
227    
   (*env)->ReleaseStringUTFChars (env, fname, font_name);  
228    (*env)->ReleaseStringUTFChars (env, str, cstr);    (*env)->ReleaseStringUTFChars (env, str, cstr);
229  }  }
230    
231  JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_drawLine  JNIEXPORT void JNICALL
232    Java_gnu_java_awt_peer_gtk_GdkGraphics_drawLine
233    (JNIEnv *env, jobject obj, jint x, jint y, jint x2, jint y2)    (JNIEnv *env, jobject obj, jint x, jint y, jint x2, jint y2)
234  {  {
235    struct graphics *g;    struct graphics *g;
# Line 229  JNIEXPORT void JNICALL Java_gnu_java_awt Line 240  JNIEXPORT void JNICALL Java_gnu_java_awt
240    gdk_draw_line (g->drawable, g->gc,    gdk_draw_line (g->drawable, g->gc,
241                   x + g->x_offset, y + g->y_offset,                   x + g->x_offset, y + g->y_offset,
242                   x2 + g->x_offset, y2 + g->y_offset);                   x2 + g->x_offset, y2 + g->y_offset);
243    gdk_flush ();    /* gdk_flush (); */
244    gdk_threads_leave ();    gdk_threads_leave ();
245  }  }
246    
247  JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_fillRect  JNIEXPORT void JNICALL
248    Java_gnu_java_awt_peer_gtk_GdkGraphics_fillRect
249    (JNIEnv *env, jobject obj, jint x, jint y, jint width, jint height)    (JNIEnv *env, jobject obj, jint x, jint y, jint width, jint height)
250  {  {
251    struct graphics *g;    struct graphics *g;
# Line 244  JNIEXPORT void JNICALL Java_gnu_java_awt Line 256  JNIEXPORT void JNICALL Java_gnu_java_awt
256    
257    gdk_draw_rectangle (g->drawable, g->gc, TRUE,    gdk_draw_rectangle (g->drawable, g->gc, TRUE,
258                        x + g->x_offset, y + g->y_offset, width, height);                        x + g->x_offset, y + g->y_offset, width, height);
259    gdk_flush ();    /* gdk_flush (); */
260    gdk_threads_leave ();    gdk_threads_leave ();
261  }  }
262    
263  JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_drawRect  JNIEXPORT void JNICALL
264    Java_gnu_java_awt_peer_gtk_GdkGraphics_drawRect
265    (JNIEnv *env, jobject obj, jint x, jint y, jint width, jint height)    (JNIEnv *env, jobject obj, jint x, jint y, jint width, jint height)
266  {  {
267    struct graphics *g;    struct graphics *g;
# Line 258  JNIEXPORT void JNICALL Java_gnu_java_awt Line 271  JNIEXPORT void JNICALL Java_gnu_java_awt
271    gdk_threads_enter ();    gdk_threads_enter ();
272    gdk_draw_rectangle (g->drawable, g->gc, FALSE,    gdk_draw_rectangle (g->drawable, g->gc, FALSE,
273                        x + g->x_offset, y + g->y_offset, width, height);                        x + g->x_offset, y + g->y_offset, width, height);
274    gdk_flush ();    /* gdk_flush (); */
275    gdk_threads_leave ();    gdk_threads_leave ();
276  }  }
277    
278  JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_copyArea  JNIEXPORT void JNICALL
279    Java_gnu_java_awt_peer_gtk_GdkGraphics_copyArea
280    (JNIEnv *env, jobject obj, jint x, jint y,    (JNIEnv *env, jobject obj, jint x, jint y,
281     jint width, jint height, jint dx, jint dy)     jint width, jint height, jint dx, jint dy)
282  {  {
# Line 277  JNIEXPORT void JNICALL Java_gnu_java_awt Line 291  JNIEXPORT void JNICALL Java_gnu_java_awt
291                          (GdkWindow *)g->drawable,                          (GdkWindow *)g->drawable,
292                          x + g->x_offset, y + g->y_offset,                          x + g->x_offset, y + g->y_offset,
293                          width, height);                          width, height);
294    gdk_flush ();    /* gdk_flush (); */
295    gdk_threads_leave ();    gdk_threads_leave ();
296  }  }
297    
298  JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_copyPixmap  JNIEXPORT void JNICALL
299    Java_gnu_java_awt_peer_gtk_GdkGraphics_copyPixmap
300    (JNIEnv *env, jobject obj, jobject offscreen,    (JNIEnv *env, jobject obj, jobject offscreen,
301     jint x, jint y, jint width, jint height)     jint x, jint y, jint width, jint height)
302  {  {
# Line 297  JNIEXPORT void JNICALL Java_gnu_java_awt Line 312  JNIEXPORT void JNICALL Java_gnu_java_awt
312                          (GdkWindow *)g2->drawable,                          (GdkWindow *)g2->drawable,
313                          0 + g2->x_offset, 0 + g2->y_offset,                          0 + g2->x_offset, 0 + g2->y_offset,
314                          width, height);                          width, height);
315    gdk_flush ();    /* gdk_flush (); */
316    gdk_threads_leave ();    gdk_threads_leave ();
317  }  }
318    
# Line 354  static void flip_pixbuf (GdkPixbuf *pixb Line 369  static void flip_pixbuf (GdkPixbuf *pixb
369      }      }
370  }  }
371        
372  JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_copyAndScalePixmap  JNIEXPORT void JNICALL
373    Java_gnu_java_awt_peer_gtk_GdkGraphics_copyAndScalePixmap
374    (JNIEnv *env, jobject obj, jobject offscreen, jboolean flip_x, jboolean flip_y,    (JNIEnv *env, jobject obj, jobject offscreen, jboolean flip_x, jboolean flip_y,
375     jint src_x, jint src_y, jint src_width, jint src_height,     jint src_x, jint src_y, jint src_width, jint src_height,
376     jint dest_x, jint dest_y, jint dest_width, jint dest_height)     jint dest_x, jint dest_y, jint dest_width, jint dest_height)
# Line 409  JNIEXPORT void JNICALL Java_gnu_java_awt Line 425  JNIEXPORT void JNICALL Java_gnu_java_awt
425    
426    
427    
428  JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_clearRect  JNIEXPORT void JNICALL
429    Java_gnu_java_awt_peer_gtk_GdkGraphics_clearRect
430    (JNIEnv *env, jobject obj, jint x, jint y, jint width, jint height)    (JNIEnv *env, jobject obj, jint x, jint y, jint width, jint height)
431  {  {
432    struct graphics *g;    struct graphics *g;
433    GdkGCValues saved;    GdkGCValues saved;
434      GtkWidget *widget;
435      union widget_union w;
436    
437    g = (struct graphics *) NSA_GET_PTR (env, obj);    g = (struct graphics *) NSA_GET_PTR (env, obj);
438    
439    gdk_threads_enter ();    gdk_threads_enter ();
440    if (GDK_IS_WINDOW (g->drawable))    if (GDK_IS_WINDOW (g->drawable))
441      {      {
442        gdk_window_clear_area ((GdkWindow *) g->drawable,        w.widget = &widget;
443                               x + g->x_offset, y + g->y_offset, width, height);        gdk_window_get_user_data (GDK_WINDOW (g->drawable), w.void_widget);
444          if (widget == NULL || !GTK_IS_EVENT_BOX (widget))
445            gdk_window_clear_area ((GdkWindow *) g->drawable,
446                                   x + g->x_offset, y + g->y_offset,
447                                   width, height);
448      }      }
449    else    else
450      {      {
# Line 431  JNIEXPORT void JNICALL Java_gnu_java_awt Line 454  JNIEXPORT void JNICALL Java_gnu_java_awt
454                            x + g->x_offset, y + g->y_offset, width, height);                            x + g->x_offset, y + g->y_offset, width, height);
455        gdk_gc_set_foreground (g->gc, &(saved.foreground));        gdk_gc_set_foreground (g->gc, &(saved.foreground));
456      }      }
   gdk_flush ();  
457    gdk_threads_leave ();    gdk_threads_leave ();
458  }  }
459    
460  JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_setFunction  JNIEXPORT void JNICALL
461    Java_gnu_java_awt_peer_gtk_GdkGraphics_setFunction
462    (JNIEnv *env, jobject obj, jint func)    (JNIEnv *env, jobject obj, jint func)
463  {  {
464    struct graphics *g;    struct graphics *g;
# Line 447  JNIEXPORT void JNICALL Java_gnu_java_awt Line 470  JNIEXPORT void JNICALL Java_gnu_java_awt
470  }  }
471    
472    
473  JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_setFGColor  JNIEXPORT void JNICALL
474    Java_gnu_java_awt_peer_gtk_GdkGraphics_setFGColor
475    (JNIEnv *env, jobject obj, jint red, jint green, jint blue)    (JNIEnv *env, jobject obj, jint red, jint green, jint blue)
476  {  {
477    GdkColor color;    GdkColor color;
# Line 466  JNIEXPORT void JNICALL Java_gnu_java_awt Line 490  JNIEXPORT void JNICALL Java_gnu_java_awt
490    gdk_threads_leave ();    gdk_threads_leave ();
491  }  }
492    
493  JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_drawArc  JNIEXPORT void JNICALL
494    Java_gnu_java_awt_peer_gtk_GdkGraphics_drawArc
495    (JNIEnv *env, jobject obj, jint x, jint y, jint width, jint height,    (JNIEnv *env, jobject obj, jint x, jint y, jint width, jint height,
496     jint angle1, jint angle2)     jint angle1, jint angle2)
497  {  {
# Line 478  JNIEXPORT void JNICALL Java_gnu_java_awt Line 503  JNIEXPORT void JNICALL Java_gnu_java_awt
503    gdk_draw_arc (g->drawable, g->gc, FALSE,    gdk_draw_arc (g->drawable, g->gc, FALSE,
504                  x + g->x_offset, y + g->y_offset,                  x + g->x_offset, y + g->y_offset,
505                  width, height, angle1 << 6, angle2 << 6);                  width, height, angle1 << 6, angle2 << 6);
506    gdk_flush ();    /* gdk_flush (); */
507    gdk_threads_leave ();    gdk_threads_leave ();
508  }    }  
509    
# Line 509  translate_points (JNIEnv *env, jintArray Line 534  translate_points (JNIEnv *env, jintArray
534    return points;    return points;
535  }  }
536    
537  JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_drawPolyline  JNIEXPORT void JNICALL
538    Java_gnu_java_awt_peer_gtk_GdkGraphics_drawPolyline
539    (JNIEnv *env, jobject obj, jintArray xpoints, jintArray ypoints,    (JNIEnv *env, jobject obj, jintArray xpoints, jintArray ypoints,
540     jint npoints)     jint npoints)
541  {  {
# Line 522  JNIEXPORT void JNICALL Java_gnu_java_awt Line 548  JNIEXPORT void JNICALL Java_gnu_java_awt
548    
549    gdk_threads_enter ();    gdk_threads_enter ();
550    gdk_draw_lines (g->drawable, g->gc, points, npoints);    gdk_draw_lines (g->drawable, g->gc, points, npoints);
551    gdk_flush ();    /* gdk_flush (); */
552    gdk_threads_leave ();    gdk_threads_leave ();
553    
554    g_free (points);    g_free (points);
555  }  }
556    
557  JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_drawPolygon  JNIEXPORT void JNICALL
558    Java_gnu_java_awt_peer_gtk_GdkGraphics_drawPolygon
559    (JNIEnv *env, jobject obj, jintArray xpoints, jintArray ypoints,    (JNIEnv *env, jobject obj, jintArray xpoints, jintArray ypoints,
560     jint npoints)     jint npoints)
561  {  {
# Line 546  JNIEXPORT void JNICALL Java_gnu_java_awt Line 573  JNIEXPORT void JNICALL Java_gnu_java_awt
573    
574    gdk_threads_enter ();    gdk_threads_enter ();
575    gdk_draw_lines (g->drawable, g->gc, points, npoints);    gdk_draw_lines (g->drawable, g->gc, points, npoints);
576    gdk_flush ();    /* gdk_flush (); */
577    gdk_threads_leave ();    gdk_threads_leave ();
578    
579    g_free (points);    g_free (points);
580  }  }
581    
582  JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_fillPolygon  JNIEXPORT void JNICALL
583    Java_gnu_java_awt_peer_gtk_GdkGraphics_fillPolygon
584    (JNIEnv *env, jobject obj, jintArray xpoints, jintArray ypoints,    (JNIEnv *env, jobject obj, jintArray xpoints, jintArray ypoints,
585     jint npoints)     jint npoints)
586  {  {
# Line 564  JNIEXPORT void JNICALL Java_gnu_java_awt Line 592  JNIEXPORT void JNICALL Java_gnu_java_awt
592                               g->x_offset, g->y_offset);                               g->x_offset, g->y_offset);
593    gdk_threads_enter ();    gdk_threads_enter ();
594    gdk_draw_polygon (g->drawable, g->gc, TRUE, points, npoints);    gdk_draw_polygon (g->drawable, g->gc, TRUE, points, npoints);
595    gdk_flush ();    /* gdk_flush (); */
596    gdk_threads_leave ();    gdk_threads_leave ();
597    
598    g_free (points);    g_free (points);
599  }  }
600    
601  JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_fillArc  JNIEXPORT void JNICALL
602    Java_gnu_java_awt_peer_gtk_GdkGraphics_fillArc
603    (JNIEnv *env, jobject obj, jint x, jint y, jint width, jint height,    (JNIEnv *env, jobject obj, jint x, jint y, jint width, jint height,
604     jint angle1, jint angle2)     jint angle1, jint angle2)
605  {  {
# Line 582  JNIEXPORT void JNICALL Java_gnu_java_awt Line 611  JNIEXPORT void JNICALL Java_gnu_java_awt
611    gdk_draw_arc (g->drawable, g->gc, TRUE,    gdk_draw_arc (g->drawable, g->gc, TRUE,
612                  x + g->x_offset, y + g->y_offset,                  x + g->x_offset, y + g->y_offset,
613                  width, height, angle1 << 6, angle2 << 6);                  width, height, angle1 << 6, angle2 << 6);
614    gdk_flush ();    /* gdk_flush (); */
615    gdk_threads_leave ();    gdk_threads_leave ();
616  }    }  
617    
618  JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_drawOval  JNIEXPORT void JNICALL
619    Java_gnu_java_awt_peer_gtk_GdkGraphics_drawOval
620    (JNIEnv *env, jobject obj, jint x, jint y, jint width, jint height)    (JNIEnv *env, jobject obj, jint x, jint y, jint width, jint height)
621  {  {
622    struct graphics *g;    struct graphics *g;
# Line 597  JNIEXPORT void JNICALL Java_gnu_java_awt Line 627  JNIEXPORT void JNICALL Java_gnu_java_awt
627    gdk_draw_arc (g->drawable, g->gc, FALSE,    gdk_draw_arc (g->drawable, g->gc, FALSE,
628                  x + g->x_offset, y + g->y_offset,                  x + g->x_offset, y + g->y_offset,
629                  width, height, 0, 23040);                  width, height, 0, 23040);
630    gdk_flush ();    /* gdk_flush (); */
631    gdk_threads_leave ();    gdk_threads_leave ();
632  }    }  
633    
634  JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_fillOval  JNIEXPORT void JNICALL
635    Java_gnu_java_awt_peer_gtk_GdkGraphics_fillOval
636    (JNIEnv *env, jobject obj, jint x, jint y, jint width, jint height)    (JNIEnv *env, jobject obj, jint x, jint y, jint width, jint height)
637  {  {
638    struct graphics *g;    struct graphics *g;
# Line 612  JNIEXPORT void JNICALL Java_gnu_java_awt Line 643  JNIEXPORT void JNICALL Java_gnu_java_awt
643    gdk_draw_arc (g->drawable, g->gc, TRUE,    gdk_draw_arc (g->drawable, g->gc, TRUE,
644                  x + g->x_offset, y + g->y_offset,                  x + g->x_offset, y + g->y_offset,
645                  width, height, 0, 23040);                  width, height, 0, 23040);
646    gdk_flush ();    /* gdk_flush (); */
647    gdk_threads_leave ();    gdk_threads_leave ();
648  }  }
649    
650  JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics_setClipRectangle  JNIEXPORT void JNICALL
651    Java_gnu_java_awt_peer_gtk_GdkGraphics_setClipRectangle
652    (JNIEnv *env, jobject obj, jint x, jint y, jint width, jint height)    (JNIEnv *env, jobject obj, jint x, jint y, jint width, jint height)
653  {  {
654    struct graphics *g;    struct graphics *g;
# Line 633  JNIEXPORT void JNICALL Java_gnu_java_awt Line 665  JNIEXPORT void JNICALL Java_gnu_java_awt
665    gdk_gc_set_clip_rectangle (g->gc, &rectangle);    gdk_gc_set_clip_rectangle (g->gc, &rectangle);
666    gdk_threads_leave ();    gdk_threads_leave ();
667  }  }
668    
669    static void realize_cb (GtkWidget *widget __attribute__ ((unused)),
670                            jobject peer)
671    {
672      gdk_threads_leave ();
673    
674      (*gdk_env)->CallVoidMethod (gdk_env, peer, initComponentGraphicsID);
675    
676      gdk_threads_enter ();
677    }

Legend:
Removed from v.1.11.2.2  
changed lines
  Added in v.1.11.2.3

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26