/[classpath]/classpath/native/jni/gtk-peer/gtkpeer.h
ViewVC logotype

Diff of /classpath/native/jni/gtk-peer/gtkpeer.h

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

revision 1.34 by fitzsim, Mon Jul 4 23:56:37 2005 UTC revision 1.35 by fitzsim, Thu Jul 14 22:07:02 2005 UTC
# Line 45  exception statement from your version. * Line 45  exception statement from your version. *
45    
46  #include <jni.h>  #include <jni.h>
47    
 #define RC_FILE      ".classpath-gtkrc"  
 #define JVM_SUN  
 /*  
   #define JVM_JAPHAR  
 */  
   
48  #ifndef __GTKPEER_H__  #ifndef __GTKPEER_H__
49  #define __GTKPEER_H__  #define __GTKPEER_H__
50    
# Line 58  exception statement from your version. * Line 52  exception statement from your version. *
52  #define __attribute__(x) /* nothing */  #define __attribute__(x) /* nothing */
53  #endif  #endif
54    
55  #ifdef JVM_SUN  extern struct state_table *cp_gtk_native_state_table;
56    extern struct state_table *cp_gtk_native_global_ref_table;
 extern struct state_table *native_state_table;  
 extern struct state_table *native_global_ref_table;  
57    
58  #define NSA_INIT(env, clazz) \  #define NSA_INIT(env, clazz) \
59     do {native_state_table = init_state_table (env, clazz); \     do {cp_gtk_native_state_table = cp_gtk_init_state_table (env, clazz); \
60     native_global_ref_table = init_state_table (env, clazz);} while (0)     cp_gtk_native_global_ref_table = cp_gtk_init_state_table (env, clazz);} while (0)
61    
62  #define NSA_GET_PTR(env, obj) \  #define NSA_GET_PTR(env, obj) \
63    get_state (env, obj, native_state_table)    cp_gtk_get_state (env, obj, cp_gtk_native_state_table)
64    
65  #define NSA_SET_PTR(env, obj, ptr) \  #define NSA_SET_PTR(env, obj, ptr) \
66    set_state (env, obj, native_state_table, (void *)ptr)    cp_gtk_set_state (env, obj, cp_gtk_native_state_table, (void *)ptr)
67    
68  #define NSA_DEL_PTR(env, obj) \  #define NSA_DEL_PTR(env, obj) \
69    remove_state_slot (env, obj, native_state_table)    cp_gtk_remove_state_slot (env, obj, cp_gtk_native_state_table)
70    
71  #define NSA_GET_GLOBAL_REF(env, obj) \  #define NSA_GET_GLOBAL_REF(env, obj) \
72    get_state (env, obj, native_global_ref_table)    cp_gtk_get_state (env, obj, cp_gtk_native_global_ref_table)
73    
74  #define NSA_SET_GLOBAL_REF(env, obj) \  #define NSA_SET_GLOBAL_REF(env, obj) \
75    do {jobject *globRefPtr; \    do {jobject *globRefPtr; \
76      globRefPtr = (jobject *) malloc (sizeof (jobject)); \      globRefPtr = (jobject *) malloc (sizeof (jobject)); \
77      *globRefPtr = (*env)->NewGlobalRef (env, obj); \      *globRefPtr = (*env)->NewGlobalRef (env, obj); \
78      set_state (env, obj, native_global_ref_table, (void *)globRefPtr);} while (0)      cp_gtk_set_state (env, obj, cp_gtk_native_global_ref_table, (void *)globRefPtr);} while (0)
79    
80  #define NSA_DEL_GLOBAL_REF(env, obj) \  #define NSA_DEL_GLOBAL_REF(env, obj) \
81    do {jobject *globRefPtr = get_state (env, obj, native_global_ref_table); \    do {jobject *globRefPtr = cp_gtk_get_state (env, obj, cp_gtk_native_global_ref_table); \
82      remove_state_slot (env, obj, native_global_ref_table); \      cp_gtk_remove_state_slot (env, obj, cp_gtk_native_global_ref_table); \
83      (*env)->DeleteGlobalRef (env, *globRefPtr); \      (*env)->DeleteGlobalRef (env, *globRefPtr); \
84      free (globRefPtr);} while (0)      free (globRefPtr);} while (0)
85    
 extern struct state_table *native_pixbufdecoder_state_table;  
   
 #define NSA_PB_INIT(env, clazz) \  
   native_pixbufdecoder_state_table = init_state_table (env, clazz)  
   
 #define NSA_GET_PB_PTR(env, obj) \  
   get_state (env, obj, native_pixbufdecoder_state_table)  
   
 #define NSA_SET_PB_PTR(env, obj, ptr) \  
   set_state (env, obj, native_pixbufdecoder_state_table, (void *)ptr)  
   
 #define NSA_DEL_PB_PTR(env, obj) \  
   remove_state_slot (env, obj, native_pixbufdecoder_state_table)  
   
 #endif /* JVM_SUN */  
   
