From 1f581a961ed7abae32b70dd1a3b08f7cf6a217df Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Tue, 11 Jul 2000 22:39:34 +0000 Subject: [PATCH] gdk/win32/gdkcolor-win32.c gdk/win32/gdkprivate-win32.h Changes to make 2000-07-12 Tor Lillqvist * gdk/win32/gdkcc-win32.c: * gdk/win32/gdkcolor-win32.c * gdk/win32/gdkprivate-win32.h * gdk/win32/gdkwin32.h: Changes to make compilable, with new GDK object structure. --- ChangeLog | 6 ++ ChangeLog.pre-2-0 | 6 ++ ChangeLog.pre-2-10 | 6 ++ ChangeLog.pre-2-2 | 6 ++ ChangeLog.pre-2-4 | 6 ++ ChangeLog.pre-2-6 | 6 ++ ChangeLog.pre-2-8 | 6 ++ gdk/win32/gdkcc-win32.c | 5 +- gdk/win32/gdkcolor-win32.c | 188 +++++++++++++++++++++++------------ gdk/win32/gdkprivate-win32.h | 4 +- gdk/win32/gdkwin32.h | 89 ++++++++++------- 11 files changed, 223 insertions(+), 105 deletions(-) diff --git a/ChangeLog b/ChangeLog index b76c3588ec..a103db74af 100644 --- a/ChangeLog +++ b/ChangeLog @@ -25,6 +25,12 @@ * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth, not the Win32 bitspixel value. + * gdk/win32/gdkcc-win32.c: + * gdk/win32/gdkcolor-win32.c + * gdk/win32/gdkprivate-win32.h + * gdk/win32/gdkwin32.h: Changes to make compilable, with new + GDK object structure. + Tue Jul 11 20:59:35 2000 Tim Janik * docs/tutorial/gtk_tut_12.es.sgml (name): diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index b76c3588ec..a103db74af 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -25,6 +25,12 @@ * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth, not the Win32 bitspixel value. + * gdk/win32/gdkcc-win32.c: + * gdk/win32/gdkcolor-win32.c + * gdk/win32/gdkprivate-win32.h + * gdk/win32/gdkwin32.h: Changes to make compilable, with new + GDK object structure. + Tue Jul 11 20:59:35 2000 Tim Janik * docs/tutorial/gtk_tut_12.es.sgml (name): diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index b76c3588ec..a103db74af 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -25,6 +25,12 @@ * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth, not the Win32 bitspixel value. + * gdk/win32/gdkcc-win32.c: + * gdk/win32/gdkcolor-win32.c + * gdk/win32/gdkprivate-win32.h + * gdk/win32/gdkwin32.h: Changes to make compilable, with new + GDK object structure. + Tue Jul 11 20:59:35 2000 Tim Janik * docs/tutorial/gtk_tut_12.es.sgml (name): diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index b76c3588ec..a103db74af 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -25,6 +25,12 @@ * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth, not the Win32 bitspixel value. + * gdk/win32/gdkcc-win32.c: + * gdk/win32/gdkcolor-win32.c + * gdk/win32/gdkprivate-win32.h + * gdk/win32/gdkwin32.h: Changes to make compilable, with new + GDK object structure. + Tue Jul 11 20:59:35 2000 Tim Janik * docs/tutorial/gtk_tut_12.es.sgml (name): diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index b76c3588ec..a103db74af 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -25,6 +25,12 @@ * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth, not the Win32 bitspixel value. + * gdk/win32/gdkcc-win32.c: + * gdk/win32/gdkcolor-win32.c + * gdk/win32/gdkprivate-win32.h + * gdk/win32/gdkwin32.h: Changes to make compilable, with new + GDK object structure. + Tue Jul 11 20:59:35 2000 Tim Janik * docs/tutorial/gtk_tut_12.es.sgml (name): diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index b76c3588ec..a103db74af 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -25,6 +25,12 @@ * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth, not the Win32 bitspixel value. + * gdk/win32/gdkcc-win32.c: + * gdk/win32/gdkcolor-win32.c + * gdk/win32/gdkprivate-win32.h + * gdk/win32/gdkwin32.h: Changes to make compilable, with new + GDK object structure. + Tue Jul 11 20:59:35 2000 Tim Janik * docs/tutorial/gtk_tut_12.es.sgml (name): diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index b76c3588ec..a103db74af 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -25,6 +25,12 @@ * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth, not the Win32 bitspixel value. + * gdk/win32/gdkcc-win32.c: + * gdk/win32/gdkcolor-win32.c + * gdk/win32/gdkprivate-win32.h + * gdk/win32/gdkwin32.h: Changes to make compilable, with new + GDK object structure. + Tue Jul 11 20:59:35 2000 Tim Janik * docs/tutorial/gtk_tut_12.es.sgml (name): diff --git a/gdk/win32/gdkcc-win32.c b/gdk/win32/gdkcc-win32.c index f6cb37fb27..cc66892c7d 100644 --- a/gdk/win32/gdkcc-win32.c +++ b/gdk/win32/gdkcc-win32.c @@ -339,7 +339,6 @@ init_true_color (GdkColorContext *cc) } cc->num_colors = (cc->visual->red_mask | cc->visual->green_mask | cc->visual->blue_mask) + 1; - cc->white_pixel = 0xffffff; cc->black_pixel = 0; } @@ -348,7 +347,7 @@ static void init_palette (GdkColorContext *cc) { /* restore correct mode for this cc */ - + switch (cc->visual->type) { case GDK_VISUAL_STATIC_GRAY: @@ -389,7 +388,7 @@ init_palette (GdkColorContext *cc) free_hash_entry, NULL); g_hash_table_destroy (cc->color_hash); - cc->color_hash = g_hash_table_new (hash_color, compare_colors); + cc->color_hash = NULL; } cc->palette = NULL; diff --git a/gdk/win32/gdkcolor-win32.c b/gdk/win32/gdkcolor-win32.c index 0f46f7ec1a..35648e73c5 100644 --- a/gdk/win32/gdkcolor-win32.c +++ b/gdk/win32/gdkcolor-win32.c @@ -34,6 +34,10 @@ #include "gdkcolor.h" #include "gdkprivate-win32.h" +#define GDK_COLORMAP_PRIVATE_DATA(cmap) ((GdkColormapPrivateWin32 *) GDK_COLORMAP (cmap)->windowing_data) + +static void free_colormap (Colormap colormap); + static gint gdk_colormap_match_color (GdkColormap *cmap, GdkColor *color, const gchar *available); @@ -43,8 +47,88 @@ static guint gdk_colormap_hash (Colormap *cmap); static gint gdk_colormap_cmp (Colormap *a, Colormap *b); +static void gdk_colormap_init (GdkColormap *colormap); +static void gdk_colormap_class_init (GdkColormapClass *klass); +static void gdk_colormap_finalize (GObject *object); + +static gpointer parent_class = NULL; + static GHashTable *colormap_hash = NULL; +GType +gdk_colormap_get_type (void) +{ + static GType object_type = 0; + + if (!object_type) + { + static const GTypeInfo object_info = + { + sizeof (GdkColormapClass), + (GBaseInitFunc) NULL, + (GBaseFinalizeFunc) NULL, + (GClassInitFunc) gdk_colormap_class_init, + NULL, /* class_finalize */ + NULL, /* class_data */ + sizeof (GdkColormap), + 0, /* n_preallocs */ + (GInstanceInitFunc) gdk_colormap_init, + }; + + object_type = g_type_register_static (G_TYPE_OBJECT, + "GdkColormap", + &object_info); + } + + return object_type; +} + +static void +gdk_colormap_init (GdkColormap *colormap) +{ + GdkColormapPrivateWin32 *private; + + private = g_new (GdkColormapPrivateWin32, 1); + + colormap->windowing_data = private; + + private->hash = NULL; + private->last_sync_time = 0; + private->info = NULL; + + colormap->size = 0; + colormap->colors = NULL; +} + +static void +gdk_colormap_class_init (GdkColormapClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + parent_class = g_type_class_peek_parent (klass); + + object_class->finalize = gdk_colormap_finalize; +} + +static void +gdk_colormap_finalize (GObject *object) +{ + GdkColormap *colormap = GDK_COLORMAP (object); + GdkColormapPrivateWin32 *private = GDK_COLORMAP_PRIVATE_DATA (colormap); + + gdk_colormap_remove (colormap); + + free_colormap (private->xcolormap); + + if (private->hash) + g_hash_table_destroy (private->hash); + + g_free (private->info); + g_free (colormap->colors); + + G_OBJECT_CLASS (parent_class)->finalize (object); +} + static gboolean alloc_color_cells(Colormap colormap, gboolean contig, @@ -418,7 +502,7 @@ create_colormap (HWND w, */ static void -free_colormap(Colormap colormap) +free_colormap(Colormap colormap) { if (!DeleteObject (colormap->palette)) @@ -1326,33 +1410,27 @@ gdk_colormap_new (GdkVisual *visual, g_return_val_if_fail (visual != NULL, NULL); - private = g_new (GdkColormapPrivateWin32, 1); - colormap = (GdkColormap*) private; + colormap = g_object_new (gdk_colormap_get_type (), NULL); + private = GDK_COLORMAP_PRIVATE_DATA (colormap); - private->base.visual = visual; - private->base.ref_count = 1; + colormap->visual = visual; - private->hash = NULL; - private->last_sync_time = 0; - private->info = NULL; - xvisual = ((GdkVisualPrivate*) visual)->xvisual; colormap->size = visual->colormap_size; - colormap->colors = g_new (GdkColor, colormap->size); switch (visual->type) { case GDK_VISUAL_GRAYSCALE: case GDK_VISUAL_PSEUDO_COLOR: private->info = g_new0 (GdkColorInfo, colormap->size); + colormap->colors = g_new (GdkColor, colormap->size); private->hash = g_hash_table_new ((GHashFunc) gdk_color_hash, (GCompareFunc) gdk_color_equal); private->private_val = private_cmap; - private->xcolormap = create_colormap (gdk_root_window, xvisual, - private_cmap); + private->xcolormap = create_colormap (gdk_root_window, xvisual, private_cmap); if (private_cmap) { @@ -1394,25 +1472,6 @@ gdk_colormap_new (GdkVisual *visual, return colormap; } -void -_gdk_colormap_real_destroy (GdkColormap *colormap) -{ - GdkColormapPrivateWin32 *private = (GdkColormapPrivateWin32 *) colormap; - - g_return_if_fail (colormap != NULL); - g_return_if_fail (private->base.ref_count == 0); - - gdk_colormap_remove (colormap); - free_colormap (private->xcolormap); - - if (private->hash) - g_hash_table_destroy (private->hash); - - g_free (private->info); - g_free (colormap->colors); - g_free (colormap); -} - #define MIN_SYNC_TIME 2 void @@ -1420,7 +1479,7 @@ gdk_colormap_sync (GdkColormap *colormap, gboolean force) { time_t current_time; - GdkColormapPrivateWin32 *private = (GdkColormapPrivateWin32 *) colormap; + GdkColormapPrivateWin32 *private = GDK_COLORMAP_PRIVATE_DATA (colormap); XColor *xpalette; gint nlookup; gint i; @@ -1467,23 +1526,22 @@ gdk_colormap_get_system (void) if (!colormap) { - private = g_new (GdkColormapPrivateWin32, 1); - colormap = (GdkColormap*) private; + colormap = g_object_new (gdk_colormap_get_type (), NULL); + private = GDK_COLORMAP_PRIVATE_DATA (colormap); private->xcolormap = default_colormap (); - private->base.visual = gdk_visual_get_system (); + colormap->visual = gdk_visual_get_system (); private->private_val = FALSE; - private->base.ref_count = 1; private->hash = NULL; private->last_sync_time = 0; private->info = NULL; colormap->colors = NULL; - colormap->size = private->base.visual->colormap_size; + colormap->size = colormap->visual->colormap_size; - if ((private->base.visual->type == GDK_VISUAL_GRAYSCALE) || - (private->base.visual->type == GDK_VISUAL_PSEUDO_COLOR)) + if ((colormap->visual->type == GDK_VISUAL_GRAYSCALE) || + (colormap->visual->type == GDK_VISUAL_PSEUDO_COLOR)) { private->info = g_new0 (GdkColorInfo, colormap->size); colormap->colors = g_new (GdkColor, colormap->size); @@ -1532,12 +1590,12 @@ gdk_colormap_change (GdkColormap *colormap, int size; int i; - g_return_if_fail (colormap != NULL); + g_return_if_fail (GDK_IS_COLORMAP (colormap)); palette = g_new (XColor, ncolors); - private = (GdkColormapPrivateWin32 *) colormap; - switch (private->base.visual->type) + private = GDK_COLORMAP_PRIVATE_DATA (colormap); + switch (colormap->visual->type) { case GDK_VISUAL_GRAYSCALE: case GDK_VISUAL_PSEUDO_COLOR: @@ -1574,9 +1632,9 @@ gdk_colors_alloc (GdkColormap *colormap, gint return_val; gint i; - g_return_val_if_fail (colormap != NULL, 0); + g_return_val_if_fail (GDK_IS_COLORMAP (colormap), 0); - private = (GdkColormapPrivateWin32 *) colormap; + private = GDK_COLORMAP_PRIVATE_DATA (colormap); return_val = alloc_color_cells (private->xcolormap, contiguous, planes, nplanes, pixels, npixels); @@ -1622,13 +1680,13 @@ gdk_colors_free (GdkColormap *colormap, gint npixels = 0; gint i; - g_return_if_fail (colormap != NULL); + g_return_if_fail (GDK_IS_COLORMAP (colormap)); g_return_if_fail (in_pixels != NULL); - private = (GdkColormapPrivateWin32 *) colormap; + private = GDK_COLORMAP_PRIVATE_DATA (colormap); - if ((private->base.visual->type != GDK_VISUAL_PSEUDO_COLOR) && - (private->base.visual->type != GDK_VISUAL_GRAYSCALE)) + if ((colormap->visual->type != GDK_VISUAL_PSEUDO_COLOR) && + (colormap->visual->type != GDK_VISUAL_GRAYSCALE)) return; pixels = g_new (gulong, in_npixels); @@ -1670,13 +1728,13 @@ gdk_colormap_free_colors (GdkColormap *colormap, gint npixels = 0; gint i; - g_return_if_fail (colormap != NULL); + g_return_if_fail (GDK_IS_COLORMAP (colormap)); g_return_if_fail (colors != NULL); - private = (GdkColormapPrivateWin32 *) colormap; + private = GDK_COLORMAP_PRIVATE_DATA (colormap); - if ((private->base.visual->type != GDK_VISUAL_PSEUDO_COLOR) && - (private->base.visual->type != GDK_VISUAL_GRAYSCALE)) + if ((colormap->visual->type != GDK_VISUAL_PSEUDO_COLOR) && + (colormap->visual->type != GDK_VISUAL_GRAYSCALE)) return; pixels = g_new (gulong, ncolors); @@ -1718,7 +1776,7 @@ gdk_colormap_alloc1 (GdkColormap *colormap, GdkColormapPrivateWin32 *private; XColor xcolor; - private = (GdkColormapPrivateWin32 *) colormap; + private = GDK_COLORMAP_PRIVATE_DATA (colormap); xcolor.peRed = color->red >> 8; xcolor.peGreen = color->green >> 8; @@ -1767,7 +1825,7 @@ gdk_colormap_alloc_colors_writeable (GdkColormap *colormap, gboolean status; gint i, index; - private = (GdkColormapPrivateWin32 *) colormap; + private = GDK_COLORMAP_PRIVATE_DATA (colormap); if (private->private_val) { @@ -1826,7 +1884,7 @@ gdk_colormap_alloc_colors_private (GdkColormap *colormap, gint nstore = 0; gint nremaining = 0; - private = (GdkColormapPrivateWin32 *) colormap; + private = GDK_COLORMAP_PRIVATE_DATA (colormap); index = -1; /* First, store the colors we have room for */ @@ -1907,7 +1965,7 @@ gdk_colormap_alloc_colors_shared (GdkColormap *colormap, gint nremaining = 0; gint nfailed = 0; - private = (GdkColormapPrivateWin32 *) colormap; + private = GDK_COLORMAP_PRIVATE_DATA (colormap); index = -1; for (i=0; ibase.visual->type) + switch (colormap->visual->type) { case GDK_VISUAL_PSEUDO_COLOR: case GDK_VISUAL_GRAYSCALE: @@ -2070,7 +2128,7 @@ gdk_colormap_alloc_colors (GdkColormap *colormap, break; case GDK_VISUAL_TRUE_COLOR: - visual = private->base.visual; + visual = colormap->visual; for (i=0; ired >> 8; xcolor.peGreen = color->green >> 8; @@ -2181,7 +2239,7 @@ gdk_colormap_add (GdkColormap *cmap) colormap_hash = g_hash_table_new ((GHashFunc) gdk_colormap_hash, (GCompareFunc) gdk_colormap_cmp); - private = (GdkColormapPrivateWin32 *) cmap; + private = GDK_COLORMAP_PRIVATE_DATA (cmap); g_hash_table_insert (colormap_hash, &private->xcolormap, cmap); } @@ -2195,7 +2253,7 @@ gdk_colormap_remove (GdkColormap *cmap) colormap_hash = g_hash_table_new ((GHashFunc) gdk_colormap_hash, (GCompareFunc) gdk_colormap_cmp); - private = (GdkColormapPrivateWin32 *) cmap; + private = GDK_COLORMAP_PRIVATE_DATA (cmap); g_hash_table_remove (colormap_hash, &private->xcolormap); } diff --git a/gdk/win32/gdkprivate-win32.h b/gdk/win32/gdkprivate-win32.h index b7f08ca118..50b7f72b15 100644 --- a/gdk/win32/gdkprivate-win32.h +++ b/gdk/win32/gdkprivate-win32.h @@ -40,10 +40,10 @@ GdkGC * _gdk_win32_gc_new (GdkDrawable *drawable, COLORREF gdk_colormap_color (GdkColormapPrivateWin32 *colormap_private, gulong pixel); HDC gdk_gc_predraw (GdkDrawable *drawable, - GdkGCPrivate *gc_private, + GdkGCWin32 *gcwin32, GdkGCValuesMask usage); void gdk_gc_postdraw (GdkDrawable *drawable, - GdkGCPrivate *gc_private, + GdkGCWin32 *gcwin32, GdkGCValuesMask usage); HRGN BitmapToRegion (HBITMAP hBmp); diff --git a/gdk/win32/gdkwin32.h b/gdk/win32/gdkwin32.h index 323e894880..3b3f7ba5f7 100644 --- a/gdk/win32/gdkwin32.h +++ b/gdk/win32/gdkwin32.h @@ -182,7 +182,6 @@ typedef struct { unsigned long base_pixel; } XStandardColormap; -typedef struct _GdkGCWin32Data GdkGCWin32Data; typedef struct _GdkDrawableWin32Data GdkDrawableWin32Data; typedef struct _GdkWindowWin32Data GdkWindowWin32Data; typedef struct _GdkWin32PositionInfo GdkWin32PositionInfo; @@ -197,39 +196,6 @@ typedef struct _GdkICPrivate GdkICPrivate; #define GDK_DRAWABLE_WIN32DATA(win) ((GdkDrawableWin32Data *)(((GdkDrawablePrivate*)(win))->klass_data)) #define GDK_WINDOW_WIN32DATA(win) ((GdkWindowWin32Data *)(((GdkDrawablePrivate*)(win))->klass_data)) -#define GDK_GC_WIN32DATA(gc) ((GdkGCWin32Data *)(((GdkGCPrivate*)(gc))->klass_data)) - -struct _GdkGCWin32Data -{ - GdkRegion *clip_region; - - /* A Windows Device Context (DC) is not equivalent to an X11 - * GC. We can use a DC only in the window for which it was - * allocated, or (in the case of a memory DC) with the bitmap that - * has been selected into it. Thus, we have to release and - * reallocate a DC each time the GdkGC is used to paint into a new - * window or pixmap. We thus keep all the necessary values in the - * GdkGCWin32Data struct. - */ - HDC xgc; - HRGN hcliprgn; - GdkGCValuesMask values_mask; - gulong foreground; /* Pixel values from GdkColor, */ - gulong background; /* not Win32 COLORREFs */ - GdkFont *font; - gint rop2; - GdkFill fill_style; - GdkPixmap *tile; - GdkPixmap *stipple; - GdkSubwindowMode subwindow_mode; - gint graphics_exposures; - gint pen_width; - DWORD pen_style; - HANDLE hwnd; /* If a DC is allocated, for which window - * or what bitmap is selected into it - */ - int saved_dc; -}; struct _GdkDrawableWin32Data { @@ -329,6 +295,60 @@ struct _GdkImagePrivateWin32 HBITMAP ximage; }; +typedef struct _GdkGCWin32 GdkGCWin32; +typedef struct _GdkGCWin32Class GdkGCWin32Class; + +#define GDK_TYPE_GC_WIN32 (gdk_gc_win32_get_type ()) +#define GDK_GC_WIN32(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_GC_WIN32, GdkGCWin32)) +#define GDK_GC_WIN32_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_GC_WIN32, GdkGCWin32Class)) +#define GDK_IS_GC_WIN32(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_GC_WIN32)) +#define GDK_IS_GC_WIN32_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_GC_WIN32)) +#define GDK_GC_WIN32_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_GC_WIN32, GdkGCWin32Class)) + +struct _GdkGCWin32 +{ + GdkGC parent_instance; + + /* A Windows Device Context (DC) is not equivalent to an X11 + * GC. We can use a DC only in the window for which it was + * allocated, or (in the case of a memory DC) with the bitmap that + * has been selected into it. Thus, we have to release and + * reallocate a DC each time the GdkGC is used to paint into a new + * window or pixmap. We thus keep all the necessary values in the + * GdkGCWin32 object. + */ + HDC xgc; + + GdkRegion *clip_region; + HRGN hcliprgn; + + GdkGCValuesMask values_mask; + + gulong foreground; /* Pixel values from GdkColor, */ + gulong background; /* not Win32 COLORREFs */ + + GdkFont *font; + gint rop2; + GdkFill fill_style; + GdkPixmap *tile; + GdkPixmap *stipple; + GdkSubwindowMode subwindow_mode; + gint graphics_exposures; + gint pen_width; + DWORD pen_style; + HANDLE hwnd; /* If a HDC is allocated, for which window, + * or what bitmap is selected into it + */ + int saved_dc; +}; + +struct _GdkGCWin32Class +{ + GdkGCClass parent_class; +}; + +GType gdk_gc_win32_get_type (void); + #define GDK_ROOT_WINDOW() ((guint32) HWND_DESKTOP) #define GDK_ROOT_PARENT() ((GdkWindow *) gdk_parent_root) #define GDK_DISPLAY() NULL @@ -360,7 +380,6 @@ 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 */