diff options
author | Tor Lillqvist <tml@src.gnome.org> | 1999-03-15 00:03:37 +0000 |
---|---|---|
committer | Tor Lillqvist <tml@src.gnome.org> | 1999-03-15 00:03:37 +0000 |
commit | c65508d2723d255a9fcdfa8ac2a5f82b0667a7c6 (patch) | |
tree | 57c568358f89e9d1ec3c561bae77f5b76adc6417 | |
parent | 044fd2db4700cf34d4a2b06424be0bbe2dce5b78 (diff) | |
download | gtk+-c65508d2723d255a9fcdfa8ac2a5f82b0667a7c6.tar.gz |
This might seem like a large patch, but it isn't that bad, and nothing
should break on Unix/X11.
Win32 merge and general portability stuff:
* acconfig.h,configure.in: Check for <sys/time.h>.
* gdk/win32: New directory (actually, been there for a while).
* gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
NATIVE_WIN32, and use these. Always case fold on Win32. No
backslashed escapes on native Win32.
* gtk/{gtk.def,makefile.msc}: New files.
* gtk/Makefile.am: Add above new files.
* gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
instead of <strings.h>.
* gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
<unistd.h> appropriately.
* gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
Use ABS() (from <glib.h>) instead of abs().
* gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
of gtk (and thus glib) headers, so that WIN32 will be
defined. With MS C, include <direct.h> for mkdir prototype.
* gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
some casts, needed by MS C.
* gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
implemented).
* gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
<X11/Xlocale.h> only on X11 platform, otherwise <locale.h>. Use
G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
* gtk/gtkmain.h: Mark variables for export/import on Win32.
* gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
the event is not a hint, or its window is not the slider. Needed
on Win32, at least.
* gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
a subdirectory of the Windows directory as gtk system
configuration directory.
* gtk/gtkselection.c: No chunks on Win32.
* gtk/gtksocket.c: Not implemented on Win32.
* gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
* gtk/makeenums.h: Include gdkprivate.h after gdk.h.
* gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
37 files changed, 2869 insertions, 175 deletions
@@ -1,3 +1,65 @@ +1999-03-15 Tor Lillqvist <tml@iki.fi> + + Win32 merge and general portability stuff: + + * acconfig.h,configure.in: Check for <sys/time.h>. + + * gdk/win32: New directory (actually, been there for a while). + + * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and + NATIVE_WIN32, and use these. Always case fold on Win32. No + backslashed escapes on native Win32. + + * gtk/{gtk.def,makefile.msc}: New files. + + * gtk/Makefile.am: Add above new files. + + * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h> + instead of <strings.h>. + + * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include + config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and + <unistd.h> appropriately. + + * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much). + Use ABS() (from <glib.h>) instead of abs(). + + * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion + of gtk (and thus glib) headers, so that WIN32 will be + defined. With MS C, include <direct.h> for mkdir prototype. + + * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add + some casts, needed by MS C. + + * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't + implemented). + + * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include + <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>. Use + G_SEARCHPATH_SEPARATOR_S and g_module_build_path. + + * gtk/gtkmain.h: Mark variables for export/import on Win32. + + * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case + the event is not a hint, or its window is not the slider. Needed + on Win32, at least. + + * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h> + unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and + G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use + a subdirectory of the Windows directory as gtk system + configuration directory. + + * gtk/gtkselection.c: No chunks on Win32. + + * gtk/gtksocket.c: Not implemented on Win32. + + * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path. + + * gtk/makeenums.h: Include gdkprivate.h after gdk.h. + + * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers. + 1999-03-13 Raja R Harinath <harinath@cs.umn.edu> * configure.in (gdk_wc): Move widechar tests from `glib' to here, diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index dcb71f7220..36d55c5218 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,65 @@ +1999-03-15 Tor Lillqvist <tml@iki.fi> + + Win32 merge and general portability stuff: + + * acconfig.h,configure.in: Check for <sys/time.h>. + + * gdk/win32: New directory (actually, been there for a while). + + * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and + NATIVE_WIN32, and use these. Always case fold on Win32. No + backslashed escapes on native Win32. + + * gtk/{gtk.def,makefile.msc}: New files. + + * gtk/Makefile.am: Add above new files. + + * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h> + instead of <strings.h>. + + * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include + config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and + <unistd.h> appropriately. + + * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much). + Use ABS() (from <glib.h>) instead of abs(). + + * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion + of gtk (and thus glib) headers, so that WIN32 will be + defined. With MS C, include <direct.h> for mkdir prototype. + + * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add + some casts, needed by MS C. + + * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't + implemented). + + * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include + <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>. Use + G_SEARCHPATH_SEPARATOR_S and g_module_build_path. + + * gtk/gtkmain.h: Mark variables for export/import on Win32. + + * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case + the event is not a hint, or its window is not the slider. Needed + on Win32, at least. + + * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h> + unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and + G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use + a subdirectory of the Windows directory as gtk system + configuration directory. + + * gtk/gtkselection.c: No chunks on Win32. + + * gtk/gtksocket.c: Not implemented on Win32. + + * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path. + + * gtk/makeenums.h: Include gdkprivate.h after gdk.h. + + * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers. + 1999-03-13 Raja R Harinath <harinath@cs.umn.edu> * configure.in (gdk_wc): Move widechar tests from `glib' to here, diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index dcb71f7220..36d55c5218 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,65 @@ +1999-03-15 Tor Lillqvist <tml@iki.fi> + + Win32 merge and general portability stuff: + + * acconfig.h,configure.in: Check for <sys/time.h>. + + * gdk/win32: New directory (actually, been there for a while). + + * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and + NATIVE_WIN32, and use these. Always case fold on Win32. No + backslashed escapes on native Win32. + + * gtk/{gtk.def,makefile.msc}: New files. + + * gtk/Makefile.am: Add above new files. + + * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h> + instead of <strings.h>. + + * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include + config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and + <unistd.h> appropriately. + + * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much). + Use ABS() (from <glib.h>) instead of abs(). + + * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion + of gtk (and thus glib) headers, so that WIN32 will be + defined. With MS C, include <direct.h> for mkdir prototype. + + * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add + some casts, needed by MS C. + + * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't + implemented). + + * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include + <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>. Use + G_SEARCHPATH_SEPARATOR_S and g_module_build_path. + + * gtk/gtkmain.h: Mark variables for export/import on Win32. + + * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case + the event is not a hint, or its window is not the slider. Needed + on Win32, at least. + + * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h> + unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and + G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use + a subdirectory of the Windows directory as gtk system + configuration directory. + + * gtk/gtkselection.c: No chunks on Win32. + + * gtk/gtksocket.c: Not implemented on Win32. + + * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path. + + * gtk/makeenums.h: Include gdkprivate.h after gdk.h. + + * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers. + 1999-03-13 Raja R Harinath <harinath@cs.umn.edu> * configure.in (gdk_wc): Move widechar tests from `glib' to here, diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index dcb71f7220..36d55c5218 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,65 @@ +1999-03-15 Tor Lillqvist <tml@iki.fi> + + Win32 merge and general portability stuff: + + * acconfig.h,configure.in: Check for <sys/time.h>. + + * gdk/win32: New directory (actually, been there for a while). + + * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and + NATIVE_WIN32, and use these. Always case fold on Win32. No + backslashed escapes on native Win32. + + * gtk/{gtk.def,makefile.msc}: New files. + + * gtk/Makefile.am: Add above new files. + + * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h> + instead of <strings.h>. + + * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include + config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and + <unistd.h> appropriately. + + * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much). + Use ABS() (from <glib.h>) instead of abs(). + + * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion + of gtk (and thus glib) headers, so that WIN32 will be + defined. With MS C, include <direct.h> for mkdir prototype. + + * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add + some casts, needed by MS C. + + * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't + implemented). + + * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include + <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>. Use + G_SEARCHPATH_SEPARATOR_S and g_module_build_path. + + * gtk/gtkmain.h: Mark variables for export/import on Win32. + + * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case + the event is not a hint, or its window is not the slider. Needed + on Win32, at least. + + * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h> + unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and + G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use + a subdirectory of the Windows directory as gtk system + configuration directory. + + * gtk/gtkselection.c: No chunks on Win32. + + * gtk/gtksocket.c: Not implemented on Win32. + + * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path. + + * gtk/makeenums.h: Include gdkprivate.h after gdk.h. + + * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers. + 1999-03-13 Raja R Harinath <harinath@cs.umn.edu> * configure.in (gdk_wc): Move widechar tests from `glib' to here, diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index dcb71f7220..36d55c5218 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,65 @@ +1999-03-15 Tor Lillqvist <tml@iki.fi> + + Win32 merge and general portability stuff: + + * acconfig.h,configure.in: Check for <sys/time.h>. + + * gdk/win32: New directory (actually, been there for a while). + + * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and + NATIVE_WIN32, and use these. Always case fold on Win32. No + backslashed escapes on native Win32. + + * gtk/{gtk.def,makefile.msc}: New files. + + * gtk/Makefile.am: Add above new files. + + * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h> + instead of <strings.h>. + + * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include + config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and + <unistd.h> appropriately. + + * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much). + Use ABS() (from <glib.h>) instead of abs(). + + * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion + of gtk (and thus glib) headers, so that WIN32 will be + defined. With MS C, include <direct.h> for mkdir prototype. + + * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add + some casts, needed by MS C. + + * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't + implemented). + + * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include + <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>. Use + G_SEARCHPATH_SEPARATOR_S and g_module_build_path. + + * gtk/gtkmain.h: Mark variables for export/import on Win32. + + * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case + the event is not a hint, or its window is not the slider. Needed + on Win32, at least. + + * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h> + unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and + G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use + a subdirectory of the Windows directory as gtk system + configuration directory. + + * gtk/gtkselection.c: No chunks on Win32. + + * gtk/gtksocket.c: Not implemented on Win32. + + * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path. + + * gtk/makeenums.h: Include gdkprivate.h after gdk.h. + + * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers. + 1999-03-13 Raja R Harinath <harinath@cs.umn.edu> * configure.in (gdk_wc): Move widechar tests from `glib' to here, diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index dcb71f7220..36d55c5218 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,65 @@ +1999-03-15 Tor Lillqvist <tml@iki.fi> + + Win32 merge and general portability stuff: + + * acconfig.h,configure.in: Check for <sys/time.h>. + + * gdk/win32: New directory (actually, been there for a while). + + * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and + NATIVE_WIN32, and use these. Always case fold on Win32. No + backslashed escapes on native Win32. + + * gtk/{gtk.def,makefile.msc}: New files. + + * gtk/Makefile.am: Add above new files. + + * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h> + instead of <strings.h>. + + * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include + config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and + <unistd.h> appropriately. + + * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much). + Use ABS() (from <glib.h>) instead of abs(). + + * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion + of gtk (and thus glib) headers, so that WIN32 will be + defined. With MS C, include <direct.h> for mkdir prototype. + + * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add + some casts, needed by MS C. + + * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't + implemented). + + * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include + <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>. Use + G_SEARCHPATH_SEPARATOR_S and g_module_build_path. + + * gtk/gtkmain.h: Mark variables for export/import on Win32. + + * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case + the event is not a hint, or its window is not the slider. Needed + on Win32, at least. + + * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h> + unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and + G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use + a subdirectory of the Windows directory as gtk system + configuration directory. + + * gtk/gtkselection.c: No chunks on Win32. + + * gtk/gtksocket.c: Not implemented on Win32. + + * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path. + + * gtk/makeenums.h: Include gdkprivate.h after gdk.h. + + * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers. + 1999-03-13 Raja R Harinath <harinath@cs.umn.edu> * configure.in (gdk_wc): Move widechar tests from `glib' to here, diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index dcb71f7220..36d55c5218 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,65 @@ +1999-03-15 Tor Lillqvist <tml@iki.fi> + + Win32 merge and general portability stuff: + + * acconfig.h,configure.in: Check for <sys/time.h>. + + * gdk/win32: New directory (actually, been there for a while). + + * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and + NATIVE_WIN32, and use these. Always case fold on Win32. No + backslashed escapes on native Win32. + + * gtk/{gtk.def,makefile.msc}: New files. + + * gtk/Makefile.am: Add above new files. + + * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h> + instead of <strings.h>. + + * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include + config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and + <unistd.h> appropriately. + + * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much). + Use ABS() (from <glib.h>) instead of abs(). + + * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion + of gtk (and thus glib) headers, so that WIN32 will be + defined. With MS C, include <direct.h> for mkdir prototype. + + * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add + some casts, needed by MS C. + + * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't + implemented). + + * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include + <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>. Use + G_SEARCHPATH_SEPARATOR_S and g_module_build_path. + + * gtk/gtkmain.h: Mark variables for export/import on Win32. + + * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case + the event is not a hint, or its window is not the slider. Needed + on Win32, at least. + + * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h> + unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and + G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use + a subdirectory of the Windows directory as gtk system + configuration directory. + + * gtk/gtkselection.c: No chunks on Win32. + + * gtk/gtksocket.c: Not implemented on Win32. + + * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path. + + * gtk/makeenums.h: Include gdkprivate.h after gdk.h. + + * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers. + 1999-03-13 Raja R Harinath <harinath@cs.umn.edu> * configure.in (gdk_wc): Move widechar tests from `glib' to here, diff --git a/acconfig.h b/acconfig.h index bf75c4bf19..7b8c41f6b5 100644 --- a/acconfig.h +++ b/acconfig.h @@ -29,6 +29,7 @@ #undef HAVE_XSHM_H #undef HAVE_SHAPE_EXT #undef HAVE_SYS_SELECT_H +#undef HAVE_SYS_TIME_H #undef HAVE_XCONVERTCASE #undef WITH_SYMBOL_UNDERSCORE diff --git a/config.h.win32 b/config.h.win32 new file mode 100755 index 0000000000..47152927df --- /dev/null +++ b/config.h.win32 @@ -0,0 +1,175 @@ +/* config.h.win32. Handcrafted for Microsoft C */ + +#ifndef _MSC_VER +#error Unrecognized Win32 compiler, edit config.h.win32 by hand +#endif + +/* Define if using alloca.c. */ +/* #undef C_ALLOCA */ + +/* Define to empty if the keyword does not work. */ +/* #undef const */ + +/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. + This function is required for alloca.c support on those systems. */ +/* #undef CRAY_STACKSEG_END */ + +/* Define if you have alloca, as a function or macro. */ +#define HAVE_ALLOCA 1 +#define alloca _alloca + +/* Define if you have <alloca.h> and it should be used (not on Ultrix). */ +/* #undef HAVE_ALLOCA_H */ + +/* Define if you have a working `mmap' system call. */ +/* #undef HAVE_MMAP */ + +/* Define to empty, or __inline if that's what your compiler wants. */ +#define inline __inline + +/* Define to `long' if <sys/types.h> doesn't define. */ +/* #undef off_t */ + +/* Define if you need to in order for stat and other things to work. */ +/* #undef _POSIX_SOURCE*/ + +/* Define as the return type of signal handlers (int or void). */ +#define RETSIGTYPE void + +/* Define to `unsigned' if <sys/types.h> doesn't define. */ +/* #undef size_t */ + +/* If using the C implementation of alloca, define if you know the + direction of stack growth for your system; otherwise it will be + automatically deduced at run-time. + STACK_DIRECTION > 0 => grows toward higher addresses + STACK_DIRECTION < 0 => grows toward lower addresses + STACK_DIRECTION = 0 => direction of growth unknown + */ +/* #undef STACK_DIRECTION */ + +/* Define if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Other stuff */ +/* #undef ENABLE_NLS */ +#define GTK_COMPILED_WITH_DEBUGGING "minimum" + +/* #undef HAVE_CATGETS */ +/* #undef HAVE_DIRENT_H */ +/* #undef HAVE_GETTEXT */ +/* #undef HAVE_IPC_H */ +/* #undef HAVE_LC_MESSAGES */ +/* #undef HAVE_PWD_H */ +/* #undef HAVE_SHM_H */ +/* #undef HAVE_STPCPY */ +/* #undef HAVE_XSHM_H */ +#define HAVE_SHAPE_EXT 1 +/* #undef HAVE_SYS_SELECT_H */ +/* #undef HAVE_SYS_TIME_H */ +/* #undef HAVE_XCONVERTCASE */ + +/* #undef NO_FD_SET */ + +/* #undef XINPUT_NONE */ +/* #undef XINPUT_GXI */ +/* #undef XINPUT_XFREE */ +#define XINPUT_WIN32 1 + +/* Define as the return type of signal handlers (int or void). */ +#define RETSIGTYPE void + +/* Define if you have the __argz_count function. */ +/* #undef HAVE___ARGZ_COUNT */ + +/* Define if you have the __argz_next function. */ +/* #undef HAVE___ARGZ_NEXT */ + +/* Define if you have the __argz_stringify function. */ +/* #undef HAVE___ARGZ_STRINGIFY */ + +/* Define if you have the broken_wctype function. */ +/* #undef HAVE_BROKEN_WCTYPE */ + +/* Define if you have the dcgettext function. */ +/* #undef HAVE_DCGETTEXT */ + +/* Define if you have the getcwd function. */ +#define HAVE_GETCWD 1 + +/* Define if you have the getpagesize function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define if you have the munmap function. */ +/* #undef HAVE_MUNMAP */ + +/* Define if you have the putenv function. */ +#define HAVE_PUTENV 1 +#define putenv _putenv + +/* Define if you have the setenv function. */ +/* #undef HAVE_SETENV */ + +/* Define if you have the setlocale function. */ +#define HAVE_SETLOCALE 1 + +/* Define if you have the stpcpy function. */ +/* #undef HAVE_STPCPY */ + +/* Define if you have the strcasecmp function. */ +#define HAVE_STRCASECMP 1 +#define strcasecmp stricmp + +/* Define if you have the strchr function. */ +#define HAVE_STRCHR 1 + +/* Define if you have the strdup function. */ +#define HAVE_STRDUP 1 + +/* Define if you have the <argz.h> header file. */ +/* #undef HAVE_ARGZ_H */ + +/* Define if you have the <dirent.h> header file. */ +/* #undef HAVE_DIRENT_H */ + +/* Define if you have the <limits.h> header file. */ +#define HAVE_LIMITS_H 1 + +/* Define if you have the <locale.h> header file. */ +#define HAVE_LOCALE_H 1 + +/* Define if you have the <malloc.h> header file. */ +#define HAVE_MALLOC_H 1 + +/* Define if you have the <nl_types.h> header file. */ +/* #undef HAVE_NL_TYPES_H */ + +/* Define if you have the <pwd.h> header file. */ +/* #undef HAVE_PWD_H */ + +/* Define if you have the <string.h> header file. */ +#define HAVE_STRING_H 1 + +/* Define if you have the <sys/param.h> header file. */ +/* #undef HAVE_SYS_PARAM_H */ + +/* Define if you have the <sys/time.h> header file. */ +/* #undef HAVE_SYS_TIME_H */ + +/* Define if you have the <unistd.h> header file. */ +/* #undef HAVE_UNISTD_H */ + +/* Define if you have the <wchar.h> header file. */ +#define HAVE_WCHAR_H 1 + +/* Define if you have the <wctype.h> header file. */ +#define HAVE_WCTYPE_H 1 + +/* Define if you have the i library (-li). */ +/* #undef HAVE_LIBI */ + +/* Define if you have the intl library (-lintl). */ +/* #undef HAVE_LIBINTL */ + +/* define if compiled symbols have a leading underscore */ +/* #undef WITH_SYMBOL_UNDERSCORE */ diff --git a/configure.in b/configure.in index e59e19e7bc..d35df400bf 100644 --- a/configure.in +++ b/configure.in @@ -271,6 +271,7 @@ AC_SUBST(GLIB_DEPLIBS) AC_CHECK_HEADERS(dirent.h, AC_DEFINE(HAVE_DIRENT_H)) AC_CHECK_HEADERS(pwd.h, AC_DEFINE(HAVE_PWD_H)) +AC_CHECK_HEADERS(sys/time.h, AC_DEFINE(HAVE_SYS_TIME_H)) # Find the X11 include and library directories AC_PATH_X diff --git a/gdk/win32/gdkglobals-win32.c b/gdk/win32/gdkglobals-win32.c index d89aa0ba71..aef86d96aa 100644 --- a/gdk/win32/gdkglobals-win32.c +++ b/gdk/win32/gdkglobals-win32.c @@ -24,12 +24,7 @@ * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ -#include "config.h" - #include <stdio.h> -#if !defined (X_DISPLAY_MISSING) -#include <X11/Xlib.h> -#endif #include "gdk.h" #include "gdkprivate.h" @@ -37,41 +32,15 @@ guint gdk_debug_flags = 0; HWND gdk_root_window; HWND gdk_leader_window; GdkWindowPrivate gdk_root_parent = { { NULL, }, NULL, }; -#if !defined(X_DISPLAY_MISSING) -gchar *gdk_display_name = NULL; -gint gdk_use_xshm = TRUE; -Atom gdk_wm_delete_window; -Atom gdk_wm_take_focus; -Atom gdk_wm_protocols; -Atom gdk_wm_window_protocols[2]; -GdkDndCursorInfo gdk_dnd_cursorinfo = {None, None, NULL, NULL, - {0,0}, {0,0}, NULL}; -GdkDndGlobals gdk_dnd = {None,None,None, - None,None,None, - None, - &gdk_dnd_cursorinfo, - NULL, - 0, - FALSE, FALSE, FALSE, - None, - {0,0}, - {0,0}, {0,0}, - {0,0,0,0}, NULL, None, 0}; -#elif defined (WINDOWS_DISPLAY) - HDC gdk_DC; HINSTANCE gdk_DLLInstance; HINSTANCE gdk_ProgInstance; - UINT gdk_selection_notify_msg; UINT gdk_selection_request_msg; UINT gdk_selection_clear_msg; GdkAtom gdk_clipboard_atom; GdkAtom gdk_win32_dropfiles_atom; GdkAtom gdk_ole2_dnd_atom; - -#endif /* WINDOWS_DISPLAY */ - Atom gdk_selection_property; gchar *gdk_progclass = NULL; gint gdk_error_code; diff --git a/gdk/win32/gdkglobals.c b/gdk/win32/gdkglobals.c index d89aa0ba71..aef86d96aa 100644 --- a/gdk/win32/gdkglobals.c +++ b/gdk/win32/gdkglobals.c @@ -24,12 +24,7 @@ * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ -#include "config.h" - #include <stdio.h> -#if !defined (X_DISPLAY_MISSING) -#include <X11/Xlib.h> -#endif #include "gdk.h" #include "gdkprivate.h" @@ -37,41 +32,15 @@ guint gdk_debug_flags = 0; HWND gdk_root_window; HWND gdk_leader_window; GdkWindowPrivate gdk_root_parent = { { NULL, }, NULL, }; -#if !defined(X_DISPLAY_MISSING) -gchar *gdk_display_name = NULL; -gint gdk_use_xshm = TRUE; -Atom gdk_wm_delete_window; -Atom gdk_wm_take_focus; -Atom gdk_wm_protocols; -Atom gdk_wm_window_protocols[2]; -GdkDndCursorInfo gdk_dnd_cursorinfo = {None, None, NULL, NULL, - {0,0}, {0,0}, NULL}; -GdkDndGlobals gdk_dnd = {None,None,None, - None,None,None, - None, - &gdk_dnd_cursorinfo, - NULL, - 0, - FALSE, FALSE, FALSE, - None, - {0,0}, - {0,0}, {0,0}, - {0,0,0,0}, NULL, None, 0}; -#elif defined (WINDOWS_DISPLAY) - HDC gdk_DC; HINSTANCE gdk_DLLInstance; HINSTANCE gdk_ProgInstance; - UINT gdk_selection_notify_msg; UINT gdk_selection_request_msg; UINT gdk_selection_clear_msg; GdkAtom gdk_clipboard_atom; GdkAtom gdk_win32_dropfiles_atom; GdkAtom gdk_ole2_dnd_atom; - -#endif /* WINDOWS_DISPLAY */ - Atom gdk_selection_property; gchar *gdk_progclass = NULL; gint gdk_error_code; diff --git a/gdk/win32/gdkrgb.c b/gdk/win32/gdkrgb.c index feb5ce5ce8..4364fc711f 100644 --- a/gdk/win32/gdkrgb.c +++ b/gdk/win32/gdkrgb.c @@ -2679,9 +2679,9 @@ gdk_rgb_select_conv (GdkImage *image) gboolean mask_rgb, mask_bgr; depth = image_info->visual->depth; -#if !defined (X_DISPLAY_MISSING) +#if GDK_WINDOWING == GDK_WINDOWING_X11 bpp = ((GdkImagePrivate *)image)->ximage->bits_per_pixel; -#elif defined (WINDOWS_DISPLAY) +#elif GDK_WINDOWING == GDK_WINDOWING_WIN32 bpp = ((GdkVisualPrivate *) gdk_visual_get_system())->xvisual->bitspixel; #endif byte_order = image->byte_order; diff --git a/gdk/win32/gdktypes.h b/gdk/win32/gdktypes.h index 4eeb65c639..21957eecf2 100644 --- a/gdk/win32/gdktypes.h +++ b/gdk/win32/gdktypes.h @@ -33,7 +33,7 @@ #include <glib.h> #ifdef NATIVE_WIN32 -#ifdef COMPILING_GDK +#ifdef GDK_COMPILATION #define GDKVAR __declspec(dllexport) #else #define GDKVAR extern __declspec(dllimport) @@ -42,6 +42,28 @@ #define GDKVAR extern #endif +/* The system specific file gdkconfig.h contains such configuration + * settings that are needed not only when compiling GDK (or GTK) + * itself, but also occasionally when compiling programs that use GDK + * (or GTK). One such setting is what windowing API backend is in use. + */ +#include <gdkconfig.h> + +/* Windowing API alternatives. Note that these macros indicate just + * what windowing system is in use, not what operating system. It is + * possible to built GDK for X11 in a Win32 environment, for instance. + * + * gdkconfig.h defines GDK_WINDOWING as one of the following. In + * addition to the original X11 only the Win32 implementation exists + * yet. + */ +#define GDK_WINDOWING_X11 1 /* X11 */ +#define GDK_WINDOWING_WIN32 2 /* Win32 GDI */ +#define GDK_WINDOWING_BEOS 3 /* BeOS */ +#define GDK_WINDOWING_MACOS 4 /* MacOS */ +#define GDK_WINDOWING_GGI 5 /* Linux GGI */ + +/* some common magic values */ #define GDK_NONE 0L #define GDK_CURRENT_TIME 0L #define GDK_PARENT_RELATIVE 1L diff --git a/gdk/win32/makefile.msc b/gdk/win32/makefile.msc new file mode 100644 index 0000000000..593d887238 --- /dev/null +++ b/gdk/win32/makefile.msc @@ -0,0 +1,97 @@ +## Makefile for building the GDK DLL with Microsoft C +## Use: nmake -f makefile.msc + +# Change this to wherever you want to install the DLLs. This directory +# should be in your PATH. +BIN = C:\bin + +# Location of the Wintab toolkit. Downloadable from http://www.pointing.com. +WTKIT = ..\..\wtkit125 + +# Full optimization: +OPTIMIZE = -Ox +# Debugging: +#OPTIMIZE = -Zi + +################################################################ + +# Nothing much configurable below + +# cl -? described the options +CC = cl -G5 -GF $(OPTIMIZE) -W3 -MD -nologo + +LDFLAGS = /link /machine:ix86 # /debug /debugtype:cv +INSTALL = copy +TOUCH = copy makefile.msc+nul + +GLIB_VER=1.2 +GTK_VER=1.3 + +GLIB = ..\..\glib-$(GLIB_VER) +CFLAGS = -I. -I.. -I$(WTKIT)\include -I$(GLIB) -DG_ENABLE_DEBUG -DHAVE_CONFIG_H -DGDK_VERSION=\"$(GTK_VER)\" # -DMULTIPLE_WINDOW_CLASSES + +all: \ + ..\config.h \ + gdk-$(GTK_VER).dll + $(TOUCH) all + +install : all + $(INSTALL) gdk-$(GTK_VER).dll $(BIN) + $(TOUCH) install + +gdk_OBJECTS = \ + gdk.obj \ + gdkcc.obj \ + gdkcolor.obj \ + gdkcursor.obj \ + gdkdnd.obj \ + gdkdraw.obj \ + gdkevents.obj \ + gdkfont.obj \ + gdkgc.obj \ + gdkglobals.obj \ + gdkim.obj \ + gdkimage.obj \ + gdkinput.obj \ + gdkpixmap.obj \ + gdkproperty.obj \ + gdkrgb.obj \ + gdkrectangle.obj\ + gdkregion.obj \ + gdkselection.obj\ + gdkvisual.obj \ + gdkwindow.obj \ + gdkxid.obj + +..\config.h : ..\config.h.win32 + copy ..\config.h.win32 ..\config.h + +gdk.res : rc\gdk.rc + rc -r -fo gdk.res rc\gdk.rc + +gdk-$(GTK_VER).dll : $(gdk_OBJECTS) gdk.def gdk.res + $(CC) $(CFLAGS) -LD -Fegdk-$(GTK_VER).dll $(gdk_OBJECTS) $(GLIB)\glib-$(GLIB_VER).lib gdi32.lib user32.lib shell32.lib ole32.lib uuid.lib $(WTKIT)\lib\i386\wntab32x.lib $(LDFLAGS) gdk.res /def:gdk.def + +.c.obj : + $(CC) $(CFLAGS) -GD -c -DGDK_COMPILATION -DG_LOG_DOMAIN=\"Gdk\" $< + +testgdk.exe : testgdk.obj gdk-$(GTK_VER).dll + $(CC) $(CFLAGS) testgdk.obj gdk-$(GTK_VER).lib $(GLIB)\glib-$(GLIB_VER).lib $(LDFLAGS) + +testgdk.obj : testgdk.c + $(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"testgdk\" testgdk.c + +clean: + del *.exe + del *.obj + del *.dll + del *.lib + del *.exp + del *.err + del *.map + del *.sym + del *.lk1 + del *.mk1 + del *.res + del *.pdb + del *.ilk diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 692ab2fbbf..c4b61a9f46 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -360,7 +360,9 @@ EXTRA_DIST = \ circles.xbm \ gtkrc.ja \ gtkrc.ko \ - gtkrc.ru + gtkrc.ru \ + gtk.def \ + makefile.msc INCLUDES = \ -DGTK_DISABLE_COMPAT_H \ diff --git a/gtk/fnmatch.c b/gtk/fnmatch.c index 4aecb7f3d6..757cddb36e 100644 --- a/gtk/fnmatch.c +++ b/gtk/fnmatch.c @@ -36,6 +36,8 @@ #endif #include "fnmatch.h" +/* We need glib.h for G_DIR_SEPARATOR, WIN32 and NATIVE_WIN32 */ +#include <glib.h> #include <ctype.h> @@ -49,7 +51,6 @@ #if defined (_LIBC) || !defined (__GNU_LIBRARY__) - #if !defined(__GNU_LIBRARY__) && !defined(STDC_HEADERS) extern int errno; #endif @@ -66,7 +67,11 @@ fnmatch (pattern, string, flags) register char c; /* Note that this evalutes C many times. */ +#ifndef WIN32 #define FOLD(c) ((flags & FNM_CASEFOLD) && isupper (c) ? tolower (c) : (c)) +#else +#define FOLD(c) (tolower (c)) +#endif while ((c = *p++) != '\0') { @@ -77,13 +82,13 @@ fnmatch (pattern, string, flags) case '?': if (*n == '\0') return FNM_NOMATCH; - else if ((flags & FNM_FILE_NAME) && *n == '/') + else if ((flags & FNM_FILE_NAME) && *n == G_DIR_SEPARATOR) return FNM_NOMATCH; else if ((flags & FNM_PERIOD) && *n == '.' && - (n == string || ((flags & FNM_FILE_NAME) && n[-1] == '/'))) + (n == string || ((flags & FNM_FILE_NAME) && n[-1] == G_DIR_SEPARATOR))) return FNM_NOMATCH; break; - +#ifndef NATIVE_WIN32 case '\\': if (!(flags & FNM_NOESCAPE)) { @@ -93,14 +98,14 @@ fnmatch (pattern, string, flags) if (FOLD (*n) != c) return FNM_NOMATCH; break; - +#endif case '*': if ((flags & FNM_PERIOD) && *n == '.' && - (n == string || ((flags & FNM_FILE_NAME) && n[-1] == '/'))) + (n == string || ((flags & FNM_FILE_NAME) && n[-1] == G_DIR_SEPARATOR))) return FNM_NOMATCH; for (c = *p++; c == '?' || c == '*'; c = *p++, ++n) - if (((flags & FNM_FILE_NAME) && *n == '/') || + if (((flags & FNM_FILE_NAME) && *n == G_DIR_SEPARATOR) || (c == '?' && *n == '\0')) return FNM_NOMATCH; @@ -108,7 +113,11 @@ fnmatch (pattern, string, flags) return 0; { +#ifndef NATIVE_WIN32 char c1 = (!(flags & FNM_NOESCAPE) && c == '\\') ? *p : c; +#else + char c1 = c; +#endif c1 = FOLD (c1); for (--p; *n != '\0'; ++n) if ((c == '[' || FOLD (*n) == c1) && @@ -126,7 +135,7 @@ fnmatch (pattern, string, flags) return FNM_NOMATCH; if ((flags & FNM_PERIOD) && *n == '.' && - (n == string || ((flags & FNM_FILE_NAME) && n[-1] == '/'))) + (n == string || ((flags & FNM_FILE_NAME) && n[-1] == G_DIR_SEPARATOR))) return FNM_NOMATCH; not = (*p == '!' || *p == '^'); @@ -137,10 +146,10 @@ fnmatch (pattern, string, flags) for (;;) { register char cstart = c, cend = c; - +#ifndef NATIVE_WIN32 if (!(flags & FNM_NOESCAPE) && c == '\\') cstart = cend = *p++; - +#endif cstart = cend = FOLD (cstart); if (c == '\0') @@ -150,15 +159,17 @@ fnmatch (pattern, string, flags) c = *p++; c = FOLD (c); - if ((flags & FNM_FILE_NAME) && c == '/') + if ((flags & FNM_FILE_NAME) && c == G_DIR_SEPARATOR) /* [/] can never match. */ return FNM_NOMATCH; if (c == '-' && *p != ']') { cend = *p++; +#ifndef NATIVE_WIN32 if (!(flags & FNM_NOESCAPE) && cend == '\\') cend = *p++; +#endif if (cend == '\0') return FNM_NOMATCH; cend = FOLD (cend); @@ -185,9 +196,11 @@ fnmatch (pattern, string, flags) return FNM_NOMATCH; c = *p++; +#ifndef NATIVE_WIN32 if (!(flags & FNM_NOESCAPE) && c == '\\') /* XXX 1003.2d11 is unclear if this is right. */ ++p; +#endif } if (not) return FNM_NOMATCH; @@ -205,7 +218,7 @@ fnmatch (pattern, string, flags) if (*n == '\0') return 0; - if ((flags & FNM_LEADING_DIR) && *n == '/') + if ((flags & FNM_LEADING_DIR) && *n == G_DIR_SEPARATOR) /* The FNM_LEADING_DIR flag says that "foo*" matches "foobar/frobozz". */ return 0; diff --git a/gtk/gtk.def b/gtk/gtk.def new file mode 100755 index 0000000000..ed566ed061 --- /dev/null +++ b/gtk/gtk.def @@ -0,0 +1,1293 @@ +EXPORTS
+ GTK_TYPE_ACCEL_FLAGS
+ GTK_TYPE_ACCEL_GROUP
+ GTK_TYPE_ANCHOR_TYPE
+ GTK_TYPE_ARG_FLAGS
+ GTK_TYPE_ARROW_TYPE
+ GTK_TYPE_ATTACH_OPTIONS
+ GTK_TYPE_BUTTON_ACTION
+ GTK_TYPE_BUTTON_BOX_STYLE
+ GTK_TYPE_CALENDAR_DISPLAY_OPTIONS
+ GTK_TYPE_CELL_TYPE
+ GTK_TYPE_CLIST_DRAG_POS
+ GTK_TYPE_CORNER_TYPE
+ GTK_TYPE_CTREE_EXPANDER_STYLE
+ GTK_TYPE_CTREE_EXPANSION_TYPE
+ GTK_TYPE_CTREE_LINE_STYLE
+ GTK_TYPE_CTREE_NODE
+ GTK_TYPE_CTREE_POS
+ GTK_TYPE_CURVE_TYPE
+ GTK_TYPE_DEBUG_FLAG
+ GTK_TYPE_DEST_DEFAULTS
+ GTK_TYPE_DIRECTION_TYPE
+ GTK_TYPE_FONT_FILTER_TYPE
+ GTK_TYPE_FONT_METRIC_TYPE
+ GTK_TYPE_FONT_TYPE
+ GTK_TYPE_FUNDAMENTAL_TYPE
+ GTK_TYPE_GDK_AXIS_USE
+ GTK_TYPE_GDK_BYTE_ORDER
+ GTK_TYPE_GDK_CAP_STYLE
+ GTK_TYPE_GDK_COLOR
+ GTK_TYPE_GDK_COLORMAP
+ GTK_TYPE_GDK_COLOR_CONTEXT_MODE
+ GTK_TYPE_GDK_CROSSING_MODE
+ GTK_TYPE_GDK_CURSOR_TYPE
+ GTK_TYPE_GDK_DRAG_ACTION
+ GTK_TYPE_GDK_DRAG_CONTEXT
+ GTK_TYPE_GDK_DRAG_PROTOCOL
+ GTK_TYPE_GDK_EVENT
+ GTK_TYPE_GDK_EVENT_MASK
+ GTK_TYPE_GDK_EVENT_TYPE
+ GTK_TYPE_GDK_EXTENSION_MODE
+ GTK_TYPE_GDK_FILL
+ GTK_TYPE_GDK_FILL_RULE
+ GTK_TYPE_GDK_FILTER_RETURN
+ GTK_TYPE_GDK_FONT
+ GTK_TYPE_GDK_FONT_TYPE
+ GTK_TYPE_GDK_FUNCTION
+ GTK_TYPE_GDK_GC_VALUES_MASK
+ GTK_TYPE_GDK_IC_ATTRIBUTES_TYPE
+ GTK_TYPE_GDK_IMAGE_TYPE
+ GTK_TYPE_GDK_IM_STYLE
+ GTK_TYPE_GDK_INPUT_CONDITION
+ GTK_TYPE_GDK_INPUT_MODE
+ GTK_TYPE_GDK_INPUT_SOURCE
+ GTK_TYPE_GDK_JOIN_STYLE
+ GTK_TYPE_GDK_LINE_STYLE
+ GTK_TYPE_GDK_MODIFIER_TYPE
+ GTK_TYPE_GDK_NOTIFY_TYPE
+ GTK_TYPE_GDK_OVERLAP_TYPE
+ GTK_TYPE_GDK_PROPERTY_STATE
+ GTK_TYPE_GDK_PROP_MODE
+ GTK_TYPE_GDK_RGB_DITHER
+ GTK_TYPE_GDK_SELECTION
+ GTK_TYPE_GDK_SELECTION_TYPE
+ GTK_TYPE_GDK_STATUS
+ GTK_TYPE_GDK_SUBWINDOW_MODE
+ GTK_TYPE_GDK_TARGET
+ GTK_TYPE_GDK_VISIBILITY_STATE
+ GTK_TYPE_GDK_VISUAL
+ GTK_TYPE_GDK_VISUAL_TYPE
+ GTK_TYPE_GDK_WINDOW
+ GTK_TYPE_GDK_WINDOW_ATTRIBUTES_TYPE
+ GTK_TYPE_GDK_WINDOW_CLASS
+ GTK_TYPE_GDK_WINDOW_HINTS
+ GTK_TYPE_GDK_WINDOW_TYPE
+ GTK_TYPE_GDK_WM_DECORATION
+ GTK_TYPE_GDK_WM_FUNCTION
+ GTK_TYPE_JUSTIFICATION
+ GTK_TYPE_MATCH_TYPE
+ GTK_TYPE_MENU_DIRECTION_TYPE
+ GTK_TYPE_MENU_FACTORY_TYPE
+ GTK_TYPE_METRIC_TYPE
+ GTK_TYPE_OBJECT_FLAGS
+ GTK_TYPE_ORIENTATION
+ GTK_TYPE_PACKER_OPTIONS
+ GTK_TYPE_PACK_TYPE
+ GTK_TYPE_PATH_PRIORITY_TYPE
+ GTK_TYPE_PATH_TYPE
+ GTK_TYPE_POLICY_TYPE
+ GTK_TYPE_POSITION_TYPE
+ GTK_TYPE_PREVIEW_TYPE
+ GTK_TYPE_PRIVATE_FLAGS
+ GTK_TYPE_PROGRESS_BAR_ORIENTATION
+ GTK_TYPE_PROGRESS_BAR_STYLE
+ GTK_TYPE_RC_FLAGS
+ GTK_TYPE_RC_TOKEN_TYPE
+ GTK_TYPE_RELIEF_STYLE
+ GTK_TYPE_RESIZE_MODE
+ GTK_TYPE_SCROLL_TYPE
+ GTK_TYPE_SELECTION_DATA
+ GTK_TYPE_SELECTION_MODE
+ GTK_TYPE_SHADOW_TYPE
+ GTK_TYPE_SIDE_TYPE
+ GTK_TYPE_SIGNAL_RUN_TYPE
+ GTK_TYPE_SORT_TYPE
+ GTK_TYPE_SPIN_BUTTON_UPDATE_POLICY
+ GTK_TYPE_SPIN_TYPE
+ GTK_TYPE_STATE_TYPE
+ GTK_TYPE_STYLE
+ GTK_TYPE_SUBMENU_DIRECTION
+ GTK_TYPE_SUBMENU_PLACEMENT
+ GTK_TYPE_TARGET_FLAGS
+ GTK_TYPE_TOOLBAR_CHILD_TYPE
+ GTK_TYPE_TOOLBAR_SPACE_STYLE
+ GTK_TYPE_TOOLBAR_STYLE
+ GTK_TYPE_TREE_VIEW_MODE
+ GTK_TYPE_TROUGH_TYPE
+ GTK_TYPE_UPDATE_TYPE
+ GTK_TYPE_VISIBILITY
+ GTK_TYPE_WIDGET_FLAGS
+ GTK_TYPE_WINDOW_POSITION
+ GTK_TYPE_WINDOW_TYPE
+ gtk_accel_group_activate
+ gtk_accel_group_add
+ gtk_accel_group_attach
+ gtk_accel_group_create_add
+ gtk_accel_group_create_remove
+ gtk_accel_group_detach
+ gtk_accel_group_entries_from_object
+ gtk_accel_group_get_default
+ gtk_accel_group_get_entry
+ gtk_accel_group_handle_add
+ gtk_accel_group_handle_remove
+ gtk_accel_group_lock
+ gtk_accel_group_lock_entry
+ gtk_accel_group_new
+ gtk_accel_group_ref
+ gtk_accel_group_remove
+ gtk_accel_group_unlock
+ gtk_accel_group_unlock_entry
+ gtk_accel_group_unref
+ gtk_accel_groups_activate
+ gtk_accel_groups_from_object
+ gtk_accel_label_get_accel_width
+ gtk_accel_label_get_type
+ gtk_accel_label_new
+ gtk_accel_label_refetch
+ gtk_accel_label_set_accel_widget
+ gtk_accelerator_get_default_mod_mask
+ gtk_accelerator_name
+ gtk_accelerator_parse
+ gtk_accelerator_set_default_mod_mask
+ gtk_accelerator_valid
+ gtk_adjustment_changed
+ gtk_adjustment_clamp_page
+ gtk_adjustment_get_type
+ gtk_adjustment_new
+ gtk_adjustment_set_value
+ gtk_adjustment_value_changed
+ gtk_alignment_get_type
+ gtk_alignment_new
+ gtk_alignment_set
+ gtk_arrow_get_type
+ gtk_arrow_new
+ gtk_arrow_set
+ gtk_aspect_frame_get_type
+ gtk_aspect_frame_new
+ gtk_aspect_frame_set
+ gtk_bin_get_type
+ gtk_binary_age
+ gtk_binding_entry_add_signal
+ gtk_binding_entry_clear
+ gtk_binding_set_activate
+ gtk_binding_set_add_path
+ gtk_binding_set_by_class
+ gtk_binding_set_find
+ gtk_binding_set_new
+ gtk_bindings_activate
+ gtk_box_get_type
+ gtk_box_pack_end
+ gtk_box_pack_end_defaults
+ gtk_box_pack_start
+ gtk_box_pack_start_defaults
+ gtk_box_query_child_packing
+ gtk_box_reorder_child
+ gtk_box_set_child_packing
+ gtk_box_set_homogeneous
+ gtk_box_set_spacing
+ gtk_button_box_child_requisition
+ gtk_button_box_get_child_ipadding
+ gtk_button_box_get_child_ipadding_default
+ gtk_button_box_get_child_size
+ gtk_button_box_get_child_size_default
+ gtk_button_box_get_layout
+ gtk_button_box_get_spacing
+ gtk_button_box_get_type
+ gtk_button_box_set_child_ipadding
+ gtk_button_box_set_child_ipadding_default
+ gtk_button_box_set_child_size
+ gtk_button_box_set_child_size_default
+ gtk_button_box_set_layout
+ gtk_button_box_set_spacing
+ gtk_button_clicked
+ gtk_button_enter
+ gtk_button_get_relief
+ gtk_button_get_type
+ gtk_button_leave
+ gtk_button_new
+ gtk_button_new_with_label
+ gtk_button_pressed
+ gtk_button_released
+ gtk_button_set_relief
+ gtk_calendar_clear_marks
+ gtk_calendar_display_options
+ gtk_calendar_freeze
+ gtk_calendar_get_date
+ gtk_calendar_get_type
+ gtk_calendar_new
+ gtk_calendar_mark_day
+ gtk_calendar_select_day
+ gtk_calendar_select_month
+ gtk_calendar_thaw
+ gtk_calendar_unmark_day
+ gtk_check_button_get_type
+ gtk_check_button_new
+ gtk_check_button_new_with_label
+ gtk_check_menu_item_get_type
+ gtk_check_menu_item_new
+ gtk_check_menu_item_new_with_label
+ gtk_check_menu_item_set_active
+ gtk_check_menu_item_set_show_toggle
+ gtk_check_menu_item_toggled
+ gtk_check_version
+ gtk_clist_append
+ gtk_clist_clear
+ gtk_clist_column_title_active
+ gtk_clist_column_title_passive
+ gtk_clist_column_titles_active
+ gtk_clist_column_titles_hide
+ gtk_clist_column_titles_passive
+ gtk_clist_column_titles_show
+ gtk_clist_columns_autosize
+ gtk_clist_construct
+ gtk_clist_find_row_from_data
+ gtk_clist_freeze
+ gtk_clist_get_cell_style
+ gtk_clist_get_cell_type
+ gtk_clist_get_column_title
+ gtk_clist_get_column_widget
+ gtk_clist_get_pixmap
+ gtk_clist_get_pixtext
+ gtk_clist_get_row_data
+ gtk_clist_get_row_style
+ gtk_clist_get_selectable
+ gtk_clist_get_selection_info
+ gtk_clist_get_text
+ gtk_clist_get_type
+ gtk_clist_insert
+ gtk_clist_moveto
+ gtk_clist_new
+ gtk_clist_new_with_titles
+ gtk_clist_optimal_column_width
+ gtk_clist_prepend
+ gtk_clist_remove
+ gtk_clist_row_is_visible
+ gtk_clist_select_all
+ gtk_clist_select_row
+ gtk_clist_set_auto_sort
+ gtk_clist_set_background
+ gtk_clist_set_button_actions
+ gtk_clist_set_cell_style
+ gtk_clist_set_column_auto_resize
+ gtk_clist_set_column_justification
+ gtk_clist_set_column_max_width
+ gtk_clist_set_column_min_width
+ gtk_clist_set_column_resizeable
+ gtk_clist_set_column_title
+ gtk_clist_set_column_visibility
+ gtk_clist_set_column_widget
+ gtk_clist_set_column_width
+ gtk_clist_set_compare_func
+ gtk_clist_set_foreground
+ gtk_clist_set_pixmap
+ gtk_clist_set_pixtext
+ gtk_clist_set_reorderable
+ gtk_clist_set_row_data
+ gtk_clist_set_row_data_full
+ gtk_clist_set_row_height
+ gtk_clist_set_row_style
+ gtk_clist_set_selectable
+ gtk_clist_set_selection_mode
+ gtk_clist_set_shadow_type
+ gtk_clist_set_shift
+ gtk_clist_set_sort_column
+ gtk_clist_set_sort_type
+ gtk_clist_set_text
+ gtk_clist_set_use_drag_icons
+ gtk_clist_sort
+ gtk_clist_swap_rows
+ gtk_clist_thaw
+ gtk_clist_undo_selection
+ gtk_clist_unselect_all
+ gtk_clist_unselect_row
+ gtk_color_selection_dialog_get_type
+ gtk_color_selection_dialog_new
+ gtk_color_selection_get_color
+ gtk_color_selection_get_type
+ gtk_color_selection_new
+ gtk_color_selection_set_color
+ gtk_color_selection_set_opacity
+ gtk_color_selection_set_update_policy
+ gtk_combo_disable_activate
+ gtk_combo_get_type
+ gtk_combo_new
+ gtk_combo_set_case_sensitive
+ gtk_combo_set_item_string
+ gtk_combo_set_popdown_strings
+ gtk_combo_set_use_arrows
+ gtk_combo_set_use_arrows_always
+ gtk_combo_set_value_in_list
+ gtk_container_add
+ gtk_container_add_child_arg_type
+ gtk_container_add_with_args
+ gtk_container_addv
+ gtk_container_check_resize
+ gtk_container_child_getv
+ gtk_container_child_set
+ gtk_container_child_setv
+ gtk_container_child_type
+ gtk_container_children
+ gtk_container_focus
+ gtk_container_foreach
+ gtk_container_foreach_full
+ gtk_container_get_type
+ gtk_container_query_child_args
+ gtk_container_queue_resize
+ gtk_container_register_toplevel
+ gtk_container_remove
+ gtk_container_resize_children
+ gtk_container_set_border_width
+ gtk_container_set_focus_child
+ gtk_container_set_focus_hadjustment
+ gtk_container_set_focus_vadjustment
+ gtk_container_set_resize_mode
+ gtk_container_unregister_toplevel
+ gtk_ctree_collapse
+ gtk_ctree_collapse_recursive
+ gtk_ctree_collapse_to_depth
+ gtk_ctree_construct
+ gtk_ctree_expand
+ gtk_ctree_expand_recursive
+ gtk_ctree_expand_to_depth
+ gtk_ctree_export_to_gnode
+ gtk_ctree_find
+ gtk_ctree_find_by_row_data
+ gtk_ctree_find_by_row_data_custom
+ gtk_ctree_find_node_ptr
+ gtk_ctree_get_node_info
+ gtk_ctree_get_type
+ gtk_ctree_insert_gnode
+ gtk_ctree_insert_node
+ gtk_ctree_is_ancestor
+ gtk_ctree_is_hot_spot
+ gtk_ctree_is_viewable
+ gtk_ctree_last
+ gtk_ctree_move
+ gtk_ctree_new
+ gtk_ctree_new_with_titles
+ gtk_ctree_node_get_cell_style
+ gtk_ctree_node_get_cell_type
+ gtk_ctree_node_get_pixmap
+ gtk_ctree_node_get_pixtext
+ gtk_ctree_node_get_row_data
+ gtk_ctree_node_get_row_style
+ gtk_ctree_node_get_selectable
+ gtk_ctree_node_get_text
+ gtk_ctree_node_is_visible
+ gtk_ctree_node_moveto
+ gtk_ctree_node_nth
+ gtk_ctree_node_set_background
+ gtk_ctree_node_set_cell_style
+ gtk_ctree_node_set_foreground
+ gtk_ctree_node_set_pixmap
+ gtk_ctree_node_set_pixtext
+ gtk_ctree_node_set_row_data
+ gtk_ctree_node_set_row_data_full
+ gtk_ctree_node_set_row_style
+ gtk_ctree_node_set_selectable
+ gtk_ctree_node_set_shift
+ gtk_ctree_node_set_text
+ gtk_ctree_post_recursive
+ gtk_ctree_post_recursive_to_depth
+ gtk_ctree_pre_recursive
+ gtk_ctree_pre_recursive_to_depth
+ gtk_ctree_real_select_recursive
+ gtk_ctree_remove_node
+ gtk_ctree_select
+ gtk_ctree_select_recursive
+ gtk_ctree_set_drag_compare_func
+ gtk_ctree_set_expander_style
+ gtk_ctree_set_indent
+ gtk_ctree_set_line_style
+ gtk_ctree_set_node_info
+ gtk_ctree_set_spacing
+ gtk_ctree_sort_node
+ gtk_ctree_sort_recursive
+ gtk_ctree_toggle_expansion
+ gtk_ctree_toggle_expansion_recursive
+ gtk_ctree_unselect
+ gtk_ctree_unselect_recursive
+ gtk_curve_get_type
+ gtk_curve_get_vector
+ gtk_curve_new
+ gtk_curve_reset
+ gtk_curve_set_curve_type
+ gtk_curve_set_gamma
+ gtk_curve_set_range
+ gtk_curve_set_vector
+ gtk_data_get_type
+ gtk_dialog_get_type
+ gtk_dialog_new
+ gtk_drag_begin
+ gtk_drag_dest_handle_event
+ gtk_drag_dest_set
+ gtk_drag_dest_set_proxy
+ gtk_drag_dest_unset
+ gtk_drag_finish
+ gtk_drag_get_data
+ gtk_drag_get_source_widget
+ gtk_drag_highlight
+ gtk_drag_set_default_icon
+ gtk_drag_set_icon_default
+ gtk_drag_set_icon_widget
+ gtk_drag_set_icon_pixmap
+ gtk_drag_source_handle_event
+ gtk_drag_source_set
+ gtk_drag_source_set_icon
+ gtk_drag_unhighlight
+ gtk_draw_arrow
+ gtk_draw_box
+ gtk_draw_diamond
+ gtk_draw_hline
+ gtk_draw_oval
+ gtk_draw_polygon
+ gtk_draw_shadow
+ gtk_draw_string
+ gtk_draw_vline
+ gtk_drawing_area_get_type
+ gtk_drawing_area_new
+ gtk_drawing_area_size
+ gtk_editable_changed
+ gtk_editable_claim_selection
+ gtk_editable_copy_clipboard
+ gtk_editable_cut_clipboard
+ gtk_editable_delete_selection
+ gtk_editable_delete_text
+ gtk_editable_get_chars
+ gtk_editable_get_position
+ gtk_editable_get_type
+ gtk_editable_insert_text
+ gtk_editable_paste_clipboard
+ gtk_editable_select_region
+ gtk_editable_set_editable
+ gtk_editable_set_position
+ gtk_entry_append_text
+ gtk_entry_get_text
+ gtk_entry_get_type
+ gtk_entry_new
+ gtk_entry_new_with_max_length
+ gtk_entry_prepend_text
+ gtk_entry_select_region
+ gtk_entry_set_editable
+ gtk_entry_set_max_length
+ gtk_entry_set_position
+ gtk_entry_set_text
+ gtk_entry_set_visibility
+ gtk_event_box_get_type
+ gtk_event_box_new
+ gtk_events_pending
+ gtk_exit
+ gtk_false
+ gtk_file_selection_get_filename
+ gtk_file_selection_get_type
+ gtk_file_selection_hide_fileop_buttons
+ gtk_file_selection_new
+ gtk_file_selection_set_filename
+ gtk_file_selection_show_fileop_buttons
+ gtk_fixed_get_type
+ gtk_fixed_move
+ gtk_fixed_new
+ gtk_fixed_put
+ gtk_font_selection_dialog_get_font
+ gtk_font_selection_dialog_get_font_name
+ gtk_font_selection_dialog_get_preview_text
+ gtk_font_selection_dialog_get_type
+ gtk_font_selection_dialog_new
+ gtk_font_selection_dialog_set_filter
+ gtk_font_selection_dialog_set_font_name
+ gtk_font_selection_dialog_set_preview_text
+ gtk_font_selection_get_font
+ gtk_font_selection_get_font_name
+ gtk_font_selection_get_preview_text
+ gtk_font_selection_get_type
+ gtk_font_selection_new
+ gtk_font_selection_set_filter
+ gtk_font_selection_set_font_name
+ gtk_font_selection_set_preview_text
+ gtk_frame_get_type
+ gtk_frame_new
+ gtk_frame_set_label
+ gtk_frame_set_label_align
+ gtk_frame_set_shadow_type
+ gtk_gamma_curve_get_type
+ gtk_gamma_curve_new
+ gtk_gc_get
+ gtk_gc_release
+ gtk_get_current_event
+ gtk_get_event_widget
+ gtk_grab_add
+ gtk_grab_get_current
+ gtk_grab_remove
+ gtk_handle_box_get_type
+ gtk_handle_box_new
+ gtk_handle_box_set_handle_position
+ gtk_handle_box_set_shadow_type
+ gtk_handle_box_set_snap_edge
+ gtk_hbox_get_type
+ gtk_hbox_new
+ gtk_hbutton_box_get_layout_default
+ gtk_hbutton_box_get_spacing_default
+ gtk_hbutton_box_get_type
+ gtk_hbutton_box_new
+ gtk_hbutton_box_set_layout_default
+ gtk_hbutton_box_set_spacing_default
+ gtk_hpaned_get_type
+ gtk_hpaned_new
+ gtk_hruler_get_type
+ gtk_hruler_new
+ gtk_hscale_get_type
+ gtk_hscale_new
+ gtk_hscrollbar_get_type
+ gtk_hscrollbar_new
+ gtk_hseparator_get_type
+ gtk_hseparator_new
+ gtk_idle_add
+ gtk_idle_add_full
+ gtk_idle_add_priority
+ gtk_idle_remove
+ gtk_idle_remove_by_data
+ gtk_image_get
+ gtk_image_get_type
+ gtk_image_new
+ gtk_image_set
+ gtk_init
+ gtk_init_add
+ gtk_init_check
+ gtk_input_add_full
+ gtk_input_dialog_get_type
+ gtk_input_dialog_new
+ gtk_input_remove
+ gtk_interface_age
+ gtk_invisible_get_type
+ gtk_invisible_new
+ gtk_item_deselect
+ gtk_item_factories_path_delete
+ gtk_item_factory_construct
+ gtk_item_factory_create_item
+ gtk_item_factory_create_items
+ gtk_item_factory_create_items_ac
+ gtk_item_factory_create_menu_entries
+ gtk_item_factory_delete_entries
+ gtk_item_factory_delete_entry
+ gtk_item_factory_delete_item
+ gtk_item_factory_dump_items
+ gtk_item_factory_dump_rc
+ gtk_item_factory_from_path
+ gtk_item_factory_from_widget
+ gtk_item_factory_get_widget
+ gtk_item_factory_get_widget_by_action
+ gtk_item_factory_new
+ gtk_item_factory_parse_rc
+ gtk_item_factory_parse_rc_scanner
+ gtk_item_factory_parse_rc_string
+ gtk_item_factory_path_from_widget
+ gtk_item_factory_popup
+ gtk_item_factory_popup_data
+ gtk_item_factory_popup_data_from_widget
+ gtk_item_factory_popup_with_data
+ gtk_item_factory_print_func
+ gtk_item_get_type
+ gtk_item_select
+ gtk_item_toggle
+ gtk_key_snooper_install
+ gtk_key_snooper_remove
+ gtk_label_get
+ gtk_label_get_type
+ gtk_label_new
+ gtk_label_parse_uline
+ gtk_label_set_justify
+ gtk_label_set_line_wrap
+ gtk_label_set_pattern
+ gtk_label_set_text
+ gtk_layout_freeze
+ gtk_layout_get_hadjustment
+ gtk_layout_get_type
+ gtk_layout_get_vadjustment
+ gtk_layout_move
+ gtk_layout_new
+ gtk_layout_put
+ gtk_layout_set_hadjustment
+ gtk_layout_set_size
+ gtk_layout_set_vadjustment
+ gtk_layout_thaw
+ gtk_list_append_items
+ gtk_list_child_position
+ gtk_list_clear_items
+ gtk_list_end_drag_selection
+ gtk_list_end_selection
+ gtk_list_extend_selection
+ gtk_list_get_type
+ gtk_list_insert_items
+ gtk_list_item_deselect
+ gtk_list_item_get_type
+ gtk_list_item_new
+ gtk_list_item_new_with_label
+ gtk_list_item_select
+ gtk_list_new
+ gtk_list_prepend_items
+ gtk_list_remove_items
+ gtk_list_remove_items_no_unref
+ gtk_list_scroll_horizontal
+ gtk_list_scroll_vertical
+ gtk_list_select_all
+ gtk_list_select_child
+ gtk_list_select_item
+ gtk_list_set_selection_mode
+ gtk_list_toggle_focus_row
+ gtk_list_toggle_row
+ gtk_list_undo_selection
+ gtk_list_unselect_all
+ gtk_list_unselect_child
+ gtk_list_unselect_item
+ gtk_main
+ gtk_main_iteration
+ gtk_main_iteration_do
+ gtk_main_level
+ gtk_main_quit
+ gtk_major_version
+ gtk_marshal_BOOL__NONE
+ gtk_marshal_BOOL__POINTER
+ gtk_marshal_BOOL__POINTER_INT_INT
+ gtk_marshal_BOOL__POINTER_INT_INT_INT
+ gtk_marshal_BOOL__POINTER_POINTER_INT_INT
+ gtk_marshal_BOOL__POINTER_POINTER_POINTER_POINTER
+ gtk_marshal_INT__INT
+ gtk_marshal_INT__POINTER
+ gtk_marshal_INT__POINTER_CHAR_CHAR
+ gtk_marshal_NONE__BOOL
+ gtk_marshal_NONE__C_CALLBACK
+ gtk_marshal_NONE__C_CALLBACK_C_CALLBACK
+ gtk_marshal_NONE__INT
+ gtk_marshal_NONE__INT_FLOAT
+ gtk_marshal_NONE__INT_FLOAT_BOOL
+ gtk_marshal_NONE__INT_INT
+ gtk_marshal_NONE__INT_INT_POINTER
+ gtk_marshal_NONE__INT_POINTER
+ gtk_marshal_NONE__INT_POINTER_INT_INT_INT
+ gtk_marshal_NONE__INT_POINTER_INT_INT_INT_POINTER
+ gtk_marshal_NONE__NONE
+ gtk_marshal_NONE__POINTER
+ gtk_marshal_NONE__POINTER_INT
+ gtk_marshal_NONE__POINTER_INT_INT
+ gtk_marshal_NONE__POINTER_INT_POINTER
+ gtk_marshal_NONE__POINTER_INT_INT_POINTER_INT_INT
+ gtk_marshal_NONE__POINTER_POINTER
+ gtk_marshal_NONE__POINTER_POINTER_INT_INT
+ gtk_marshal_NONE__POINTER_POINTER_POINTER
+ gtk_menu_append
+ gtk_menu_attach_to_widget
+ gtk_menu_bar_append
+ gtk_menu_bar_get_type
+ gtk_menu_bar_insert
+ gtk_menu_bar_new
+ gtk_menu_bar_prepend
+ gtk_menu_bar_set_shadow_type
+ gtk_menu_detach
+ gtk_menu_factory_add_entries
+ gtk_menu_factory_add_subfactory
+ gtk_menu_factory_destroy
+ gtk_menu_factory_find
+ gtk_menu_factory_new
+ gtk_menu_factory_remove_entries
+ gtk_menu_factory_remove_paths
+ gtk_menu_factory_remove_subfactory
+ gtk_menu_get_active
+ gtk_menu_get_attach_widget
+ gtk_menu_get_type
+ gtk_menu_insert
+ gtk_menu_item_activate
+ gtk_menu_item_configure
+ gtk_menu_item_deselect
+ gtk_menu_item_get_type
+ gtk_menu_item_new
+ gtk_menu_item_new_with_label
+ gtk_menu_item_remove_submenu
+ gtk_menu_item_right_justify
+ gtk_menu_item_select
+ gtk_menu_item_set_placement
+ gtk_menu_item_set_submenu
+ gtk_menu_new
+ gtk_menu_popdown
+ gtk_menu_popup
+ gtk_menu_prepend
+ gtk_menu_reorder_child
+ gtk_menu_reposition
+ gtk_menu_set_accel_group
+ gtk_menu_set_active
+ gtk_menu_set_tearoff_state
+ gtk_menu_shell_activate_item
+ gtk_menu_shell_append
+ gtk_menu_shell_deactivate
+ gtk_menu_shell_get_type
+ gtk_menu_shell_insert
+ gtk_menu_shell_prepend
+ gtk_menu_shell_select_item
+ gtk_micro_version
+ gtk_minor_version
+ gtk_misc_get_type
+ gtk_misc_set_alignment
+ gtk_misc_set_padding
+ gtk_notebook_append_page
+ gtk_notebook_append_page_menu
+ gtk_notebook_get_current_page
+ gtk_notebook_get_menu_label
+ gtk_notebook_get_nth_page
+ gtk_notebook_get_tab_label
+ gtk_notebook_get_type
+ gtk_notebook_insert_page
+ gtk_notebook_insert_page_menu
+ gtk_notebook_new
+ gtk_notebook_next_page
+ gtk_notebook_page_num
+ gtk_notebook_popup_disable
+ gtk_notebook_popup_enable
+ gtk_notebook_prepend_page
+ gtk_notebook_prepend_page_menu
+ gtk_notebook_prev_page
+ gtk_notebook_query_tab_label_packing
+ gtk_notebook_remove_page
+ gtk_notebook_reorder_child
+ gtk_notebook_set_homogeneous_tabs
+ gtk_notebook_set_menu_label
+ gtk_notebook_set_menu_label_text
+ gtk_notebook_set_page
+ gtk_notebook_set_scrollable
+ gtk_notebook_set_show_border
+ gtk_notebook_set_show_tabs
+ gtk_notebook_set_tab_border
+ gtk_notebook_set_tab_hborder
+ gtk_notebook_set_tab_label
+ gtk_notebook_set_tab_label_packing
+ gtk_notebook_set_tab_label_text
+ gtk_notebook_set_tab_pos
+ gtk_notebook_set_tab_vborder
+ gtk_object_add_arg_type
+ gtk_object_arg_get
+ gtk_object_arg_get_info
+ gtk_object_arg_set
+ gtk_object_args_collect
+ gtk_object_class_add_signals
+ gtk_object_class_user_signal_new
+ gtk_object_class_user_signal_newv
+ gtk_object_constructed
+ gtk_object_default_construct
+ gtk_object_destroy
+ gtk_object_get_data
+ gtk_object_get_data_by_id
+ gtk_object_get_type
+ gtk_object_get_user_data
+ gtk_object_getv
+ gtk_object_new
+ gtk_object_newv
+ gtk_object_query_args
+ gtk_object_ref
+ gtk_object_remove_data
+ gtk_object_remove_data_by_id
+ gtk_object_remove_no_notify_by_id
+ gtk_object_set
+ gtk_object_set_data
+ gtk_object_set_data_by_id
+ gtk_object_set_data_by_id_full
+ gtk_object_set_data_full
+ gtk_object_set_user_data
+ gtk_object_setv
+ gtk_object_sink
+ gtk_object_unref
+ gtk_object_weakref
+ gtk_object_weakunref
+ gtk_option_menu_get_menu
+ gtk_option_menu_get_type
+ gtk_option_menu_new
+ gtk_option_menu_remove_menu
+ gtk_option_menu_set_history
+ gtk_option_menu_set_menu
+ gtk_packer_add
+ gtk_packer_add_defaults
+ gtk_packer_get_type
+ gtk_packer_new
+ gtk_packer_reorder_child
+ gtk_packer_set_child_packing
+ gtk_packer_set_default_border_width
+ gtk_packer_set_default_ipad
+ gtk_packer_set_default_pad
+ gtk_packer_set_spacing
+ gtk_paint_arrow
+ gtk_paint_box
+ gtk_paint_box_gap
+ gtk_paint_check
+ gtk_paint_cross
+ gtk_paint_diamond
+ gtk_paint_extension
+ gtk_paint_flat_box
+ gtk_paint_focus
+ gtk_paint_handle
+ gtk_paint_hline
+ gtk_paint_oval
+ gtk_paint_option
+ gtk_paint_polygon
+ gtk_paint_ramp
+ gtk_paint_slider
+ gtk_paint_shadow
+ gtk_paint_shadow_gap
+ gtk_paint_string
+ gtk_paint_tab
+ gtk_paint_vline
+ gtk_paned_add1
+ gtk_paned_add2
+ gtk_paned_get_type
+ gtk_paned_pack1
+ gtk_paned_pack2
+ gtk_paned_set_gutter_size
+ gtk_paned_set_handle_size
+ gtk_paned_set_position
+ gtk_pattern_match
+ gtk_pattern_match_simple
+ gtk_pattern_match_string
+ gtk_pattern_spec_free_segs
+ gtk_pattern_spec_init
+ gtk_pixmap_get
+ gtk_pixmap_get_type
+ gtk_pixmap_new
+ gtk_pixmap_set
+ gtk_pixmap_set_build_insensitive
+ gtk_plug_construct
+ gtk_plug_new
+ gtk_preview_draw_row
+ gtk_preview_get_cmap
+ gtk_preview_get_info
+ gtk_preview_get_type
+ gtk_preview_get_visual
+ gtk_preview_new
+ gtk_preview_put
+ gtk_preview_reset
+ gtk_preview_set_color_cube
+ gtk_preview_set_dither
+ gtk_preview_set_expand
+ gtk_preview_set_gamma
+ gtk_preview_set_install_cmap
+ gtk_preview_set_reserved
+ gtk_preview_size
+ gtk_preview_uninit
+ gtk_progress_bar_get_type
+ gtk_progress_bar_new
+ gtk_progress_bar_new_with_adjustment
+ gtk_progress_bar_set_activity_blocks
+ gtk_progress_bar_set_activity_step
+ gtk_progress_bar_set_bar_style
+ gtk_progress_bar_set_discrete_blocks
+ gtk_progress_bar_set_orientation
+ gtk_progress_bar_update
+ gtk_progress_configure
+ gtk_progress_get_current_percentage
+ gtk_progress_get_current_text
+ gtk_progress_get_percentage_from_value
+ gtk_progress_get_text_from_value
+ gtk_progress_get_type
+ gtk_progress_get_value
+ gtk_progress_set_activity_mode
+ gtk_progress_set_adjustment
+ gtk_progress_set_format_string
+ gtk_progress_set_percentage
+ gtk_progress_set_show_text
+ gtk_progress_set_text_alignment
+ gtk_progress_set_value
+ gtk_quit_add
+ gtk_quit_add_destroy
+ gtk_quit_add_full
+ gtk_quit_remove
+ gtk_quit_remove_by_data
+ gtk_radio_button_get_type
+ gtk_radio_button_group
+ gtk_radio_button_new
+ gtk_radio_button_new_from_widget
+ gtk_radio_button_new_with_label
+ gtk_radio_button_new_with_label_from_widget
+ gtk_radio_button_set_group
+ gtk_radio_menu_item_get_type
+ gtk_radio_menu_item_group
+ gtk_radio_menu_item_new
+ gtk_radio_menu_item_new_with_label
+ gtk_radio_menu_item_set_group
+ gtk_range_default_hmotion
+ gtk_range_default_hslider_update
+ gtk_range_default_htrough_click
+ gtk_range_default_vmotion
+ gtk_range_default_vslider_update
+ gtk_range_default_vtrough_click
+ gtk_range_draw_background
+ gtk_range_draw_slider
+ gtk_range_draw_step_back
+ gtk_range_draw_step_forw
+ gtk_range_draw_trough
+ gtk_range_get_adjustment
+ gtk_range_get_type
+ gtk_range_set_adjustment
+ gtk_range_set_update_policy
+ gtk_range_slider_update
+ gtk_range_trough_click
+ gtk_rc_add_class_style
+ gtk_rc_add_default_file
+ gtk_rc_add_widget_class_style
+ gtk_rc_add_widget_name_style
+ gtk_rc_find_pixmap_in_path
+ gtk_rc_get_default_files
+ gtk_rc_get_style
+ gtk_rc_init
+ gtk_rc_parse
+ gtk_rc_parse_color
+ gtk_rc_parse_priority
+ gtk_rc_parse_state
+ gtk_rc_parse_string
+ gtk_rc_reparse_all
+ gtk_rc_set_default_files
+ gtk_rc_set_image_loader
+ gtk_ruler_draw_pos
+ gtk_ruler_draw_ticks
+ gtk_ruler_get_type
+ gtk_ruler_set_metric
+ gtk_ruler_set_range
+ gtk_scale_draw_value
+ gtk_scale_get_type
+ gtk_scale_get_value_width
+ gtk_scale_set_digits
+ gtk_scale_set_draw_value
+ gtk_scale_set_value_pos
+ gtk_scrollbar_get_type
+ gtk_scrolled_window_add_with_viewport
+ gtk_scrolled_window_get_hadjustment
+ gtk_scrolled_window_get_type
+ gtk_scrolled_window_get_vadjustment
+ gtk_scrolled_window_new
+ gtk_scrolled_window_set_hadjustment
+ gtk_scrolled_window_set_placement
+ gtk_scrolled_window_set_policy
+ gtk_scrolled_window_set_vadjustment
+ gtk_selection_add_target
+ gtk_selection_add_targets
+ gtk_selection_clear
+ gtk_selection_convert
+ gtk_selection_data_copy
+ gtk_selection_data_free
+ gtk_selection_data_set
+ gtk_selection_incr_event
+ gtk_selection_notify
+ gtk_selection_owner_set
+ gtk_selection_property_notify
+ gtk_selection_remove_all
+ gtk_selection_request
+ gtk_separator_get_type
+ gtk_set_locale
+ gtk_signal_add_emission_hook
+ gtk_signal_add_emission_hook_full
+ gtk_signal_connect
+ gtk_signal_connect_after
+ gtk_signal_connect_full
+ gtk_signal_connect_object
+ gtk_signal_connect_object_after
+ gtk_signal_connect_object_while_alive
+ gtk_signal_connect_while_alive
+ gtk_signal_disconnect
+ gtk_signal_disconnect_by_data
+ gtk_signal_disconnect_by_func
+ gtk_signal_emit
+ gtk_signal_emit_by_name
+ gtk_signal_emit_stop
+ gtk_signal_emit_stop_by_name
+ gtk_signal_emitv
+ gtk_signal_emitv_by_name
+ gtk_signal_handler_block
+ gtk_signal_handler_block_by_data
+ gtk_signal_handler_block_by_func
+ gtk_signal_handler_pending
+ gtk_signal_handler_pending_by_func
+ gtk_signal_handler_pending_by_id
+ gtk_signal_handler_unblock
+ gtk_signal_handler_unblock_by_data
+ gtk_signal_handler_unblock_by_func
+ gtk_signal_init
+ gtk_signal_lookup
+ gtk_signal_n_emissions
+ gtk_signal_n_emissions_by_name
+ gtk_signal_name
+ gtk_signal_new
+ gtk_signal_newv
+ gtk_signal_query
+ gtk_signal_remove_emission_hook
+ gtk_socket_new
+ gtk_socket_steal
+ gtk_spin_button_configure
+ gtk_spin_button_get_adjustment
+ gtk_spin_button_get_type
+ gtk_spin_button_get_value_as_float
+ gtk_spin_button_get_value_as_int
+ gtk_spin_button_new
+ gtk_spin_button_set_adjustment
+ gtk_spin_button_set_digits
+ gtk_spin_button_set_numeric
+ gtk_spin_button_set_shadow_type
+ gtk_spin_button_set_snap_to_ticks
+ gtk_spin_button_set_update_policy
+ gtk_spin_button_set_value
+ gtk_spin_button_set_wrap
+ gtk_spin_button_spin
+ gtk_statusbar_get_context_id
+ gtk_statusbar_get_type
+ gtk_statusbar_new
+ gtk_statusbar_pop
+ gtk_statusbar_push
+ gtk_statusbar_remove
+ gtk_style_apply_default_background
+ gtk_style_attach
+ gtk_style_copy
+ gtk_style_detach
+ gtk_style_new
+ gtk_style_ref
+ gtk_style_set_background
+ gtk_style_unref
+ gtk_table_attach
+ gtk_table_attach_defaults
+ gtk_table_get_type
+ gtk_table_new
+ gtk_table_resize
+ gtk_table_set_col_spacing
+ gtk_table_set_col_spacings
+ gtk_table_set_homogeneous
+ gtk_table_set_row_spacing
+ gtk_table_set_row_spacings
+ gtk_tearoff_menu_item_get_type
+ gtk_tearoff_menu_item_new
+ gtk_text_backward_delete
+ gtk_text_forward_delete
+ gtk_text_freeze
+ gtk_text_get_length
+ gtk_text_get_point
+ gtk_text_get_type
+ gtk_text_insert
+ gtk_text_new
+ gtk_text_set_adjustments
+ gtk_text_set_editable
+ gtk_text_set_point
+ gtk_text_set_word_wrap
+ gtk_text_thaw
+ gtk_timeout_add
+ gtk_timeout_add_full
+ gtk_timeout_remove
+ gtk_tips_query_get_type
+ gtk_tips_query_new
+ gtk_tips_query_set_caller
+ gtk_tips_query_set_labels
+ gtk_tips_query_start_query
+ gtk_tips_query_stop_query
+ gtk_toggle_button_get_active
+ gtk_toggle_button_get_type
+ gtk_toggle_button_new
+ gtk_toggle_button_new_with_label
+ gtk_toggle_button_set_active
+ gtk_toggle_button_set_mode
+ gtk_toggle_button_toggled
+ gtk_toolbar_append_element
+ gtk_toolbar_append_item
+ gtk_toolbar_append_space
+ gtk_toolbar_append_widget
+ gtk_toolbar_get_button_relief
+ gtk_toolbar_get_type
+ gtk_toolbar_insert_element
+ gtk_toolbar_insert_item
+ gtk_toolbar_insert_space
+ gtk_toolbar_insert_widget
+ gtk_toolbar_new
+ gtk_toolbar_prepend_element
+ gtk_toolbar_prepend_item
+ gtk_toolbar_prepend_space
+ gtk_toolbar_prepend_widget
+ gtk_toolbar_set_button_relief
+ gtk_toolbar_set_orientation
+ gtk_toolbar_set_space_size
+ gtk_toolbar_set_space_style
+ gtk_toolbar_set_style
+ gtk_toolbar_set_tooltips
+ gtk_tooltips_data_get
+ gtk_tooltips_disable
+ gtk_tooltips_enable
+ gtk_tooltips_force_window
+ gtk_tooltips_get_type
+ gtk_tooltips_new
+ gtk_tooltips_set_colors
+ gtk_tooltips_set_delay
+ gtk_tooltips_set_tip
+ gtk_trace_referencing
+ gtk_tree_append
+ gtk_tree_child_position
+ gtk_tree_clear_items
+ gtk_tree_get_type
+ gtk_tree_insert
+ gtk_tree_item_collapse
+ gtk_tree_item_deselect
+ gtk_tree_item_expand
+ gtk_tree_item_get_type
+ gtk_tree_item_new
+ gtk_tree_item_new_with_label
+ gtk_tree_item_remove_subtree
+ gtk_tree_item_select
+ gtk_tree_item_set_subtree
+ gtk_tree_new
+ gtk_tree_prepend
+ gtk_tree_remove_items
+ gtk_tree_select_child
+ gtk_tree_select_item
+ gtk_tree_set_selection_mode
+ gtk_tree_set_view_lines
+ gtk_tree_set_view_mode
+ gtk_tree_unselect_child
+ gtk_tree_unselect_item
+ gtk_true
+ gtk_type_check_class_cast
+ gtk_type_check_object_cast
+ gtk_type_children_types
+ gtk_type_class
+ gtk_type_describe_heritage
+ gtk_type_describe_tree
+ gtk_type_enum_find_value
+ gtk_type_enum_get_values
+ gtk_type_flags_find_value
+ gtk_type_flags_get_values
+ gtk_type_free
+ gtk_type_from_name
+ gtk_type_get_varargs_type
+ gtk_type_init
+ gtk_type_is_a
+ gtk_type_name
+ gtk_type_new
+ gtk_type_parent
+ gtk_type_parent_class
+ gtk_type_register_enum
+ gtk_type_register_flags
+ gtk_type_set_chunk_alloc
+ gtk_type_set_varargs_type
+ gtk_type_unique
+ gtk_vbox_get_type
+ gtk_vbox_new
+ gtk_vbutton_box_get_layout_default
+ gtk_vbutton_box_get_spacing_default
+ gtk_vbutton_box_get_type
+ gtk_vbutton_box_new
+ gtk_vbutton_box_set_layout_default
+ gtk_vbutton_box_set_spacing_default
+ gtk_viewport_get_hadjustment
+ gtk_viewport_get_type
+ gtk_viewport_get_vadjustment
+ gtk_viewport_new
+ gtk_viewport_set_hadjustment
+ gtk_viewport_set_shadow_type
+ gtk_viewport_set_vadjustment
+ gtk_vpaned_get_type
+ gtk_vpaned_new
+ gtk_vruler_get_type
+ gtk_vruler_new
+ gtk_vscale_get_type
+ gtk_vscale_new
+ gtk_vscrollbar_get_type
+ gtk_vscrollbar_new
+ gtk_vseparator_get_type
+ gtk_vseparator_new
+ gtk_widget_accelerator_signal
+ gtk_widget_activate
+ gtk_widget_add_accelerator
+ gtk_widget_class_path
+ gtk_widget_destroy
+ gtk_widget_destroyed
+ gtk_widget_draw
+ gtk_widget_draw_default
+ gtk_widget_draw_focus
+ gtk_widget_ensure_style
+ gtk_widget_event
+ gtk_widget_get
+ gtk_widget_get_ancestor
+ gtk_widget_get_child_requisition
+ gtk_widget_get_colormap
+ gtk_widget_get_default_colormap
+ gtk_widget_get_default_style
+ gtk_widget_get_default_visual
+ gtk_widget_get_events
+ gtk_widget_get_extension_events
+ gtk_widget_get_name
+ gtk_widget_get_parent_window
+ gtk_widget_get_pointer
+ gtk_widget_get_style
+ gtk_widget_get_toplevel
+ gtk_widget_get_type
+ gtk_widget_get_visual
+ gtk_widget_getv
+ gtk_widget_grab_default
+ gtk_widget_grab_focus
+ gtk_widget_hide
+ gtk_widget_hide_all
+ gtk_widget_hide_on_delete
+ gtk_widget_intersect
+ gtk_widget_is_ancestor
+ gtk_widget_lock_accelerators
+ gtk_widget_map
+ gtk_widget_new
+ gtk_widget_newv
+ gtk_widget_path
+ gtk_widget_pop_colormap
+ gtk_widget_pop_style
+ gtk_widget_pop_visual
+ gtk_widget_popup
+ gtk_widget_push_colormap
+ gtk_widget_push_style
+ gtk_widget_push_visual
+ gtk_widget_queue_draw
+ gtk_widget_queue_resize
+ gtk_widget_realize
+ gtk_widget_ref
+ gtk_widget_remove_accelerator
+ gtk_widget_remove_accelerators
+ gtk_widget_reparent
+ gtk_widget_reset_rc_styles
+ gtk_widget_restore_default_style
+ gtk_widget_set
+ gtk_widget_set_default_colormap
+ gtk_widget_set_default_style
+ gtk_widget_set_default_visual
+ gtk_widget_set_events
+ gtk_widget_set_extension_events
+ gtk_widget_set_name
+ gtk_widget_set_parent
+ gtk_widget_set_parent_window
+ gtk_widget_set_rc_style
+ gtk_widget_set_scroll_adjustments
+ gtk_widget_set_sensitive
+ gtk_widget_set_state
+ gtk_widget_set_style
+ gtk_widget_set_uposition
+ gtk_widget_set_usize
+ gtk_widget_setv
+ gtk_widget_shape_combine_mask
+ gtk_widget_show
+ gtk_widget_show_all
+ gtk_widget_show_now
+ gtk_widget_size_allocate
+ gtk_widget_size_request
+ gtk_widget_unlock_accelerators
+ gtk_widget_unmap
+ gtk_widget_unparent
+ gtk_widget_unrealize
+ gtk_widget_unref
+ gtk_window_activate_default
+ gtk_window_activate_focus
+ gtk_window_add_accel_group
+ gtk_window_get_type
+ gtk_window_new
+ gtk_window_remove_accel_group
+ gtk_window_set_default
+ gtk_window_set_default_size
+ gtk_window_set_focus
+ gtk_window_set_geometry_hints
+ gtk_window_set_modal
+ gtk_window_set_policy
+ gtk_window_set_position
+ gtk_window_set_title
+ gtk_window_set_transient_for
+ gtk_window_set_wmclass
diff --git a/gtk/gtkcalendar.c b/gtk/gtkcalendar.c index 1ffaf69d10..e6f0330d49 100644 --- a/gtk/gtkcalendar.c +++ b/gtk/gtkcalendar.c @@ -29,7 +29,11 @@ * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ +#include "config.h" + +#ifdef HAVE_SYS_TIME_H #include <sys/time.h> +#endif #include <string.h> #include <stdlib.h> #include <time.h> diff --git a/gtk/gtkdnd.c b/gtk/gtkdnd.c index 3281a0d588..4c6949789d 100644 --- a/gtk/gtkdnd.c +++ b/gtk/gtkdnd.c @@ -2048,10 +2048,19 @@ gtk_drag_source_handle_event (GtkWidget *widget, cursor = gtk_drag_get_cursor (event->dnd.context->action); if (info->cursor != cursor) { +#if GDK_WINDOWING == GDK_WINDOWING_X11 XChangeActivePointerGrab (GDK_WINDOW_XDISPLAY (widget->window), PointerMotionMask | PointerMotionHintMask | ButtonReleaseMask, ((GdkCursorPrivate *)cursor)->xcursor, event->dnd.time); +#elif GDK_WINDOWING == GDK_WINDOWING_WIN32 + gdk_pointer_grab (widget->window, FALSE, + GDK_POINTER_MOTION_MASK | + GDK_POINTER_MOTION_HINT_MASK | + GDK_BUTTON_RELEASE_MASK, + NULL, + info->cursor, event->dnd.time); +#endif info->cursor = cursor; } @@ -2302,8 +2311,8 @@ gtk_drag_source_event_cb (GtkWidget *widget, break; } - if (MAX (abs (site->x - event->motion.x), - abs (site->y - event->motion.y)) > 3) + if (MAX (ABS (site->x - event->motion.x), + ABS (site->y - event->motion.y)) > 3) { GtkDragSourceInfo *info; GdkDragContext *context; diff --git a/gtk/gtkfilesel.c b/gtk/gtkfilesel.c index 9b217c65d3..b1dac57959 100644 --- a/gtk/gtkfilesel.c +++ b/gtk/gtkfilesel.c @@ -45,18 +45,6 @@ #include <pwd.h> #endif -#ifdef WIN32 -#define STRICT -#include <windows.h> - -#ifdef _MSC_VER -#ifndef S_ISDIR -#define S_ISDIR(mode) ((mode)&_S_IFDIR) -#endif -#define mkdir(path,mode) mkdir(path) -#endif -#endif - #include "fnmatch.h" #include "gdk/gdkkeysyms.h" @@ -79,6 +67,19 @@ #include "gtkdialog.h" #include "gtkintl.h" +#ifdef WIN32 +#define STRICT +#include <windows.h> + +#ifdef _MSC_VER +#include <direct.h> +#ifndef S_ISDIR +#define S_ISDIR(mode) ((mode)&_S_IFDIR) +#endif +#define mkdir(path,mode) mkdir(path) +#endif +#endif + #define DIR_LIST_WIDTH 180 #define DIR_LIST_HEIGHT 180 #define FILE_LIST_WIDTH 180 diff --git a/gtk/gtkitemfactory.c b/gtk/gtkitemfactory.c index d9fe31c15e..a4fe946063 100644 --- a/gtk/gtkitemfactory.c +++ b/gtk/gtkitemfactory.c @@ -27,6 +27,8 @@ * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ +#include "config.h" + #include "gtkitemfactory.h" #include "gtk/gtksignal.h" #include "gtk/gtkoptionmenu.h" @@ -41,9 +43,18 @@ #include <string.h> #include <sys/stat.h> #include <fcntl.h> +#ifdef HAVE_UNISTD_H #include <unistd.h> +#endif #include <stdio.h> +#ifdef _MSC_VER +#include <io.h> /* For _open and _close */ + +#ifndef S_ISREG +#define S_ISREG(mode) ((mode)&_S_IFREG) +#endif +#endif /* --- defines --- */ @@ -265,12 +276,12 @@ gtk_item_factory_callback_marshal (GtkWidget *widget, if (data->callback_type == 1) { - GtkItemFactoryCallback1 func1 = data->func; + GtkItemFactoryCallback1 func1 = (GtkItemFactoryCallback1) data->func; func1 (data->func_data, data->callback_action, widget); } else if (data->callback_type == 2) { - GtkItemFactoryCallback2 func2 = data->func; + GtkItemFactoryCallback2 func2 = (GtkItemFactoryCallback2) data->func; func2 (widget, data->func_data, data->callback_action); } } diff --git a/gtk/gtklayout.c b/gtk/gtklayout.c index 2b55613f2f..34af8ad067 100644 --- a/gtk/gtklayout.c +++ b/gtk/gtklayout.c @@ -28,10 +28,11 @@ * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ +#include "gdk/gdkx.h" + #include "gtklayout.h" #include "gtksignal.h" #include "gtkprivate.h" -#include "gdk/gdkx.h" typedef struct _GtkLayoutAdjData GtkLayoutAdjData; typedef struct _GtkLayoutChild GtkLayoutChild; @@ -868,6 +869,8 @@ gtk_layout_expose_area (GtkLayout *layout, } } +#if GDK_WINDOWING == GDK_WINDOWING_X11 + /* This function is used to find events to process while scrolling */ @@ -884,6 +887,8 @@ gtk_layout_expose_predicate (Display *display, return False; } +#endif /* X11 */ + /* This is the main routine to do the scrolling. Scrolling is * done by "Guffaw" scrolling, as in the Mozilla XFE, with * a few modifications. @@ -915,8 +920,9 @@ gtk_layout_adjustment_changed (GtkAdjustment *adjustment, GtkLayout *layout) { GtkWidget *widget; +#if GDK_WINDOWING == GDK_WINDOWING_X11 XEvent xevent; - +#endif gint dx, dy; widget = GTK_WIDGET (layout); @@ -1049,6 +1055,8 @@ gtk_layout_adjustment_changed (GtkAdjustment *adjustment, */ gdk_flush(); + +#if GDK_WINDOWING == GDK_WINDOWING_X11 while (XCheckIfEvent(GDK_WINDOW_XDISPLAY (layout->bin_window), &xevent, gtk_layout_expose_predicate, @@ -1082,6 +1090,9 @@ gtk_layout_adjustment_changed (GtkAdjustment *adjustment, } } } +#elif GDK_WINDOWING == GDK_WINDOWING_WIN32 + /* XXX Not implemented */ +#endif } /* The main event filter. Actually, we probably don't really need @@ -1099,6 +1110,8 @@ gtk_layout_filter (GdkXEvent *gdk_xevent, GdkEvent *event, gpointer data) { +#if GDK_WINDOWING == GDK_WINDOWING_X11 + XEvent *xevent; GtkLayout *layout; @@ -1131,6 +1144,9 @@ gtk_layout_filter (GdkXEvent *gdk_xevent, } break; } +#elif GDK_WINDOWING == GDK_WINDOWING_WIN32 + /* XXX Not implemented */ +#endif return GDK_FILTER_CONTINUE; } @@ -1144,6 +1160,7 @@ gtk_layout_main_filter (GdkXEvent *gdk_xevent, GdkEvent *event, gpointer data) { +#if GDK_WINDOWING == GDK_WINDOWING_X11 XEvent *xevent; GtkLayout *layout; @@ -1169,7 +1186,9 @@ gtk_layout_main_filter (GdkXEvent *gdk_xevent, return GDK_FILTER_REMOVE; } - +#elif GDK_WINDOWING == GDK_WINDOWING_WIN32 + /* XXX Not implemented */ +#endif return GDK_FILTER_CONTINUE; } diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c index 3c3523ea2c..aa6ba38f58 100644 --- a/gtk/gtkmain.c +++ b/gtk/gtkmain.c @@ -24,7 +24,13 @@ * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ +#include "gdk/gdkx.h" /* For GDK_WINDOWING */ + +#if GDK_WINDOWING == GDK_WINDOWING_X11 #include <X11/Xlocale.h> /* so we get the right setlocale */ +#else +#include <locale.h> +#endif #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -233,7 +239,7 @@ gtk_init_check (int *argc, gchar **modules, **as; #ifndef __EMX__ - modules = g_strsplit (env_string, ":", -1); + modules = g_strsplit (env_string, G_SEARCHPATH_SEPARATOR_S, -1); #else modules = g_strsplit (env_string, ";", -1); #endif @@ -354,14 +360,11 @@ gtk_init_check (int *argc, module_name = slist->data; slist->data = NULL; #ifndef __EMX__ - if (!(module_name[0] == '/' || - (module_name[0] == 'l' && - module_name[1] == 'i' && - module_name[2] == 'b'))) + if (!g_path_is_absolute (module_name)) { gchar *old = module_name; - module_name = g_strconcat ("lib", module_name, ".so", NULL); + module_name = g_module_build_path (NULL, module_name); g_free (old); } #else diff --git a/gtk/gtkmain.h b/gtk/gtkmain.h index 44629283ad..90675b7fe9 100644 --- a/gtk/gtkmain.h +++ b/gtk/gtkmain.h @@ -56,11 +56,21 @@ typedef gint (*GtkKeySnoopFunc) (GtkWidget *grab_widget, /* Gtk version. */ -extern const guint gtk_major_version; -extern const guint gtk_minor_version; -extern const guint gtk_micro_version; -extern const guint gtk_binary_age; -extern const guint gtk_interface_age; +#ifdef NATIVE_WIN32 +#ifdef GTK_COMPILATION +#define GTKMAIN_C_VAR __declspec(dllexport) +#else +#define GTKMAIN_C_VAR __declspec(dllimport) extern +#endif +#else +#define GTKMAIN_C_VAR extern +#endif + +GTKMAIN_C_VAR const guint gtk_major_version; +GTKMAIN_C_VAR const guint gtk_minor_version; +GTKMAIN_C_VAR const guint gtk_micro_version; +GTKMAIN_C_VAR const guint gtk_binary_age; +GTKMAIN_C_VAR const guint gtk_interface_age; gchar* gtk_check_version (guint required_major, guint required_minor, guint required_micro); diff --git a/gtk/gtkplug.c b/gtk/gtkplug.c index e2ad46ef9d..cf7506e321 100644 --- a/gtk/gtkplug.c +++ b/gtk/gtkplug.c @@ -271,9 +271,13 @@ gtk_plug_key_press_event (GtkWidget *widget, gtk_window_set_focus (GTK_WINDOW (widget), NULL); gdk_error_trap_push (); +#if GDK_WINDOWING == GDK_WINDOWING_X11 XSetInputFocus (GDK_DISPLAY (), GDK_WINDOW_XWINDOW (plug->socket_window), RevertToParent, event->time); +#elif GDK_WINDOWING == GDK_WINDOWING_WIN32 + SetFocus (GDK_WINDOW_XWINDOW (plug->socket_window)); +#endif gdk_flush (); gdk_error_trap_pop (); @@ -292,6 +296,7 @@ gtk_plug_key_press_event (GtkWidget *widget, static void gtk_plug_forward_key_press (GtkPlug *plug, GdkEventKey *event) { +#if GDK_WINDOWING == GDK_WINDOWING_X11 XEvent xevent; xevent.xkey.type = KeyPress; @@ -316,6 +321,147 @@ gtk_plug_forward_key_press (GtkPlug *plug, GdkEventKey *event) False, NoEventMask, &xevent); gdk_flush (); gdk_error_trap_pop (); +#elif GDK_WINDOWING == GDK_WINDOWING_WIN32 + /* This is pretty bogus, and not tested at all. */ + WPARAM wParam; + LPARAM lParam; + gboolean no_WM_CHAR = TRUE; + + lParam = 0; + switch (event->keyval) + { + case GDK_Cancel: + wParam = VK_CANCEL; break; + case GDK_BackSpace: + wParam = VK_BACK; break; + case GDK_Tab: + wParam = VK_TAB; break; + case GDK_Clear: + wParam = VK_CLEAR; break; + case GDK_Return: + wParam = VK_RETURN; break; + case GDK_Shift_L: + wParam = VK_SHIFT; break; + case GDK_Control_L: + wParam = VK_CONTROL; break; + case GDK_Control_R: + wParam = VK_CONTROL; lParam |= 0x01000000; break; + case GDK_Alt_L: + wParam = VK_MENU; break; + case GDK_Alt_R: + wParam = VK_MENU; lParam |= 0x01000000; break; + case GDK_Pause: + wParam = VK_PAUSE; break; + case GDK_Caps_Lock: + wParam = VK_CAPITAL; break; + case GDK_Escape: + wParam = VK_ESCAPE; break; + case GDK_Prior: + wParam = VK_PRIOR; break; + case GDK_Next: + wParam = VK_NEXT; break; + case GDK_End: + wParam = VK_END; break; + case GDK_Home: + wParam = VK_HOME; break; + case GDK_Left: + wParam = VK_LEFT; break; + case GDK_Up: + wParam = VK_UP; break; + case GDK_Right: + wParam = VK_RIGHT; break; + case GDK_Down: + wParam = VK_DOWN; break; + case GDK_Select: + wParam = VK_SELECT; break; + case GDK_Print: + wParam = VK_PRINT; break; + case GDK_Execute: + wParam = VK_EXECUTE; break; + case GDK_Insert: + wParam = VK_INSERT; break; + case GDK_Delete: + wParam = VK_DELETE; break; + case GDK_Help: + wParam = VK_HELP; break; + case GDK_KP_0: + wParam = VK_NUMPAD0; break; + case GDK_KP_1: + wParam = VK_NUMPAD1; break; + case GDK_KP_2: + wParam = VK_NUMPAD2; break; + case GDK_KP_3: + wParam = VK_NUMPAD3; break; + case GDK_KP_4: + wParam = VK_NUMPAD4; break; + case GDK_KP_5: + wParam = VK_NUMPAD5; break; + case GDK_KP_6: + wParam = VK_NUMPAD6; break; + case GDK_KP_7: + wParam = VK_NUMPAD7; break; + case GDK_KP_8: + wParam = VK_NUMPAD8; break; + case GDK_KP_9: + wParam = VK_NUMPAD9; break; + case GDK_KP_Multiply: + wParam = VK_MULTIPLY; break; + case GDK_KP_Add: + wParam = VK_ADD; break; + case GDK_KP_Separator: + wParam = VK_SEPARATOR; break; + case GDK_KP_Subtract: + wParam = VK_SUBTRACT; break; + case GDK_KP_Decimal: + wParam = VK_DECIMAL; break; + case GDK_KP_Divide: + wParam = VK_DIVIDE; break; + case GDK_F1: + wParam = VK_F1; break; + case GDK_F2: + wParam = VK_F2; break; + case GDK_F3: + wParam = VK_F3; break; + case GDK_F4: + wParam = VK_F4; break; + case GDK_F5: + wParam = VK_F5; break; + case GDK_F6: + wParam = VK_F6; break; + case GDK_F7: + wParam = VK_F7; break; + case GDK_F8: + wParam = VK_F8; break; + case GDK_F9: + wParam = VK_F9; break; + case GDK_F10: + wParam = VK_F10; break; + case GDK_F11: + wParam = VK_F11; break; + case GDK_F12: + wParam = VK_F12; break; + case GDK_F13: + wParam = VK_F13; break; + case GDK_F14: + wParam = VK_F14; break; + case GDK_F15: + wParam = VK_F15; break; + case GDK_F16: + wParam = VK_F16; break; + default: + wParam = event->keyval; + no_WM_CHAR = FALSE; + break; + } + + PostMessage (GDK_WINDOW_XWINDOW (plug->socket_window), + WM_KEYDOWN, wParam, lParam); + if (!no_WM_CHAR) + PostMessage (GDK_WINDOW_XWINDOW (plug->socket_window), + WM_CHAR, wParam, lParam); + PostMessage (GDK_WINDOW_XWINDOW (plug->socket_window), + WM_KEYUP, wParam, lParam); +#endif } /* Copied from Window, Ughh */ @@ -422,6 +568,7 @@ gtk_plug_set_focus (GtkWindow *window, if (focus && !GTK_WIDGET_HAS_FOCUS(window)) { +#if GDK_WINDOWING == GDK_WINDOWING_X11 XEvent xevent; xevent.xfocus.type = FocusIn; @@ -436,5 +583,8 @@ gtk_plug_set_focus (GtkWindow *window, False, NoEventMask, &xevent); gdk_flush (); gdk_error_trap_pop (); +#elif GDK_WINDOWING == GDK_WINDOWING_WIN32 + /* XXX Not implemented */ +#endif } } diff --git a/gtk/gtkpreview.c b/gtk/gtkpreview.c index 05dd3432fe..b32210a711 100644 --- a/gtk/gtkpreview.c +++ b/gtk/gtkpreview.c @@ -24,11 +24,14 @@ * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ +#include "config.h" #include <math.h> #include <string.h> #include <sys/types.h> +#ifdef HAVE_SYS_PARAM_H #include <sys/param.h> +#endif #include "gdk/gdkx.h" #include "gdk/gdkrgb.h" #include "gtkpreview.h" diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c index 1c2b989363..a01f72edf3 100644 --- a/gtk/gtkrange.c +++ b/gtk/gtkrange.c @@ -999,6 +999,8 @@ gtk_range_motion_notify (GtkWidget *widget, if (event->is_hint || (event->window != range->slider)) gdk_window_get_pointer (range->slider, &x, &y, &mods); + else + mods = event->state; switch (range->button) { diff --git a/gtk/gtkrc.c b/gtk/gtkrc.c index 8327eeb09e..519422f562 100644 --- a/gtk/gtkrc.c +++ b/gtk/gtkrc.c @@ -24,16 +24,32 @@ * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ +#include "config.h" + +#include "gdk/gdkx.h" + +#if GDK_WINDOWING == GDK_WINDOWING_X11 #include <X11/Xlocale.h> /* so we get the right setlocale */ +#else +#include <locale.h> +#endif #include <ctype.h> +#ifdef HAVE_UNISTD_H #include <unistd.h> +#endif #include <sys/stat.h> +#ifdef HAVE_SYS_PARAM_H #include <sys/param.h> +#endif #include <fcntl.h> #include <string.h> #include <stdio.h> #include <stdlib.h> +#ifdef _MSC_VER +#include <io.h> +#endif + #include "gtkrc.h" #include "gtkbindings.h" #include "gtkthemes.h" @@ -113,7 +129,7 @@ static void gtk_rc_add_initial_default_files (void); static const GScannerConfig gtk_rc_scanner_config = { ( - " \t\n" + " \t\r\n" ) /* cset_skip_characters */, ( G_CSET_a_2_z @@ -210,16 +226,49 @@ static GtkImageLoader image_loader = NULL; /* RC file handling */ +#ifdef NATIVE_WIN32 + +static gchar * +get_gtk_sysconf_directory () +{ + static gchar gtk_sysconf_dir[200]; + gchar win_dir[100]; + + GetWindowsDirectory (win_dir, sizeof (win_dir)); + sprintf (gtk_sysconf_dir, "%s\\gtk", win_dir); + return gtk_sysconf_dir; +} + +static gchar * +get_themes_directory () +{ + /* We really should fetch this from the Registry. The GIMP + * installation program stores the Themes installation + * directory in HKLM\Software\GNU\GTk+\Themes\InstallDirectory. + * Later. + */ + static gchar themes_dir[200]; + + sprintf (themes_dir, "%s\\themes", get_gtk_sysconf_directory ()); + return themes_dir; +} + +#endif + gchar * gtk_rc_get_theme_dir(void) { gchar *var, *path; +#ifndef NATIVE_WIN32 var = getenv("GTK_DATA_PREFIX"); if (var) path = g_strdup_printf("%s%s", var, "/share/themes"); else path = g_strdup_printf("%s%s", GTK_DATA_PREFIX, "/share/themes"); +#else + path = g_strdup (get_themes_directory ()); +#endif return path; } @@ -229,11 +278,15 @@ gtk_rc_get_module_dir(void) { gchar *var, *path; +#ifndef NATIVE_WIN32 var = getenv("GTK_EXE_PREFIX"); if (var) path = g_strdup_printf("%s%s", var, "/lib/gtk/themes/engines"); else path = g_strdup_printf("%s%s", GTK_EXE_PREFIX, "/lib/gtk/themes/engines"); +#else + path = g_strdup_printf ("%s%s", get_themes_directory (), "\\engines"); +#endif return path; } @@ -244,18 +297,24 @@ gtk_rc_append_default_pixmap_path(void) gchar *var, *path; gint n; +#ifndef NATIVE_WIN32 var = getenv("GTK_DATA_PREFIX"); if (var) path = g_strdup_printf("%s%s", var, "/share/gtk/themes"); else path = g_strdup_printf("%s%s", GTK_DATA_PREFIX, "/share/gtk/themes"); +#else + path = g_strdup (get_themes_directory ()); +#endif for (n = 0; pixmap_path[n]; n++) ; if (n >= GTK_RC_MAX_PIXMAP_PATHS - 1) - return; - pixmap_path[n++] = g_strdup(path); + { + g_free (path); + return; + } + pixmap_path[n++] = path; pixmap_path[n] = NULL; - g_free(path); } static void @@ -280,20 +339,28 @@ gtk_rc_append_default_module_path(void) if (n >= GTK_RC_MAX_MODULE_PATHS - 1) return; +#ifndef NATIVE_WIN32 var = getenv("GTK_EXE_PREFIX"); if (var) path = g_strdup_printf("%s%s", var, "/lib/gtk/themes/engines"); else path = g_strdup_printf("%s%s", GTK_EXE_PREFIX, "/lib/gtk/themes/engines"); - module_path[n++] = g_strdup(path); - g_free(path); +#else + path = g_strdup_printf ("%s%s", get_themes_directory (), "\\engines"); +#endif + module_path[n++] = path; - var = getenv("HOME"); + var = g_get_home_dir (); if (var) - path = g_strdup_printf("%s%s", var, ".gtk/lib/themes/engines"); - module_path[n++] = g_strdup(path); + { +#ifndef NATIVE_WIN32 + path = g_strdup_printf ("%s%s", var, "/.gtk/lib/themes/engines"); +#else + path = g_strdup_printf ("%s%s", var, "\\_gtk\\themes\\engines"); +#endif + module_path[n++] = path; + } module_path[n] = NULL; - g_free(path); } static void @@ -310,10 +377,10 @@ gtk_rc_add_initial_default_files (void) gtk_rc_default_files[0] = NULL; init = TRUE; - var = getenv("GTK_RC_FILES"); + var = g_getenv("GTK_RC_FILES"); if (var) { - files = g_strsplit (var, ":", 128); + files = g_strsplit (var, G_SEARCHPATH_SEPARATOR_S, 128); i=0; while (files[i]) { @@ -324,13 +391,21 @@ gtk_rc_add_initial_default_files (void) } else { - str = g_strdup_printf ("%s%s", GTK_SYSCONFDIR, "/gtk/gtkrc"); +#ifndef NATIVE_WIN32 + str = g_strdup (GTK_SYSCONFDIR G_DIR_SEPARATOR_S "gtk" G_DIR_SEPARATOR_S "gtkrc"); +#else + str = g_strdup_printf ("%s\\gtkrc", get_gtk_sysconf_directory ()); +#endif gtk_rc_add_default_file (str); g_free (str); - str = g_strdup_printf ("%s%s", g_get_home_dir (), "/.gtkrc"); - gtk_rc_add_default_file (str); - g_free (str); + var = g_get_home_dir (); + if (var) + { + str = g_strdup_printf ("%s" G_DIR_SEPARATOR_S ".gtkrc", var); + gtk_rc_add_default_file (str); + g_free (str); + } } } @@ -492,7 +567,7 @@ gtk_rc_parse_file (const gchar *filename, gboolean reload) { /* Get the absolute pathname */ - if (rc_file->name[0] == '/') + if (g_path_is_absolute (rc_file->name)) rc_file->canonical_name = rc_file->name; else { @@ -503,7 +578,7 @@ gtk_rc_parse_file (const gchar *filename, gboolean reload) str = g_string_new (cwd); g_free (cwd); - g_string_append_c (str, '/'); + g_string_append_c (str, G_DIR_SEPARATOR); g_string_append (str, rc_file->name); rc_file->canonical_name = str->str; @@ -526,7 +601,7 @@ gtk_rc_parse_file (const gchar *filename, gboolean reload) gchar *dir; dir = g_strdup(rc_file->canonical_name); - for (i = strlen(dir) - 1; (i >= 0) && (dir[i] != '/'); i--) + for (i = strlen(dir) - 1; (i >= 0) && (dir[i] != G_DIR_SEPARATOR); i--) dir[i] = 0; gtk_rc_append_pixmap_path(dir); g_free(dir); @@ -1513,7 +1588,8 @@ gtk_rc_find_pixmap_in_path (GScanner *scanner, for (i = 0; (i < GTK_RC_MAX_PIXMAP_PATHS) && (pixmap_path[i] != NULL); i++) { - buf = g_strdup_printf ("%s%c%s", pixmap_path[i], '/', pixmap_file); + buf = g_strdup_printf ("%s" G_DIR_SEPARATOR_S "%s", + pixmap_path[i], pixmap_file); fd = open (buf, O_RDONLY); if (fd >= 0) @@ -1544,7 +1620,8 @@ gtk_rc_find_module_in_path (const gchar *module_file) for (i = 0; (i < GTK_RC_MAX_MODULE_PATHS) && (module_path[i] != NULL); i++) { - buf = g_strdup_printf ("%s%c%s", module_path[i], '/', module_file); + buf = g_strdup_printf ("%s" G_DIR_SEPARATOR_S "%s", + module_path[i], module_file); fd = open (buf, O_RDONLY); if (fd >= 0) @@ -1908,7 +1985,7 @@ gtk_rc_parse_pixmap_path_string (gchar *pix_path) for (end_offset = 0; end_offset <= path_len; end_offset++) { - if ((buf[end_offset] == ':') || + if ((buf[end_offset] == G_SEARCHPATH_SEPARATOR) || (end_offset == path_len)) { buf[end_offset] = '\0'; @@ -1964,7 +2041,7 @@ gtk_rc_parse_module_path_string (gchar *mod_path) for (end_offset = 0; end_offset <= path_len; end_offset++) { - if ((buf[end_offset] == ':') || + if ((buf[end_offset] == G_SEARCHPATH_SEPARATOR) || (end_offset == path_len)) { buf[end_offset] = '\0'; diff --git a/gtk/gtkselection.c b/gtk/gtkselection.c index 39733fad50..6ea50d680e 100644 --- a/gtk/gtkselection.c +++ b/gtk/gtkselection.c @@ -63,8 +63,12 @@ /* Maximum size of a sent chunk, in bytes. Also the default size of our buffers */ +#if GDK_WINDOWING == GDK_WINDOWING_WIN32 +/* No chunks on Win32 */ +#define GTK_SELECTION_MAX_SIZE G_MAXINT +#else #define GTK_SELECTION_MAX_SIZE 4000 - +#endif enum { INCR, MULTIPLE, diff --git a/gtk/gtksocket.c b/gtk/gtksocket.c index 7a98f48ba5..a473213860 100644 --- a/gtk/gtksocket.c +++ b/gtk/gtksocket.c @@ -32,6 +32,8 @@ #include "gtksocket.h" #include "gtkdnd.h" +#if GDK_WINDOWING == GDK_WINDOWING_X11 + /* Forward declararations */ static void gtk_socket_class_init (GtkSocketClass *klass); @@ -745,3 +747,20 @@ gtk_socket_filter_func (GdkXEvent *gdk_xevent, GdkEvent *event, gpointer data) return return_val; } + +#elif GDK_WINDOWING == GDK_WINDOWING_WIN32 + +GtkWidget* +gtk_socket_new () +{ + g_error ("GtkSocket not implemented"); + return NULL; +} + +void +gtk_socket_steal (GtkSocket *socket, guint32 id) +{ + g_error ("GtkSocket not implemented"); +} + +#endif /* GDK_WINDOWING */ diff --git a/gtk/gtkthemes.c b/gtk/gtkthemes.c index b92a218ae1..e39646de8e 100644 --- a/gtk/gtkthemes.c +++ b/gtk/gtkthemes.c @@ -78,13 +78,14 @@ gtk_theme_engine_get (gchar *name) if (!result) { - gchar fullname[1024]; + gchar *fullname; gchar *engine_path; GModule *library; #ifndef __EMX__ - g_snprintf (fullname, 1024, "lib%s.so", name); + fullname = g_module_build_path (NULL, name); #else + fullname = g_malloc (13); gen_8_3_dll_name(name, fullname); #endif engine_path = gtk_rc_find_module_in_path (fullname); @@ -102,8 +103,10 @@ gtk_theme_engine_get (gchar *name) g_warning (_("Unable to locate loadable module in module_path: \"%s\","), fullname); + g_free (fullname); return NULL; } + g_free (fullname); /* load the lib */ diff --git a/gtk/makeenums.h b/gtk/makeenums.h index 3d42f093d5..ab9df45488 100644 --- a/gtk/makeenums.h +++ b/gtk/makeenums.h @@ -1,5 +1,5 @@ -#include <gdk/gdkprivate.h> #include <gdk/gdk.h> +#include <gdk/gdkprivate.h> #include <gtk/gtk.h> #include <gtk/gtkprivate.h> #include <gtk/gtkdebug.h> diff --git a/gtk/makefile.msc b/gtk/makefile.msc new file mode 100755 index 0000000000..f662bff085 --- /dev/null +++ b/gtk/makefile.msc @@ -0,0 +1,398 @@ +## Makefile for building the gtk DLL with Microsoft C +## Use: nmake -f makefile.msc + +# Change this to wherever you want to install the DLLs. This directory +# should be in your PATH. +BIN = C:\bin + +# This is the location of pthreads for Win32, +# see http://sourceware.cygnus.com/pthreads-win32/ +PTHREAD_LIB = ..\..\lib\pthread.lib +PTHREAD_INC = ..\..\include + +# Full optimization: +OPTIMIZE = -Ox +# Debugging: +#OPTIMIZE = -Zi + +################################################################ + +# Nothing much configurable below + +# cl -? described the options +# Some files use near as an identifier +CC = cl -G5 -GF $(OPTIMIZE) -W3 -MD -DHAVE_CONFIG_H -nologo -Dnear=xxnear + +# Perl and awk are needed to generate some source files. +# These generated source files are distribuyted with the Win32 GTk+ source +# distributions, so don't worry if you don't have perl and awk. +PERL = perl +AWK = awk + +# MEMCHECKLIB = mcw50.lib + +LDFLAGS = /link /machine:ix86 # /debug /debugtype:cv +INSTALL = copy +TOUCH = copy makefile.msc+nul + +GLIB_VER=1.2 +GTK_VER=1.3 + +GDK = ..\gdk +GLIB = ..\..\glib-$(GLIB_VER) + +CFLAGS = -I. -I.. -I../gdk -I$(GLIB) -I$(GLIB)\gmodule -DGTK_DISABLE_COMPAT_H + +all : \ + ..\config.h \ + gtkfeatures.h \ + generated \ + gtk-$(GTK_VER).dll\ + testdnd.exe \ + testgtk.exe \ + testinput.exe \ + testrgb.exe \ + testselection.exe \ + testthreads.exe \ + simple.exe + +install : all + $(INSTALL) gtk-$(GTK_VER).dll $(BIN) + $(TOUCH) install + +gtk_OBJECTS = \ + fnmatch.obj \ + gtkaccelgroup.obj \ + gtkaccellabel.obj \ + gtkadjustment.obj \ + gtkalignment.obj \ + gtkarg.obj \ + gtkarrow.obj \ + gtkaspectframe.obj \ + gtkbbox.obj \ + gtkbin.obj \ + gtkbindings.obj \ + gtkbox.obj \ + gtkbutton.obj \ + gtkcalendar.obj \ + gtkcheckbutton.obj \ + gtkcheckmenuitem.obj \ + gtkclist.obj \ + gtkcolorsel.obj \ + gtkcombo.obj \ + gtkcontainer.obj \ + gtkctree.obj \ + gtkcurve.obj \ + gtkdata.obj \ + gtkdialog.obj \ + gtkdnd.obj \ + gtkdrawingarea.obj \ + gtkeditable.obj \ + gtkentry.obj \ + gtkeventbox.obj \ + gtkfilesel.obj \ + gtkfixed.obj \ + gtkfontsel.obj \ + gtkframe.obj \ + gtkgamma.obj \ + gtkgc.obj \ + gtkhandlebox.obj \ + gtkhbbox.obj \ + gtkhbox.obj \ + gtkhpaned.obj \ + gtkhruler.obj \ + gtkhscale.obj \ + gtkhscrollbar.obj \ + gtkhseparator.obj \ + gtkimage.obj \ + gtkinputdialog.obj \ + gtkinvisible.obj \ + gtkitem.obj \ + gtkitemfactory.obj \ + gtklabel.obj \ + gtklayout.obj \ + gtklist.obj \ + gtklistitem.obj \ + gtkmain.obj \ + gtkmarshal.obj \ + gtkmenu.obj \ + gtkmenubar.obj \ + gtkmenufactory.obj \ + gtkmenuitem.obj \ + gtkmenushell.obj \ + gtkmisc.obj \ + gtknotebook.obj \ + gtkobject.obj \ + gtkoptionmenu.obj \ + gtkpacker.obj \ + gtkpaned.obj \ + gtkpixmap.obj \ + gtkplug.obj \ + gtkpreview.obj \ + gtkprogress.obj \ + gtkprogressbar.obj \ + gtkradiobutton.obj \ + gtkradiomenuitem.obj \ + gtkrange.obj \ + gtkrc.obj \ + gtkruler.obj \ + gtkscale.obj \ + gtkscrollbar.obj \ + gtkscrolledwindow.obj \ + gtkselection.obj \ + gtkseparator.obj \ + gtksignal.obj \ + gtksocket.obj \ + gtkspinbutton.obj \ + gtkstatusbar.obj \ + gtkstyle.obj \ + gtktable.obj \ + gtktearoffmenuitem.obj \ + gtktext.obj \ + gtkthemes.obj \ + gtktipsquery.obj \ + gtktogglebutton.obj \ + gtktoolbar.obj \ + gtktooltips.obj \ + gtktree.obj \ + gtktreeitem.obj \ + gtktypeutils.obj\ + gtkvbbox.obj \ + gtkvbox.obj \ + gtkviewport.obj \ + gtkvpaned.obj \ + gtkvruler.obj \ + gtkvscale.obj \ + gtkvscrollbar.obj \ + gtkvseparator.obj \ + gtkwidget.obj \ + gtkwindow.obj + +# Source headers which are non-autogenerated headers +source_headers = \ + gtk.h \ + gtkaccelgroup.h \ + gtkaccellabel.h \ + gtkadjustment.h \ + gtkalignment.h \ + gtkarg.h \ + gtkarrow.h \ + gtkaspectframe.h \ + gtkbin.h \ + gtkbindings.h \ + gtkbbox.h \ + gtkbox.h \ + gtkbutton.h \ + gtkcalendar.h \ + gtkcheckbutton.h \ + gtkcheckmenuitem.h \ + gtkclist.h \ + gtkcolorsel.h \ + gtkcombo.h \ + gtkcompat.h \ + gtkcontainer.h \ + gtkctree.h \ + gtkcurve.h \ + gtkdata.h \ + gtkdebug.h \ + gtkdialog.h \ + gtkdnd.h \ + gtkdrawingarea.h \ + gtkeditable.h \ + gtkentry.h \ + gtkenums.h \ + gtkeventbox.h \ + gtkfilesel.h \ + gtkfixed.h \ + gtkfontsel.h \ + gtkframe.h \ + gtkgamma.h \ + gtkgc.h \ + gtkhandlebox.h \ + gtkhbbox.h \ + gtkhbox.h \ + gtkhpaned.h \ + gtkhruler.h \ + gtkhscale.h \ + gtkhscrollbar.h \ + gtkhseparator.h \ + gtkimage.h \ + gtkinputdialog.h \ + gtkintl.h \ + gtkinvisible.h \ + gtkitem.h \ + gtkitemfactory.h \ + gtklabel.h \ + gtklayout.h \ + gtklist.h \ + gtklistitem.h \ + gtkmain.h \ + gtkmenu.h \ + gtkmenubar.h \ + gtkmenufactory.h \ + gtkmenuitem.h \ + gtkmenushell.h \ + gtkmisc.h \ + gtknotebook.h \ + gtkobject.h \ + gtkoptionmenu.h \ + gtkpacker.h \ + gtkpaned.h \ + gtkpixmap.h \ + gtkplug.h \ + gtkpreview.h \ + gtkprivate.h \ + gtkprogress.h \ + gtkprogressbar.h \ + gtkradiobutton.h \ + gtkradiomenuitem.h \ + gtkrange.h \ + gtkrc.h \ + gtkruler.h \ + gtkscale.h \ + gtkscrollbar.h \ + gtkscrolledwindow.h \ + gtkselection.h \ + gtkseparator.h \ + gtksignal.h \ + gtksocket.h \ + gtkspinbutton.h \ + gtkstyle.h \ + gtkstatusbar.h \ + gtktable.h \ + gtktearoffmenuitem.h \ + gtktext.h \ + gtkthemes.h \ + gtktipsquery.h \ + gtktogglebutton.h \ + gtktoolbar.h \ + gtktooltips.h \ + gtktree.h \ + gtktreeitem.h \ + gtktypeutils.h \ + gtkvbbox.h \ + gtkvbox.h \ + gtkviewport.h \ + gtkvpaned.h \ + gtkvruler.h \ + gtkvscale.h \ + gtkvscrollbar.h \ + gtkvseparator.h \ + gtkwidget.h \ + gtkwindow.h + +# More headers to use when autogenerating. +gdk_headers = \ + ..\gdk\gdktypes.h \ + ..\gdk\gdkrgb.h + +..\config.h : ..\config.h.win32 + copy ..\config.h.win32 ..\config.h + +gtkfeatures.h : gtkfeatures.h.win32 + copy gtkfeatures.h.win32 gtkfeatures.h + +# +# Generated source files: +# +generated : gtk.defs gtktypebuiltins.h gtktypebuiltins_vars.c gtktypebuiltins_ids.c gtktypebuiltins_evals.c gtkmarshal.h gtkmarshal.c + $(TOUCH) generated + +gtk.defs : makeenums.pl gtk-boxed.defs $(source_headers) $(gdk_headers) + $(PERL) makeenums.pl defs $(source_headers) $(gdk_headers) >gd.tmp + copy gd.tmp+gtk-boxed.defs gtk.defs + @erase gd.tmp + +# generate type identifier header (GTK_TYPE_WIDGET_FLAGS) +gtktypebuiltins.h: gtk.defs maketypes.awk + $(AWK) -f maketypes.awk gtk.defs macros >gtktypebuiltins.h + +# generate type identifier variables (GTK_TYPE_WIDGET_FLAGS) +gtktypebuiltins_vars.c: gtk.defs maketypes.awk + $(AWK) -f maketypes.awk gtk.defs variables >gtktypebuiltins_vars.c + +# generate type entries for type-id registration +gtktypebuiltins_ids.c: gtk.defs maketypes.awk + $(AWK) -f maketypes.awk gtk.defs entries >gtktypebuiltins_ids.c + +# generate enum value arrays +gtktypebuiltins_evals.c: makeenums.pl gtk.defs + $(PERL) makeenums.pl arrays $(source_headers) $(gdk_headers) >gtktypebuiltins_evals.c + +gtkmarshal.h gtkmarshal.c : gtkmarshal.list genmarshal.pl + $(PERL) genmarshal.pl + del gtkmarshal.c + rename s-gmc gtkmarshal.c + del gtkmarshal.h + rename s-gmh gtkmarshal.h + +# +# Linking: +# +gtk-$(GTK_VER).dll : $(gtk_OBJECTS) gtk.def + $(CC) $(CFLAGS) -LD -Fegtk-$(GTK_VER).dll $(gtk_OBJECTS) $(MEMCHECKLIB) $(GDK)\gdk-$(GTK_VER).lib $(GLIB)\glib-$(GLIB_VER).lib $(GLIB)\gmodule-$(GLIB_VER).lib gdi32.lib user32.lib $(LDFLAGS) /def:gtk.def + +# General rule for compiling the objects into the DLL +.c.obj : + $(CC) $(CFLAGS) -GD -c -DGTK_COMPILATION -DG_LOG_DOMAIN=\"Gtk\" $< + +# +# Test programs: +# +testdnd.exe : testdnd.obj + $(CC) $(CFLAGS) testdnd.obj gtk-$(GTK_VER).lib $(GDK)\gdk-$(GTK_VER).lib $(GLIB)\glib-$(GLIB_VER).lib $(LDFLAGS) + +# Must have separate rules for these objects that don't go in the DLL +testdnd.obj : testdnd.c + $(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"testdnd\" testdnd.c + +testgtk.exe : testgtk.obj + $(CC) $(CFLAGS) testgtk.obj $(MEMCHECKLIB) gtk-$(GTK_VER).lib $(GDK)\gdk-$(GTK_VER).lib $(GLIB)\glib-$(GLIB_VER).lib $(LDFLAGS) + +testgtk.obj : testgtk.c + $(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"testgtk\" testgtk.c + +testinput.exe : testinput.obj + $(CC) $(CFLAGS) testinput.obj gtk-$(GTK_VER).lib $(GDK)\gdk-$(GTK_VER).lib $(GLIB)\glib-$(GLIB_VER).lib $(LDFLAGS) + +testinput.obj : testinput.c + $(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"testinput\" testinput.c + +testrgb.exe : testrgb.obj + $(CC) $(CFLAGS) testrgb.obj gtk-$(GTK_VER).lib $(GDK)\gdk-$(GTK_VER).lib $(GLIB)\glib-$(GLIB_VER).lib $(LDFLAGS) + +testrgb.obj : testrgb.c + $(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"testrgb\" testrgb.c + +testselection.exe : testselection.obj + $(CC) $(CFLAGS) testselection.obj gtk-$(GTK_VER).lib $(GDK)\gdk-$(GTK_VER).lib $(GLIB)\glib-$(GLIB_VER).lib $(LDFLAGS) + +testselection.obj : testselection.c + $(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"testselection\" testselection.c + +testthreads.exe : testthreads.obj + $(CC) $(CFLAGS) testthreads.obj gtk-$(GTK_VER).lib $(GDK)\gdk-$(GTK_VER).lib $(GLIB)\glib-$(GLIB_VER).lib $(GLIB)\gthread-$(GLIB_VER).lib $(PTHREAD_LIB) $(LDFLAGS) + +testthreads.obj : testthreads.c + $(CC) $(CFLAGS) -I$(PTHREAD_INC) -c -DG_LOG_DOMAIN=\"testthreads\" -DUSE_PTHREADS=1 testthreads.c + +simple.exe : simple.obj + $(CC) $(CFLAGS) simple.obj gtk-$(GTK_VER).lib $(GDK)\gdk-$(GTK_VER).lib $(GLIB)\glib-$(GLIB_VER).lib $(LDFLAGS) + +simple.obj : simple.c + $(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"simple\" simple.c + +# The clean target doesn't remove the generated sources +clean: + del *.exe + del *.obj + del *.dll + del *.lib + del *.exp + del *.err + del *.map + del *.sym + del *.lk1 + del *.mk1 + del *.pdb + del *.ilk diff --git a/gtk/maketypes.awk b/gtk/maketypes.awk index 44fec3f774..ab951bb964 100644 --- a/gtk/maketypes.awk +++ b/gtk/maketypes.awk @@ -20,7 +20,20 @@ BEGIN { } if (gen_macros) - printf ("/* type macros, generated by maketypes.awk */\n\n"); + { + printf ("/* type macros, generated by maketypes.awk */\n"); + printf ("\n"); + printf ("#ifdef NATIVE_WIN32\n"); + printf ("# ifdef GTK_COMPILATION\n"); + printf ("# define GTKTYPEBUILTINS_VAR __declspec(dllexport)\n"); + printf ("# else\n"); + printf ("# define GTKTYPEBUILTINS_VAR extern __declspec(dllimport)\n"); + printf ("# endif\n"); + printf ("#else\n"); + printf ("# define GTKTYPEBUILTINS_VAR extern\n"); + printf ("#endif\n"); + printf ("\n"); + } else if (gen_entries) printf ("/* type entries, generated by maketypes.awk */\n\n"); else if (gen_vars) @@ -56,7 +69,7 @@ function generate (generate_1) { if (gen_macros) { - printf ("extern GtkType %s;\n", type_macro); + printf ("GTKTYPEBUILTINS_VAR GtkType %s;\n", type_macro); } if (gen_entries) { diff --git a/gtk/testrgb.c b/gtk/testrgb.c index 99cd6eba52..c629598bee 100644 --- a/gtk/testrgb.c +++ b/gtk/testrgb.c @@ -17,6 +17,10 @@ * Boston, MA 02111-1307, USA. */ +#include "config.h" + +#include <glib.h> + /* * 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 @@ -28,10 +32,10 @@ /* Note: these #includes differ slightly from the testrgb.c file included in the GdkRgb release. */ -/* For gettimeofday */ -#include <sys/time.h> #include <stdlib.h> +#ifdef HAVE_UNISTD_H #include <unistd.h> +#endif #include <string.h> #include "gtk.h" @@ -44,24 +48,12 @@ quit_func (GtkWidget *widget, gpointer dummy) #define WIDTH 320 #define HEIGHT 200 - -gdouble -get_time (void) -{ - struct timeval tv; - struct timezone tz; - - gettimeofday (&tv, &tz); - - return tv.tv_sec + 1e-6 * tv.tv_usec; -} - #define NUM_ITERS 100 static void testrgb_rgb_test (GtkWidget *drawing_area) { - guchar buf[WIDTH * HEIGHT * 6]; + guchar *buf; gint i, j; gint offset; guchar val; @@ -69,6 +61,9 @@ testrgb_rgb_test (GtkWidget *drawing_area) gint x, y; gboolean dither; int dith_max; + GTimer *timer; + + buf = g_malloc (WIDTH * HEIGHT * 6); val = 0; for (j = 0; j < WIDTH * HEIGHT * 6; j++) @@ -94,9 +89,10 @@ testrgb_rgb_test (GtkWidget *drawing_area) else dith_max = 1; + timer = g_timer_new (); for (dither = 0; dither < dith_max; dither++) { - start_time = get_time (); + start_time = g_timer_elapsed (timer, NULL); for (i = 0; i < NUM_ITERS; i++) { offset = (rand () % (WIDTH * HEIGHT * 3)) & -4; @@ -107,7 +103,7 @@ testrgb_rgb_test (GtkWidget *drawing_area) GDK_RGB_DITHER_NONE, buf + offset, WIDTH * 3); } - total_time = get_time () - start_time; + total_time = g_timer_elapsed (timer, NULL) - start_time; g_print ("Color test%s time elapsed: %.2fs, %.1f fps, %.2f megapixels/s\n", dither ? " (dithered)" : "", total_time, @@ -117,7 +113,7 @@ testrgb_rgb_test (GtkWidget *drawing_area) for (dither = 0; dither < dith_max; dither++) { - start_time = get_time (); + start_time = g_timer_elapsed (timer, NULL); for (i = 0; i < NUM_ITERS; i++) { offset = (rand () % (WIDTH * HEIGHT)) & -4; @@ -128,7 +124,7 @@ testrgb_rgb_test (GtkWidget *drawing_area) GDK_RGB_DITHER_NONE, buf + offset, WIDTH); } - total_time = get_time () - start_time; + total_time = g_timer_elapsed (timer, NULL) - start_time; g_print ("Grayscale test%s time elapsed: %.2fs, %.1f fps, %.2f megapixels/s\n", dither ? " (dithered)" : "", total_time, diff --git a/tests/testrgb.c b/tests/testrgb.c index 99cd6eba52..c629598bee 100644 --- a/tests/testrgb.c +++ b/tests/testrgb.c @@ -17,6 +17,10 @@ * Boston, MA 02111-1307, USA. */ +#include "config.h" + +#include <glib.h> + /* * 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 @@ -28,10 +32,10 @@ /* Note: these #includes differ slightly from the testrgb.c file included in the GdkRgb release. */ -/* For gettimeofday */ -#include <sys/time.h> #include <stdlib.h> +#ifdef HAVE_UNISTD_H #include <unistd.h> +#endif #include <string.h> #include "gtk.h" @@ -44,24 +48,12 @@ quit_func (GtkWidget *widget, gpointer dummy) #define WIDTH 320 #define HEIGHT 200 - -gdouble -get_time (void) -{ - struct timeval tv; - struct timezone tz; - - gettimeofday (&tv, &tz); - - return tv.tv_sec + 1e-6 * tv.tv_usec; -} - #define NUM_ITERS 100 static void testrgb_rgb_test (GtkWidget *drawing_area) { - guchar buf[WIDTH * HEIGHT * 6]; + guchar *buf; gint i, j; gint offset; guchar val; @@ -69,6 +61,9 @@ testrgb_rgb_test (GtkWidget *drawing_area) gint x, y; gboolean dither; int dith_max; + GTimer *timer; + + buf = g_malloc (WIDTH * HEIGHT * 6); val = 0; for (j = 0; j < WIDTH * HEIGHT * 6; j++) @@ -94,9 +89,10 @@ testrgb_rgb_test (GtkWidget *drawing_area) else dith_max = 1; + timer = g_timer_new (); for (dither = 0; dither < dith_max; dither++) { - start_time = get_time (); + start_time = g_timer_elapsed (timer, NULL); for (i = 0; i < NUM_ITERS; i++) { offset = (rand () % (WIDTH * HEIGHT * 3)) & -4; @@ -107,7 +103,7 @@ testrgb_rgb_test (GtkWidget *drawing_area) GDK_RGB_DITHER_NONE, buf + offset, WIDTH * 3); } - total_time = get_time () - start_time; + total_time = g_timer_elapsed (timer, NULL) - start_time; g_print ("Color test%s time elapsed: %.2fs, %.1f fps, %.2f megapixels/s\n", dither ? " (dithered)" : "", total_time, @@ -117,7 +113,7 @@ testrgb_rgb_test (GtkWidget *drawing_area) for (dither = 0; dither < dith_max; dither++) { - start_time = get_time (); + start_time = g_timer_elapsed (timer, NULL); for (i = 0; i < NUM_ITERS; i++) { offset = (rand () % (WIDTH * HEIGHT)) & -4; @@ -128,7 +124,7 @@ testrgb_rgb_test (GtkWidget *drawing_area) GDK_RGB_DITHER_NONE, buf + offset, WIDTH); } - total_time = get_time () - start_time; + total_time = g_timer_elapsed (timer, NULL) - start_time; g_print ("Grayscale test%s time elapsed: %.2fs, %.1f fps, %.2f megapixels/s\n", dither ? " (dithered)" : "", total_time, |