86  #define SWAPU32(w)                                                      \  #define SWAPU32(w)                                                      \
87    (((w) << 24) | (((w) & 0xff00) << 8) | (((w) >> 8) & 0xff00) | ((w) >> 24))    (((w) << 24) | (((w) & 0xff00) << 8) | (((w) >> 8) & 0xff00) | ((w) >> 24))
88    
# Line 121  struct graphics Line 97  struct graphics
97    jint x_offset, y_offset;    jint x_offset, y_offset;
98  };  };
99    
 #define AWT_DEFAULT_CURSOR 0  
 #define AWT_CROSSHAIR_CURSOR 1  
 #define AWT_TEXT_CURSOR 2  
 #define AWT_WAIT_CURSOR 3  
 #define AWT_SW_RESIZE_CURSOR 4  
 #define AWT_SE_RESIZE_CURSOR 5  
 #define AWT_NW_RESIZE_CURSOR 6  
 #define AWT_NE_RESIZE_CURSOR 7  
 #define AWT_N_RESIZE_CURSOR 8  
 #define AWT_S_RESIZE_CURSOR 9  
 #define AWT_W_RESIZE_CURSOR 10  
 #define AWT_E_RESIZE_CURSOR 11  
 #define AWT_HAND_CURSOR 12  
 #define AWT_MOVE_CURSOR 13  
   
 #define SYNTHETIC_EVENT_MASK (1 << 10)  
   
100  #define AWT_SHIFT_DOWN_MASK   (1 << 6)  #define AWT_SHIFT_DOWN_MASK   (1 << 6)
101  #define AWT_CTRL_DOWN_MASK    (1 << 7)  #define AWT_CTRL_DOWN_MASK    (1 << 7)
102  #define AWT_META_DOWN_MASK    (1 << 8)  #define AWT_META_DOWN_MASK    (1 << 8)
103  #define AWT_ALT_DOWN_MASK     (1 << 9)  #define AWT_ALT_DOWN_MASK     (1 << 9)
104    
 #define AWT_BUTTON1_DOWN_MASK (1 << 10)  
 #define AWT_BUTTON2_DOWN_MASK (1 << 11)  
 #define AWT_BUTTON3_DOWN_MASK (1 << 12)  
   
