]> Pileus Git - ~andy/gtk/blob - gdk/gdk.h
e237ad50e518ca2657478f23fdd4601f9a4b87fd
[~andy/gtk] / gdk / gdk.h
1 /* GDK - The GIMP Drawing Kit
2  * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Library General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Library General Public License for more details.
13  *
14  * You should have received a copy of the GNU Library General Public
15  * License along with this library; if not, write to the Free
16  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17  */
18 #ifndef __GDK_H__
19 #define __GDK_H__
20
21
22 #include <gdk/gdktypes.h>
23 #include <gdk/gdki18n.h>
24
25
26 #ifdef __cplusplus
27 extern "C" {
28 #endif /* __cplusplus */
29
30
31 /* Initialization, exit and events
32  */
33 void   gdk_init            (int    *argc,
34                             char ***argv);
35 void   gdk_exit            (int     error_code);
36 gchar* gdk_set_locale      (void);
37
38 gint gdk_events_pending  (void);
39 gint gdk_event_get       (GdkEvent     *event,
40                           GdkEventFunc  pred,
41                           gpointer      data);
42 void gdk_event_put       (GdkEvent     *event);
43
44 GdkEvent *gdk_event_copy (GdkEvent *event);
45 void      gdk_event_free (GdkEvent *event);
46
47 void gdk_set_debug_level (gint  level);
48 void gdk_set_show_events (gint  show_events);
49 void gdk_set_use_xshm    (gint  use_xshm);
50
51 gint gdk_get_debug_level (void);
52 gint gdk_get_show_events (void);
53 gint gdk_get_use_xshm    (void);
54
55 guint32 gdk_time_get      (void);
56 guint32 gdk_timer_get     (void);
57 void    gdk_timer_set     (guint32 milliseconds);
58 void    gdk_timer_enable  (void);
59 void    gdk_timer_disable (void);
60
61 gint gdk_input_add    (gint              source,
62                        GdkInputCondition condition,
63                        GdkInputFunction  function,
64                        gpointer          data);
65 void gdk_input_remove (gint              tag);
66
67 gint gdk_pointer_grab   (GdkWindow *     window,
68                          gint            owner_events,
69                          GdkEventMask    event_mask,
70                          GdkWindow *     confine_to,
71                          GdkCursor *     cursor,
72                          guint32         time);
73 void gdk_pointer_ungrab (guint32         time);
74
75 gint gdk_keyboard_grab   (GdkWindow *     window,
76                           gint            owner_events,
77                           guint32         time);
78 void gdk_keyboard_ungrab (guint32         time);
79
80 gint gdk_screen_width  (void);
81 gint gdk_screen_height (void);
82
83 void gdk_flush (void);
84 void gdk_beep (void);
85
86 void gdk_key_repeat_disable (void);
87 void gdk_key_repeat_restore (void);
88
89
90 /* Visuals
91  */
92 gint          gdk_visual_get_best_depth      (void);
93 GdkVisualType gdk_visual_get_best_type       (void);
94 GdkVisual*    gdk_visual_get_system          (void);
95 GdkVisual*    gdk_visual_get_best            (void);
96 GdkVisual*    gdk_visual_get_best_with_depth (gint           depth);
97 GdkVisual*    gdk_visual_get_best_with_type  (GdkVisualType  visual_type);
98 GdkVisual*    gdk_visual_get_best_with_both  (gint           depth,
99                                               GdkVisualType  visual_type);
100
101 /* Actually, these are no-ops... */
102 GdkVisual* gdk_visual_ref (GdkVisual *visual);
103 void       gdk_visual_unref (GdkVisual *visual);
104
105 void gdk_query_depths       (gint           **depths,
106                              gint            *count);
107 void gdk_query_visual_types (GdkVisualType  **visual_types,
108                              gint            *count);
109 void gdk_query_visuals      (GdkVisual      **visuals,
110                              gint            *count);
111
112
113 /* Windows
114  */
115 GdkWindow*    gdk_window_new         (GdkWindow     *parent,
116                                       GdkWindowAttr *attributes,
117                                       gint           attributes_mask);
118
119 GdkWindow *   gdk_window_foreign_new (guint32        anid);
120 void          gdk_window_destroy     (GdkWindow     *window);
121 GdkWindow*    gdk_window_ref         (GdkWindow     *window);
122 void          gdk_window_unref       (GdkWindow     *window);
123
124 void          gdk_window_show        (GdkWindow    *window);
125 void          gdk_window_hide        (GdkWindow    *window);
126 void          gdk_window_move        (GdkWindow    *window,
127                                       gint          x,
128                                       gint          y);
129 void          gdk_window_resize      (GdkWindow    *window,
130                                       gint          width,
131                                       gint          height);
132 void          gdk_window_move_resize (GdkWindow    *window,
133                                       gint          x,
134                                       gint          y,
135                                       gint          width,
136                                       gint          height);
137 void          gdk_window_reparent    (GdkWindow    *window,
138                                       GdkWindow    *new_parent,
139                                       gint          x,
140                                       gint          y);
141 void          gdk_window_clear       (GdkWindow    *window);
142 void          gdk_window_clear_area  (GdkWindow    *window,
143                                       gint          x,
144                                       gint          y,
145                                       gint          width,
146                                       gint          height);
147 void          gdk_window_clear_area_e(GdkWindow    *window,
148                                       gint          x,
149                                       gint          y,
150                                       gint          width,
151                                       gint          height);
152 void          gdk_window_copy_area   (GdkWindow    *window,
153                                       GdkGC        *gc,
154                                       gint          x,
155                                       gint          y,
156                                       GdkWindow    *source_window,
157                                       gint          source_x,
158                                       gint          source_y,
159                                       gint          width,
160                                       gint          height);
161 void          gdk_window_raise       (GdkWindow    *window);
162 void          gdk_window_lower       (GdkWindow    *window);
163
164 void          gdk_window_set_user_data   (GdkWindow       *window,
165                                           gpointer         user_data);
166
167
168 /* 
169  * This allows for making shaped (partially transparent) windows
170  * - cool feature, needed for Drag and Drag for example.
171  *  The shape_mask can be the mask
172  *  from gdk_pixmap_create_from_xpm.   Stefan Wille
173  */
174 void gdk_window_shape_combine_mask (GdkWindow       *window,
175                                     GdkBitmap       *shape_mask,
176                                     gint             offset_x,
177                                     gint             offset_y);
178
179 /* 
180  * Drag & Drop
181  * Algorithm (drop source):
182  * A window being dragged will be sent a GDK_DRAG_BEGIN message.
183  * It will then do gdk_dnd_drag_addwindow() for any other windows that are to be
184  * dragged.
185  * When we get a DROP_ENTER incoming, we send it on to the window in question.
186  * That window needs to use gdk_dnd_drop_enter_reply() to indicate the state of
187  * things (it must call that even if it's not going to accept the drop)
188  *
189  * These two turn on/off drag or drop, and if enabling it also
190  * sets the list of types supported. The list of types passed in
191  * should be in order of decreasing preference.
192  */
193 void gdk_window_dnd_drag_set (GdkWindow  *window,
194                               guint8      drag_enable,
195                               gchar     **typelist,
196                               guint       numtypes);
197
198 /* 
199  *XXX todo: add a GDK_DROP_ENTER which can look at actual data
200  */
201 void gdk_window_dnd_drop_set (GdkWindow  *window,
202                               guint8      drop_enable,
203                               gchar     **typelist,
204                               guint       numtypes,
205                               guint8      destructive_op);
206
207 /* 
208  * This is used by the GDK_DRAG_BEGIN handler. An example of usage would be a
209  * file manager where multiple icons were selected and the drag began.
210  * The icon that the drag actually began on would gdk_dnd_drag_addwindow
211  * for all the other icons that were being dragged... 
212  */
213 void gdk_dnd_drag_addwindow  (GdkWindow  *window);
214 void gdk_window_dnd_data_set (GdkWindow  *window,
215                               GdkEvent   *event,
216                               gpointer    data,
217                               gulong      data_numbytes);
218
219
220 void          gdk_window_set_hints       (GdkWindow       *window,
221                                           gint             x,
222                                           gint             y,
223                                           gint             min_width,
224                                           gint             min_height,
225                                           gint             max_width,
226                                           gint             max_height,
227                                           gint             flags);
228 void          gdk_window_set_title       (GdkWindow       *window,
229                                           const gchar     *title);
230 void          gdk_window_set_background  (GdkWindow       *window,
231                                           GdkColor        *color);
232 void          gdk_window_set_back_pixmap (GdkWindow       *window,
233                                           GdkPixmap       *pixmap,
234                                           gint             parent_relative);
235 void          gdk_window_set_cursor      (GdkWindow       *window,
236                                           GdkCursor       *cursor);
237 void          gdk_window_set_colormap    (GdkWindow       *window,
238                                           GdkColormap     *colormap);
239 void          gdk_window_get_user_data   (GdkWindow       *window,
240                                           gpointer        *data);
241 void          gdk_window_get_geometry    (GdkWindow       *window,
242                                           gint            *x,
243                                           gint            *y,
244                                           gint            *width,
245                                           gint            *height,
246                                           gint            *depth);
247 void          gdk_window_get_position    (GdkWindow       *window,
248                                           gint            *x,
249                                           gint            *y);
250 void          gdk_window_get_size        (GdkWindow       *window,
251                                           gint            *width,
252                                           gint            *height);
253 GdkVisual*    gdk_window_get_visual      (GdkWindow       *window);
254 GdkColormap*  gdk_window_get_colormap    (GdkWindow       *window);
255 GdkWindowType gdk_window_get_type        (GdkWindow       *window);
256 gint          gdk_window_get_origin      (GdkWindow       *window,
257                                           gint            *x,
258                                           gint            *y);
259 GdkWindow*    gdk_window_get_pointer     (GdkWindow       *window,
260                                           gint            *x,
261                                           gint            *y,
262                                           GdkModifierType *mask);
263 GdkWindow*    gdk_window_get_parent      (GdkWindow       *window);
264 GdkWindow*    gdk_window_get_toplevel    (GdkWindow       *window);
265 GList*        gdk_window_get_children    (GdkWindow       *window);
266 GdkEventMask  gdk_window_get_events      (GdkWindow       *window);
267 void          gdk_window_set_events      (GdkWindow       *window,
268                                           GdkEventMask     event_mask);
269
270 /* Cursors
271  */
272 GdkCursor* gdk_cursor_new     (GdkCursorType   cursor_type);
273 void       gdk_cursor_destroy (GdkCursor      *cursor);
274
275
276 /* GCs
277  */
278 GdkGC* gdk_gc_new                 (GdkWindow        *window);
279 GdkGC* gdk_gc_new_with_values     (GdkWindow        *window,
280                                    GdkGCValues      *values,
281                                    GdkGCValuesMask   values_mask);
282 void   gdk_gc_destroy             (GdkGC            *gc);
283 void   gdk_gc_get_values          (GdkGC            *gc,
284                                    GdkGCValues      *values);
285 void   gdk_gc_set_foreground      (GdkGC            *gc,
286                                    GdkColor         *color);
287 void   gdk_gc_set_background      (GdkGC            *gc,
288                                    GdkColor         *color);
289 void   gdk_gc_set_font            (GdkGC            *gc,
290                                    GdkFont          *font);
291 void   gdk_gc_set_function        (GdkGC            *gc,
292                                    GdkFunction       function);
293 void   gdk_gc_set_fill            (GdkGC            *gc,
294                                    GdkFill           fill);
295 void   gdk_gc_set_tile            (GdkGC            *gc,
296                                    GdkPixmap        *tile);
297 void   gdk_gc_set_stipple         (GdkGC            *gc,
298                                    GdkPixmap        *stipple);
299 void   gdk_gc_set_ts_origin       (GdkGC            *gc,
300                                    gint              x,
301                                    gint              y);
302 void   gdk_gc_set_clip_origin     (GdkGC            *gc,
303                                    gint              x,
304                                    gint              y);
305 void   gdk_gc_set_clip_mask       (GdkGC            *gc,
306                                    GdkBitmap        *mask);
307 void   gdk_gc_set_clip_rectangle  (GdkGC            *gc,
308                                    GdkRectangle     *rectangle);
309 void   gdk_gc_set_subwindow       (GdkGC            *gc,
310                                    GdkSubwindowMode  mode);
311 void   gdk_gc_set_exposures       (GdkGC            *gc,
312                                    gint              exposures);
313 void   gdk_gc_set_line_attributes (GdkGC            *gc,
314                                    gint              line_width,
315                                    GdkLineStyle      line_style,
316                                    GdkCapStyle       cap_style,
317                                    GdkJoinStyle      join_style);
318
319
320 /* Pixmaps
321  */
322 GdkPixmap* gdk_pixmap_new               (GdkWindow  *window,
323                                          gint        width,
324                                          gint        height,
325                                          gint        depth);
326 GdkBitmap* gdk_bitmap_create_from_data  (GdkWindow  *window,
327                                          gchar      *data,
328                                          gint        width,
329                                          gint        height);
330 GdkPixmap* gdk_pixmap_create_from_data  (GdkWindow  *window,
331                                          gchar      *data,
332                                          gint        width,
333                                          gint        height,
334                                          gint        depth,
335                                          GdkColor   *fg,
336                                          GdkColor   *bg);
337 GdkPixmap* gdk_pixmap_create_from_xpm   (GdkWindow  *window,
338                                          GdkBitmap **mask,
339                                          GdkColor   *transparent_color,
340                                          const gchar *filename);
341 GdkPixmap* gdk_pixmap_create_from_xpm_d (GdkWindow  *window,
342                                          GdkBitmap **mask,
343                                          GdkColor   *transparent_color,
344                                          gchar     **data);
345 void       gdk_pixmap_destroy           (GdkPixmap  *pixmap);
346
347
348
349 /* Images
350  */
351 GdkImage* gdk_image_new_bitmap(GdkVisual *,
352                                 gpointer,
353                                 gint,
354                                 gint);
355 GdkImage*  gdk_image_new       (GdkImageType  type,
356                                 GdkVisual    *visual,
357                                 gint          width,
358                                 gint          height);
359 GdkImage*  gdk_image_get       (GdkWindow    *window,
360                                 gint          x,
361                                 gint          y,
362                                 gint          width,
363                                 gint          height);
364 void       gdk_image_put_pixel (GdkImage     *image,
365                                 gint          x,
366                                 gint          y,
367                                 guint32       pixel);
368 guint32    gdk_image_get_pixel (GdkImage     *image,
369                                 gint          x,
370                                 gint          y);
371 void       gdk_image_destroy   (GdkImage     *image);
372
373
374 /* Color
375  */
376 GdkColormap* gdk_colormap_new     (GdkVisual   *visual,
377                                    gint         allocate);
378 void         gdk_colormap_destroy (GdkColormap *colormap);
379
380 GdkColormap* gdk_colormap_ref (GdkColormap *cmap);
381 void         gdk_colormap_unref (GdkColormap *cmap);
382
383 GdkColormap* gdk_colormap_get_system       (void);
384 gint         gdk_colormap_get_system_size  (void);
385
386 void gdk_colormap_change (GdkColormap   *colormap,
387                           gint           ncolors);
388 void gdk_colors_store    (GdkColormap   *colormap,
389                           GdkColor      *colors,
390                           gint           ncolors);
391 gint gdk_colors_alloc    (GdkColormap   *colormap,
392                           gint           contiguous,
393                           gulong        *planes,
394                           gint           nplanes,
395                           gulong        *pixels,
396                           gint           npixels);
397 void gdk_colors_free     (GdkColormap   *colormap,
398                           gulong        *pixels,
399                           gint           npixels,
400                           gulong         planes);
401 gint gdk_color_white     (GdkColormap   *colormap,
402                           GdkColor      *color);
403 gint gdk_color_black     (GdkColormap   *colormap,
404                           GdkColor      *color);
405 gint gdk_color_parse     (const gchar   *spec,
406                           GdkColor      *color);
407 gint gdk_color_alloc     (GdkColormap   *colormap,
408                           GdkColor      *color);
409 gint gdk_color_change    (GdkColormap   *colormap,
410                           GdkColor      *color);
411 gint gdk_color_equal     (GdkColor      *colora,
412                           GdkColor      *colorb);
413
414
415 /* Fonts
416  */
417 GdkFont* gdk_font_load      (const gchar    *font_name);
418 GdkFont* gdk_fontset_load   (gchar    *fontset_name);
419 void     gdk_font_free      (GdkFont  *font);
420 void     gdk_fontset_free   (GdkFont  *font);
421 GdkFont* gdk_font_ref       (GdkFont  *font);
422 gint     gdk_font_id        (GdkFont  *font);
423 gint     gdk_font_equal     (GdkFont  *fonta,
424                              GdkFont  *fontb);
425 gint     gdk_string_width   (GdkFont  *font,
426                              const gchar    *string);
427 gint     gdk_text_width     (GdkFont  *font,
428                              const gchar    *text,
429                              gint      text_length);
430 gint     gdk_char_width     (GdkFont  *font,
431                              gchar     character);
432 gint     gdk_string_measure (GdkFont  *font,
433                              const gchar    *string);
434 gint     gdk_text_measure   (GdkFont  *font,
435                              const gchar    *text,
436                              gint      text_length);
437 gint     gdk_char_measure   (GdkFont  *font,
438                              gchar     character);
439
440
441 /* Drawing
442  */
443 void gdk_draw_point      (GdkDrawable  *drawable,
444                           GdkGC        *gc,
445                           gint          x,
446                           gint          y);
447 void gdk_draw_line       (GdkDrawable  *drawable,
448                           GdkGC        *gc,
449                           gint          x1,
450                           gint          y1,
451                           gint          x2,
452                           gint          y2);
453 void gdk_draw_rectangle  (GdkDrawable  *drawable,
454                           GdkGC        *gc,
455                           gint          filled,
456                           gint          x,
457                           gint          y,
458                           gint          width,
459                           gint          height);
460 void gdk_draw_arc        (GdkDrawable  *drawable,
461                           GdkGC        *gc,
462                           gint          filled,
463                           gint          x,
464                           gint          y,
465                           gint          width,
466                           gint          height,
467                           gint          angle1,
468                           gint          angle2);
469 void gdk_draw_polygon    (GdkDrawable  *drawable,
470                           GdkGC        *gc,
471                           gint          filled,
472                           GdkPoint     *points,
473                           gint          npoints);
474 void gdk_draw_string     (GdkDrawable  *drawable,
475                           GdkFont      *font,
476                           GdkGC        *gc,
477                           gint          x,
478                           gint          y,
479                           const gchar        *string);
480 void gdk_draw_text       (GdkDrawable  *drawable,
481                           GdkFont      *font,
482                           GdkGC        *gc,
483                           gint          x,
484                           gint          y,
485                           const gchar        *text,
486                           gint          text_length);
487 void gdk_draw_pixmap     (GdkDrawable  *drawable,
488                           GdkGC        *gc,
489                           GdkDrawable  *src,
490                           gint          xsrc,
491                           gint          ysrc,
492                           gint          xdest,
493                           gint          ydest,
494                           gint          width,
495                           gint          height);
496 void gdk_draw_bitmap     (GdkDrawable  *drawable,
497                           GdkGC        *gc,
498                           GdkDrawable  *src,
499                           gint          xsrc,
500                           gint          ysrc,
501                           gint          xdest,
502                           gint          ydest,
503                           gint          width,
504                           gint          height);
505 void gdk_draw_image      (GdkDrawable  *drawable,
506                           GdkGC        *gc,
507                           GdkImage     *image,
508                           gint          xsrc,
509                           gint          ysrc,
510                           gint          xdest,
511                           gint          ydest,
512                           gint          width,
513                           gint          height);
514 void gdk_draw_points     (GdkDrawable  *drawable,
515                           GdkGC        *gc,
516                           GdkPoint     *points,
517                           gint          npoints);
518 void gdk_draw_segments   (GdkDrawable  *drawable,
519                           GdkGC        *gc,
520                           GdkSegment   *segs,
521                           gint          nsegs);
522
523
524 /* Selections
525  */
526 gint       gdk_selection_owner_set (GdkWindow    *owner,
527                                     GdkAtom       selection,
528                                     guint32       time,
529                                     gint          send_event);
530 GdkWindow* gdk_selection_owner_get (GdkAtom       selection);
531 void       gdk_selection_convert   (GdkWindow    *requestor,
532                                     GdkAtom       selection,
533                                     GdkAtom       target,
534                                     guint32       time);
535 gint       gdk_selection_property_get (GdkWindow  *requestor,
536                                        guchar    **data,
537                                        GdkAtom    *prop_type,
538                                        gint       *prop_format);
539 void       gdk_selection_send_notify (guint32       requestor,
540                                       GdkAtom       selection,
541                                       GdkAtom       target,
542                                       GdkAtom       property,
543                                       guint32       time);
544
545 gint       gdk_text_property_to_text_list (GdkAtom encoding, gint format,
546                                            guchar *text, gint length,
547                                            gchar ***list);
548 void       gdk_free_text_list             (gchar **list);
549 gint       gdk_string_to_compound_text    (gchar *str,
550                                            GdkAtom *encoding, gint *format,
551                                            guchar **ctext, gint *length);
552 void       gdk_free_compound_text         (guchar *ctext);
553
554 /* Properties
555  */
556 GdkAtom gdk_atom_intern     (const gchar *atom_name,
557                              gint         only_if_exists);
558 gchar*  gdk_atom_name       (GdkAtom atom);
559 gint    gdk_property_get    (GdkWindow   *window,
560                              GdkAtom      property,
561                              GdkAtom      type,
562                              gulong       offset,
563                              gulong       length,
564                              gint         pdelete,
565                              GdkAtom     *actual_property_type,
566                              gint        *actual_format,
567                              gint        *actual_length,
568                              guchar     **data);
569
570 void    gdk_property_change (GdkWindow   *window,
571                              GdkAtom      property,
572                              GdkAtom      type,
573                              gint         format,
574                              GdkPropMode  mode,
575                              guchar      *data,
576                              gint         nelements);
577 void    gdk_property_delete (GdkWindow   *window,
578                              GdkAtom      property);
579
580
581 /* Rectangle utilities
582  */
583 gint gdk_rectangle_intersect (GdkRectangle *src1,
584                               GdkRectangle *src2,
585                               GdkRectangle *dest);
586
587 /* XInput support
588  */
589
590 void gdk_input_init                         (void);
591 void gdk_input_exit                         (void);
592 GList *gdk_input_list_devices               (void);
593 void gdk_input_set_extension_events         (GdkWindow *window,
594                                              gint mask,
595                                              GdkExtensionMode mode);
596 void gdk_input_set_source                   (guint32 deviceid,
597                                              GdkInputSource source);
598 gint gdk_input_set_mode                     (guint32 deviceid,
599                                              GdkInputMode mode);
600 void gdk_input_set_axes                     (guint32 deviceid,
601                                              GdkAxisUse *axes);
602 void gdk_input_set_key                      (guint32 deviceid,
603                                              guint   index,
604                                              guint   keyval,
605                                              GdkModifierType modifiers);
606 void gdk_input_window_get_pointer     (GdkWindow       *window,
607                                        guint32         deviceid,
608                                        gdouble         *x,
609                                        gdouble         *y,
610                                        gdouble         *pressure,
611                                        gdouble         *xtilt,
612                                        gdouble         *ytilt,
613                                        GdkModifierType *mask);
614
615 GdkTimeCoord *gdk_input_motion_events (GdkWindow *window,
616                                        guint32 deviceid,
617                                        guint32 start,
618                                        guint32 stop,
619                                        gint *nevents_return);
620
621 #ifdef USE_XIM
622 /* International Input Method Support Functions
623  */
624
625 gint   gdk_im_ready             (void);
626
627 void   gdk_im_begin             (GdkIC ic, GdkWindow* window);
628 void   gdk_im_end               (void);
629 GdkIMStyle gdk_im_decide_style  (GdkIMStyle supported_style);
630 GdkIMStyle gdk_im_set_best_style (GdkIMStyle best_allowed_style);
631 GdkIC  gdk_ic_new               (GdkWindow* client_window,
632                                  GdkWindow* focus_window,
633                                  GdkIMStyle style, ...);
634 void   gdk_ic_destroy           (GdkIC ic);
635 void   gdk_ic_set_values        (GdkIC ic, ...);
636 void   gdk_ic_get_values        (GdkIC ic, ...);
637 void   gdk_ic_set_attr          (GdkIC ic, const char *target, ...);
638 void   gdk_ic_get_attr          (GdkIC ic, const char *target, ...);
639 GdkEventMask gdk_ic_get_events  (GdkIC ic);
640
641 #endif /* USE_XIM */
642
643 /* Miscellaneous */
644 void gdk_event_send_clientmessage_toall(GdkEvent *event);
645
646 #ifdef __cplusplus
647 }
648 #endif /* __cplusplus */
649
650
651 #endif /* __GDK_H__ */