1999-03-05 19:53:56 +00:00
|
|
|
/* GDK - The GIMP Drawing Kit
|
|
|
|
* Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
|
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Library General Public
|
|
|
|
* License as published by the Free Software Foundation; either
|
|
|
|
* version 2 of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* Library General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Library General Public
|
|
|
|
* License along with this library; if not, write to the
|
|
|
|
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
|
|
* Boston, MA 02111-1307, USA.
|
|
|
|
*/
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Modified by the GTK+ Team and others 1997-1999. See the AUTHORS
|
|
|
|
* file for a list of people on the GTK+ Team. See the ChangeLog
|
|
|
|
* files for a list of changes. These files are distributed with
|
|
|
|
* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __GDK_PRIVATE_H__
|
|
|
|
#define __GDK_PRIVATE_H__
|
|
|
|
|
|
|
|
#define STRICT /* We want strict type checks */
|
|
|
|
#include <windows.h>
|
1999-11-04 23:42:51 +00:00
|
|
|
#include <commctrl.h>
|
1999-03-05 19:53:56 +00:00
|
|
|
|
1999-04-25 21:55:05 +00:00
|
|
|
/* Make up for some minor mingw32 lossage */
|
|
|
|
|
|
|
|
/* PS_JOIN_MASK is missing from the mingw32 headers */
|
|
|
|
#ifndef PS_JOIN_MASK
|
|
|
|
#define PS_JOIN_MASK (PS_JOIN_BEVEL|PS_JOIN_MITER|PS_JOIN_ROUND)
|
|
|
|
#endif
|
|
|
|
|
|
|
|
/* CLR_INVALID is missing */
|
|
|
|
#ifndef CLR_INVALID
|
|
|
|
#define CLR_INVALID CLR_NONE
|
|
|
|
#endif
|
|
|
|
|
1999-10-20 22:58:37 +00:00
|
|
|
/* Some charsets are missing */
|
|
|
|
#ifndef JOHAB_CHARSET
|
|
|
|
#define JOHAB_CHARSET 130
|
|
|
|
#endif
|
|
|
|
#ifndef VIETNAMESE_CHARSET
|
|
|
|
#define VIETNAMESE_CHARSET 163
|
|
|
|
#endif
|
|
|
|
|
Add new keysyms from X11R6.4 (including EuroSign).
1999-10-31 Tor Lillqvist <tml@iki.fi>
* gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
EuroSign).
* gdk/gdktypes.h: Add note about wchar_t not necessarily being the
same type as GdkWChar, especially on Win32.
* gdk/win32/*.c: Change gdk_root_parent to be a pointer.
* gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
before passing to Windows GDI for drawing etc. Convert to the
system default codepage before passing to Windows as window
titles.
* gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
support changing input locale on the fly.
* gdk/win32/gdkevent.c: Support input language (keyboard locale)
on-the-fly changes. Convert incoming characters from the current
codepage to Unicode (and then to a UTF-8 multi-byte string) based
on the current input language. Use keysym<->Unicode mapping tables
and functions borrowed from xterm sources.
Support IMEs (Input Method Editors) for CJK languages. On non-CJK
editions of Win9x, use the ActiveX-based Active IMM (Input Method
Manager) if available. IMEs and the Active IMM are available under
the disguise of Chinese, Korean and Japanese support for IE and
Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
support is present in all editions (as long as you install it).
Call DispatchMessage from gdk_events_queue() (and thus
gdk_WindowProc()), instead of duplicating the code in
gdk_WindowProc().
Reworked the grab handling and propagation code, factored out
duplicated code snippets into separate functions. Other cleanups,
too.
* gdk/win32/surrogate-dimm.h: Provide just the bits we need from
the <dimm.h> header describing the Active IMM.
* gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
just do the same as for "single" fonts.
* gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
the new keysyms from gdkkeysyms.h.
* gtk/gtkfontsel.c (Win32): Load the font for the preview as a
fontset, so that gtkentry uses wide characters.
* gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
GTk+'s system directory "gtk+", not "gtk".
1999-10-31 21:35:39 +00:00
|
|
|
#ifndef VM_OEM_PLUS
|
|
|
|
#define VK_OEM_PLUS 0xBB
|
1999-04-25 21:55:05 +00:00
|
|
|
#endif
|
|
|
|
|
1999-03-05 19:53:56 +00:00
|
|
|
#include <time.h>
|
1999-10-02 22:42:58 +00:00
|
|
|
|
1999-10-05 19:04:48 +00:00
|
|
|
#include <gdk/gdktypes.h>
|
|
|
|
|
1999-10-02 22:42:58 +00:00
|
|
|
#include <gdk/gdkcursor.h>
|
|
|
|
#include <gdk/gdkevents.h>
|
|
|
|
#include <gdk/gdkfont.h>
|
|
|
|
#include <gdk/gdkgc.h>
|
|
|
|
#include <gdk/gdkim.h>
|
|
|
|
#include <gdk/gdkimage.h>
|
|
|
|
#include <gdk/gdkregion.h>
|
|
|
|
#include <gdk/gdkvisual.h>
|
|
|
|
#include <gdk/gdkwindow.h>
|
|
|
|
|
1999-10-05 19:04:48 +00:00
|
|
|
#define GDK_DRAWABLE_TYPE(d) (((GdkDrawablePrivate *)d)->window_type)
|
|
|
|
#define GDK_IS_WINDOW(d) (GDK_DRAWABLE_TYPE(d) <= GDK_WINDOW_TEMP || \
|
|
|
|
GDK_DRAWABLE_TYPE(d) == GDK_WINDOW_FOREIGN)
|
|
|
|
#define GDK_IS_PIXMAP(d) (GDK_DRAWABLE_TYPE(d) == GDK_DRAWABLE_PIXMAP)
|
|
|
|
#define GDK_DRAWABLE_DESTROYED(d) (((GdkDrawablePrivate *)d)->destroyed)
|
1999-03-05 19:53:56 +00:00
|
|
|
|
1999-10-02 22:42:58 +00:00
|
|
|
#define gdk_window_lookup(xid) ((GdkWindow*) gdk_xid_table_lookup (xid))
|
|
|
|
#define gdk_pixmap_lookup(xid) ((GdkPixmap*) gdk_xid_table_lookup (xid))
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif /* __cplusplus */
|
|
|
|
|
1999-03-05 19:53:56 +00:00
|
|
|
/* Define corresponding Windows types for some X11 types, just for laziness.
|
|
|
|
*/
|
|
|
|
|
|
|
|
typedef HANDLE XID;
|
|
|
|
typedef PALETTEENTRY XColor;
|
|
|
|
typedef HDC GC;
|
|
|
|
typedef ATOM Atom;
|
|
|
|
typedef HCURSOR Cursor;
|
|
|
|
typedef guint VisualID;
|
|
|
|
typedef DWORD KeySym;
|
|
|
|
typedef int Status;
|
|
|
|
|
|
|
|
/* Define some of the X11 constants also here, again just for laziness */
|
|
|
|
|
|
|
|
/* Generic null resource */
|
|
|
|
#define None 0
|
|
|
|
|
|
|
|
/* Error codes */
|
|
|
|
#define Success 0
|
|
|
|
|
|
|
|
/* Grabbing status */
|
|
|
|
#define GrabSuccess 0
|
|
|
|
#define AlreadyGrabbed 2
|
|
|
|
|
|
|
|
/* For CreateColormap */
|
|
|
|
#define AllocNone 0
|
|
|
|
#define AllocAll 1
|
|
|
|
|
|
|
|
/* Some structs are somewhat useful to emulate internally, just to
|
|
|
|
keep the code less #ifdefed. */
|
|
|
|
typedef struct {
|
|
|
|
HPALETTE palette; /* Palette handle used when drawing. */
|
|
|
|
guint size; /* Number of entries in the palette. */
|
|
|
|
gboolean stale; /* 1 if palette needs to be realized,
|
|
|
|
* otherwise 0. */
|
|
|
|
gboolean *in_use;
|
|
|
|
gboolean rc_palette; /* If RC_PALETTE is on in the RASTERCAPS */
|
|
|
|
gulong sizepalette; /* SIZEPALETTE if rc_palette */
|
|
|
|
} ColormapStruct, *Colormap;
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
gint map_entries;
|
|
|
|
guint visualid;
|
|
|
|
guint bitspixel;
|
|
|
|
} Visual;
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
Colormap colormap;
|
|
|
|
unsigned long red_max;
|
|
|
|
unsigned long red_mult;
|
|
|
|
unsigned long green_max;
|
|
|
|
unsigned long green_mult;
|
|
|
|
unsigned long blue_max;
|
|
|
|
unsigned long blue_mult;
|
|
|
|
unsigned long base_pixel;
|
|
|
|
} XStandardColormap;
|
|
|
|
|
1999-10-05 19:04:48 +00:00
|
|
|
typedef struct _GdkDrawablePrivate GdkDrawablePrivate;
|
|
|
|
/* typedef struct _GdkDrawablePrivate GdkPixmapPrivate; */
|
1999-03-05 19:53:56 +00:00
|
|
|
typedef struct _GdkWindowPrivate GdkWindowPrivate;
|
|
|
|
typedef struct _GdkImagePrivate GdkImagePrivate;
|
|
|
|
typedef struct _GdkGCPrivate GdkGCPrivate;
|
|
|
|
typedef struct _GdkColormapPrivate GdkColormapPrivate;
|
|
|
|
typedef struct _GdkColorInfo GdkColorInfo;
|
|
|
|
typedef struct _GdkVisualPrivate GdkVisualPrivate;
|
|
|
|
typedef struct _GdkFontPrivate GdkFontPrivate;
|
|
|
|
typedef struct _GdkCursorPrivate GdkCursorPrivate;
|
|
|
|
typedef struct _GdkEventFilter GdkEventFilter;
|
|
|
|
typedef struct _GdkClientFilter GdkClientFilter;
|
|
|
|
typedef struct _GdkRegionPrivate GdkRegionPrivate;
|
|
|
|
|
1999-10-05 19:04:48 +00:00
|
|
|
struct _GdkDrawablePrivate
|
|
|
|
{
|
|
|
|
GdkDrawable drawable;
|
|
|
|
|
|
|
|
guint8 window_type;
|
|
|
|
guint ref_count;
|
|
|
|
|
|
|
|
guint16 width;
|
|
|
|
guint16 height;
|
|
|
|
|
|
|
|
HANDLE xwindow;
|
|
|
|
GdkColormap *colormap;
|
|
|
|
|
|
|
|
guint destroyed : 2;
|
|
|
|
};
|
1999-03-05 19:53:56 +00:00
|
|
|
|
|
|
|
struct _GdkWindowPrivate
|
|
|
|
{
|
1999-10-05 19:04:48 +00:00
|
|
|
GdkDrawablePrivate drawable;
|
|
|
|
|
1999-03-05 19:53:56 +00:00
|
|
|
GdkWindow *parent;
|
|
|
|
gint16 x;
|
|
|
|
gint16 y;
|
|
|
|
guint8 resize_count;
|
|
|
|
guint mapped : 1;
|
|
|
|
guint guffaw_gravity : 1;
|
|
|
|
|
|
|
|
/* We must keep the event mask here to filter them ourselves */
|
|
|
|
gint event_mask;
|
|
|
|
|
|
|
|
/* Values for bg_type */
|
|
|
|
#define GDK_WIN32_BG_NORMAL 0
|
|
|
|
#define GDK_WIN32_BG_PIXEL 1
|
|
|
|
#define GDK_WIN32_BG_PIXMAP 2
|
|
|
|
#define GDK_WIN32_BG_PARENT_RELATIVE 3
|
|
|
|
#define GDK_WIN32_BG_TRANSPARENT 4
|
|
|
|
|
|
|
|
/* We draw the background ourselves at WM_ERASEBKGND */
|
|
|
|
guchar bg_type;
|
|
|
|
GdkColor bg_pixel;
|
|
|
|
GdkPixmap *bg_pixmap;
|
|
|
|
|
|
|
|
HCURSOR xcursor;
|
|
|
|
|
|
|
|
/* Window size hints */
|
|
|
|
gint hint_flags;
|
|
|
|
gint hint_x, hint_y;
|
|
|
|
gint hint_min_width, hint_min_height;
|
|
|
|
gint hint_max_width, hint_max_height;
|
|
|
|
|
|
|
|
gint extension_events;
|
|
|
|
gboolean extension_events_selected;
|
|
|
|
|
|
|
|
GList *filters;
|
|
|
|
GList *children;
|
Add new keysyms from X11R6.4 (including EuroSign).
1999-10-31 Tor Lillqvist <tml@iki.fi>
* gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
EuroSign).
* gdk/gdktypes.h: Add note about wchar_t not necessarily being the
same type as GdkWChar, especially on Win32.
* gdk/win32/*.c: Change gdk_root_parent to be a pointer.
* gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
before passing to Windows GDI for drawing etc. Convert to the
system default codepage before passing to Windows as window
titles.
* gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
support changing input locale on the fly.
* gdk/win32/gdkevent.c: Support input language (keyboard locale)
on-the-fly changes. Convert incoming characters from the current
codepage to Unicode (and then to a UTF-8 multi-byte string) based
on the current input language. Use keysym<->Unicode mapping tables
and functions borrowed from xterm sources.
Support IMEs (Input Method Editors) for CJK languages. On non-CJK
editions of Win9x, use the ActiveX-based Active IMM (Input Method
Manager) if available. IMEs and the Active IMM are available under
the disguise of Chinese, Korean and Japanese support for IE and
Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
support is present in all editions (as long as you install it).
Call DispatchMessage from gdk_events_queue() (and thus
gdk_WindowProc()), instead of duplicating the code in
gdk_WindowProc().
Reworked the grab handling and propagation code, factored out
duplicated code snippets into separate functions. Other cleanups,
too.
* gdk/win32/surrogate-dimm.h: Provide just the bits we need from
the <dimm.h> header describing the Active IMM.
* gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
just do the same as for "single" fonts.
* gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
the new keysyms from gdkkeysyms.h.
* gtk/gtkfontsel.c (Win32): Load the font for the preview as a
fontset, so that gtkentry uses wide characters.
* gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
GTk+'s system directory "gtk+", not "gtk".
1999-10-31 21:35:39 +00:00
|
|
|
|
|
|
|
HKL input_locale;
|
|
|
|
CHARSETINFO charset_info;
|
1999-03-05 19:53:56 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
struct _GdkImagePrivate
|
|
|
|
{
|
|
|
|
GdkImage image;
|
|
|
|
HBITMAP ximage;
|
|
|
|
gpointer x_shm_info;
|
|
|
|
|
|
|
|
void (*image_put) (GdkDrawable *window,
|
|
|
|
GdkGC *gc,
|
|
|
|
GdkImage *image,
|
|
|
|
gint xsrc,
|
|
|
|
gint ysrc,
|
|
|
|
gint xdest,
|
|
|
|
gint ydest,
|
|
|
|
gint width,
|
|
|
|
gint height);
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _GdkGCPrivate
|
|
|
|
{
|
|
|
|
GdkGC gc;
|
|
|
|
GC xgc;
|
|
|
|
/* A Windows Device Context (DC) is not equivalent to an X11
|
|
|
|
* GC. We can use a DC only in the window for which it was
|
|
|
|
* allocated, or (in the case of a memory DC) with the bitmap that
|
|
|
|
* has been selected into it. Thus, we have to release and
|
|
|
|
* reallocate a DC each time the GdkGC is used to paint into a new
|
|
|
|
* window or pixmap. We thus keep all the necessary values in the
|
|
|
|
* GdkGCPrivate struct.
|
|
|
|
*/
|
|
|
|
GdkGCValuesMask values_mask;
|
|
|
|
GdkColor foreground;
|
|
|
|
GdkColor background;
|
New font private structures, related to fontsets.
1999-11-07 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkprivate.h: New font private structures, related to
fontsets.
* gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
gdk_font_list_free(). On X11, will just be wrappers to
XListFonts() and XFreeFontNames(). On Win32, the code previously
in gtkfontsel.c is now here.
New function gdk_font_xlfd_create(). On X11 will get the FONT
property of the font (for GDK_FONT_FONTs), or call
XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
builds a XLFD style name from the font information in the LOGFONT
struct(s).
New function gdk_font_xlfd_free(), which correspondingly frees the
string returned by gdk_font_xlfd_create().
Implement fontsets on Win32. Add a function that iterates over a
wide char string and calls a callback function for each substring
of wide chars from the same Unicode subrange (and thus probably
available in the same real font).
Improve the XLFD emulation a bit.
* gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
* gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
Beta3, WM_IME_CHAR messages don't seem to contain the composed
multi-byte char as with the Active IMM on Win9x. Oh well, handle
WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
ImmGetCompositionStringW() to get the composed Unicode chars.
* gdk/win32/gdkgc.c
* gdk/win32/gdkdraw.c: Changes needed because of the font private
struct changes.
* gdk/win32/gdk.def: Add the new functions.
1999-11-08 00:09:29 +00:00
|
|
|
GdkFont *font;
|
1999-03-05 19:53:56 +00:00
|
|
|
gint rop2;
|
|
|
|
GdkFill fill_style;
|
|
|
|
GdkPixmap *tile;
|
|
|
|
GdkPixmap *stipple;
|
|
|
|
HRGN clip_region;
|
|
|
|
GdkSubwindowMode subwindow_mode;
|
|
|
|
gint ts_x_origin;
|
|
|
|
gint ts_y_origin;
|
|
|
|
gint clip_x_origin;
|
|
|
|
gint clip_y_origin;
|
|
|
|
gint graphics_exposures;
|
|
|
|
gint pen_width;
|
|
|
|
DWORD pen_style;
|
|
|
|
HANDLE hwnd; /* If a DC is allocated, for which window
|
|
|
|
or what bitmap is selected into it */
|
|
|
|
int saved_dc;
|
|
|
|
guint ref_count;
|
|
|
|
};
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
GDK_COLOR_WRITEABLE = 1 << 0
|
|
|
|
} GdkColorInfoFlags;
|
|
|
|
|
|
|
|
struct _GdkColorInfo
|
|
|
|
{
|
|
|
|
GdkColorInfoFlags flags;
|
|
|
|
guint ref_count;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _GdkColormapPrivate
|
|
|
|
{
|
|
|
|
GdkColormap colormap;
|
|
|
|
Colormap xcolormap;
|
|
|
|
GdkVisual *visual;
|
|
|
|
gint private_val;
|
|
|
|
|
|
|
|
GHashTable *hash;
|
|
|
|
GdkColorInfo *info;
|
|
|
|
time_t last_sync_time;
|
|
|
|
|
|
|
|
guint ref_count;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _GdkVisualPrivate
|
|
|
|
{
|
|
|
|
GdkVisual visual;
|
|
|
|
Visual *xvisual;
|
|
|
|
};
|
|
|
|
|
New font private structures, related to fontsets.
1999-11-07 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkprivate.h: New font private structures, related to
fontsets.
* gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
gdk_font_list_free(). On X11, will just be wrappers to
XListFonts() and XFreeFontNames(). On Win32, the code previously
in gtkfontsel.c is now here.
New function gdk_font_xlfd_create(). On X11 will get the FONT
property of the font (for GDK_FONT_FONTs), or call
XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
builds a XLFD style name from the font information in the LOGFONT
struct(s).
New function gdk_font_xlfd_free(), which correspondingly frees the
string returned by gdk_font_xlfd_create().
Implement fontsets on Win32. Add a function that iterates over a
wide char string and calls a callback function for each substring
of wide chars from the same Unicode subrange (and thus probably
available in the same real font).
Improve the XLFD emulation a bit.
* gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
* gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
Beta3, WM_IME_CHAR messages don't seem to contain the composed
multi-byte char as with the Active IMM on Win9x. Oh well, handle
WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
ImmGetCompositionStringW() to get the composed Unicode chars.
* gdk/win32/gdkgc.c
* gdk/win32/gdkdraw.c: Changes needed because of the font private
struct changes.
* gdk/win32/gdk.def: Add the new functions.
1999-11-08 00:09:29 +00:00
|
|
|
typedef struct
|
1999-03-05 19:53:56 +00:00
|
|
|
{
|
Don't use TextOutW for GDK_FONT_FONT fonts (which is all we have for now,
1999-10-14 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
GDK_FONT_FONT fonts (which is all we have for now, we don't
emulate fontsets). The X11 version uses plain XDrawString in that
case, too. The string passed to gdk_draw_text_wc seems to be in
fact (at least, when used by gtkentry and gtktext) either in a
single-byte charset, or a DBCS. Not Unicode.
This fixes the problem in gtkfontsel, where even if you had
selected a font with a non-Latin1 charset (windows-greek, for
instance), the preview still used Latin-1 glyphs.
* gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
use GetTextExtentPoint32W, use GetTextExtentPoint32A.
(gdk_font_load): Recognize the demibold etc weights, even if we
don't have the corresponding constants in the headers.
(gdk_font_hash_insert): Use same hash mechanism as in the X11
version. Should save font resources a bit, when we don't have
multiple HFONTs for the same font.
* gdk/win32/gdkprivate.h: Add the names field as in the X11
version.
1999-10-13 21:46:33 +00:00
|
|
|
HFONT xfont;
|
1999-10-20 22:58:37 +00:00
|
|
|
DWORD charset;
|
|
|
|
UINT codepage;
|
|
|
|
CPINFO cpinfo;
|
|
|
|
FONTSIGNATURE fs;
|
New font private structures, related to fontsets.
1999-11-07 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkprivate.h: New font private structures, related to
fontsets.
* gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
gdk_font_list_free(). On X11, will just be wrappers to
XListFonts() and XFreeFontNames(). On Win32, the code previously
in gtkfontsel.c is now here.
New function gdk_font_xlfd_create(). On X11 will get the FONT
property of the font (for GDK_FONT_FONTs), or call
XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
builds a XLFD style name from the font information in the LOGFONT
struct(s).
New function gdk_font_xlfd_free(), which correspondingly frees the
string returned by gdk_font_xlfd_create().
Implement fontsets on Win32. Add a function that iterates over a
wide char string and calls a callback function for each substring
of wide chars from the same Unicode subrange (and thus probably
available in the same real font).
Improve the XLFD emulation a bit.
* gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
* gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
Beta3, WM_IME_CHAR messages don't seem to contain the composed
multi-byte char as with the Active IMM on Win9x. Oh well, handle
WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
ImmGetCompositionStringW() to get the composed Unicode chars.
* gdk/win32/gdkgc.c
* gdk/win32/gdkdraw.c: Changes needed because of the font private
struct changes.
* gdk/win32/gdk.def: Add the new functions.
1999-11-08 00:09:29 +00:00
|
|
|
} GdkWin32SingleFont;
|
|
|
|
|
|
|
|
struct _GdkFontPrivate
|
|
|
|
{
|
|
|
|
GdkFont font;
|
|
|
|
guint ref_count;
|
|
|
|
|
|
|
|
GSList *fonts;
|
|
|
|
GSList *names;
|
1999-03-05 19:53:56 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
struct _GdkCursorPrivate
|
|
|
|
{
|
|
|
|
GdkCursor cursor;
|
|
|
|
Cursor xcursor;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _GdkEventFilter {
|
|
|
|
GdkFilterFunc function;
|
|
|
|
gpointer data;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _GdkClientFilter {
|
|
|
|
GdkAtom type;
|
|
|
|
GdkFilterFunc function;
|
|
|
|
gpointer data;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _GdkRegionPrivate
|
|
|
|
{
|
|
|
|
GdkRegion region;
|
|
|
|
HRGN xregion;
|
|
|
|
};
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
GDK_DEBUG_MISC = 1 << 0,
|
|
|
|
GDK_DEBUG_EVENTS = 1 << 1,
|
|
|
|
GDK_DEBUG_DND = 1 << 2,
|
|
|
|
GDK_DEBUG_COLOR_CONTEXT = 1 << 3,
|
|
|
|
GDK_DEBUG_XIM = 1 << 4,
|
|
|
|
GDK_DEBUG_SELECTION = 1 << 5
|
|
|
|
} GdkDebugFlag;
|
|
|
|
|
|
|
|
void gdk_events_init (void);
|
|
|
|
void gdk_window_init (void);
|
|
|
|
void gdk_visual_init (void);
|
|
|
|
void gdk_selection_init (void);
|
|
|
|
void gdk_dnd_init (void);
|
|
|
|
void gdk_dnd_exit (void);
|
|
|
|
void gdk_image_init (void);
|
|
|
|
void gdk_image_exit (void);
|
|
|
|
|
|
|
|
GdkColormap* gdk_colormap_lookup (Colormap xcolormap);
|
|
|
|
GdkVisual* gdk_visual_lookup (Visual *xvisual);
|
|
|
|
|
|
|
|
void gdk_window_add_colormap_windows (GdkWindow *window);
|
|
|
|
void gdk_window_destroy_notify (GdkWindow *window);
|
|
|
|
|
|
|
|
void gdk_xid_table_insert (XID *xid,
|
|
|
|
gpointer data);
|
|
|
|
void gdk_xid_table_remove (XID xid);
|
|
|
|
gpointer gdk_xid_table_lookup (XID xid);
|
|
|
|
|
|
|
|
/* Internal functions */
|
|
|
|
|
1999-10-05 19:04:48 +00:00
|
|
|
HDC gdk_gc_predraw (GdkDrawablePrivate *drawable_private,
|
|
|
|
GdkGCPrivate *gc_private);
|
|
|
|
void gdk_gc_postdraw (GdkDrawablePrivate *drawable_private,
|
|
|
|
GdkGCPrivate *gc_private);
|
1999-03-05 19:53:56 +00:00
|
|
|
HRGN BitmapToRegion (HBITMAP hBmp);
|
|
|
|
|
|
|
|
void gdk_sel_prop_store (GdkWindow *owner,
|
|
|
|
GdkAtom type,
|
|
|
|
gint format,
|
|
|
|
guchar *data,
|
|
|
|
gint length);
|
|
|
|
|
New font private structures, related to fontsets.
1999-11-07 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkprivate.h: New font private structures, related to
fontsets.
* gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
gdk_font_list_free(). On X11, will just be wrappers to
XListFonts() and XFreeFontNames(). On Win32, the code previously
in gtkfontsel.c is now here.
New function gdk_font_xlfd_create(). On X11 will get the FONT
property of the font (for GDK_FONT_FONTs), or call
XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
builds a XLFD style name from the font information in the LOGFONT
struct(s).
New function gdk_font_xlfd_free(), which correspondingly frees the
string returned by gdk_font_xlfd_create().
Implement fontsets on Win32. Add a function that iterates over a
wide char string and calls a callback function for each substring
of wide chars from the same Unicode subrange (and thus probably
available in the same real font).
Improve the XLFD emulation a bit.
* gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
* gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
Beta3, WM_IME_CHAR messages don't seem to contain the composed
multi-byte char as with the Active IMM on Win9x. Oh well, handle
WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
ImmGetCompositionStringW() to get the composed Unicode chars.
* gdk/win32/gdkgc.c
* gdk/win32/gdkdraw.c: Changes needed because of the font private
struct changes.
* gdk/win32/gdk.def: Add the new functions.
1999-11-08 00:09:29 +00:00
|
|
|
void gdk_event_queue_append (GdkEvent *event);
|
1999-03-05 19:53:56 +00:00
|
|
|
|
New font private structures, related to fontsets.
1999-11-07 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkprivate.h: New font private structures, related to
fontsets.
* gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
gdk_font_list_free(). On X11, will just be wrappers to
XListFonts() and XFreeFontNames(). On Win32, the code previously
in gtkfontsel.c is now here.
New function gdk_font_xlfd_create(). On X11 will get the FONT
property of the font (for GDK_FONT_FONTs), or call
XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
builds a XLFD style name from the font information in the LOGFONT
struct(s).
New function gdk_font_xlfd_free(), which correspondingly frees the
string returned by gdk_font_xlfd_create().
Implement fontsets on Win32. Add a function that iterates over a
wide char string and calls a callback function for each substring
of wide chars from the same Unicode subrange (and thus probably
available in the same real font).
Improve the XLFD emulation a bit.
* gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
* gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
Beta3, WM_IME_CHAR messages don't seem to contain the composed
multi-byte char as with the Active IMM on Win9x. Oh well, handle
WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
ImmGetCompositionStringW() to get the composed Unicode chars.
* gdk/win32/gdkgc.c
* gdk/win32/gdkdraw.c: Changes needed because of the font private
struct changes.
* gdk/win32/gdk.def: Add the new functions.
1999-11-08 00:09:29 +00:00
|
|
|
gint gdk_nmbstowcs (GdkWChar *dest,
|
Add new keysyms from X11R6.4 (including EuroSign).
1999-10-31 Tor Lillqvist <tml@iki.fi>
* gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
EuroSign).
* gdk/gdktypes.h: Add note about wchar_t not necessarily being the
same type as GdkWChar, especially on Win32.
* gdk/win32/*.c: Change gdk_root_parent to be a pointer.
* gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
before passing to Windows GDI for drawing etc. Convert to the
system default codepage before passing to Windows as window
titles.
* gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
support changing input locale on the fly.
* gdk/win32/gdkevent.c: Support input language (keyboard locale)
on-the-fly changes. Convert incoming characters from the current
codepage to Unicode (and then to a UTF-8 multi-byte string) based
on the current input language. Use keysym<->Unicode mapping tables
and functions borrowed from xterm sources.
Support IMEs (Input Method Editors) for CJK languages. On non-CJK
editions of Win9x, use the ActiveX-based Active IMM (Input Method
Manager) if available. IMEs and the Active IMM are available under
the disguise of Chinese, Korean and Japanese support for IE and
Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
support is present in all editions (as long as you install it).
Call DispatchMessage from gdk_events_queue() (and thus
gdk_WindowProc()), instead of duplicating the code in
gdk_WindowProc().
Reworked the grab handling and propagation code, factored out
duplicated code snippets into separate functions. Other cleanups,
too.
* gdk/win32/surrogate-dimm.h: Provide just the bits we need from
the <dimm.h> header describing the Active IMM.
* gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
just do the same as for "single" fonts.
* gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
the new keysyms from gdkkeysyms.h.
* gtk/gtkfontsel.c (Win32): Load the font for the preview as a
fontset, so that gtkentry uses wide characters.
* gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
GTk+'s system directory "gtk+", not "gtk".
1999-10-31 21:35:39 +00:00
|
|
|
const gchar *src,
|
|
|
|
gint src_len,
|
|
|
|
gint dest_max);
|
New font private structures, related to fontsets.
1999-11-07 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkprivate.h: New font private structures, related to
fontsets.
* gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
gdk_font_list_free(). On X11, will just be wrappers to
XListFonts() and XFreeFontNames(). On Win32, the code previously
in gtkfontsel.c is now here.
New function gdk_font_xlfd_create(). On X11 will get the FONT
property of the font (for GDK_FONT_FONTs), or call
XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
builds a XLFD style name from the font information in the LOGFONT
struct(s).
New function gdk_font_xlfd_free(), which correspondingly frees the
string returned by gdk_font_xlfd_create().
Implement fontsets on Win32. Add a function that iterates over a
wide char string and calls a callback function for each substring
of wide chars from the same Unicode subrange (and thus probably
available in the same real font).
Improve the XLFD emulation a bit.
* gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
* gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
Beta3, WM_IME_CHAR messages don't seem to contain the composed
multi-byte char as with the Active IMM on Win9x. Oh well, handle
WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
ImmGetCompositionStringW() to get the composed Unicode chars.
* gdk/win32/gdkgc.c
* gdk/win32/gdkdraw.c: Changes needed because of the font private
struct changes.
* gdk/win32/gdk.def: Add the new functions.
1999-11-08 00:09:29 +00:00
|
|
|
gint gdk_nmbstowchar_ts (wchar_t *dest,
|
Add new keysyms from X11R6.4 (including EuroSign).
1999-10-31 Tor Lillqvist <tml@iki.fi>
* gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
EuroSign).
* gdk/gdktypes.h: Add note about wchar_t not necessarily being the
same type as GdkWChar, especially on Win32.
* gdk/win32/*.c: Change gdk_root_parent to be a pointer.
* gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
before passing to Windows GDI for drawing etc. Convert to the
system default codepage before passing to Windows as window
titles.
* gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
support changing input locale on the fly.
* gdk/win32/gdkevent.c: Support input language (keyboard locale)
on-the-fly changes. Convert incoming characters from the current
codepage to Unicode (and then to a UTF-8 multi-byte string) based
on the current input language. Use keysym<->Unicode mapping tables
and functions borrowed from xterm sources.
Support IMEs (Input Method Editors) for CJK languages. On non-CJK
editions of Win9x, use the ActiveX-based Active IMM (Input Method
Manager) if available. IMEs and the Active IMM are available under
the disguise of Chinese, Korean and Japanese support for IE and
Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
support is present in all editions (as long as you install it).
Call DispatchMessage from gdk_events_queue() (and thus
gdk_WindowProc()), instead of duplicating the code in
gdk_WindowProc().
Reworked the grab handling and propagation code, factored out
duplicated code snippets into separate functions. Other cleanups,
too.
* gdk/win32/surrogate-dimm.h: Provide just the bits we need from
the <dimm.h> header describing the Active IMM.
* gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
just do the same as for "single" fonts.
* gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
the new keysyms from gdkkeysyms.h.
* gtk/gtkfontsel.c (Win32): Load the font for the preview as a
fontset, so that gtkentry uses wide characters.
* gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
GTk+'s system directory "gtk+", not "gtk".
1999-10-31 21:35:39 +00:00
|
|
|
const gchar *src,
|
|
|
|
gint src_len,
|
|
|
|
gint dest_max);
|
|
|
|
|
New font private structures, related to fontsets.
1999-11-07 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkprivate.h: New font private structures, related to
fontsets.
* gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
gdk_font_list_free(). On X11, will just be wrappers to
XListFonts() and XFreeFontNames(). On Win32, the code previously
in gtkfontsel.c is now here.
New function gdk_font_xlfd_create(). On X11 will get the FONT
property of the font (for GDK_FONT_FONTs), or call
XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
builds a XLFD style name from the font information in the LOGFONT
struct(s).
New function gdk_font_xlfd_free(), which correspondingly frees the
string returned by gdk_font_xlfd_create().
Implement fontsets on Win32. Add a function that iterates over a
wide char string and calls a callback function for each substring
of wide chars from the same Unicode subrange (and thus probably
available in the same real font).
Improve the XLFD emulation a bit.
* gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
* gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
Beta3, WM_IME_CHAR messages don't seem to contain the composed
multi-byte char as with the Active IMM on Win9x. Oh well, handle
WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
ImmGetCompositionStringW() to get the composed Unicode chars.
* gdk/win32/gdkgc.c
* gdk/win32/gdkdraw.c: Changes needed because of the font private
struct changes.
* gdk/win32/gdk.def: Add the new functions.
1999-11-08 00:09:29 +00:00
|
|
|
void gdk_wchar_text_handle (GdkFont *font,
|
|
|
|
const wchar_t *wcstr,
|
|
|
|
int wclen,
|
|
|
|
void (*handler)(GdkWin32SingleFont *,
|
|
|
|
const wchar_t *,
|
|
|
|
int,
|
|
|
|
void *),
|
|
|
|
void *arg);
|
|
|
|
|
1999-03-05 19:53:56 +00:00
|
|
|
/* Please see gdkwindow.c for comments on how to use */
|
|
|
|
HWND gdk_window_xid_at(HWND base, gint bx, gint by, gint x, gint y, GList *excludes, gboolean excl_child);
|
|
|
|
HWND gdk_window_xid_at_coords(gint x, gint y, GList *excludes, gboolean excl_child);
|
|
|
|
|
|
|
|
extern gint gdk_debug_level;
|
|
|
|
extern gint gdk_show_events;
|
|
|
|
extern gint gdk_stack_trace;
|
|
|
|
extern HWND gdk_root_window;
|
|
|
|
extern HWND gdk_leader_window;
|
Add new keysyms from X11R6.4 (including EuroSign).
1999-10-31 Tor Lillqvist <tml@iki.fi>
* gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
EuroSign).
* gdk/gdktypes.h: Add note about wchar_t not necessarily being the
same type as GdkWChar, especially on Win32.
* gdk/win32/*.c: Change gdk_root_parent to be a pointer.
* gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
before passing to Windows GDI for drawing etc. Convert to the
system default codepage before passing to Windows as window
titles.
* gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
support changing input locale on the fly.
* gdk/win32/gdkevent.c: Support input language (keyboard locale)
on-the-fly changes. Convert incoming characters from the current
codepage to Unicode (and then to a UTF-8 multi-byte string) based
on the current input language. Use keysym<->Unicode mapping tables
and functions borrowed from xterm sources.
Support IMEs (Input Method Editors) for CJK languages. On non-CJK
editions of Win9x, use the ActiveX-based Active IMM (Input Method
Manager) if available. IMEs and the Active IMM are available under
the disguise of Chinese, Korean and Japanese support for IE and
Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
support is present in all editions (as long as you install it).
Call DispatchMessage from gdk_events_queue() (and thus
gdk_WindowProc()), instead of duplicating the code in
gdk_WindowProc().
Reworked the grab handling and propagation code, factored out
duplicated code snippets into separate functions. Other cleanups,
too.
* gdk/win32/surrogate-dimm.h: Provide just the bits we need from
the <dimm.h> header describing the Active IMM.
* gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
just do the same as for "single" fonts.
* gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
the new keysyms from gdkkeysyms.h.
* gtk/gtkfontsel.c (Win32): Load the font for the preview as a
fontset, so that gtkentry uses wide characters.
* gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
GTk+'s system directory "gtk+", not "gtk".
1999-10-31 21:35:39 +00:00
|
|
|
GDKVAR GdkWindowPrivate *gdk_root_parent;
|
1999-03-05 19:53:56 +00:00
|
|
|
GDKVAR Atom gdk_selection_property;
|
|
|
|
GDKVAR gchar *gdk_progclass;
|
|
|
|
GDKVAR gint gdk_error_code;
|
|
|
|
GDKVAR gint gdk_error_warnings;
|
|
|
|
GDKVAR gint gdk_null_window_warnings;
|
1999-08-26 22:22:03 +00:00
|
|
|
extern gint gdk_event_func_from_window_proc;
|
1999-03-05 19:53:56 +00:00
|
|
|
|
|
|
|
extern HDC gdk_DC;
|
|
|
|
extern HINSTANCE gdk_DLLInstance;
|
|
|
|
extern HINSTANCE gdk_ProgInstance;
|
|
|
|
|
|
|
|
extern UINT gdk_selection_notify_msg;
|
|
|
|
extern UINT gdk_selection_request_msg;
|
|
|
|
extern UINT gdk_selection_clear_msg;
|
|
|
|
extern GdkAtom gdk_clipboard_atom;
|
|
|
|
extern GdkAtom gdk_win32_dropfiles_atom;
|
|
|
|
extern GdkAtom gdk_ole2_dnd_atom;
|
1999-11-04 23:42:51 +00:00
|
|
|
|
1999-10-02 22:42:58 +00:00
|
|
|
extern LRESULT CALLBACK gdk_WindowProc (HWND, UINT, WPARAM, LPARAM);
|
|
|
|
|
New font private structures, related to fontsets.
1999-11-07 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkprivate.h: New font private structures, related to
fontsets.
* gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
gdk_font_list_free(). On X11, will just be wrappers to
XListFonts() and XFreeFontNames(). On Win32, the code previously
in gtkfontsel.c is now here.
New function gdk_font_xlfd_create(). On X11 will get the FONT
property of the font (for GDK_FONT_FONTs), or call
XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
builds a XLFD style name from the font information in the LOGFONT
struct(s).
New function gdk_font_xlfd_free(), which correspondingly frees the
string returned by gdk_font_xlfd_create().
Implement fontsets on Win32. Add a function that iterates over a
wide char string and calls a callback function for each substring
of wide chars from the same Unicode subrange (and thus probably
available in the same real font).
Improve the XLFD emulation a bit.
* gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
* gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
Beta3, WM_IME_CHAR messages don't seem to contain the composed
multi-byte char as with the Active IMM on Win9x. Oh well, handle
WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
ImmGetCompositionStringW() to get the composed Unicode chars.
* gdk/win32/gdkgc.c
* gdk/win32/gdkdraw.c: Changes needed because of the font private
struct changes.
* gdk/win32/gdk.def: Add the new functions.
1999-11-08 00:09:29 +00:00
|
|
|
extern DWORD windows_version;
|
|
|
|
|
1999-03-05 19:53:56 +00:00
|
|
|
/* Debugging support */
|
|
|
|
|
|
|
|
#ifdef G_ENABLE_DEBUG
|
|
|
|
|
|
|
|
#define GDK_NOTE(type,action) G_STMT_START { \
|
|
|
|
if (gdk_debug_flags & GDK_DEBUG_##type) \
|
|
|
|
{ action; }; } G_STMT_END
|
|
|
|
|
|
|
|
#else /* !G_ENABLE_DEBUG */
|
|
|
|
|
|
|
|
#define GDK_NOTE(type,action)
|
|
|
|
|
|
|
|
#endif /* G_ENABLE_DEBUG */
|
|
|
|
|
1999-03-07 22:25:54 +00:00
|
|
|
GDKVAR guint gdk_debug_flags;
|
1999-03-05 19:53:56 +00:00
|
|
|
|
|
|
|
/* Internal functions for debug output etc. */
|
|
|
|
|
|
|
|
char *gdk_color_to_string (GdkColor *);
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif /* __cplusplus */
|
|
|
|
|
|
|
|
|
|
|
|
#endif /* __GDK_PRIVATE_H__ */
|