gdkim.h

Go to the documentation of this file.
00001 /* International Input Method Support Functions
00002  */
00003 
00004 #ifndef __GDK_IM_H__
00005 #define __GDK_IM_H__
00006 
00007 #include <gdk/gdkcolor.h>
00008 #include <gdk/gdkevents.h>
00009 #include <gdk/gdktypes.h>
00010 
00011 #ifdef __cplusplus
00012 extern "C" {
00013 #endif                          /* __cplusplus */
00014 
00015    typedef struct _GdkIC GdkIC;
00016    typedef struct _GdkICAttr GdkICAttr;
00017 
00018    typedef enum {               /*< flags > */
00019           GDK_IM_PREEDIT_AREA = 0x0001,
00020       GDK_IM_PREEDIT_CALLBACKS = 0x0002,
00021       GDK_IM_PREEDIT_POSITION = 0x0004,
00022       GDK_IM_PREEDIT_NOTHING = 0x0008,
00023       GDK_IM_PREEDIT_NONE = 0x0010,
00024       GDK_IM_PREEDIT_MASK = 0x001f,
00025 
00026       GDK_IM_STATUS_AREA = 0x0100,
00027       GDK_IM_STATUS_CALLBACKS = 0x0200,
00028       GDK_IM_STATUS_NOTHING = 0x0400,
00029       GDK_IM_STATUS_NONE = 0x0800,
00030       GDK_IM_STATUS_MASK = 0x0f00
00031    } GdkIMStyle;
00032 
00033    typedef enum {
00034       GDK_IC_STYLE = 1 << 0,
00035       GDK_IC_CLIENT_WINDOW = 1 << 1,
00036       GDK_IC_FOCUS_WINDOW = 1 << 2,
00037       GDK_IC_FILTER_EVENTS = 1 << 3,
00038       GDK_IC_SPOT_LOCATION = 1 << 4,
00039       GDK_IC_LINE_SPACING = 1 << 5,
00040       GDK_IC_CURSOR = 1 << 6,
00041 
00042       GDK_IC_PREEDIT_FONTSET = 1 << 10,
00043       GDK_IC_PREEDIT_AREA = 1 << 11,
00044       GDK_IC_PREEDIT_AREA_NEEDED = 1 << 12,
00045       GDK_IC_PREEDIT_FOREGROUND = 1 << 13,
00046       GDK_IC_PREEDIT_BACKGROUND = 1 << 14,
00047       GDK_IC_PREEDIT_PIXMAP = 1 << 15,
00048       GDK_IC_PREEDIT_COLORMAP = 1 << 16,
00049 
00050       GDK_IC_STATUS_FONTSET = 1 << 21,
00051       GDK_IC_STATUS_AREA = 1 << 22,
00052       GDK_IC_STATUS_AREA_NEEDED = 1 << 23,
00053       GDK_IC_STATUS_FOREGROUND = 1 << 24,
00054       GDK_IC_STATUS_BACKGROUND = 1 << 25,
00055       GDK_IC_STATUS_PIXMAP = 1 << 26,
00056       GDK_IC_STATUS_COLORMAP = 1 << 27,
00057 
00058       GDK_IC_ALL_REQ = GDK_IC_STYLE | GDK_IC_CLIENT_WINDOW,
00059 
00060       GDK_IC_PREEDIT_AREA_REQ = GDK_IC_PREEDIT_AREA |
00061           GDK_IC_PREEDIT_FONTSET,
00062       GDK_IC_PREEDIT_POSITION_REQ =
00063           GDK_IC_PREEDIT_AREA | GDK_IC_SPOT_LOCATION |
00064           GDK_IC_PREEDIT_FONTSET,
00065 
00066       GDK_IC_STATUS_AREA_REQ = GDK_IC_STATUS_AREA | GDK_IC_STATUS_FONTSET
00067    } GdkICAttributesType;
00068 
00069    struct _GdkICAttr {
00070       GdkIMStyle style;
00071       GdkWindow *client_window;
00072       GdkWindow *focus_window;
00073       GdkEventMask filter_events;
00074       GdkPoint spot_location;
00075       gint line_spacing;
00076       GdkCursor *cursor;
00077 
00078       GdkFont *preedit_fontset;
00079       GdkRectangle preedit_area;
00080       GdkRectangle preedit_area_needed;
00081       GdkColor preedit_foreground;
00082       GdkColor preedit_background;
00083       GdkPixmap *preedit_pixmap;
00084       GdkColormap *preedit_colormap;
00085 
00086       GdkFont *status_fontset;
00087       GdkRectangle status_area;
00088       GdkRectangle status_area_needed;
00089       GdkColor status_foreground;
00090       GdkColor status_background;
00091       GdkPixmap *status_pixmap;
00092       GdkColormap *status_colormap;
00093    };
00094 
00095    gboolean gdk_im_ready(void);
00096 
00097    void gdk_im_begin(GdkIC * ic, GdkWindow * window);
00098    void gdk_im_end(void);
00099    GdkIMStyle gdk_im_decide_style(GdkIMStyle supported_style);
00100    GdkIMStyle gdk_im_set_best_style(GdkIMStyle best_allowed_style);
00101 
00102    GdkIC *gdk_ic_new(GdkICAttr * attr, GdkICAttributesType mask);
00103    void gdk_ic_destroy(GdkIC * ic);
00104    GdkIMStyle gdk_ic_get_style(GdkIC * ic);
00105    GdkEventMask gdk_ic_get_events(GdkIC * ic);
00106 
00107    GdkICAttr *gdk_ic_attr_new(void);
00108    void gdk_ic_attr_destroy(GdkICAttr * attr);
00109 
00110    GdkICAttributesType gdk_ic_set_attr(GdkIC * ic,
00111                                        GdkICAttr * attr,
00112                                        GdkICAttributesType mask);
00113    GdkICAttributesType gdk_ic_get_attr(GdkIC * ic,
00114                                        GdkICAttr * attr,
00115                                        GdkICAttributesType mask);
00116 #ifdef __cplusplus
00117 }
00118 #endif                          /* __cplusplus */
00119 #endif                          /* __GDK_IM_H__ */

Generated on Tue Jul 5 14:14:37 2011 for ROOT_528-00b_version by  doxygen 1.5.1