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> |
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; |
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; |
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); |
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)); |
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; |
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; |
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; |
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; |
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; |
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 |
{ |
{ |
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 |
{ |
{ |
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 |
|
|
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) |
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 |
{ |
{ |
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; |
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; |
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 |
{ |
{ |
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 |
|
|
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 |
{ |
{ |
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 |
{ |
{ |
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 |
{ |
{ |
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 |
{ |
{ |
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; |
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; |
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; |
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 |
|
} |