105  #define AWT_BUTTON1_MASK (1 << 4)  #define AWT_BUTTON1_MASK (1 << 4)
106  #define AWT_BUTTON2_MASK (1 << 3)  #define AWT_BUTTON2_MASK (1 << 3)
107  #define AWT_BUTTON3_MASK (1 << 2)  #define AWT_BUTTON3_MASK (1 << 2)
108    
 #define MULTI_CLICK_TIME   250  
 /* as opposed to a MULTI_PASS_TIME :) */  
   
 #define AWT_MOUSE_CLICKED  500  
 #define AWT_MOUSE_PRESSED  501  
 #define AWT_MOUSE_RELEASED 502  
 #define AWT_MOUSE_MOVED    503  
 #define AWT_MOUSE_ENTERED  504  
 #define AWT_MOUSE_EXITED   505  
 #define AWT_MOUSE_DRAGGED  506  
   
 #define AWT_ADJUSTMENT_UNIT_INCREMENT 1  
 #define AWT_ADJUSTMENT_UNIT_DECREMENT 2  
 #define AWT_ADJUSTMENT_BLOCK_DECREMENT 3  
 #define AWT_ADJUSTMENT_BLOCK_INCREMENT 4  
 #define AWT_ADJUSTMENT_TRACK 5  
   
 #define AWT_SCROLLPANE_SCROLLBARS_AS_NEEDED 0  
 #define AWT_SCROLLPANE_SCROLLBARS_ALWAYS 1  
 #define AWT_SCROLLPANE_SCROLLBARS_NEVER 2  
   
 #define AWT_LABEL_LEFT 0  
 #define AWT_LABEL_CENTER 1  
 #define AWT_LABEL_RIGHT 2  
   
 #define AWT_TEXTAREA_SCROLLBARS_BOTH 0  
 #define AWT_TEXTAREA_SCROLLBARS_VERTICAL_ONLY 1  
 #define AWT_TEXTAREA_SCROLLBARS_HORIZONTAL_ONLY 2  
   
109  #define AWT_ITEM_SELECTED 1  #define AWT_ITEM_SELECTED 1
110  #define AWT_ITEM_DESELECTED 2  #define AWT_ITEM_DESELECTED 2
111            
# Line 187  struct graphics Line 113  struct graphics
113  #define AWT_KEY_PRESSED  401  #define AWT_KEY_PRESSED  401
114  #define AWT_KEY_RELEASED 402  #define AWT_KEY_RELEASED 402
115    
 #define AWT_KEY_CHAR_UNDEFINED 0  
   
116  #define AWT_KEY_LOCATION_UNKNOWN 0  #define AWT_KEY_LOCATION_UNKNOWN 0
117  #define AWT_KEY_LOCATION_STANDARD 1  #define AWT_KEY_LOCATION_STANDARD 1
118  #define AWT_KEY_LOCATION_LEFT 2  #define AWT_KEY_LOCATION_LEFT 2
119  #define AWT_KEY_LOCATION_RIGHT 3  #define AWT_KEY_LOCATION_RIGHT 3
120  #define AWT_KEY_LOCATION_NUMPAD 4  #define AWT_KEY_LOCATION_NUMPAD 4
121    
122  /* Virtual Keys */  #define AWT_STYLE_PLAIN  0
123  /* This list should be kept in the same order as the VK_ field  #define AWT_STYLE_BOLD   1
124     declarations in KeyEvent.java. */  #define AWT_STYLE_ITALIC 2
125  #define VK_ENTER '\n'  
126  #define VK_BACK_SPACE '\b'  /* Used in GtkComponentPeer and GtkWindowPeer */
 #define VK_TAB '\t'  
 #define VK_CANCEL 3  
 #define VK_CLEAR 12  
 #define VK_SHIFT 16  
 #define VK_CONTROL 17  
 #define VK_ALT 18  
 #define VK_PAUSE 19  
 #define VK_CAPS_LOCK 20  
 #define VK_ESCAPE 27  
 #define VK_SPACE ' '  
 #define VK_PAGE_UP 33  
 #define VK_PAGE_DOWN 34  
 #define VK_END 35  
 #define VK_HOME 36  
 #define VK_LEFT 37  
 #define VK_UP 38  
 #define VK_RIGHT 39  
 #define VK_DOWN 40  
 #define VK_COMMA ','  
 #define VK_MINUS '-'  
 #define VK_PERIOD '.'  
 #define VK_SLASH '/'  
 #define VK_0 '0'  
 #define VK_1 '1'  
 #define VK_2 '2'  
 #define VK_3 '3'  
 #define VK_4 '4'  
 #define VK_5 '5'  
 #define VK_6 '6'  
 #define VK_7 '7'  
 #define VK_8 '8'  
 #define VK_9 '9'  
 #define VK_SEMICOLON ';'  
 #define VK_EQUALS '='  
 #define VK_A 'A'  
 #define VK_B 'B'  
 #define VK_C 'C'  
 #define VK_D 'D'  
 #define VK_E 'E'  
 #define VK_F 'F'  
 #define VK_G 'G'  
 #define VK_H 'H'  
 #define VK_I 'I'  
 #define VK_J 'J'  
 #define VK_K 'K'  
 #define VK_L 'L'  
 #define VK_M 'M'  
 #define VK_N 'N'  
 #define VK_O 'O'  
 #define VK_P 'P'  
 #define VK_Q 'Q'  
 #define VK_R 'R'  
 #define VK_S 'S'  
 #define VK_T 'T'  
 #define VK_U 'U'  
 #define VK_V 'V'  
 #define VK_W 'W'  
 #define VK_X 'X'  
 #define VK_Y 'Y'  
 #define VK_Z 'Z'  
 #define VK_OPEN_BRACKET '['  
 #define VK_BACK_SLASH '\\'  
 #define VK_CLOSE_BRACKET ']'  
