diff options
author | Owen Taylor <otaylor@redhat.com> | 1998-12-09 06:36:57 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 1998-12-09 06:36:57 +0000 |
commit | 207757e70d8b2d9aa8335d968fd7ac79796264ab (patch) | |
tree | ae572a9674c8dc7b8a0ae7200e6d4e7c5c7632e8 /gdk/gdktypes.h | |
parent | af84227184f9cbe2c87f0aa09d5c93564150bb70 (diff) | |
download | gdk-pixbuf-207757e70d8b2d9aa8335d968fd7ac79796264ab.tar.gz |
Destroy widgets _after_ propagating unrealize signals through the widget
Mon Dec 7 10:27:09 1998 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.c: Destroy widgets _after_ propagating unrealize
signals through the widget heirarchy. This is unpleasant, as it
causes more X traffic, but is necessary, because we have to clean
up our Input Contexts before destroying the X windows.
(from matsu-981109-0.patch)
Mon Dec 7 10:18:18 1998 Owen Taylor <otaylor@redhat.com>
Applied gtk-a-higuti-981202-0 :
[ a-higuti@math.sci.hokudai.ac.jp (Akira Higuchi) ]
* gdk/gdk.h gdk/gdk.c
(gdk_mbstowcs): New function. Nearly equals to mbstowcs, but
implemented by a combination of Xlib functions, so
it works even with X_LOCALE.
(gdk_wcstombs): New function.
(g_mbtowc): Removed. No longer needed.
* gdk/gdk.h gdk/gdkfont.c gdk/gdkdraw.c:
Added _wc() variants to gdk_text_width(),
gdk_char_width(), gdk_draw_text(),
* gdk/gdki18n.h
(mblen, mbtowc, wctomb, mbstowcs, wcstombs,
wcslen, wcscpy, wcsncpy):
Removed. No longer needed.
(iswalnum): Removed.
(gdk_iswalnum): New macro.
(gdk_iswspace): New macro.
* gdk/gdktype.h
(GdkWChar): New typedef.
* gtk/gtkentry.h, gtk/gtkentry.c
There are many changes according to the change of the
internal representation of text, from multibyte string
to wide characters.
* gtk/gtkprivate.h, gtk/gtkmain.c
Removed the variable gtk_use_mb and related codes.
* gtk/gtkspinbutton.c
Some changes according to the change of type of entry->text.
* gtk/gtktext.h, gtk/gtktext.c
Changed the internal representation of text. We use GdkWchar
if a fontset is supplied. If not, we use guchar to save
memory.
Diffstat (limited to 'gdk/gdktypes.h')
-rw-r--r-- | gdk/gdktypes.h | 70 |
1 files changed, 68 insertions, 2 deletions
diff --git a/gdk/gdktypes.h b/gdk/gdktypes.h index bb38385b8..99befe3cb 100644 --- a/gdk/gdktypes.h +++ b/gdk/gdktypes.h @@ -89,9 +89,11 @@ typedef struct _GdkRegion GdkRegion; typedef gint (*GdkEventFunc) (GdkEvent *event, gpointer data); -typedef void* GdkIC; -typedef void* GdkIM; +typedef struct _GdkIC GdkIC; +typedef struct _GdkICAttr GdkICAttr; +typedef guint32 GdkWChar; + /* Types of windows. * Root: There is only 1 root window and it is initialized @@ -617,6 +619,45 @@ typedef enum /*< flags >*/ GDK_IM_STATUS_MASK = 0x0f00 } GdkIMStyle; +typedef enum +{ + GDK_IC_STYLE = 1 << 0, + GDK_IC_CLIENT_WINDOW = 1 << 1, + GDK_IC_FOCUS_WINDOW = 1 << 2, + GDK_IC_FILTER_EVENTS = 1 << 3, + GDK_IC_SPOT_LOCATION = 1 << 4, + GDK_IC_LINE_SPACING = 1 << 5, + GDK_IC_CURSOR = 1 << 6, + + GDK_IC_PREEDIT_FONTSET = 1 << 10, + GDK_IC_PREEDIT_AREA = 1 << 11, + GDK_IC_PREEDIT_AREA_NEEDED = 1 << 12, + GDK_IC_PREEDIT_FOREGROUND = 1 << 13, + GDK_IC_PREEDIT_BACKGROUND = 1 << 14, + GDK_IC_PREEDIT_PIXMAP = 1 << 15, + GDK_IC_PREEDIT_COLORMAP = 1 << 16, + + GDK_IC_STATUS_FONTSET = 1 << 21, + GDK_IC_STATUS_AREA = 1 << 22, + GDK_IC_STATUS_AREA_NEEDED = 1 << 23, + GDK_IC_STATUS_FOREGROUND = 1 << 24, + GDK_IC_STATUS_BACKGROUND = 1 << 25, + GDK_IC_STATUS_PIXMAP = 1 << 26, + GDK_IC_STATUS_COLORMAP = 1 << 27, + + GDK_IC_ALL_REQ = GDK_IC_STYLE | + GDK_IC_CLIENT_WINDOW, + + GDK_IC_PREEDIT_AREA_REQ = GDK_IC_PREEDIT_AREA | + GDK_IC_PREEDIT_FONTSET, + GDK_IC_PREEDIT_POSITION_REQ = GDK_IC_PREEDIT_AREA | + GDK_IC_SPOT_LOCATION | + GDK_IC_PREEDIT_FONTSET, + + GDK_IC_STATUS_AREA_REQ = GDK_IC_STATUS_AREA | + GDK_IC_STATUS_FONTSET, +} GdkICAttributesType; + /* The next two enumeration values current match the * Motif constants. If this is changed, the implementation * of gdk_window_set_decorations/gdk_window_set_functions @@ -1182,7 +1223,32 @@ struct _GdkRegion gpointer user_data; }; +struct _GdkICAttr +{ + GdkIMStyle style; + GdkWindow *client_window; + GdkWindow *focus_window; + GdkEventMask filter_events; + GdkPoint spot_location; + gint line_spacing; + GdkCursor *cursor; + GdkFont *preedit_fontset; + GdkRectangle preedit_area; + GdkRectangle preedit_area_needed; + GdkColor preedit_foreground; + GdkColor preedit_background; + GdkPixmap *preedit_pixmap; + GdkColormap *preedit_colormap; + + GdkFont *status_fontset; + GdkRectangle status_area; + GdkRectangle status_area_needed; + GdkColor status_foreground; + GdkColor status_background; + GdkPixmap *status_pixmap; + GdkColormap *status_colormap; +}; #ifdef __cplusplus } |