summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@src.gnome.org>1999-11-15 15:31:28 +0000
committerOwen Taylor <otaylor@src.gnome.org>1999-11-15 15:31:28 +0000
commite4a20926033e64cbdfc1687539c488609940fadf (patch)
tree8c24af5455244822b48fc087e687aaa6282ac173
parentee3d13766031e30653d82764aef92ae444015c5e (diff)
downloadgtk+-e4a20926033e64cbdfc1687539c488609940fadf.tar.gz
More renames at the request of tml
-rw-r--r--gdk/win32/gdkimage.c759
-rw-r--r--gdk/win32/gdkprivate.h459
-rw-r--r--gdk/win32/gdkx.h56
-rw-r--r--gdk/win32/gdkxid.c88
4 files changed, 0 insertions, 1362 deletions
diff --git a/gdk/win32/gdkimage.c b/gdk/win32/gdkimage.c
deleted file mode 100644
index 0f2825e405..0000000000
--- a/gdk/win32/gdkimage.c
+++ /dev/null
@@ -1,759 +0,0 @@
-/* GDK - The GIMP Drawing Kit
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * 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
- * files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-#include "config.h"
-
-#include "gdk.h" /* For gdk_error_trap_* / gdk_flush_* */
-#include "gdkimage.h"
-#include "gdkprivate.h"
-#include "gdkx.h"
-
-static void gdk_image_put_normal (GdkDrawable *drawable,
- GdkGC *gc,
- GdkImage *image,
- gint xsrc,
- gint ysrc,
- gint xdest,
- gint ydest,
- gint width,
- gint height);
-static GList *image_list = NULL;
-
-void
-gdk_image_exit (void)
-{
- GdkImage *image;
-
- while (image_list)
- {
- image = image_list->data;
- gdk_image_destroy (image);
- }
-}
-
-GdkImage *
-gdk_image_new_bitmap (GdkVisual *visual, gpointer data, gint w, gint h)
-/*
- * Desc: create a new bitmap image
- */
-{
- Visual *xvisual;
- GdkImage *image;
- GdkImagePrivate *private;
- struct {
- BITMAPINFOHEADER bmiHeader;
- union {
- WORD bmiIndices[2];
- RGBQUAD bmiColors[2];
- } u;
- } bmi;
- char *bits;
- int bpl = (w-1)/8 + 1;
- int bpl32 = ((w-1)/32 + 1)*4;
-
- private = g_new(GdkImagePrivate, 1);
- image = (GdkImage *) private;
- private->image_put = gdk_image_put_normal;
- image->type = GDK_IMAGE_SHARED;
- image->visual = visual;
- image->width = w;
- image->height = h;
- image->depth = 1;
- xvisual = ((GdkVisualPrivate*) visual)->xvisual;
-
- GDK_NOTE (MISC, g_print ("gdk_image_new_bitmap: %dx%d\n", w, h));
-
- bmi.bmiHeader.biSize = sizeof (BITMAPINFOHEADER);
- bmi.bmiHeader.biWidth = w;
- bmi.bmiHeader.biHeight = -h;
- bmi.bmiHeader.biPlanes = 1;
- bmi.bmiHeader.biBitCount = 1;
- bmi.bmiHeader.biCompression = BI_RGB;
- bmi.bmiHeader.biSizeImage = 0;
- bmi.bmiHeader.biXPelsPerMeter =
- bmi.bmiHeader.biYPelsPerMeter = 0;
- bmi.bmiHeader.biClrUsed = 0;
- bmi.bmiHeader.biClrImportant = 0;
-
- bmi.u.bmiColors[0].rgbBlue =
- bmi.u.bmiColors[0].rgbGreen =
- bmi.u.bmiColors[0].rgbRed = 0x00;
- bmi.u.bmiColors[0].rgbReserved = 0x00;
-
- bmi.u.bmiColors[1].rgbBlue =
- bmi.u.bmiColors[1].rgbGreen =
- bmi.u.bmiColors[1].rgbRed = 0xFF;
- bmi.u.bmiColors[1].rgbReserved = 0x00;
-
- private->ximage = CreateDIBSection (gdk_DC, (BITMAPINFO *) &bmi,
- DIB_RGB_COLORS, &bits, NULL, 0);
- if (bpl != bpl32)
- {
- /* Win32 expects scanlines in DIBs to be 32 bit aligned */
- int i;
- for (i = 0; i < h; i++)
- memmove (bits + i*bpl32, ((char *) data) + i*bpl, bpl);
- }
- else
- memmove (bits, data, bpl*h);
- image->mem = bits;
- image->bpl = bpl32;
- image->byte_order = GDK_MSB_FIRST;
-
- image->bpp = 1;
- return(image);
-} /* gdk_image_new_bitmap() */
-
-void
-gdk_image_init (void)
-{
-}
-
-static GdkImage*
-gdk_image_new_with_depth (GdkImageType type,
- GdkVisual *visual,
- gint width,
- gint height,
- gint depth)
-{
- GdkImage *image;
- GdkImagePrivate *private;
- Visual *xvisual;
- struct {
- BITMAPINFOHEADER bmiHeader;
- union {
- WORD bmiIndices[256];
- DWORD bmiMasks[3];
- RGBQUAD bmiColors[256];
- } u;
- } bmi;
- UINT iUsage;
- int i;
-
- if (type == GDK_IMAGE_FASTEST || type == GDK_IMAGE_NORMAL)
- type = GDK_IMAGE_SHARED;
-
- GDK_NOTE (MISC, g_print ("gdk_image_new_with_depth: %dx%dx%d %s\n",
- width, height, depth,
- (type == GDK_IMAGE_SHARED ? "shared" :
- (type == GDK_IMAGE_SHARED_PIXMAP ? "shared_pixmap" :
- "???"))));
-
- private = g_new (GdkImagePrivate, 1);
- image = (GdkImage*) private;
-
- private->image_put = NULL;
-
- image->type = type;
- image->visual = visual;
- image->width = width;
- image->height = height;
- image->depth = depth;
-
- xvisual = ((GdkVisualPrivate*) visual)->xvisual;
-
- private->image_put = gdk_image_put_normal;
-
- bmi.bmiHeader.biSize = sizeof (BITMAPINFOHEADER);
- bmi.bmiHeader.biWidth = width;
- bmi.bmiHeader.biHeight = -height;
- bmi.bmiHeader.biPlanes = 1;
- if (depth == 15)
- bmi.bmiHeader.biBitCount = 16;
- else
- bmi.bmiHeader.biBitCount = depth;
-#if 1
- if (depth == 16)
- bmi.bmiHeader.biCompression = BI_BITFIELDS;
- else
-#endif
- bmi.bmiHeader.biCompression = BI_RGB;
- bmi.bmiHeader.biSizeImage = 0;
- bmi.bmiHeader.biXPelsPerMeter =
- bmi.bmiHeader.biYPelsPerMeter = 0;
- bmi.bmiHeader.biClrUsed = 0;
- bmi.bmiHeader.biClrImportant = 0;
-
- if (image->visual->type == GDK_VISUAL_PSEUDO_COLOR)
- {
- iUsage = DIB_PAL_COLORS;
- for (i = 0; i < 256; i++)
- bmi.u.bmiIndices[i] = i;
- }
- else
- {
- if (depth == 1)
- {
- bmi.u.bmiColors[0].rgbBlue =
- bmi.u.bmiColors[0].rgbGreen =
- bmi.u.bmiColors[0].rgbRed = 0x00;
- bmi.u.bmiColors[0].rgbReserved = 0x00;
-
- bmi.u.bmiColors[1].rgbBlue =
- bmi.u.bmiColors[1].rgbGreen =
- bmi.u.bmiColors[1].rgbRed = 0xFF;
- bmi.u.bmiColors[1].rgbReserved = 0x00;
-
- }
-#if 1
- else if (depth == 16)
- {
- bmi.u.bmiMasks[0] = visual->red_mask;
- bmi.u.bmiMasks[1] = visual->green_mask;
- bmi.u.bmiMasks[2] = visual->blue_mask;
- }
-#endif
- iUsage = DIB_RGB_COLORS;
- }
-
- private->ximage =
- CreateDIBSection (gdk_DC, (BITMAPINFO *) &bmi, iUsage,
- &image->mem, NULL, 0);
-
- if (private->ximage == NULL)
- {
- g_warning ("gdk_image_new_with_depth: CreateDIBSection failed");
- g_free (image);
- return NULL;
- }
-
- switch (depth)
- {
- case 1:
- case 8:
- image->bpp = 1;
- break;
- case 15:
- case 16:
- image->bpp = 2;
- break;
- case 24:
- image->bpp = 3;
- break;
- case 32:
- image->bpp = 4;
- break;
- default:
- g_warning ("gdk_image_new_with_depth: depth = %d", depth);
- g_assert_not_reached ();
- }
- image->byte_order = GDK_LSB_FIRST;
- if (depth == 1)
- image->bpl = ((width-1)/32 + 1)*4;
- else
- image->bpl = ((width*image->bpp - 1)/4 + 1)*4;
-
- GDK_NOTE (MISC, g_print ("... = %#x mem = %#x, bpl = %d\n",
- private->ximage, image->mem, image->bpl));
-
- return image;
-}
-
-GdkImage*
-gdk_image_new (GdkImageType type,
- GdkVisual *visual,
- gint width,
- gint height)
-{
- GdkVisualPrivate *visual_private = (GdkVisualPrivate *) visual;
- return gdk_image_new_with_depth (type, visual, width, height,
- visual_private->xvisual->bitspixel);
-}
-
-GdkImage*
-gdk_image_bitmap_new (GdkImageType type,
- GdkVisual *visual,
- gint width,
- gint height)
-{
- return gdk_image_new_with_depth (type, visual, width, height, 1);
-}
-
-GdkImage*
-gdk_image_get (GdkWindow *window,
- gint x,
- gint y,
- gint width,
- gint height)
-{
- GdkImage *image;
- GdkImagePrivate *private;
- HDC hdc, memdc;
- struct {
- BITMAPINFOHEADER bmiHeader;
- union {
- WORD bmiIndices[256];
- DWORD bmiMasks[3];
- RGBQUAD bmiColors[256];
- } u;
- } bmi;
- HGDIOBJ oldbitmap1, oldbitmap2;
- UINT iUsage;
- BITMAP bm;
- int i;
-
- g_return_val_if_fail (window != NULL, NULL);
-
- if (GDK_DRAWABLE_DESTROYED (window))
- return NULL;
-
- GDK_NOTE (MISC, g_print ("gdk_image_get: %#x %dx%d@+%d+%d\n",
- GDK_DRAWABLE_XID (window), width, height, x, y));
-
- private = g_new (GdkImagePrivate, 1);
- image = (GdkImage*) private;
-
- private->image_put = gdk_image_put_normal;
-
- image->type = GDK_IMAGE_SHARED;
- image->visual = gdk_window_get_visual (window);
- image->width = width;
- image->height = height;
-
- /* This function is called both to blit from a window and from
- * a pixmap.
- */
- if (GDK_DRAWABLE_TYPE (window) == GDK_DRAWABLE_PIXMAP)
- {
- if ((hdc = CreateCompatibleDC (NULL)) == NULL)
- {
- g_warning ("gdk_image_get: CreateCompatibleDC #1 failed");
- g_free (image);
- return NULL;
- }
- if ((oldbitmap1 = SelectObject (hdc, GDK_DRAWABLE_XID (window))) == NULL)
- {
- g_warning ("gdk_image_get: SelectObject #1 failed");
- DeleteDC (hdc);
- g_free (image);
- return NULL;
- }
- GetObject (GDK_DRAWABLE_XID (window), sizeof (BITMAP), &bm);
- GDK_NOTE (MISC,
- g_print ("gdk_image_get: bmWidth = %d, bmHeight = %d, bmWidthBytes = %d, bmBitsPixel = %d\n",
- bm.bmWidth, bm.bmHeight, bm.bmWidthBytes, bm.bmBitsPixel));
- image->depth = bm.bmBitsPixel;
- if (image->depth <= 8)
- {
- iUsage = DIB_PAL_COLORS;
- for (i = 0; i < 256; i++)
- bmi.u.bmiIndices[i] = i;
- }
- else
- iUsage = DIB_RGB_COLORS;
- }
- else
- {
- if ((hdc = GetDC (GDK_DRAWABLE_XID (window))) == NULL)
- {
- g_warning ("gdk_image_get: GetDC failed");
- g_free (image);
- return NULL;
- }
- image->depth = gdk_visual_get_system ()->depth;
- if (image->visual->type == GDK_VISUAL_PSEUDO_COLOR)
- {
- iUsage = DIB_PAL_COLORS;
- for (i = 0; i < 256; i++)
- bmi.u.bmiIndices[i] = i;
- }
- else
- iUsage = DIB_RGB_COLORS;
- }
-
- if ((memdc = CreateCompatibleDC (hdc)) == NULL)
- {
- g_warning ("gdk_image_get: CreateCompatibleDC #2 failed");
- if (GDK_DRAWABLE_TYPE (window) == GDK_DRAWABLE_PIXMAP)
- {
- SelectObject (hdc, oldbitmap1);
- DeleteDC (hdc);
- }
- else
- {
- ReleaseDC (GDK_DRAWABLE_XID (window), hdc);
- }
- g_free (image);
- return NULL;
- }
-
- bmi.bmiHeader.biSize = sizeof (BITMAPINFOHEADER);
- bmi.bmiHeader.biWidth = width;
- bmi.bmiHeader.biHeight = -height;
- bmi.bmiHeader.biPlanes = 1;
- bmi.bmiHeader.biBitCount = image->depth;
- if (image->depth == 16)
- {
- bmi.bmiHeader.biCompression = BI_BITFIELDS;
- if (image->visual == NULL)
- {
- /* XXX ??? Is it always this if depth==16 and a pixmap? Guess so. */
- bmi.u.bmiMasks[0] = 0xf800;
- bmi.u.bmiMasks[1] = 0x07e0;
- bmi.u.bmiMasks[2] = 0x001f;
- }
- else
- {
- bmi.u.bmiMasks[0] = image->visual->red_mask;
- bmi.u.bmiMasks[1] = image->visual->green_mask;
- bmi.u.bmiMasks[2] = image->visual->blue_mask;
- }
- }
- else
- bmi.bmiHeader.biCompression = BI_RGB;
- bmi.bmiHeader.biSizeImage = 0;
- bmi.bmiHeader.biXPelsPerMeter =
- bmi.bmiHeader.biYPelsPerMeter = 0;
- bmi.bmiHeader.biClrUsed = 0;
- bmi.bmiHeader.biClrImportant = 0;
-
- if ((private->ximage =
- CreateDIBSection (hdc, (BITMAPINFO *) &bmi, iUsage,
- &image->mem, NULL, 0)) == NULL)
- {
- g_warning ("gdk_image_get: CreateDIBSection failed");
- DeleteDC (memdc);
- if (GDK_DRAWABLE_TYPE (window) == GDK_DRAWABLE_PIXMAP)
- {
- SelectObject (hdc, oldbitmap1);
- DeleteDC (hdc);
- }
- else
- {
- ReleaseDC (GDK_DRAWABLE_XID (window), hdc);
- }
- g_free (image);
- return NULL;
- }
-
- if ((oldbitmap2 = SelectObject (memdc, private->ximage)) == NULL)
- {
- g_warning ("gdk_image_get: SelectObject #2 failed");
- DeleteObject (private->ximage);
- DeleteDC (memdc);
- if (GDK_DRAWABLE_TYPE (window) == GDK_DRAWABLE_PIXMAP)
- {
- SelectObject (hdc, oldbitmap1);
- DeleteDC (hdc);
- }
- else
- {
- ReleaseDC (GDK_DRAWABLE_XID (window), hdc);
- }
- g_free (image);
- return NULL;
- }
-
- if (!BitBlt (memdc, 0, 0, width, height, hdc, x, y, SRCCOPY))
- {
- g_warning ("gdk_image_get: BitBlt failed");
- SelectObject (memdc, oldbitmap2);
- DeleteObject (private->ximage);
- DeleteDC (memdc);
- if (GDK_DRAWABLE_TYPE (window) == GDK_DRAWABLE_PIXMAP)
- {
- SelectObject (hdc, oldbitmap1);
- DeleteDC (hdc);
- }
- else
- {
- ReleaseDC (GDK_DRAWABLE_XID (window), hdc);
- }
- g_free (image);
- return NULL;
- }
-
- if (SelectObject (memdc, oldbitmap2) == NULL)
- g_warning ("gdk_image_get: SelectObject #3 failed");
-
- if (!DeleteDC (memdc))
- g_warning ("gdk_image_get: DeleteDC failed");
-
- if (GDK_DRAWABLE_TYPE (window) == GDK_DRAWABLE_PIXMAP)
- {
- SelectObject (hdc, oldbitmap1);
- DeleteDC (hdc);
- }
- else
- {
- ReleaseDC (GDK_DRAWABLE_XID (window), hdc);
- }
-
- switch (image->depth)
- {
- case 1:
- case 8:
- image->bpp = 1;
- break;
- case 15:
- case 16:
- image->bpp = 2;
- break;
- case 24:
- image->bpp = 3;
- break;
- case 32:
- image->bpp = 4;
- break;
- default:
- g_warning ("gdk_image_get: image->depth = %d", image->depth);
- g_assert_not_reached ();
- }
- image->byte_order = GDK_LSB_FIRST;
- if (image->depth == 1)
- image->bpl = ((width - 1)/32 + 1)*4;
- else
- image->bpl = ((width*image->bpp - 1)/4 + 1)*4;
-
- GDK_NOTE (MISC, g_print ("... = %#x mem = %#x, bpl = %d\n",
- private->ximage, image->mem, image->bpl));
-
- return image;
-}
-
-guint32
-gdk_image_get_pixel (GdkImage *image,
- gint x,
- gint y)
-{
- guint32 pixel;
- GdkImagePrivate *private;
-
- g_return_val_if_fail (image != NULL, 0);
-
- private = (GdkImagePrivate *) image;
-
- g_return_val_if_fail (x >= 0 && x < image->width
- && y >= 0 && y < image->height, 0);
-
- if (image->depth == 1)
- pixel = (((char *) image->mem)[y * image->bpl + (x >> 3)] & (1 << (7 - (x & 0x7)))) != 0;
- else
- {
- guchar *pixelp = (guchar *) image->mem + y * image->bpl + x * image->bpp;
-
- switch (image->bpp)
- {
- case 1:
- pixel = *pixelp;
- break;
-
- /* Windows is always LSB, no need to check image->byte_order. */
- case 2:
- pixel = pixelp[0] | (pixelp[1] << 8);
- break;
-
- case 3:
- pixel = pixelp[0] | (pixelp[1] << 8) | (pixelp[2] << 16);
- break;
-
- case 4:
- pixel = pixelp[0] | (pixelp[1] << 8) | (pixelp[2] << 16);
- break;
- }
- }
-
- return pixel;
-}
-
-void
-gdk_image_put_pixel (GdkImage *image,
- gint x,
- gint y,
- guint32 pixel)
-{
- GdkImagePrivate *private;
-
- g_return_if_fail (image != NULL);
-
- private = (GdkImagePrivate *) image;
-
- g_return_if_fail (x >= 0 && x < image->width && y >= 0 && y < image->height);
-
- if (image->depth == 1)
- if (pixel & 1)
- ((guchar *) image->mem)[y * image->bpl + (x >> 3)] |= (1 << (7 - (x & 0x7)));
- else
- ((guchar *) image->mem)[y * image->bpl + (x >> 3)] &= ~(1 << (7 - (x & 0x7)));
- else
- {
- guchar *pixelp = (guchar *) image->mem + y * image->bpl + x * image->bpp;
-
- /* Windows is always LSB, no need to check image->byte_order. */
- switch (image->bpp)
- {
- case 4:
- pixelp[3] = 0;
- case 3:
- pixelp[2] = ((pixel >> 16) & 0xFF);
- case 2:
- pixelp[1] = ((pixel >> 8) & 0xFF);
- case 1:
- pixelp[0] = (pixel & 0xFF);
- }
- }
-}
-
-void
-gdk_image_destroy (GdkImage *image)
-{
- GdkImagePrivate *private;
-
- g_return_if_fail (image != NULL);
-
- private = (GdkImagePrivate*) image;
-
- GDK_NOTE (MISC, g_print ("gdk_image_destroy: %#x%s\n",
- private->ximage,
- (image->type == GDK_IMAGE_SHARED_PIXMAP ?
- " (shared pixmap)" : "")));
-
- switch (image->type)
- {
- case GDK_IMAGE_SHARED_PIXMAP:
- break; /* The Windows bitmap has already been
- * (or will be) deleted when freeing
- * the corresponding pixmap.
- */
-
- case GDK_IMAGE_SHARED:
- if (!DeleteObject (private->ximage))
- g_warning ("gdk_image_destroy: DeleteObject failed");
- break;
-
- default:
- g_assert_not_reached ();
- }
-
- g_free (image);
-}
-
-static void
-gdk_image_put_normal (GdkDrawable *drawable,
- GdkGC *gc,
- GdkImage *image,
- gint xsrc,
- gint ysrc,
- gint xdest,
- gint ydest,
- gint width,
- gint height)
-{
- GdkDrawablePrivate *drawable_private;
- GdkImagePrivate *image_private;
- GdkGCPrivate *gc_private;
- HDC hdc;
- GdkColormapPrivate *colormap_private;
-
- g_return_if_fail (drawable != NULL);
- g_return_if_fail (image != NULL);
- g_return_if_fail (gc != NULL);
-
- if (GDK_DRAWABLE_DESTROYED (drawable))
- return;
- image_private = (GdkImagePrivate*) image;
- drawable_private = (GdkDrawablePrivate*) drawable;
- gc_private = (GdkGCPrivate*) gc;
-
- /* The image can in fact be "shared", so don't test */
-
- hdc = gdk_gc_predraw (drawable_private, gc_private);
- colormap_private = (GdkColormapPrivate *) drawable_private->colormap;
- if (colormap_private && colormap_private->xcolormap->rc_palette)
- {
- DIBSECTION ds;
- static struct {
- BITMAPINFOHEADER bmiHeader;
- WORD bmiIndices[256];
- } bmi;
- static gboolean bmi_inited = FALSE;
- int i;
-
- if (!bmi_inited)
- {
- for (i = 0; i < 256; i++)
- bmi.bmiIndices[i] = i;
- bmi_inited = TRUE;
- }
-
- if (GetObject (image_private->ximage, sizeof (DIBSECTION),
- &ds) != sizeof (DIBSECTION))
- {
- g_warning ("gdk_image_put_normal: GetObject failed");
- }
-#if 0
- g_print("xdest = %d, ydest = %d, xsrc = %d, ysrc = %d, width = %d, height = %d\n",
- xdest, ydest, xsrc, ysrc, width, height);
- g_print("bmWidth = %d, bmHeight = %d, bmBitsPixel = %d, bmBits = %p\n",
- ds.dsBm.bmWidth, ds.dsBm.bmHeight, ds.dsBm.bmBitsPixel, ds.dsBm.bmBits);
- g_print("biWidth = %d, biHeight = %d, biBitCount = %d, biClrUsed = %d\n",
- ds.dsBmih.biWidth, ds.dsBmih.biHeight, ds.dsBmih.biBitCount, ds.dsBmih.biClrUsed);
-#endif
- bmi.bmiHeader = ds.dsBmih;
- /* I have spent hours on getting the parameters to
- * SetDIBitsToDevice right. I wonder what drugs the guys in
- * Redmond were on when they designed this API.
- */
- if (SetDIBitsToDevice (hdc,
- xdest, ydest,
- width, height,
- xsrc, (-ds.dsBmih.biHeight)-height-ysrc,
- 0, -ds.dsBmih.biHeight,
- ds.dsBm.bmBits,
- (CONST BITMAPINFO *) &bmi,
- DIB_PAL_COLORS) == 0)
- g_warning ("SetDIBitsToDevice failed");
- }
- else
- {
- HDC memdc;
- HGDIOBJ oldbitmap;
-
- if ((memdc = CreateCompatibleDC (hdc)) == NULL)
- {
- g_warning ("gdk_image_put_normal: CreateCompatibleDC failed");
- gdk_gc_postdraw (drawable_private, gc_private);
- return;
- }
-
- if ((oldbitmap = SelectObject (memdc, image_private->ximage)) == NULL)
- {
- g_warning ("gdk_image_put_normal: SelectObject #1 failed");
- gdk_gc_postdraw (drawable_private, gc_private);
- return;
- }
- if (!BitBlt (hdc, xdest, ydest, width, height,
- memdc, xsrc, ysrc, SRCCOPY))
- g_warning ("gdk_image_put_normal: BitBlt failed");
-
- if (SelectObject (memdc, oldbitmap) == NULL)
- g_warning ("gdk_image_put_normal: SelectObject #2 failed");
-
- if (!DeleteDC (memdc))
- g_warning ("gdk_image_put_normal: DeleteDC failed");
- }
- gdk_gc_postdraw (drawable_private, gc_private);
-}
diff --git a/gdk/win32/gdkprivate.h b/gdk/win32/gdkprivate.h
deleted file mode 100644
index 30b276d42b..0000000000
--- a/gdk/win32/gdkprivate.h
+++ /dev/null
@@ -1,459 +0,0 @@
-/* GDK - The GIMP Drawing Kit
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * 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
- * files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-#ifndef __GDK_PRIVATE_H__
-#define __GDK_PRIVATE_H__
-
-#define STRICT /* We want strict type checks */
-#include <windows.h>
-#include <commctrl.h>
-
-/* Make up for some minor mingw32 lossage */
-
-/* PS_JOIN_MASK is missing from the mingw32 headers */
-#ifndef PS_JOIN_MASK
-#define PS_JOIN_MASK (PS_JOIN_BEVEL|PS_JOIN_MITER|PS_JOIN_ROUND)
-#endif
-
-/* CLR_INVALID is missing */
-#ifndef CLR_INVALID
-#define CLR_INVALID CLR_NONE
-#endif
-
-/* Some charsets are missing */
-#ifndef JOHAB_CHARSET
-#define JOHAB_CHARSET 130
-#endif
-#ifndef VIETNAMESE_CHARSET
-#define VIETNAMESE_CHARSET 163
-#endif
-
-#ifndef VM_OEM_PLUS
-#define VK_OEM_PLUS 0xBB
-#endif
-
-#include <time.h>
-
-#include <gdk/gdktypes.h>
-
-#include <gdk/gdkcursor.h>
-#include <gdk/gdkevents.h>
-#include <gdk/gdkfont.h>
-#include <gdk/gdkgc.h>
-#include <gdk/gdkim.h>
-#include <gdk/gdkimage.h>
-#include <gdk/gdkregion.h>
-#include <gdk/gdkvisual.h>
-#include <gdk/gdkwindow.h>
-
-#define GDK_DRAWABLE_TYPE(d) (((GdkDrawablePrivate *)d)->window_type)
-#define GDK_IS_WINDOW(d) (GDK_DRAWABLE_TYPE(d) <= GDK_WINDOW_TEMP || \
- GDK_DRAWABLE_TYPE(d) == GDK_WINDOW_FOREIGN)
-#define GDK_IS_PIXMAP(d) (GDK_DRAWABLE_TYPE(d) == GDK_DRAWABLE_PIXMAP)
-#define GDK_DRAWABLE_DESTROYED(d) (((GdkDrawablePrivate *)d)->destroyed)
-
-#define gdk_window_lookup(xid) ((GdkWindow*) gdk_xid_table_lookup (xid))
-#define gdk_pixmap_lookup(xid) ((GdkPixmap*) gdk_xid_table_lookup (xid))
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/* Define corresponding Windows types for some X11 types, just for laziness.
- */
-
-typedef HANDLE XID;
-typedef PALETTEENTRY XColor;
-typedef HDC GC;
-typedef ATOM Atom;
-typedef HCURSOR Cursor;
-typedef guint VisualID;
-typedef DWORD KeySym;
-typedef int Status;
-
-/* Define some of the X11 constants also here, again just for laziness */
-
-/* Generic null resource */
-#define None 0
-
-/* Error codes */
-#define Success 0
-
-/* Grabbing status */
-#define GrabSuccess 0
-#define AlreadyGrabbed 2
-
-/* For CreateColormap */
-#define AllocNone 0
-#define AllocAll 1
-
-/* Some structs are somewhat useful to emulate internally, just to
- keep the code less #ifdefed. */
-typedef struct {
- HPALETTE palette; /* Palette handle used when drawing. */
- guint size; /* Number of entries in the palette. */
- gboolean stale; /* 1 if palette needs to be realized,
- * otherwise 0. */
- gboolean *in_use;
- gboolean rc_palette; /* If RC_PALETTE is on in the RASTERCAPS */
- gulong sizepalette; /* SIZEPALETTE if rc_palette */
-} ColormapStruct, *Colormap;
-
-typedef struct {
- gint map_entries;
- guint visualid;
- guint bitspixel;
-} Visual;
-
-typedef struct {
- Colormap colormap;
- unsigned long red_max;
- unsigned long red_mult;
- unsigned long green_max;
- unsigned long green_mult;
- unsigned long blue_max;
- unsigned long blue_mult;
- unsigned long base_pixel;
-} XStandardColormap;
-
-typedef struct _GdkDrawablePrivate GdkDrawablePrivate;
-/* typedef struct _GdkDrawablePrivate GdkPixmapPrivate; */
-typedef struct _GdkWindowPrivate GdkWindowPrivate;
-typedef struct _GdkImagePrivate GdkImagePrivate;
-typedef struct _GdkGCPrivate GdkGCPrivate;
-typedef struct _GdkColormapPrivate GdkColormapPrivate;
-typedef struct _GdkColorInfo GdkColorInfo;
-typedef struct _GdkVisualPrivate GdkVisualPrivate;
-typedef struct _GdkFontPrivate GdkFontPrivate;
-typedef struct _GdkCursorPrivate GdkCursorPrivate;
-typedef struct _GdkEventFilter GdkEventFilter;
-typedef struct _GdkClientFilter GdkClientFilter;
-typedef struct _GdkRegionPrivate GdkRegionPrivate;
-
-struct _GdkDrawablePrivate
-{
- GdkDrawable drawable;
-
- guint8 window_type;
- guint ref_count;
-
- guint16 width;
- guint16 height;
-
- HANDLE xwindow;
- GdkColormap *colormap;
-
- guint destroyed : 2;
-};
-
-struct _GdkWindowPrivate
-{
- GdkDrawablePrivate drawable;
-
- GdkWindow *parent;
- gint16 x;
- gint16 y;
- guint8 resize_count;
- guint mapped : 1;
- guint guffaw_gravity : 1;
-
- /* We must keep the event mask here to filter them ourselves */
- gint event_mask;
-
- /* Values for bg_type */
-#define GDK_WIN32_BG_NORMAL 0
-#define GDK_WIN32_BG_PIXEL 1
-#define GDK_WIN32_BG_PIXMAP 2
-#define GDK_WIN32_BG_PARENT_RELATIVE 3
-#define GDK_WIN32_BG_TRANSPARENT 4
-
- /* We draw the background ourselves at WM_ERASEBKGND */
- guchar bg_type;
- GdkColor bg_pixel;
- GdkPixmap *bg_pixmap;
-
- HCURSOR xcursor;
-
- /* Window size hints */
- gint hint_flags;
- gint hint_x, hint_y;
- gint hint_min_width, hint_min_height;
- gint hint_max_width, hint_max_height;
-
- gint extension_events;
- gboolean extension_events_selected;
-
- GList *filters;
- GList *children;
-
- HKL input_locale;
- CHARSETINFO charset_info;
-};
-
-struct _GdkImagePrivate
-{
- GdkImage image;
- HBITMAP ximage;
- gpointer x_shm_info;
-
- void (*image_put) (GdkDrawable *window,
- GdkGC *gc,
- GdkImage *image,
- gint xsrc,
- gint ysrc,
- gint xdest,
- gint ydest,
- gint width,
- gint height);
-};
-
-struct _GdkGCPrivate
-{
- GdkGC gc;
- GC xgc;
- /* 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
- * GdkGCPrivate struct.
- */
- GdkGCValuesMask values_mask;
- GdkColor foreground;
- GdkColor background;
- GdkFont *font;
- gint rop2;
- GdkFill fill_style;
- GdkPixmap *tile;
- GdkPixmap *stipple;
- HRGN clip_region;
- GdkSubwindowMode subwindow_mode;
- gint ts_x_origin;
- gint ts_y_origin;
- gint clip_x_origin;
- gint clip_y_origin;
- 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;
- guint ref_count;
-};
-
-typedef enum {
- GDK_COLOR_WRITEABLE = 1 << 0
-} GdkColorInfoFlags;
-
-struct _GdkColorInfo
-{
- GdkColorInfoFlags flags;
- guint ref_count;
-};
-
-struct _GdkColormapPrivate
-{
- GdkColormap colormap;
- Colormap xcolormap;
- GdkVisual *visual;
- gint private_val;
-
- GHashTable *hash;
- GdkColorInfo *info;
- time_t last_sync_time;
-
- guint ref_count;
-};
-
-struct _GdkVisualPrivate
-{
- GdkVisual visual;
- Visual *xvisual;
-};
-
-typedef struct
-{
- HFONT xfont;
- DWORD charset;
- UINT codepage;
- CPINFO cpinfo;
- FONTSIGNATURE fs;
-} GdkWin32SingleFont;
-
-struct _GdkFontPrivate
-{
- GdkFont font;
- guint ref_count;
-
- GSList *fonts;
- GSList *names;
-};
-
-struct _GdkCursorPrivate
-{
- GdkCursor cursor;
- Cursor xcursor;
-};
-
-struct _GdkEventFilter {
- GdkFilterFunc function;
- gpointer data;
-};
-
-struct _GdkClientFilter {
- GdkAtom type;
- GdkFilterFunc function;
- gpointer data;
-};
-
-struct _GdkRegionPrivate
-{
- GdkRegion region;
- HRGN xregion;
-};
-
-typedef enum {
- GDK_DEBUG_MISC = 1 << 0,
- GDK_DEBUG_EVENTS = 1 << 1,
- GDK_DEBUG_DND = 1 << 2,
- GDK_DEBUG_COLOR_CONTEXT = 1 << 3,
- GDK_DEBUG_XIM = 1 << 4,
- GDK_DEBUG_SELECTION = 1 << 5
-} GdkDebugFlag;
-
-void gdk_events_init (void);
-void gdk_window_init (void);
-void gdk_visual_init (void);
-void gdk_selection_init (void);
-void gdk_dnd_init (void);
-void gdk_dnd_exit (void);
-void gdk_image_init (void);
-void gdk_image_exit (void);
-
-GdkColormap* gdk_colormap_lookup (Colormap xcolormap);
-GdkVisual* gdk_visual_lookup (Visual *xvisual);
-
-void gdk_window_add_colormap_windows (GdkWindow *window);
-void gdk_window_destroy_notify (GdkWindow *window);
-
-void gdk_xid_table_insert (XID *xid,
- gpointer data);
-void gdk_xid_table_remove (XID xid);
-gpointer gdk_xid_table_lookup (XID xid);
-
-/* Internal functions */
-
-HDC gdk_gc_predraw (GdkDrawablePrivate *drawable_private,
- GdkGCPrivate *gc_private);
-void gdk_gc_postdraw (GdkDrawablePrivate *drawable_private,
- GdkGCPrivate *gc_private);
-HRGN BitmapToRegion (HBITMAP hBmp);
-
-void gdk_sel_prop_store (GdkWindow *owner,
- GdkAtom type,
- gint format,
- guchar *data,
- gint length);
-
-void gdk_event_queue_append (GdkEvent *event);
-
-gint gdk_nmbstowcs (GdkWChar *dest,
- const gchar *src,
- gint src_len,
- gint dest_max);
-gint gdk_nmbstowchar_ts (wchar_t *dest,
- const gchar *src,
- gint src_len,
- gint dest_max);
-
-void gdk_wchar_text_handle (GdkFont *font,
- const wchar_t *wcstr,
- int wclen,
- void (*handler)(GdkWin32SingleFont *,
- const wchar_t *,
- int,
- void *),
- void *arg);
-
-/* Please see gdkwindow.c for comments on how to use */
-HWND gdk_window_xid_at(HWND base, gint bx, gint by, gint x, gint y, GList *excludes, gboolean excl_child);
-HWND gdk_window_xid_at_coords(gint x, gint y, GList *excludes, gboolean excl_child);
-
-extern gint gdk_debug_level;
-extern gint gdk_show_events;
-extern gint gdk_stack_trace;
-extern HWND gdk_root_window;
-extern HWND gdk_leader_window;
-GDKVAR GdkWindowPrivate *gdk_root_parent;
-GDKVAR Atom gdk_selection_property;
-GDKVAR gchar *gdk_progclass;
-GDKVAR gint gdk_error_code;
-GDKVAR gint gdk_error_warnings;
-GDKVAR gint gdk_null_window_warnings;
-extern gint gdk_event_func_from_window_proc;
-
-extern HDC gdk_DC;
-extern HINSTANCE gdk_DLLInstance;
-extern HINSTANCE gdk_ProgInstance;
-
-extern UINT gdk_selection_notify_msg;
-extern UINT gdk_selection_request_msg;
-extern UINT gdk_selection_clear_msg;
-extern GdkAtom gdk_clipboard_atom;
-extern GdkAtom gdk_win32_dropfiles_atom;
-extern GdkAtom gdk_ole2_dnd_atom;
-
-extern LRESULT CALLBACK gdk_WindowProc (HWND, UINT, WPARAM, LPARAM);
-
-extern DWORD windows_version;
-
-/* Debugging support */
-
-#ifdef G_ENABLE_DEBUG
-
-#define GDK_NOTE(type,action) G_STMT_START { \
- if (gdk_debug_flags & GDK_DEBUG_##type) \
- { action; }; } G_STMT_END
-
-#else /* !G_ENABLE_DEBUG */
-
-#define GDK_NOTE(type,action)
-
-#endif /* G_ENABLE_DEBUG */
-
-GDKVAR guint gdk_debug_flags;
-
-/* Internal functions for debug output etc. */
-
-char *gdk_color_to_string (GdkColor *);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-
-#endif /* __GDK_PRIVATE_H__ */
diff --git a/gdk/win32/gdkx.h b/gdk/win32/gdkx.h
deleted file mode 100644
index 3eeacccd2c..0000000000
--- a/gdk/win32/gdkx.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/* GDK - The GIMP Drawing Kit
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * 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
- * files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-#ifndef __GDK_WIN32_H__
-#define __GDK_WIN32_H__
-
-#include <gdk/win32/gdkprivate-win32.h>
-
-#include <time.h>
-#include <locale.h>
-
-#define GDK_ROOT_WINDOW() ((guint32) HWND_DESKTOP)
-#define GDK_ROOT_PARENT() ((GdkWindow *) gdk_root_parent)
-#define GDK_DISPLAY() NULL
-#define GDK_DRAWABLE_XDISPLAY(win) NULL
-#define GDK_DRAWABLE_XID(win) (((GdkDrawablePrivate*) win)->xwindow)
-#define GDK_WINDOW_XDISPLAY GDK_DRAWABLE_XDISPLAY
-#define GDK_WINDOW_XWINDOW GDK_DRAWABLE_XID
-#define GDK_IMAGE_XDISPLAY(image) NULL
-#define GDK_IMAGE_XIMAGE(image) (((GdkImagePrivate*) image)->ximage)
-#define GDK_GC_XDISPLAY(gc) NULL
-#define GDK_GC_XGC(gc) (((GdkGCPrivate*) gc)->xgc)
-#define GDK_COLORMAP_XDISPLAY(cmap) NULL
-#define GDK_COLORMAP_XCOLORMAP(cmap) (((GdkColormapPrivate*) cmap)->xcolormap)
-#define GDK_VISUAL_XVISUAL(vis) (((GdkVisualPrivate*) vis)->xvisual)
-
-GdkVisual* gdkx_visual_get (VisualID xvisualid);
-
-/* Functions to create GDK pixmaps and windows from their native equivalents */
-GdkPixmap *gdk_pixmap_foreign_new (guint32 anid);
-GdkWindow *gdk_window_foreign_new (guint32 anid);
-
-#endif /* __GDK_WIN32_H__ */
diff --git a/gdk/win32/gdkxid.c b/gdk/win32/gdkxid.c
deleted file mode 100644
index 4cba645459..0000000000
--- a/gdk/win32/gdkxid.c
+++ /dev/null
@@ -1,88 +0,0 @@
-/* GDK - The GIMP Drawing Kit
- * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-/*
- * 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
- * files for a list of changes. These files are distributed with
- * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
- */
-
-#include "config.h"
-
-#include <stdio.h>
-#include <gdk/gdk.h>
-
-#include "gdkprivate.h"
-
-static guint gdk_xid_hash (XID *xid);
-static gint gdk_xid_compare (XID *a,
- XID *b);
-
-
-static GHashTable *xid_ht = NULL;
-
-
-void
-gdk_xid_table_insert (XID *xid,
- gpointer data)
-{
- g_return_if_fail (xid != NULL);
-
- if (!xid_ht)
- xid_ht = g_hash_table_new ((GHashFunc) gdk_xid_hash,
- (GCompareFunc) gdk_xid_compare);
-
- g_hash_table_insert (xid_ht, xid, data);
-}
-
-void
-gdk_xid_table_remove (XID xid)
-{
- if (!xid_ht)
- xid_ht = g_hash_table_new ((GHashFunc) gdk_xid_hash,
- (GCompareFunc) gdk_xid_compare);
-
- g_hash_table_remove (xid_ht, &xid);
-}
-
-gpointer
-gdk_xid_table_lookup (XID xid)
-{
- gpointer data = NULL;
-
- if (xid_ht)
- data = g_hash_table_lookup (xid_ht, &xid);
-
- return data;
-}
-
-
-static guint
-gdk_xid_hash (XID *xid)
-{
- return (guint) *xid;
-}
-
-static gint
-gdk_xid_compare (XID *a,
- XID *b)
-{
- return (*a == *b);
-}