127  #define VK_NUMPAD0 96  #define VK_NUMPAD0 96
128  #define VK_NUMPAD1 97  #define VK_NUMPAD1 97
129  #define VK_NUMPAD2 98  #define VK_NUMPAD2 98
# Line 273  struct graphics Line 134  struct graphics
134  #define VK_NUMPAD7 103  #define VK_NUMPAD7 103
135  #define VK_NUMPAD8 104  #define VK_NUMPAD8 104
136  #define VK_NUMPAD9 105  #define VK_NUMPAD9 105
 #define VK_MULTIPLY 106  
 #define VK_ADD 107  
 #define VK_SEPARATER 108  
 #define VK_SEPARATOR 108  
 #define VK_SUBTRACT 109  
137  #define VK_DECIMAL 110  #define VK_DECIMAL 110
 #define VK_DIVIDE 111  
 #define VK_DELETE 127  
 #define VK_NUM_LOCK 144  
 #define VK_SCROLL_LOCK 145  
 #define VK_F1 112  
 #define VK_F2 113  
 #define VK_F3 114  
 #define VK_F4 115  
 #define VK_F5 116  
 #define VK_F6 117  
 #define VK_F7 118  
 #define VK_F8 119  
 #define VK_F9 120  
 #define VK_F10 121  
 #define VK_F11 122  
 #define VK_F12 123  
 #define VK_F13 61440  
 #define VK_F14 61441  
 #define VK_F15 61442  
 #define VK_F16 61443  
 #define VK_F17 61444  
 #define VK_F18 61445  
 #define VK_F19 61446  
 #define VK_F20 61447  
 #define VK_F21 61448  
 #define VK_F22 61449  
 #define VK_F23 61450  
 #define VK_F24 61451  
 #define VK_PRINTSCREEN 154  
 #define VK_INSERT 155  
 #define VK_HELP 156  
 #define VK_META 157  
 #define VK_BACK_QUOTE 192  
 #define VK_QUOTE 222  
 #define VK_KP_UP 224  
 #define VK_KP_DOWN 225  
 #define VK_KP_LEFT 226  
 #define VK_KP_RIGHT 227  
 #define VK_DEAD_GRAVE 128  
 #define VK_DEAD_ACUTE 129  
 #define VK_DEAD_CIRCUMFLEX 130  
 #define VK_DEAD_TILDE 131  
 #define VK_DEAD_MACRON 132  
 #define VK_DEAD_BREVE 133  
 #define VK_DEAD_ABOVEDOT 134  
 #define VK_DEAD_DIAERESIS 135  
 #define VK_DEAD_ABOVERING 136  
 #define VK_DEAD_DOUBLEACUTE 137  
 #define VK_DEAD_CARON 138  
 #define VK_DEAD_CEDILLA 139  
 #define VK_DEAD_OGONEK 140  
 #define VK_DEAD_IOTA 141  
 #define VK_DEAD_VOICED_SOUND 142  
 #define VK_DEAD_SEMIVOICED_SOUND 143  
 #define VK_AMPERSAND 150  
 #define VK_ASTERISK 151  
 #define VK_QUOTEDBL 152  
 #define VK_LESS 153  
 #define VK_GREATER 160  
 #define VK_BRACELEFT 161  
 #define VK_BRACERIGHT 162  
 #define VK_AT 512  
 #define VK_COLON 513  
 #define VK_CIRCUMFLEX 514  
 #define VK_DOLLAR 515  
 #define VK_EURO_SIGN 516  
 #define VK_EXCLAMATION_MARK 517  
 #define VK_INVERTED_EXCLAMATION_MARK 518  
 #define VK_LEFT_PARENTHESIS 519  
 #define VK_NUMBER_SIGN 520  
 #define VK_PLUS 521  
 #define VK_RIGHT_PARENTHESIS 522  
 #define VK_UNDERSCORE 523  
 #define VK_FINAL 24  
 #define VK_CONVERT 28  
 #define VK_NONCONVERT 29  
 #define VK_ACCEPT 30  
 #define VK_MODECHANGE 31  
 #define VK_KANA 21  
 #define VK_KANJI 25  
 #define VK_ALPHANUMERIC 240  
 #define VK_KATAKANA 241  
 #define VK_HIRAGANA 242  
 #define VK_FULL_WIDTH 243  
 #define VK_HALF_WIDTH 244  
 #define VK_ROMAN_CHARACTERS 245  
 #define VK_ALL_CANDIDATES 256  
 #define VK_PREVIOUS_CANDIDATE 257  
 #define VK_CODE_INPUT 258  
 #define VK_JAPANESE_KATAKANA 259  
 #define VK_JAPANESE_HIRAGANA 260  
 #define VK_JAPANESE_ROMAN 261  
 #define VK_KANA_LOCK 262  
 #define VK_INPUT_METHOD_ON_OFF 263  
 #define VK_CUT 65489  
 #define VK_COPY 65485  
 #define VK_PASTE 65487  
 #define VK_UNDO 65483  
 #define VK_AGAIN 65481  
 #define VK_FIND 65488  
 #define VK_PROPS 65482  
 #define VK_STOP 65480  
 #define VK_COMPOSE 65312  
 #define VK_ALT_GRAPH 65406  
 #define VK_UNDEFINED 0  
   
 #define AWT_FOCUS_GAINED 1004  
 #define AWT_FOCUS_LOST 1005  
   
 #define AWT_WINDOW_OPENED 200  
 #define AWT_WINDOW_CLOSING 201  
 #define AWT_WINDOW_CLOSED 202  
 #define AWT_WINDOW_ICONIFIED 203  
 #define AWT_WINDOW_DEICONIFIED 204  
 #define AWT_WINDOW_ACTIVATED 205  
 #define AWT_WINDOW_DEACTIVATED 206  
 #define AWT_WINDOW_GAINED_FOCUS 207  
 #define AWT_WINDOW_LOST_FOCUS 208  
 #define AWT_WINDOW_STATE_CHANGED 209  
   
 #define AWT_FRAME_STATE_NORMAL 0  
 #define AWT_FRAME_STATE_ICONIFIED 1  
 #define AWT_FRAME_STATE_MAXIMIZED_HORIZ 2  
 #define AWT_FRAME_STATE_MAXIMIZED_VERT 4  
 #define AWT_FRAME_STATE_MAXIMIZED_BOTH 6  
   
 #define AWT_STYLE_PLAIN  0  
 #define AWT_STYLE_BOLD   1  
 #define AWT_STYLE_ITALIC 2  
   
 /* From java.awt.SystemColor */  
 #define AWT_DESKTOP                  0  
 #define AWT_ACTIVE_CAPTION           1  
 #define AWT_ACTIVE_CAPTION_TEXT      2  
 #define AWT_ACTIVE_CAPTION_BORDER    3  
 #define AWT_INACTIVE_CAPTION         4  
 #define AWT_INACTIVE_CAPTION_TEXT    5  
 #define AWT_INACTIVE_CAPTION_BORDER  6  
 #define AWT_WINDOW                   7  
 #define AWT_WINDOW_BORDER            8  
 #define AWT_WINDOW_TEXT              9  
 #define AWT_MENU                    10  
 #define AWT_MENU_TEXT               11  
 #define AWT_TEXT                    12  
 #define AWT_TEXT_TEXT               13  
 #define AWT_TEXT_HIGHLIGHT          14  
 #define AWT_TEXT_HIGHLIGHT_TEXT     15  
 #define AWT_TEXT_INACTIVE_TEXT      16  
 #define AWT_CONTROL                 17  
 #define AWT_CONTROL_TEXT            18  
 #define AWT_CONTROL_HIGHLIGHT       19  
 #define AWT_CONTROL_LT_HIGHLIGHT    20  
 #define AWT_CONTROL_SHADOW          21  
 #define AWT_CONTROL_DK_SHADOW       22  
 #define AWT_SCROLLBAR               23  
 #define AWT_INFO                    24  
 #define AWT_INFO_TEXT               25  
 #define AWT_NUM_COLORS              26  
   
 extern jmethodID setBoundsCallbackID;  
   
 extern jmethodID postActionEventID;  
 extern jmethodID postMenuActionEventID;  
 extern jmethodID postMouseEventID;  
 extern jmethodID postConfigureEventID;  
 extern jmethodID postExposeEventID;  
 extern jmethodID postKeyEventID;  
 extern jmethodID postFocusEventID;  
 extern jmethodID postAdjustmentEventID;  
 extern jmethodID choicePostItemEventID;  
 extern jmethodID postItemEventID;  
 extern jmethodID postListItemEventID;  
 extern jmethodID postTextEventID;  
 extern jmethodID postWindowEventID;  
   
 extern jmethodID beginNativeRepaintID;  
 extern jmethodID endNativeRepaintID;  
   
 extern jmethodID initComponentGraphicsID;  
 extern jmethodID initComponentGraphics2DID;  
 extern jmethodID setCursorID;  
   
 extern jmethodID syncAttrsID;  
 extern jclass gdkColor;  
 extern jmethodID gdkColorID;  
   
 extern jmethodID postInsetsChangedEventID;  
 extern jmethodID windowGetWidthID;  
 extern jmethodID windowGetHeightID;  
   
 JNIEnv *gdk_env(void);  
   
 extern double dpi_conversion_factor;  
   
 extern GtkWindowGroup *global_gtk_window_group;  
   
 void awt_event_handler (GdkEvent *event);  
   
 gboolean pre_event_handler (GtkWidget *widget,  
                                GdkEvent *event,  
                                jobject peer);  
   
 void connect_awt_hook (JNIEnv *env, jobject peer_obj, int nwindows, ...);  
 void connect_awt_hook_cb (GtkWidget *widget, jobject peer);  
   
 void set_visible (GtkWidget *widget, jboolean visible);  
 void set_parent (GtkWidget *widget, GtkContainer *parent);  
