summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Lillqvist <tml@iki.fi>2000-07-11 21:42:15 +0000
committerTor Lillqvist <tml@src.gnome.org>2000-07-11 21:42:15 +0000
commit2823963703949ac3f5358188f2e053d72813701a (patch)
treee4123a6946499c14e44e467c0b31981f8524492c
parent5fc106081f0649f770f7ff94359a3d571e45384c (diff)
downloadgtk+-2823963703949ac3f5358188f2e053d72813701a.tar.gz
Win32 changes, still doesn't build though.
2000-07-12 Tor Lillqvist <tml@iki.fi> Win32 changes, still doesn't build though. * gdk/makefile.cygwin * gdk/win32/makefile.cygwin * gtk/makefile.cygwin: Updates. * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same default values for fg and bg pixel as X11 does (0 and 1), not black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default. Use 0 for pen width by default (treated as 1 anyway later, but for apps that might check the value in the GdkGC). (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public interface to gdk_gc_predraw and _postdraw. * gdk/win32/gdkwin32.h * gdk/gdk.def: Add gdk_win32_hdc_{get,release}. * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove extraneous semicolon. * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0. * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth, not the Win32 bitspixel value.
-rw-r--r--ChangeLog27
-rw-r--r--ChangeLog.pre-2-027
-rw-r--r--ChangeLog.pre-2-1027
-rw-r--r--ChangeLog.pre-2-227
-rw-r--r--ChangeLog.pre-2-427
-rw-r--r--ChangeLog.pre-2-627
-rw-r--r--ChangeLog.pre-2-827
-rw-r--r--gdk/gdk.def2
-rw-r--r--gdk/makefile.cygwin40
-rw-r--r--gdk/win32/gdkcolor-win32.c2
-rw-r--r--gdk/win32/gdkdrawable-win32.c8
-rw-r--r--gdk/win32/gdkfont-win32.c2
-rw-r--r--gdk/win32/gdkgc-win32.c40
-rw-r--r--gdk/win32/gdkimage-win32.c3
-rw-r--r--gdk/win32/gdkwin32.h19
-rw-r--r--gdk/win32/makefile.cygwin42
-rw-r--r--gdk/win32/makefile.msc17
-rw-r--r--gtk/makefile.cygwin44
18 files changed, 279 insertions, 129 deletions
diff --git a/ChangeLog b/ChangeLog
index 895e93eb5f..b76c3588ec 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,30 @@
+2000-07-12 Tor Lillqvist <tml@iki.fi>
+
+ Win32 changes, still doesn't build though.
+
+ * gdk/makefile.cygwin
+ * gdk/win32/makefile.cygwin
+ * gtk/makefile.cygwin: Updates.
+
+ * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
+ default values for fg and bg pixel as X11 does (0 and 1), not
+ black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
+ Use 0 for pen width by default (treated as 1 anyway later, but for
+ apps that might check the value in the GdkGC).
+ (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
+ interface to gdk_gc_predraw and _postdraw.
+
+ * gdk/win32/gdkwin32.h
+ * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
+
+ * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
+ extraneous semicolon.
+
+ * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
+
+ * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
+ not the Win32 bitspixel value.
+
Tue Jul 11 20:59:35 2000 Tim Janik <timj@gtk.org>
* docs/tutorial/gtk_tut_12.es.sgml (name):
diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0
index 895e93eb5f..b76c3588ec 100644
--- a/ChangeLog.pre-2-0
+++ b/ChangeLog.pre-2-0
@@ -1,3 +1,30 @@
+2000-07-12 Tor Lillqvist <tml@iki.fi>
+
+ Win32 changes, still doesn't build though.
+
+ * gdk/makefile.cygwin
+ * gdk/win32/makefile.cygwin
+ * gtk/makefile.cygwin: Updates.
+
+ * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
+ default values for fg and bg pixel as X11 does (0 and 1), not
+ black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
+ Use 0 for pen width by default (treated as 1 anyway later, but for
+ apps that might check the value in the GdkGC).
+ (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
+ interface to gdk_gc_predraw and _postdraw.
+
+ * gdk/win32/gdkwin32.h
+ * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
+
+ * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
+ extraneous semicolon.
+
+ * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
+
+ * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
+ not the Win32 bitspixel value.
+
Tue Jul 11 20:59:35 2000 Tim Janik <timj@gtk.org>
* docs/tutorial/gtk_tut_12.es.sgml (name):
diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10
index 895e93eb5f..b76c3588ec 100644
--- a/ChangeLog.pre-2-10
+++ b/ChangeLog.pre-2-10
@@ -1,3 +1,30 @@
+2000-07-12 Tor Lillqvist <tml@iki.fi>
+
+ Win32 changes, still doesn't build though.
+
+ * gdk/makefile.cygwin
+ * gdk/win32/makefile.cygwin
+ * gtk/makefile.cygwin: Updates.
+
+ * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
+ default values for fg and bg pixel as X11 does (0 and 1), not
+ black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
+ Use 0 for pen width by default (treated as 1 anyway later, but for
+ apps that might check the value in the GdkGC).
+ (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
+ interface to gdk_gc_predraw and _postdraw.
+
+ * gdk/win32/gdkwin32.h
+ * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
+
+ * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
+ extraneous semicolon.
+
+ * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
+
+ * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
+ not the Win32 bitspixel value.
+
Tue Jul 11 20:59:35 2000 Tim Janik <timj@gtk.org>
* docs/tutorial/gtk_tut_12.es.sgml (name):
diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2
index 895e93eb5f..b76c3588ec 100644
--- a/ChangeLog.pre-2-2
+++ b/ChangeLog.pre-2-2
@@ -1,3 +1,30 @@
+2000-07-12 Tor Lillqvist <tml@iki.fi>
+
+ Win32 changes, still doesn't build though.
+
+ * gdk/makefile.cygwin
+ * gdk/win32/makefile.cygwin
+ * gtk/makefile.cygwin: Updates.
+
+ * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
+ default values for fg and bg pixel as X11 does (0 and 1), not
+ black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
+ Use 0 for pen width by default (treated as 1 anyway later, but for
+ apps that might check the value in the GdkGC).
+ (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
+ interface to gdk_gc_predraw and _postdraw.
+
+ * gdk/win32/gdkwin32.h
+ * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
+
+ * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
+ extraneous semicolon.
+
+ * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
+
+ * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
+ not the Win32 bitspixel value.
+
Tue Jul 11 20:59:35 2000 Tim Janik <timj@gtk.org>
* docs/tutorial/gtk_tut_12.es.sgml (name):
diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4
index 895e93eb5f..b76c3588ec 100644
--- a/ChangeLog.pre-2-4
+++ b/ChangeLog.pre-2-4
@@ -1,3 +1,30 @@
+2000-07-12 Tor Lillqvist <tml@iki.fi>
+
+ Win32 changes, still doesn't build though.
+
+ * gdk/makefile.cygwin
+ * gdk/win32/makefile.cygwin
+ * gtk/makefile.cygwin: Updates.
+
+ * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
+ default values for fg and bg pixel as X11 does (0 and 1), not
+ black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
+ Use 0 for pen width by default (treated as 1 anyway later, but for
+ apps that might check the value in the GdkGC).
+ (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
+ interface to gdk_gc_predraw and _postdraw.
+
+ * gdk/win32/gdkwin32.h
+ * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
+
+ * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
+ extraneous semicolon.
+
+ * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
+
+ * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
+ not the Win32 bitspixel value.
+
Tue Jul 11 20:59:35 2000 Tim Janik <timj@gtk.org>
* docs/tutorial/gtk_tut_12.es.sgml (name):
diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6
index 895e93eb5f..b76c3588ec 100644
--- a/ChangeLog.pre-2-6
+++ b/ChangeLog.pre-2-6
@@ -1,3 +1,30 @@
+2000-07-12 Tor Lillqvist <tml@iki.fi>
+
+ Win32 changes, still doesn't build though.
+
+ * gdk/makefile.cygwin
+ * gdk/win32/makefile.cygwin
+ * gtk/makefile.cygwin: Updates.
+
+ * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
+ default values for fg and bg pixel as X11 does (0 and 1), not
+ black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
+ Use 0 for pen width by default (treated as 1 anyway later, but for
+ apps that might check the value in the GdkGC).
+ (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
+ interface to gdk_gc_predraw and _postdraw.
+
+ * gdk/win32/gdkwin32.h
+ * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
+
+ * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
+ extraneous semicolon.
+
+ * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
+
+ * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
+ not the Win32 bitspixel value.
+
Tue Jul 11 20:59:35 2000 Tim Janik <timj@gtk.org>
* docs/tutorial/gtk_tut_12.es.sgml (name):
diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8
index 895e93eb5f..b76c3588ec 100644
--- a/ChangeLog.pre-2-8
+++ b/ChangeLog.pre-2-8
@@ -1,3 +1,30 @@
+2000-07-12 Tor Lillqvist <tml@iki.fi>
+
+ Win32 changes, still doesn't build though.
+
+ * gdk/makefile.cygwin
+ * gdk/win32/makefile.cygwin
+ * gtk/makefile.cygwin: Updates.
+
+ * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
+ default values for fg and bg pixel as X11 does (0 and 1), not
+ black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
+ Use 0 for pen width by default (treated as 1 anyway later, but for
+ apps that might check the value in the GdkGC).
+ (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
+ interface to gdk_gc_predraw and _postdraw.
+
+ * gdk/win32/gdkwin32.h
+ * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
+
+ * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
+ extraneous semicolon.
+
+ * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
+
+ * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
+ not the Win32 bitspixel value.
+
Tue Jul 11 20:59:35 2000 Tim Janik <timj@gtk.org>
* docs/tutorial/gtk_tut_12.es.sgml (name):
diff --git a/gdk/gdk.def b/gdk/gdk.def
index 78bb1c369f..da3f80315e 100644
--- a/gdk/gdk.def
+++ b/gdk/gdk.def
@@ -285,6 +285,8 @@ EXPORTS
gdk_visual_ref
gdk_visual_unref
gdk_wcstombs
+ gdk_win32_hdc_get
+ gdk_win32_hdc_release
gdk_window_add_filter
gdk_window_at_pointer
gdk_window_begin_paint_rect
diff --git a/gdk/makefile.cygwin b/gdk/makefile.cygwin
index 5101999f53..045b83942b 100644
--- a/gdk/makefile.cygwin
+++ b/gdk/makefile.cygwin
@@ -8,19 +8,17 @@
OPTIMIZE = -g
-################################################################
-
-# Nothing much configurable below
+TOP = ../..
-CC = gcc -mno-cygwin -mpentium -fnative-struct
+include $(TOP)/build/win32/make.mingw
-CP = cp
+################################################################
-GLIB_VER=1.3
-GTK_VER=1.3
+# Nothing much configurable below
-GLIB = ../../glib
-CFLAGS = $(OPTIMIZE) -I . -I .. -I $(GLIB) -DG_ENABLE_DEBUG -DHAVE_CONFIG_H -DGDK_VERSION=\"$(GTK_VER)\"
+INCLUDES = -I . -I .. -I ../gdk-pixbuf
+DEPCFLAGS = $(GLIB_CFLAGS) $(PANGO_CFLAGS)
+DEFINES = -DG_ENABLE_DEBUG -DHAVE_CONFIG_H -DGDK_VERSION=\"$(GTK_VER)\"
all: \
../config.h \
@@ -37,26 +35,22 @@ gdk_OBJECTS = \
gdkgc.o \
gdkglobals.o \
gdkimage.o \
+ gdkkeyuni.o \
+ gdkpango.o \
+ gdkpixbuf-drawable.o \
+ gdkpixbuf-render.o \
+ gdkpixmap.o \
+ gdkpolyreg-generic.o \
gdkrgb.o \
gdkrectangle.o \
+ gdkregion-generic.o \
gdkwindow.o
../config.h : ../config.h.win32
- $(CP) ../config.h.win32 ../config.h
+ cp $< $@
gdkconfig.h : gdkconfig.h.win32
- $(CP) gdkconfig.h.win32 gdkconfig.h
+ cp $< $@
gdk-$(GTK_VER).dll : $(gdk_OBJECTS) gdk.def win32/libgdk-win32.a win32/gdk-win32res.o
- $(GLIB)/build-dll gdk $(GTK_VER) gdk.def $(gdk_OBJECTS) -L win32 -lgdk-win32 -lwntab32x -L $(GLIB) -lglib-$(GLIB_VER) -lgdi32 -luser32 -limm32 -lshell32 -lole32 -luuid $(LDFLAGS) win32/gdk-win32res.o
-
-.SUFFIXES: .c .o .i
-
-.c.o :
- $(CC) $(CFLAGS) -c -DGDK_COMPILATION -DG_LOG_DOMAIN=\"Gdk\" $<
-
-.c.i :
- $(CC) $(CFLAGS) -E -DGDK_COMPILATION -DG_LOG_DOMAIN=\"Gdk\" $< >$@
-
-clean:
- -rm *.exe *.o *.dll *.a *.exp *.base
+ $(GLIB)/build-dll gdk $(GTK_VER) gdk.def $(gdk_OBJECTS) -L win32 -lgdk-win32 -lwntab32x $(GLIB_LIBS) -lgdi32 -luser32 -limm32 -lshell32 -lole32 -luuid $(LDFLAGS) win32/gdk-win32res.o
diff --git a/gdk/win32/gdkcolor-win32.c b/gdk/win32/gdkcolor-win32.c
index e6b55d2e46..0f46f7ec1a 100644
--- a/gdk/win32/gdkcolor-win32.c
+++ b/gdk/win32/gdkcolor-win32.c
@@ -1727,7 +1727,7 @@ gdk_colormap_alloc1 (GdkColormap *colormap,
if (alloc_color (private->xcolormap, &xcolor, &ret->pixel))
{
ret->red = (xcolor.peRed * 65535) / 255;
- ret->green = (xcolor.peGreen * 65535) / 255;;
+ ret->green = (xcolor.peGreen * 65535) / 255;
ret->blue = (xcolor.peBlue * 65535) / 255;
if ((guint) ret->pixel < colormap->size)
diff --git a/gdk/win32/gdkdrawable-win32.c b/gdk/win32/gdkdrawable-win32.c
index 4d950f47b7..37abf2db75 100644
--- a/gdk/win32/gdkdrawable-win32.c
+++ b/gdk/win32/gdkdrawable-win32.c
@@ -791,7 +791,7 @@ gdk_win32_draw_segments (GdkDrawable *drawable,
WIN32_GDI_FAILED ("LineTo"), ok = FALSE;
/* Draw end pixel */
- if (ok && gc_data->pen_width == 1)
+ if (ok && gc_data->pen_width <= 1)
if (!LineTo (hdc, segs[i].x2 + 1, segs[i].y2))
WIN32_GDI_FAILED ("LineTo"), ok = FALSE;
}
@@ -819,7 +819,7 @@ gdk_win32_draw_segments (GdkDrawable *drawable,
WIN32_GDI_FAILED ("LineTo");
/* Draw end pixel */
- if (gc_data->pen_width == 1)
+ if (gc_data->pen_width <= 1)
if (!LineTo (hdc, segs[i].x2 + 1, segs[i].y2))
WIN32_GDI_FAILED ("LineTo");
}
@@ -859,7 +859,7 @@ gdk_win32_draw_lines (GdkDrawable *drawable,
g_free (pts);
/* Draw end pixel */
- if (gc_data->pen_width == 1)
+ if (gc_data->pen_width <= 1)
{
MoveToEx (hdc, points[npoints-1].x, points[npoints-1].y, NULL);
if (!LineTo (hdc, points[npoints-1].x + 1, points[npoints-1].y))
@@ -876,7 +876,7 @@ gdk_win32_draw_lines (GdkDrawable *drawable,
* we draw the end pixel separately... With wider pens we don't care.
* //HB: But the NT developers don't read their API documentation ...
*/
- if (gc_data->pen_width == 1 && windows_version > 0x80000000)
+ if (gc_data->pen_width <= 1 && windows_version > 0x80000000)
if (!LineTo (hdc, points[npoints-1].x + 1, points[npoints-1].y))
WIN32_GDI_FAILED ("LineTo");
#endif
diff --git a/gdk/win32/gdkfont-win32.c b/gdk/win32/gdkfont-win32.c
index ad87a15eb6..db8c2067a8 100644
--- a/gdk/win32/gdkfont-win32.c
+++ b/gdk/win32/gdkfont-win32.c
@@ -454,7 +454,7 @@ gdk_font_list_free (gchar **font_list)
* Blocks.txt from ftp.unicode.org. The bit number field is the bitfield
* number as in the FONTSIGNATURE struct's fsUsb field.
* There are some grave bugs in the table in the books. For instance
- * it claims there are Hangul at U+3400..U+4DFF while this range in
+ * it claims there are Hangul at U+3400..U+4DFF while this range in
* fact contains CJK Unified Ideographs Extension A. Also, the whole
* block of Hangul Syllables U+AC00..U+D7A3 is missing from the book.
*/
diff --git a/gdk/win32/gdkgc-win32.c b/gdk/win32/gdkgc-win32.c
index 0c7eb5c19b..dd14b4ae8c 100644
--- a/gdk/win32/gdkgc-win32.c
+++ b/gdk/win32/gdkgc-win32.c
@@ -411,16 +411,6 @@ _gdk_win32_gc_new (GdkDrawable *drawable,
GdkGC *gc;
GdkGCPrivate *private;
GdkGCWin32Data *data;
- static GdkColor black;
- static GdkColor white;
- static gboolean beenhere = FALSE;
-
- if (!beenhere)
- {
- gdk_color_black (gdk_colormap_get_system (), &black);
- gdk_color_white (gdk_colormap_get_system (), &white);
- beenhere = TRUE;
- }
gc = gdk_gc_alloc ();
private = (GdkGCPrivate *)gc;
@@ -430,15 +420,18 @@ _gdk_win32_gc_new (GdkDrawable *drawable,
data->clip_region = NULL;
- data->foreground = black.pixel;
- data->background = white.pixel;
+ /* Use the same default values as X11 does, even if they don't make
+ * sense per se. But apps always set fg and bg anyway.
+ */
+ data->foreground = 0;
+ data->background = 1;
data->font = NULL;
data->rop2 = R2_COPYPEN;
data->fill_style = GDK_SOLID;
data->tile = NULL;
data->stipple = NULL;
- data->pen_style = PS_GEOMETRIC;
- data->pen_width = 1;
+ data->pen_style = PS_GEOMETRIC|PS_ENDCAP_FLAT|PS_JOIN_MITER;
+ data->pen_width = 0;
data->values_mask = GDK_GC_FUNCTION | GDK_GC_FILL;
@@ -829,7 +822,8 @@ predraw_set_foreground (GdkGCPrivate *gc_private,
logbrush.lbStyle = BS_SOLID;
logbrush.lbColor = fg;
- if (*ok && (hpen = ExtCreatePen (data->pen_style, data->pen_width,
+ if (*ok && (hpen = ExtCreatePen (data->pen_style,
+ (data->pen_width > 0 ? data->pen_width : 1),
&logbrush, 0, NULL)) == NULL)
WIN32_GDI_FAILED ("ExtCreatePen");
@@ -1112,6 +1106,22 @@ gdk_gc_postdraw (GdkDrawable *drawable,
data->xgc = NULL;
}
+HDC
+gdk_win32_hdc_get (GdkDrawable *drawable,
+ GdkGC *gc,
+ GdkGCValuesMask usage)
+{
+ return gdk_gc_predraw (drawable, (GdkGCPrivate *) gc, usage);
+}
+
+void
+gdk_win32_hdc_release (GdkDrawable *drawable,
+ GdkGC *gc,
+ GdkGCValuesMask usage)
+{
+ gdk_gc_postdraw (drawable, (GdkGCPrivate *) gc, usage);
+}
+
/* This function originally from Jean-Edouard Lachand-Robert, and
* available at www.codeguru.com. Simplified for our needs, now
* handles just one-bit deep bitmaps (in Window parlance, ie those
diff --git a/gdk/win32/gdkimage-win32.c b/gdk/win32/gdkimage-win32.c
index 57e342a93d..a05f17db9a 100644
--- a/gdk/win32/gdkimage-win32.c
+++ b/gdk/win32/gdkimage-win32.c
@@ -285,9 +285,8 @@ gdk_image_new (GdkImageType type,
gint width,
gint height)
{
- GdkVisualPrivate *visual_private = (GdkVisualPrivate *) visual;
return gdk_image_new_with_depth (type, visual, width, height,
- visual_private->xvisual->bitspixel);
+ visual->depth);
}
GdkImage*
diff --git a/gdk/win32/gdkwin32.h b/gdk/win32/gdkwin32.h
index 70e63f21cb..323e894880 100644
--- a/gdk/win32/gdkwin32.h
+++ b/gdk/win32/gdkwin32.h
@@ -316,7 +316,6 @@ struct _GdkVisualPrivate
struct _GdkColormapPrivateWin32
{
- GdkColormapPrivate base;
Colormap xcolormap;
gint private_val;
@@ -327,7 +326,6 @@ struct _GdkColormapPrivateWin32
struct _GdkImagePrivateWin32
{
- GdkImagePrivate base;
HBITMAP ximage;
};
@@ -353,4 +351,21 @@ GdkWindow *gdk_window_foreign_new (guint32 anid);
/* Return the Gdk* for a particular HANDLE */
gpointer gdk_xid_table_lookup (HANDLE handle);
+/* Return a device context to draw in a drawable, given a GDK GC,
+ * and a mask indicating which GC values might be used (for efficiency,
+ * no need to muck around with text-related stuff if we aren't going
+ * to output text, for instance).
+ */
+HDC gdk_win32_hdc_get (GdkDrawable *drawable,
+ GdkGC *gc,
+ GdkGCValuesMask usage);
+
+
+/* Each HDC returned from gdk_win32_hdc_get must be released with
+ * this function
+ */
+void gdk_win32_hdc_release (GdkDrawable *drawable,
+ GdkGC *gc,
+ GdkGCValuesMask usage);
+
#endif /* __GDK_WIN32_H__ */
diff --git a/gdk/win32/makefile.cygwin b/gdk/win32/makefile.cygwin
index f6f0d1b62f..5d33ea042f 100644
--- a/gdk/win32/makefile.cygwin
+++ b/gdk/win32/makefile.cygwin
@@ -7,17 +7,17 @@ WTKIT = ../../../wtkit126
OPTIMIZE = -g
-################################################################
+TOP = ../../..
-# Nothing much configurable below
+include $(TOP)/build/win32/make.mingw
-CC = gcc -mno-cygwin -mpentium -fnative-struct
+################################################################
-GLIB_VER=1.3
-GTK_VER=1.3
+# Nothing much configurable below
-GLIB = ../../../glib
-CFLAGS = $(OPTIMIZE) -I . -I .. -I ../.. -I $(WTKIT)/include -I $(GLIB) -DG_ENABLE_DEBUG -DHAVE_CONFIG_H -DGDK_VERSION=\"$(GTK_VER)\"
+INCLUDES = -I ../.. -I .. -I $(WTKIT)/include
+DEPCFLAGS = $(GLIB_CFLAGS) $(PANGO_CFLAGS)
+DEFINES = -DG_ENABLE_DEBUG -DHAVE_CONFIG_H -DGDK_VERSION=\"$(GTK_VER)\"
all: \
../../config.h \
@@ -43,8 +43,6 @@ gdk_win32_OBJECTS = \
gdkmain-win32.o \
gdkpixmap-win32.o \
gdkproperty-win32.o \
- gdkpolyreg-generic.o \
- gdkregion-generic.o \
gdkselection-win32.o \
gdkvisual-win32.o \
gdkwin32id.o \
@@ -56,21 +54,6 @@ gdk_win32_OBJECTS = \
../gdkconfig.h : ../gdkconfig.h.win32
cp $< $@
-gdkregion-generic.c: ../x11/gdkregion-generic.c
- cp $< $@
-
-gdkpolyreg-generic.c: ../x11/gdkpolyreg-generic.c
- cp $< $@
-
-gdkregion-generic.h: ../x11/gdkregion-generic.h
- cp $< $@
-
-gdkpoly-generic.h: ../x11/gdkpoly-generic.h
- cp $< $@
-
-gdkgc-win32.o:: gdkregion-generic.h
-gdkpolyreg-generic.o:: gdkpoly-generic.h
-
# Kludge to get the path to the win32 headers
WIN32APIHEADERS = $(shell echo "\#include <winver.h>" | $(CC) -M -E - | tail -1 | sed -e 's![\\/]winver.h!!' | tr -d '\015')
@@ -99,14 +82,3 @@ libgdk-win32.a : $(gdk_win32_OBJECTS)
libwntab32x.a : $(WTKIT)/lib/i386/wntab32x.lib
cp $(WTKIT)/lib/i386/wntab32x.lib libwntab32x.a
-
-.SUFFIXES: .c .o .i
-
-.c.o :
- $(CC) $(CFLAGS) -c -DGDK_COMPILATION -DG_LOG_DOMAIN=\"Gdk\" $<
-
-.c.i :
- $(CC) $(CFLAGS) -E -DGDK_COMPILATION -DG_LOG_DOMAIN=\"Gdk\" $< >$@
-
-clean:
- -rm *.exe *.o *.dll *.a *.exp *.base
diff --git a/gdk/win32/makefile.msc b/gdk/win32/makefile.msc
index d384967ffc..5a853444c4 100644
--- a/gdk/win32/makefile.msc
+++ b/gdk/win32/makefile.msc
@@ -51,8 +51,6 @@ gdk_win32_OBJECTS = \
gdkpixmap-win32.obj \
gdkproperty-win32.obj \
gdkregion-win32.obj \
- gdkpolyreg-generic.obj \
- gdkregion-generic.obj \
gdkselection-win32.obj \
gdkvisual-win32.obj \
gdkwin32id.obj \
@@ -64,21 +62,6 @@ gdk_win32_OBJECTS = \
..\gdkconfig.h : ..\gdkconfig.h.win32
copy ..\gdkconfig.h.win32 ..\gdkconfig.h
-gdkregion-generic.c: ..\x11\gdkregion-generic.c
- copy ..\x11\gdkregion-generic.c gdkregion-generic.c
-
-gdkpolyreg-generic.c: ..\x11\gdkpolyreg-generic.c
- copy ..\x11\gdkpolyreg-generic.c gdkpolyreg-generic.c
-
-gdkregion-generic.h: ..\x11\gdkregion-generic.h
- copy ..\x11\gdkregion-generic.h gdkregion-generic.h
-
-gdkpoly-generic.h: ..\x11\gdkpoly-generic.h
- copy ..\x11\gdkpoly-generic.h gdkpoly-generic.h
-
-gdkgc-win32.o:: gdkregion-generic.h
-gdkpolyreg-generic.o:: gdkpoly-generic.h
-
gdk.res : rc\gdk.rc
rc -DBUILDNUMBER=0 -r -fo gdk.res rc\gdk.rc
diff --git a/gtk/makefile.cygwin b/gtk/makefile.cygwin
index b1339a118e..146647c91d 100644
--- a/gtk/makefile.cygwin
+++ b/gtk/makefile.cygwin
@@ -12,25 +12,24 @@ PTHREAD_INC = -I $(PTHREADS)
OPTIMIZE = -g
+TOP = ../..
+
+include $(TOP)/build/win32/make.mingw
+
################################################################
# Nothing much configurable below
-CC = gcc -mno-cygwin -mpentium -fnative-struct
-
# Perl and awk are needed to generate some source files.
-# These generated source files are distribuyted with the Win32 GTk+ source
+# These generated source files are distributed with the Win32 GTk+ source
# distributions, so don't worry if you don't have perl and awk.
PERL = perl
AWK = awk
-GLIB_VER=1.3
-GTK_VER=1.3
-
-GLIB = ../../glib
-INTL = ../../intl
+INCLUDES = -I . -I .. -I ../gdk -I $(GLIB) -I $(GLIB)/gmodule -I $(INTL)
+DEFINES = -DGTK_DISABLE_COMPAT_H -DGTK_COMPILATION -DG_LOG_DOMAIN=\"Gtk\" -DG_LOG_DOMAIN=\"Gtk\"
-CFLAGS = $(OPTIMIZE) -I . -I .. -I ../gdk -I $(GLIB) -I $(GLIB)/gmodule -I $(INTL) -DGTK_DISABLE_COMPAT_H
+WIN32APIHEADERS=$(shell echo "\#include <winver.h>" | $(CC) -M -E - | tail -1 | sed -e 's![\\/]winver.h!!' | tr -d '\015')
all : \
../config.h \
@@ -336,57 +335,48 @@ gtkmarshal.h gtkmarshal.c : gtkmarshal.list genmarshal.pl
gtk-$(GTK_VER).dll : generated $(gtk_OBJECTS) gtk.def
$(GLIB)/build-dll gtk $(GTK_VER) gtk.def $(gtk_OBJECTS) -L ../gdk -lgdk-$(GTK_VER) -L$(INTL) -lgnu-intl -L $(GLIB) -lglib-$(GLIB_VER) -L $(GLIB)/gmodule -lgmodule-$(GLIB_VER) -L $(GLIB)/gobject -lgobject-$(GLIB_VER) -luser32
-.SUFFIXES: .c .o .i
-
-# General rule for compiling the objects into the DLL
-.c.o :
- $(CC) $(CFLAGS) -c -DGTK_COMPILATION -DG_LOG_DOMAIN=\"Gtk\" $<
-
-.c.i :
- $(CC) $(CFLAGS) -E -DGTK_COMPILATION -DG_LOG_DOMAIN=\"Gtk\" $< >$@
-
#
# Test programs:
#
testdnd.exe : testdnd.o
- $(CC) $(CFLAGS) -o $@ testdnd.o -L . -lgtk-$(GTK_VER) -L ../gdk -lgdk-$(GTK_VER) -L $(GLIB) -lglib-$(GLIB_VER) -L $(GLIB)/gobject -lgobject-$(GLIB_VER) $(LDFLAGS)
+ $(CC) $(CFLAGS) -o $@ testdnd.o -L . -lgtk-$(GTK_VER) -L ../gdk -lgdk-$(GTK_VER) $(GLIB_LIBS) $(LDFLAGS)
# Must have separate rules for these objects that don't go in the DLL
testdnd.o : testdnd.c
$(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"testdnd\" testdnd.c
testgtk.exe : testgtk.o
- $(CC) $(CFLAGS) -o $@ testgtk.o -L . -lgtk-$(GTK_VER) -L ../gdk -lgdk-$(GTK_VER) -L $(GLIB) -lglib-$(GLIB_VER) -L $(GLIB)/gobject -lgobject-$(GLIB_VER) $(LDFLAGS)
+ $(CC) $(CFLAGS) -o $@ testgtk.o -L . -lgtk-$(GTK_VER) -L ../gdk -lgdk-$(GTK_VER) $(GLIB_LIBS) $(LDFLAGS)
testgtk.o : testgtk.c
$(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"testgtk\" testgtk.c
testinput.exe : testinput.o
- $(CC) $(CFLAGS) -o $@ testinput.o -L . -lgtk-$(GTK_VER) -L ../gdk -lgdk-$(GTK_VER) -L $(GLIB) -lglib-$(GLIB_VER) -L $(GLIB)/gobject -lgobject-$(GLIB_VER) $(LDFLAGS)
+ $(CC) $(CFLAGS) -o $@ testinput.o -L . -lgtk-$(GTK_VER) -L ../gdk -lgdk-$(GTK_VER) $(GLIB_LIBS) $(LDFLAGS)
testinput.o : testinput.c
$(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"testinput\" testinput.c
testrgb.exe : testrgb.o
- $(CC) $(CFLAGS) -o $@ testrgb.o -L . -lgtk-$(GTK_VER) -L ../gdk -lgdk-$(GTK_VER) -L $(GLIB) -lglib-$(GLIB_VER) -L $(GLIB)/gobject -lgobject-$(GLIB_VER) $(LDFLAGS)
+ $(CC) $(CFLAGS) -o $@ testrgb.o -L . -lgtk-$(GTK_VER) -L ../gdk -lgdk-$(GTK_VER) $(GLIB_LIBS) $(LDFLAGS)
testrgb.o : testrgb.c
$(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"testrgb\" testrgb.c
testselection.exe : testselection.o
- $(CC) $(CFLAGS) -o $@ testselection.o -L . -lgtk-$(GTK_VER) -L ../gdk -lgdk-$(GTK_VER) -L $(GLIB) -lglib-$(GLIB_VER) -L $(GLIB)/gobject -lgobject-$(GLIB_VER) $(LDFLAGS)
+ $(CC) $(CFLAGS) -o $@ testselection.o -L . -lgtk-$(GTK_VER) -L ../gdk -lgdk-$(GTK_VER) $(GLIB_LIBS) $(LDFLAGS)
testselection.o : testselection.c
$(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"testselection\" testselection.c
testthreads.exe : testthreads.o
- $(CC) $(CFLAGS) -o $@ testthreads.o -L . -lgtk-$(GTK_VER) -L ../gdk -lgdk-$(GTK_VER) -L $(GLIB) -lglib-$(GLIB_VER) -L $(GLIB)/gthread -lgthread-$(GLIB_VER) -L $(GLIB)/gobject -lgobject-$(GLIB_VER) $(PTHREAD_LIB) $(LDFLAGS)
+ $(CC) $(CFLAGS) -o $@ testthreads.o -L . -lgtk-$(GTK_VER) -L ../gdk -lgdk-$(GTK_VER) $(GLIB_LIBS) $(PTHREAD_LIB) $(LDFLAGS)
testthreads.o : testthreads.c
$(CC) $(CFLAGS) -I$(PTHREAD_INC) -c -DG_LOG_DOMAIN=\"testthreads\" -DUSE_PTHREADS=1 testthreads.c
simple.exe : simple.o
- $(CC) $(CFLAGS) -o $@ simple.o -L . -lgtk-$(GTK_VER) -L ../gdk -lgdk-$(GTK_VER) -L $(GLIB) -lglib-$(GLIB_VER) -L $(GLIB)/gobject -lgobject-$(GLIB_VER) $(LDFLAGS)
+ $(CC) $(CFLAGS) -o $@ simple.o -L . -lgtk-$(GTK_VER) -L ../gdk -lgdk-$(GTK_VER) $(GLIB_LIBS) $(LDFLAGS)
simple.o : simple.c
$(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"simple\" simple.c
@@ -394,7 +384,3 @@ simple.o : simple.c
# The rmgen target removes just the generated source files
rmgen:
-rm $(GENERATED)
-
-# The clean target doesn't remove the generated sources
-clean:
- -rm *.exe *.o *.dll *.a *.exp *.base