summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Lillqvist <tml@src.gnome.org>1999-03-15 00:03:37 +0000
committerTor Lillqvist <tml@src.gnome.org>1999-03-15 00:03:37 +0000
commitc65508d2723d255a9fcdfa8ac2a5f82b0667a7c6 (patch)
tree57c568358f89e9d1ec3c561bae77f5b76adc6417
parent044fd2db4700cf34d4a2b06424be0bbe2dce5b78 (diff)
downloadgtk+-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.
-rw-r--r--ChangeLog62
-rw-r--r--ChangeLog.pre-2-062
-rw-r--r--ChangeLog.pre-2-1062
-rw-r--r--ChangeLog.pre-2-262
-rw-r--r--ChangeLog.pre-2-462
-rw-r--r--ChangeLog.pre-2-662
-rw-r--r--ChangeLog.pre-2-862
-rw-r--r--acconfig.h1
-rwxr-xr-xconfig.h.win32175
-rw-r--r--configure.in1
-rw-r--r--gdk/win32/gdkglobals-win32.c31
-rw-r--r--gdk/win32/gdkglobals.c31
-rw-r--r--gdk/win32/gdkrgb.c4
-rw-r--r--gdk/win32/gdktypes.h24
-rw-r--r--gdk/win32/makefile.msc97
-rw-r--r--gtk/Makefile.am4
-rw-r--r--gtk/fnmatch.c37
-rwxr-xr-xgtk/gtk.def1293
-rw-r--r--gtk/gtkcalendar.c4
-rw-r--r--gtk/gtkdnd.c13
-rw-r--r--gtk/gtkfilesel.c25
-rw-r--r--gtk/gtkitemfactory.c15
-rw-r--r--gtk/gtklayout.c25
-rw-r--r--gtk/gtkmain.c15
-rw-r--r--gtk/gtkmain.h20
-rw-r--r--gtk/gtkplug.c150
-rw-r--r--gtk/gtkpreview.c3
-rw-r--r--gtk/gtkrange.c2
-rw-r--r--gtk/gtkrc.c123
-rw-r--r--gtk/gtkselection.c6
-rw-r--r--gtk/gtksocket.c19
-rw-r--r--gtk/gtkthemes.c7
-rw-r--r--gtk/makeenums.h2
-rwxr-xr-xgtk/makefile.msc398
-rw-r--r--gtk/maketypes.awk17
-rw-r--r--gtk/testrgb.c34
-rw-r--r--tests/testrgb.c34
37 files changed, 2869 insertions, 175 deletions
diff --git a/ChangeLog b/ChangeLog
index dcb71f7220..36d55c5218 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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,