138    
139  jint keyevent_state_to_awt_mods (GdkEvent *event);  JNIEnv *cp_gtk_gdk_env(void);
140    
141  guint awt_keycode_to_keysym (jint keyCode, jint keyLocation);  /* Global variables */
142    extern double cp_gtk_dpi_conversion_factor;
143  struct item_event_hook_info  extern GtkWindowGroup *cp_gtk_global_window_group;
 {  
   jobject peer_obj;  
   const char *label;  
 };  
144    
145  /* Union used for type punning. */  /* Union used for type punning. */
146  union widget_union  union widget_union
# Line 504  union widget_union Line 149  union widget_union
149    GtkWidget **widget;    GtkWidget **widget;
150  };  };
151    
152    /* Keycode helpers */
153    guint cp_gtk_awt_keycode_to_keysym (jint keyCode, jint keyLocation);
154    
155    /* Image helpers */
156    GdkPixbuf *cp_gtk_image_get_pixbuf (JNIEnv *env, jobject obj);
157    GdkPixmap *cp_gtk_image_get_pixmap (JNIEnv *env, jobject obj);
158    jboolean cp_gtk_image_is_offscreen (JNIEnv *env, jobject obj);
159    
160  /* JNI initialization functions */  /* JNI initialization functions */
161  void classpath_gtk_textcomponent_init_jni (void);  #if GTK_CAIRO
162    void cp_gtk_graphics2d_init_jni (void);
163    #endif
164    void cp_gtk_graphics_init_jni (void);
165    void cp_gtk_button_init_jni (void);
166    void cp_gtk_checkbox_init_jni (void);
167    void cp_gtk_choice_init_jni (void);
168    void cp_gtk_component_init_jni (void);
169    void cp_gtk_list_init_jni (void);
170    void cp_gtk_menuitem_init_jni (void);
171    void cp_gtk_scrollbar_init_jni (void);
172    void cp_gtk_textcomponent_init_jni (void);
173    void cp_gtk_window_init_jni (void);
174    
175  /* Signal connection convience functions */  /* Signal connection convience functions */
176  void classpath_gtk_component_connect_signals (GObject *ptr, jobject *gref);  void cp_gtk_component_connect_expose_signals (GObject *ptr, jobject *gref);
177  void classpath_gtk_component_connect_nonfocus_signals (GObject *ptr, jobject *gref);  void cp_gtk_component_connect_focus_signals (GObject *ptr, jobject *gref);
178  void classpath_gtk_textcomponent_connect_signals (GObject *ptr, jobject *gref);  void cp_gtk_component_connect_mouse_signals (GObject *ptr, jobject *gref);
179    void cp_gtk_component_connect_signals (GObject *ptr, jobject *gref);
180  /* GtkImage functions used by other gtk peer native routines */  void cp_gtk_textcomponent_connect_signals (GObject *ptr, jobject *gref);
181  GdkPixbuf *gnu_java_awt_peer_gtk_GtkImage_getPixbuf(JNIEnv *env, jobject obj);  
182  GdkPixmap *gnu_java_awt_peer_gtk_GtkImage_getPixmap(JNIEnv *env, jobject obj);  /* Debugging */
183  jboolean gnu_java_awt_peer_gtk_GtkImage_isOffScreen(JNIEnv *env, jobject obj);  void cp_gtk_print_current_thread (void);
184    
185  #define DEBUG_LOCKING 0  #define DEBUG_LOCKING 0
186    
187  #if DEBUG_LOCKING  #if DEBUG_LOCKING
188  #define gdk_threads_enter()                       \  #define gdk_threads_enter()                          \
189  {                                                 \  {                                                    \
190    g_print ("lock: %s, %d\n", __FILE__, __LINE__); \    g_print ("locking: %s, %d\n", __FILE__, __LINE__); \
191    gdk_threads_enter ();                           \    cp_gtk_print_current_thread ();                    \
192      gdk_threads_enter ();                              \
193      g_print ("locked: %s, %d\n", __FILE__, __LINE__); \
194      cp_gtk_print_current_thread ();                    \
195  }  }
196  #define gdk_threads_leave()                         \  #define gdk_threads_leave()                            \
197  {                                                   \  {                                                      \
198    g_print ("unlock: %s, %d\n", __FILE__, __LINE__); \    g_print ("unlocking: %s, %d\n", __FILE__, __LINE__); \
199    gdk_threads_leave ();                             \    cp_gtk_print_current_thread ();                      \
200      gdk_threads_leave ();                                \
201      g_print ("unlocked: %s, %d\n", __FILE__, __LINE__);  \
202      cp_gtk_print_current_thread ();                      \
203  }  }
204  #endif  #endif
205    

Legend:
Removed from v.1.34  
changed lines
  Added in v.1.35

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