From 61a8f1edff4604fcb4238391de4ca033ab4d9de3 Mon Sep 17 00:00:00 2001 From: Graydon Hoare Date: Mon, 15 Dec 2003 19:15:23 +0000 Subject: [PATCH] gdkfont.h: New file. 2003-12-15 Graydon Hoare * jni/gtk-peer/gdkfont.h: New file. * jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c: Remove include of cairo-xlib.h, add extra gdk_flush(). From-SVN: r74644 --- libjava/ChangeLog | 6 ++ libjava/jni/gtk-peer/gdkfont.h | 93 +++++++++++++++++++ .../gnu_java_awt_peer_gtk_GdkGraphics2D.c | 2 +- 3 files changed, 100 insertions(+), 1 deletion(-) create mode 100644 libjava/jni/gtk-peer/gdkfont.h diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 42219ad80f4..cb66ec5628c 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,9 @@ +2003-12-15 Graydon Hoare + + * jni/gtk-peer/gdkfont.h: New file. + * jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c: Remove + include of cairo-xlib.h, add extra gdk_flush(). + 2003-12-12 Fernando Nasser * jni/gtk-peer/gtkpeer.h: Extend NSA set of macros to handle a second diff --git a/libjava/jni/gtk-peer/gdkfont.h b/libjava/jni/gtk-peer/gdkfont.h new file mode 100644 index 00000000000..efc5d2d8eef --- /dev/null +++ b/libjava/jni/gtk-peer/gdkfont.h @@ -0,0 +1,93 @@ +#ifndef __GDKFONT_H__ +#define __GDKFONT_H__ + +/* gdkfont.h -- Some global stuff related to fonts and glyphs + Copyright (C) 2003 Free Software Foundation, Inc. + + This file is part of GNU Classpath. + + GNU Classpath is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + GNU Classpath is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GNU Classpath; see the file COPYING. If not, write to the + Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. + + Linking this library statically or dynamically with other modules is + making a combined work based on this library. Thus, the terms and + conditions of the GNU General Public License cover the whole + combination. + + As a special exception, the copyright holders of this library give you + permission to link this library with independent modules to produce an + executable, regardless of the license terms of these independent + modules, and to copy and distribute the resulting executable under + terms of your choice, provided that you also meet, for each linked + independent module, the terms and conditions of the license of that + module. An independent module is a module which is not derived from + or based on this library. If you modify this library, you may extend + this exception to your version of the library, but you are not + obligated to do so. If you do not wish to do so, delete this + exception statement from your version. */ + +#include "gtkpeer.h" + +#include +#include +#include +#include + +extern struct state_table *native_font_state_table; +extern struct state_table *native_glyphvector_state_table; + +#define NSA_FONT_INIT(env, clazz) \ + native_font_state_table = init_state_table (env, clazz) + +#define NSA_GET_FONT_PTR(env, obj) \ + get_state (env, obj, native_font_state_table) + +#define NSA_SET_FONT_PTR(env, obj, ptr) \ + set_state (env, obj, native_font_state_table, (void *)ptr) + +#define NSA_DEL_FONT_PTR(env, obj) \ + remove_state_slot (env, obj, native_font_state_table) + + +#define NSA_GV_INIT(env, clazz) \ + native_glyphvector_state_table = init_state_table (env, clazz) + +#define NSA_GET_GV_PTR(env, obj) \ + get_state (env, obj, native_glyphvector_state_table) + +#define NSA_SET_GV_PTR(env, obj, ptr) \ + set_state (env, obj, native_glyphvector_state_table, (void *)ptr) + +#define NSA_DEL_GV_PTR(env, obj) \ + remove_state_slot (env, obj, native_glyphvector_state_table) + +struct peerfont +{ + PangoFont *font; + PangoFontDescription *desc; + PangoContext *ctx; +}; + +struct glyphvec +{ + /* the GList is list of PangoGlyphItems, each of which is a pair of 1 + PangoItem and 1 PangoGlyphString. */ + GList *glyphitems; + PangoFontDescription *desc; + PangoFont *font; + PangoContext *ctx; +}; + +#endif /* __GDKFONT_H__ */ diff --git a/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c b/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c index 76305cae050..3bc93af8143 100644 --- a/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c +++ b/libjava/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkGraphics2D.c @@ -46,7 +46,6 @@ #include #include -#include #include #include @@ -385,6 +384,7 @@ JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GdkGraphics2D_gdkDrawDrawable gdk_draw_drawable(dst->drawable, gc, src->drawable, 0, 0, x, y, width, height); + gdk_flush (); g_object_unref (gc); -- 2.30.2