Commit 00c5e838 authored by Tor Lillqvist's avatar Tor Lillqvist Committed by Tor Lillqvist

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".
parent 241f9c9d
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".
Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
* docs/gtkfaq.sgml: FAQ update
......
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".
Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
* docs/gtkfaq.sgml: FAQ update
......
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".
Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
* docs/gtkfaq.sgml: FAQ update
......
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".
Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
* docs/gtkfaq.sgml: FAQ update
......
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".
Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
* docs/gtkfaq.sgml: FAQ update
......
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".
Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
* docs/gtkfaq.sgml: FAQ update
......
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".
Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
* docs/gtkfaq.sgml: FAQ update
......
......@@ -3,29 +3,31 @@ correct as the Unix/X11 version. For more information about the Win32
port, see http://www.gimp.org/tml/gimp/win32/ or
http://www.iki.fi/tml/gimp/win32/ .
To build GTk+ on Win32, you need either Microsoft compiler and tools,
or gcc-2.95 or later running under cygwin-b20.1. Compile in gdk\win32
and gtk with `nmake -f makefile.msc` or `make -f
makefile.cygwin`. Before doing a install, check the BIN definition in
gdk\win32\makefile.msc (or makefile.cygwin) and gtk\makefile.msc (or
makefile.cygwin).
To build GTk+ on Win32, you need either the Microsoft compiler and
tools, or gcc-2.95 or later running under cygwin-b20.1 or
later. Compile in gdk\win32 and gtk with `nmake -f makefile.msc` or
`make -f makefile.cygwin`. Before doing a install, check the BIN
definition in gdk\win32\makefile.msc (or makefile.cygwin) and
gtk\makefile.msc (or makefile.cygwin).
See the README.win32 file in the GLib distribution for instructions
how to build with gcc.
The tablet support uses the Wintab API. The Wintab development kit can
be downloaded from http://www.pointing.com. If you don't care for
that, undefine HAVE_WINTAB in config.h.win32 before building.
that, undefine HAVE_WINTAB in config.h.win32 and remove references to
the wntab32x library from the makefile before building.
GTk+ wants to be built with the GNU "intl" library for
internationalisation (i18n). Get the version ported to Win32 (not a
very big deal) from tml's web site mentioned above. We build the
"intl" library to a DLL called gnu-intl.dll to reduce name clash
risks. If you don't want any i18n stuff, undefine ENABLE_NLS,
HAVE_GETTEXT and HAVE_LIBINTL in the config.h.win32 file, and remove
references to the gnu-intl library from the makefiles.
"intl" library as a DLL called gnu-intl.dll (the "gnu" prefix is used
to reduce name clash risks). If you don't want any i18n stuff,
undefine ENABLE_NLS, HAVE_GETTEXT and HAVE_LIBINTL in the
config.h.win32 file, and remove references to the gnu-intl library
from the makefiles.
Note that while the GNU gettext package is under the GPL, the "intl"
library part as distributed with GNU libc is under the LGPL (like GTk+
part of it as distributed with GNU libc is under the LGPL (like GTk+
or GLib). We want the LGPL one, even if they are the same, more or
less.
/* config.h.win32. Handcrafted for Microsoft C */
/* config.h.win32. Handcrafted for Microsoft C and gcc -mno-cygwin */
#if ! (defined(_MSC_VER) || defined(__GNUC__))
#error Unrecognized Win32 compiler, edit config.h.win32 by hand
......@@ -185,3 +185,10 @@
/* Define if you have the Wintab programmer's kit */
#define HAVE_WINTAB 1
/* Define if you have the <dimm.h> header file
* (available in the Platform SDK)
*/
#ifdef _MSC_VER
#define HAVE_DIMM_H 1
#endif
......@@ -10,6 +10,7 @@
#define GDK_Escape 0xFF1B
#define GDK_Delete 0xFFFF
#define GDK_Multi_key 0xFF20
#define GDK_Codeinput 0xFF37
#define GDK_SingleCandidate 0xFF3C
#define GDK_MultipleCandidate 0xFF3D
#define GDK_PreviousCandidate 0xFF3E
......@@ -30,6 +31,7 @@
#define GDK_Kana_Shift 0xFF2E
#define GDK_Eisu_Shift 0xFF2F
#define GDK_Eisu_toggle 0xFF30
#define GDK_Kanji_Bangou 0xFF37
#define GDK_Zen_Koho 0xFF3D
#define GDK_Mae_Koho 0xFF3E
#define GDK_Home 0xFF50
......@@ -608,6 +610,9 @@
#define GDK_uogonek 0x3f9
#define GDK_utilde 0x3fd
#define GDK_umacron 0x3fe
#define GDK_OE 0x13bc
#define GDK_oe 0x13bd
#define GDK_Ydiaeresis 0x13be
#define GDK_overline 0x47e
#define GDK_kana_fullstop 0x4a1
#define GDK_kana_openingbracket 0x4a2
......@@ -1315,3 +1320,16 @@
#define GDK_Hangul_J_KkogjiDalrinIeung 0xef9
#define GDK_Hangul_J_YeorinHieuh 0xefa
#define GDK_Korean_Won 0xeff
#define GDK_EcuSign 0x20a0
#define GDK_ColonSign 0x20a1
#define GDK_CruzeiroSign 0x20a2
#define GDK_FFrancSign 0x20a3
#define GDK_LiraSign 0x20a4
#define GDK_MillSign 0x20a5
#define GDK_NairaSign 0x20a6
#define GDK_PesetaSign 0x20a7
#define GDK_RupeeSign 0x20a8
#define GDK_WonSign 0x20a9
#define GDK_NewSheqelSign 0x20aa
#define GDK_DongSign 0x20ab
#define GDK_EuroSign 0x20ac
......@@ -68,6 +68,11 @@ typedef struct _GdkPoint GdkPoint;
typedef struct _GdkRectangle GdkRectangle;
typedef struct _GdkSegment GdkSegment;
/*
* Note that on some platforms the wchar_t type
* is not the same as GdkWChar. For instance
* on Win32, wchar_t is unsigned short.
*/
typedef guint32 GdkWChar;
typedef gulong GdkAtom;
......
......@@ -38,11 +38,11 @@
#include "gdkinputprivate.h"
#include "gdkkeysyms.h"
#include <objbase.h>
static void gdkx_XConvertCase (KeySym symbol,
KeySym *lower,
KeySym *upper);
#define XConvertCase gdkx_XConvertCase
static void gdk_exit_func (void);
......@@ -234,6 +234,9 @@ gdk_init_check (int *argc,
gdk_ProgInstance = GetModuleHandle (NULL);
gdk_DC = CreateDC ("DISPLAY", NULL, NULL, NULL);
gdk_root_window = GetDesktopWindow ();
CoInitialize (NULL);
gdk_selection_request_msg = RegisterWindowMessage ("gdk-selection-request");
gdk_selection_notify_msg = RegisterWindowMessage ("gdk-selection-notify");
......@@ -247,8 +250,6 @@ gdk_init_check (int *argc,
gdk_progclass = g_basename (g_get_prgname ());
gdk_progclass[0] = toupper (gdk_progclass[0]);
gdk_root_window = HWND_DESKTOP;
g_atexit (gdk_exit_func);
gdk_events_init ();
......@@ -333,7 +334,7 @@ gdk_screen_width (void)
{
gint return_val;
return_val = gdk_root_parent.drawable.width;
return_val = gdk_root_parent->drawable.width;
return return_val;
}
......@@ -358,7 +359,7 @@ gdk_screen_height (void)
{
gint return_val;
return_val = gdk_root_parent.drawable.height;
return_val = gdk_root_parent->drawable.height;
return return_val;
}
......@@ -498,6 +499,9 @@ gdk_exit_func (void)
gdk_input_exit ();
gdk_key_repeat_restore ();
gdk_dnd_exit ();
CoUninitialize ();
DeleteDC (gdk_DC);
gdk_DC = NULL;
gdk_initialized = 0;
......@@ -1670,6 +1674,22 @@ static struct gdk_key {
{ 0x000ef9, "Hangul_J_KkogjiDalrinIeung" },
{ 0x000efa, "Hangul_J_YeorinHieuh" },
{ 0x000eff, "Korean_Won" },
{ 0x0013bc, "OE" },
{ 0x0013bd, "oe" },
{ 0x0013be, "Ydiaeresis" },
{ 0x0020a0, "EcuSign" },
{ 0x0020a1, "ColonSign" },
{ 0x0020a2, "CruzeiroSign" },
{ 0x0020a3, "FFrancSign" },
{ 0x0020a4, "LiraSign" },
{ 0x0020a5, "MillSign" },
{ 0x0020a6, "NairaSign" },
{ 0x0020a7, "PesetaSign" },
{ 0x0020a8, "RupeeSign" },
{ 0x0020a9, "WonSign" },
{ 0x0020aa, "NewSheqelSign" },
{ 0x0020ab, "DongSign" },
{ 0x0020ac, "EuroSign" },
{ 0x00fd01, "3270_Duplicate" },
{ 0x00fd02, "3270_FieldMark" },
{ 0x00fd03, "3270_Right2" },
......@@ -1826,11 +1846,21 @@ static struct gdk_key {
{ 0x00ff2e, "Kana_Shift" },
{ 0x00ff2f, "Eisu_Shift" },
{ 0x00ff30, "Eisu_toggle" },
{ 0x00ff31, "Hangul" },
{ 0x00ff32, "Hangul_Start" },
{ 0x00ff33, "Hangul_End" },
{ 0x00ff34, "Hangul_Hanja" },
{ 0x00ff35, "Hangul_Jamo" },
{ 0x00ff36, "Hangul_Romaja" },
{ 0x00ff37, "Codeinput" },
{ 0x00ff38, "Hangul_Jeonja" },
{ 0x00ff39, "Hangul_Banja" },
{ 0x00ff3a, "Hangul_PreHanja" },
{ 0x00ff3b, "Hangul_PostHanja" },
{ 0x00ff3c, "SingleCandidate" },
{ 0x00ff3d, "MultipleCandidate" },
{ 0x00ff3d, "Zen_Koho" },
{ 0x00ff3e, "Mae_Koho" },
{ 0x00ff3e, "PreviousCandidate" },
{ 0x00ff3f, "Hangul_Special" },
{ 0x00ff50, "Home" },
{ 0x00ff51, "Left" },
{ 0x00ff52, "Up" },
......@@ -1949,21 +1979,6 @@ static struct gdk_key {
{ 0x00ffed, "Hyper_L" },
{ 0x00ffee, "Hyper_R" },
{ 0x00ffff, "Delete" },
{ 0x00ff31, "Hangul" },
{ 0x00ff32, "Hangul_Start" },
{ 0x00ff33, "Hangul_End" },
{ 0x00ff34, "Hangul_Hanja" },
{ 0x00ff35, "Hangul_Jamo" },
{ 0x00ff36, "Hangul_Romaja" },
{ 0x00ff37, "Hangul_Codeinput" },
{ 0x00ff38, "Hangul_Jeonja" },
{ 0x00ff39, "Hangul_Banja" },
{ 0x00ff3a, "Hangul_PreHanja" },
{ 0x00ff3b, "Hangul_PostHanja" },
{ 0x00ff3c, "Hangul_SingleCandidate" },
{ 0x00ff3d, "Hangul_MultipleCandidate" },
{ 0x00ff3e, "Hangul_PreviousCandidate" },
{ 0x00ff3f, "Hangul_Special" },
{ 0xffffff, "VoidSymbol" },
};
......@@ -1985,7 +2000,7 @@ gdk_keyval_name (guint keyval)
GDK_NUM_KEYS, sizeof (struct gdk_key),
gdk_keys_keyval_compare);
if (found != NULL)
return found->name;
return (gchar *) found->name;
else
return NULL;
}
......@@ -2037,7 +2052,7 @@ gdk_keyval_to_upper (guint keyval)
KeySym lower_val = 0;
KeySym upper_val = 0;
XConvertCase (keyval, &lower_val, &upper_val);
gdkx_XConvertCase (keyval, &lower_val, &upper_val);
return upper_val;
}
return 0;
......@@ -2051,7 +2066,7 @@ gdk_keyval_to_lower (guint keyval)
KeySym lower_val = 0;
KeySym upper_val = 0;
XConvertCase (keyval, &lower_val, &upper_val);
gdkx_XConvertCase (keyval, &lower_val, &upper_val);
return lower_val;
}
return 0;
......@@ -2065,7 +2080,7 @@ gdk_keyval_is_upper (guint keyval)
KeySym lower_val = 0;
KeySym upper_val = 0;
XConvertCase (keyval, &lower_val, &upper_val);
gdkx_XConvertCase (keyval, &lower_val, &upper_val);
return upper_val == keyval;
}
return TRUE;
......@@ -2079,7 +2094,7 @@ gdk_keyval_is_lower (guint keyval)
KeySym lower_val = 0;
KeySym upper_val = 0;
XConvertCase (keyval, &lower_val, &upper_val);
gdkx_XConvertCase (keyval, &lower_val, &upper_val);
return lower_val == keyval;
}
return TRUE;
......
......@@ -5,3 +5,4 @@
#ifdef _MSC_VER
#define GDK_HAVE_WCTYPE_H 1
#endif
#define GDK_USE_UTF8_MBS 1
......@@ -38,6 +38,8 @@
#ifdef OLE2_DND
#include <ole2.h>
#else
#include <objbase.h>
#endif
#ifdef _MSC_VER /* These aren't in mingw32 */
......@@ -596,7 +598,7 @@ gdk_dropfiles_filter (GdkXEvent *xev,
private = (GdkDragContextPrivate *) context;
context->protocol = GDK_DRAG_PROTO_WIN32_DROPFILES;
context->is_source = FALSE;
context->source_window = (GdkWindow *) &gdk_root_parent;
context->source_window = (GdkWindow *) gdk_root_parent;
context->dest_window = event->any.window;
gdk_window_ref (context->dest_window);
/* WM_DROPFILES drops are always file names */
......@@ -638,7 +640,7 @@ gdk_dropfiles_filter (GdkXEvent *xev,
}
g_string_append (result, "\015\012");
}
gdk_sel_prop_store ((GdkWindow *) &gdk_root_parent,
gdk_sel_prop_store ((GdkWindow *) gdk_root_parent,
text_uri_list_atom, 8, result->str, result->len + 1);
DragFinish (hdrop);
......
......@@ -38,6 +38,8 @@
#ifdef OLE2_DND
#include <ole2.h>
#else
#include <objbase.h>
#endif
#ifdef _MSC_VER /* These aren't in mingw32 */
......@@ -596,7 +598,7 @@ gdk_dropfiles_filter (GdkXEvent *xev,
private = (GdkDragContextPrivate *) context;
context->protocol = GDK_DRAG_PROTO_WIN32_DROPFILES;
context->is_source = FALSE;
context->source_window = (GdkWindow *) &gdk_root_parent;
context->source_window = (GdkWindow *) gdk_root_parent;
context->dest_window = event->any.window;
gdk_window_ref (context->dest_window);
/* WM_DROPFILES drops are always file names */
......@@ -638,7 +640,7 @@ gdk_dropfiles_filter (GdkXEvent *xev,
}
g_string_append (result, "\015\012");
}
gdk_sel_prop_store ((GdkWindow *) &gdk_root_parent,
gdk_sel_prop_store ((GdkWindow *) gdk_root_parent,
text_uri_list_atom, 8, result->str, result->len + 1);
DragFinish (hdrop);
......
......@@ -469,47 +469,35 @@ gdk_draw_text (GdkDrawable *drawable,
if (text_length == 0)
return;
g_assert (font->