1 /* International Input Method Support Functions
7 #include <gdk/gdkcolor.h>
8 #include <gdk/gdkevents.h>
9 #include <gdk/gdktypes.h>
13 #endif /* __cplusplus */
15 typedef struct _GdkIC GdkIC;
16 typedef struct _GdkICAttr GdkICAttr;
18 typedef enum /*< flags >*/
20 GDK_IM_PREEDIT_AREA = 0x0001,
21 GDK_IM_PREEDIT_CALLBACKS = 0x0002,
22 GDK_IM_PREEDIT_POSITION = 0x0004,
23 GDK_IM_PREEDIT_NOTHING = 0x0008,
24 GDK_IM_PREEDIT_NONE = 0x0010,
25 GDK_IM_PREEDIT_MASK = 0x001f,
27 GDK_IM_STATUS_AREA = 0x0100,
28 GDK_IM_STATUS_CALLBACKS = 0x0200,
29 GDK_IM_STATUS_NOTHING = 0x0400,
30 GDK_IM_STATUS_NONE = 0x0800,
31 GDK_IM_STATUS_MASK = 0x0f00
36 GDK_IC_STYLE = 1 << 0,
37 GDK_IC_CLIENT_WINDOW = 1 << 1,
38 GDK_IC_FOCUS_WINDOW = 1 << 2,
39 GDK_IC_FILTER_EVENTS = 1 << 3,
40 GDK_IC_SPOT_LOCATION = 1 << 4,
41 GDK_IC_LINE_SPACING = 1 << 5,
42 GDK_IC_CURSOR = 1 << 6,
44 GDK_IC_PREEDIT_FONTSET = 1 << 10,
45 GDK_IC_PREEDIT_AREA = 1 << 11,
46 GDK_IC_PREEDIT_AREA_NEEDED = 1 << 12,
47 GDK_IC_PREEDIT_FOREGROUND = 1 << 13,
48 GDK_IC_PREEDIT_BACKGROUND = 1 << 14,
49 GDK_IC_PREEDIT_PIXMAP = 1 << 15,
50 GDK_IC_PREEDIT_COLORMAP = 1 << 16,
52 GDK_IC_STATUS_FONTSET = 1 << 21,
53 GDK_IC_STATUS_AREA = 1 << 22,
54 GDK_IC_STATUS_AREA_NEEDED = 1 << 23,
55 GDK_IC_STATUS_FOREGROUND = 1 << 24,
56 GDK_IC_STATUS_BACKGROUND = 1 << 25,
57 GDK_IC_STATUS_PIXMAP = 1 << 26,
58 GDK_IC_STATUS_COLORMAP = 1 << 27,
60 GDK_IC_ALL_REQ = GDK_IC_STYLE |
63 GDK_IC_PREEDIT_AREA_REQ = GDK_IC_PREEDIT_AREA |
64 GDK_IC_PREEDIT_FONTSET,
65 GDK_IC_PREEDIT_POSITION_REQ = GDK_IC_PREEDIT_AREA | GDK_IC_SPOT_LOCATION |
66 GDK_IC_PREEDIT_FONTSET,
68 GDK_IC_STATUS_AREA_REQ = GDK_IC_STATUS_AREA |
70 } GdkICAttributesType;
75 GdkWindow *client_window;
76 GdkWindow *focus_window;
77 GdkEventMask filter_events;
78 GdkPoint spot_location;
82 GdkFont *preedit_fontset;
83 GdkRectangle preedit_area;
84 GdkRectangle preedit_area_needed;
85 GdkColor preedit_foreground;
86 GdkColor preedit_background;
87 GdkPixmap *preedit_pixmap;
88 GdkColormap *preedit_colormap;
90 GdkFont *status_fontset;
91 GdkRectangle status_area;
92 GdkRectangle status_area_needed;
93 GdkColor status_foreground;
94 GdkColor status_background;
95 GdkPixmap *status_pixmap;
96 GdkColormap *status_colormap;
99 gint gdk_im_ready (void);
101 void gdk_im_begin (GdkIC *ic,
103 void gdk_im_end (void);
104 GdkIMStyle gdk_im_decide_style (GdkIMStyle supported_style);
105 GdkIMStyle gdk_im_set_best_style (GdkIMStyle best_allowed_style);
107 GdkIC* gdk_ic_new (GdkICAttr *attr,
108 GdkICAttributesType mask);
109 void gdk_ic_destroy (GdkIC *ic);
110 GdkIMStyle gdk_ic_get_style (GdkIC *ic);
111 GdkEventMask gdk_ic_get_events (GdkIC *ic);
113 GdkICAttr* gdk_ic_attr_new (void);
114 void gdk_ic_attr_destroy (GdkICAttr *attr);
116 GdkICAttributesType gdk_ic_set_attr (GdkIC *ic,
118 GdkICAttributesType mask);
119 GdkICAttributesType gdk_ic_get_attr (GdkIC *ic,
121 GdkICAttributesType mask);
124 #endif /* __cplusplus */
126 #endif /* __GDK_IM_H__ */