+2002-01-04 Hans Breuer <hans@breuer.org>
+
+ * gdk/gdkdraw.c gdk/gdkpixbuf-drawable.c :
+ need to cast image->mem away from void* to avoid
+ 'error C2036: 'void *' : unknown size'. Doing pointer
+ arithmetics on void pointers is a GCCism afaik.
+
+ * gdk/gdkpixbuf-render.c : #include "gdkinternals.h" for
+ _gdk_draw_pixbuf ()
+
+ * gdk/makefile.msc gdk/win32/makefile.msc
+ gdk/gtk/makefile.msc.in : use -FI msvc_recommended_pragmas.h
+
+ * gdk/win32/gdkdrawable-win32.c : use _gkd_win32_copy_to_image
+ and take care of image->visual possibly NULL.
+
+ * gdk/win32/gdkimage-win32.c : implement _gdk_image_new_for_depth(),
+ _gdk_win32_copy_to_image() and _gdk_windowing_bits_for_depth().
+ Again take care of image->visual possibly NULL.
+
+ * gdk/win32/gdkprivate-win32.h : declare _gdk_win32_copy_to_image()
+
+ * gdk/win32/gdkevents-win32.c : use gdk_drawable_get_colormap
+ instead of private field access
+
+ * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new) : adapt
+ colormap setting to the gdk-X behaviour
+
2001-01-04 Matthias Clasen <matthiasc@poet.de>
* gtk/gtkwidget.c: Documentation additions.
+2002-01-04 Hans Breuer <hans@breuer.org>
+
+ * gdk/gdkdraw.c gdk/gdkpixbuf-drawable.c :
+ need to cast image->mem away from void* to avoid
+ 'error C2036: 'void *' : unknown size'. Doing pointer
+ arithmetics on void pointers is a GCCism afaik.
+
+ * gdk/gdkpixbuf-render.c : #include "gdkinternals.h" for
+ _gdk_draw_pixbuf ()
+
+ * gdk/makefile.msc gdk/win32/makefile.msc
+ gdk/gtk/makefile.msc.in : use -FI msvc_recommended_pragmas.h
+
+ * gdk/win32/gdkdrawable-win32.c : use _gkd_win32_copy_to_image
+ and take care of image->visual possibly NULL.
+
+ * gdk/win32/gdkimage-win32.c : implement _gdk_image_new_for_depth(),
+ _gdk_win32_copy_to_image() and _gdk_windowing_bits_for_depth().
+ Again take care of image->visual possibly NULL.
+
+ * gdk/win32/gdkprivate-win32.h : declare _gdk_win32_copy_to_image()
+
+ * gdk/win32/gdkevents-win32.c : use gdk_drawable_get_colormap
+ instead of private field access
+
+ * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new) : adapt
+ colormap setting to the gdk-X behaviour
+
2001-01-04 Matthias Clasen <matthiasc@poet.de>
* gtk/gtkwidget.c: Documentation additions.
+2002-01-04 Hans Breuer <hans@breuer.org>
+
+ * gdk/gdkdraw.c gdk/gdkpixbuf-drawable.c :
+ need to cast image->mem away from void* to avoid
+ 'error C2036: 'void *' : unknown size'. Doing pointer
+ arithmetics on void pointers is a GCCism afaik.
+
+ * gdk/gdkpixbuf-render.c : #include "gdkinternals.h" for
+ _gdk_draw_pixbuf ()
+
+ * gdk/makefile.msc gdk/win32/makefile.msc
+ gdk/gtk/makefile.msc.in : use -FI msvc_recommended_pragmas.h
+
+ * gdk/win32/gdkdrawable-win32.c : use _gkd_win32_copy_to_image
+ and take care of image->visual possibly NULL.
+
+ * gdk/win32/gdkimage-win32.c : implement _gdk_image_new_for_depth(),
+ _gdk_win32_copy_to_image() and _gdk_windowing_bits_for_depth().
+ Again take care of image->visual possibly NULL.
+
+ * gdk/win32/gdkprivate-win32.h : declare _gdk_win32_copy_to_image()
+
+ * gdk/win32/gdkevents-win32.c : use gdk_drawable_get_colormap
+ instead of private field access
+
+ * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new) : adapt
+ colormap setting to the gdk-X behaviour
+
2001-01-04 Matthias Clasen <matthiasc@poet.de>
* gtk/gtkwidget.c: Documentation additions.
+2002-01-04 Hans Breuer <hans@breuer.org>
+
+ * gdk/gdkdraw.c gdk/gdkpixbuf-drawable.c :
+ need to cast image->mem away from void* to avoid
+ 'error C2036: 'void *' : unknown size'. Doing pointer
+ arithmetics on void pointers is a GCCism afaik.
+
+ * gdk/gdkpixbuf-render.c : #include "gdkinternals.h" for
+ _gdk_draw_pixbuf ()
+
+ * gdk/makefile.msc gdk/win32/makefile.msc
+ gdk/gtk/makefile.msc.in : use -FI msvc_recommended_pragmas.h
+
+ * gdk/win32/gdkdrawable-win32.c : use _gkd_win32_copy_to_image
+ and take care of image->visual possibly NULL.
+
+ * gdk/win32/gdkimage-win32.c : implement _gdk_image_new_for_depth(),
+ _gdk_win32_copy_to_image() and _gdk_windowing_bits_for_depth().
+ Again take care of image->visual possibly NULL.
+
+ * gdk/win32/gdkprivate-win32.h : declare _gdk_win32_copy_to_image()
+
+ * gdk/win32/gdkevents-win32.c : use gdk_drawable_get_colormap
+ instead of private field access
+
+ * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new) : adapt
+ colormap setting to the gdk-X behaviour
+
2001-01-04 Matthias Clasen <matthiasc@poet.de>
* gtk/gtkwidget.c: Documentation additions.
+2002-01-04 Hans Breuer <hans@breuer.org>
+
+ * gdk/gdkdraw.c gdk/gdkpixbuf-drawable.c :
+ need to cast image->mem away from void* to avoid
+ 'error C2036: 'void *' : unknown size'. Doing pointer
+ arithmetics on void pointers is a GCCism afaik.
+
+ * gdk/gdkpixbuf-render.c : #include "gdkinternals.h" for
+ _gdk_draw_pixbuf ()
+
+ * gdk/makefile.msc gdk/win32/makefile.msc
+ gdk/gtk/makefile.msc.in : use -FI msvc_recommended_pragmas.h
+
+ * gdk/win32/gdkdrawable-win32.c : use _gkd_win32_copy_to_image
+ and take care of image->visual possibly NULL.
+
+ * gdk/win32/gdkimage-win32.c : implement _gdk_image_new_for_depth(),
+ _gdk_win32_copy_to_image() and _gdk_windowing_bits_for_depth().
+ Again take care of image->visual possibly NULL.
+
+ * gdk/win32/gdkprivate-win32.h : declare _gdk_win32_copy_to_image()
+
+ * gdk/win32/gdkevents-win32.c : use gdk_drawable_get_colormap
+ instead of private field access
+
+ * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new) : adapt
+ colormap setting to the gdk-X behaviour
+
2001-01-04 Matthias Clasen <matthiasc@poet.de>
* gtk/gtkwidget.c: Documentation additions.
+2002-01-04 Hans Breuer <hans@breuer.org>
+
+ * gdk/gdkdraw.c gdk/gdkpixbuf-drawable.c :
+ need to cast image->mem away from void* to avoid
+ 'error C2036: 'void *' : unknown size'. Doing pointer
+ arithmetics on void pointers is a GCCism afaik.
+
+ * gdk/gdkpixbuf-render.c : #include "gdkinternals.h" for
+ _gdk_draw_pixbuf ()
+
+ * gdk/makefile.msc gdk/win32/makefile.msc
+ gdk/gtk/makefile.msc.in : use -FI msvc_recommended_pragmas.h
+
+ * gdk/win32/gdkdrawable-win32.c : use _gkd_win32_copy_to_image
+ and take care of image->visual possibly NULL.
+
+ * gdk/win32/gdkimage-win32.c : implement _gdk_image_new_for_depth(),
+ _gdk_win32_copy_to_image() and _gdk_windowing_bits_for_depth().
+ Again take care of image->visual possibly NULL.
+
+ * gdk/win32/gdkprivate-win32.h : declare _gdk_win32_copy_to_image()
+
+ * gdk/win32/gdkevents-win32.c : use gdk_drawable_get_colormap
+ instead of private field access
+
+ * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new) : adapt
+ colormap setting to the gdk-X behaviour
+
2001-01-04 Matthias Clasen <matthiasc@poet.de>
* gtk/gtkwidget.c: Documentation additions.
+2002-01-04 Hans Breuer <hans@breuer.org>
+
+ * gdk/gdkdraw.c gdk/gdkpixbuf-drawable.c :
+ need to cast image->mem away from void* to avoid
+ 'error C2036: 'void *' : unknown size'. Doing pointer
+ arithmetics on void pointers is a GCCism afaik.
+
+ * gdk/gdkpixbuf-render.c : #include "gdkinternals.h" for
+ _gdk_draw_pixbuf ()
+
+ * gdk/makefile.msc gdk/win32/makefile.msc
+ gdk/gtk/makefile.msc.in : use -FI msvc_recommended_pragmas.h
+
+ * gdk/win32/gdkdrawable-win32.c : use _gkd_win32_copy_to_image
+ and take care of image->visual possibly NULL.
+
+ * gdk/win32/gdkimage-win32.c : implement _gdk_image_new_for_depth(),
+ _gdk_win32_copy_to_image() and _gdk_windowing_bits_for_depth().
+ Again take care of image->visual possibly NULL.
+
+ * gdk/win32/gdkprivate-win32.h : declare _gdk_win32_copy_to_image()
+
+ * gdk/win32/gdkevents-win32.c : use gdk_drawable_get_colormap
+ instead of private field access
+
+ * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new) : adapt
+ colormap setting to the gdk-X behaviour
+
2001-01-04 Matthias Clasen <matthiasc@poet.de>
* gtk/gtkwidget.c: Documentation additions.
width1, height1);
(*composite_func) (pixbuf->pixels + (src_y + y0) * pixbuf->rowstride + (src_x + x0) * 4,
pixbuf->rowstride,
- image->mem + ys0 * image->bpl + xs0 * image->bpp,
+ (guchar*)image->mem + ys0 * image->bpl + xs0 * image->bpp,
image->bpl,
visual->byte_order,
width1, height1);
int bpl;
register guint8 data;
guint8 *o;
- guint8 *srow = image->mem + y1 * image->bpl, *orow = pixels;
+ guint8 *srow = (guint8*)image->mem + y1 * image->bpl, *orow = pixels;
d (printf ("bitmap, no alpha\n"));
int bpl;
register guint8 data;
guint8 *o;
- guint8 *srow = image->mem + y1 * image->bpl, *orow = pixels;
+ guint8 *srow = (guint8*)image->mem + y1 * image->bpl, *orow = pixels;
d (printf ("bitmap, with alpha\n"));
int bpl;
register guint8 data;
guint8 *o;
- guint8 *srow = image->mem + y1 * image->bpl, *orow = pixels;
+ guint8 *srow = (guint8*)image->mem + y1 * image->bpl, *orow = pixels;
d (printf ("1 bits/pixel\n"));
int bpl;
register guint8 data;
guint8 *o;
- guint8 *srow = image->mem + y1 * image->bpl, *orow = pixels;
+ guint8 *srow = (guint8*)image->mem + y1 * image->bpl, *orow = pixels;
d (printf ("1 bits/pixel\n"));
int bpl;
guint32 mask;
register guint32 data;
- guint8 *srow = image->mem + y1 * image->bpl + x1 * image->bpp, *orow = pixels;
+ guint8 *srow = (guint8*)image->mem + y1 * image->bpl + x1 * image->bpp, *orow = pixels;
register guint8 *s;
register guint8 *o;
guint32 remap[256];
register guint8 *s; /* read 2 pixels at once */
register guint32 *o;
- guint8 *srow = image->mem + y1 * image->bpl + x1 * image->bpp, *orow = pixels;
+ guint8 *srow = (guint8*)image->mem + y1 * image->bpl + x1 * image->bpp, *orow = pixels;
bpl = image->bpl;
register guint8 *s; /* read 2 pixels at once */
#endif
register guint16 *o;
- guint8 *srow = image->mem + y1 * image->bpl + x1 * image->bpp, *orow = pixels;
+ guint8 *srow = (guint8*)image->mem + y1 * image->bpl + x1 * image->bpp, *orow = pixels;
bpl = image->bpl;
register guint32 *s; /* read 2 pixels at once */
#endif
register guint16 *o;
- guint8 *srow = image->mem + y1 * image->bpl + x1 * image->bpp, *orow = pixels;
+ guint8 *srow = (guint8*)image->mem + y1 * image->bpl + x1 * image->bpp, *orow = pixels;
bpl = image->bpl;
#endif
register guint32 *o;
- guint8 *srow = image->mem + y1 * image->bpl + x1 * image->bpp, *orow = pixels;
+ guint8 *srow = (guint8*)image->mem + y1 * image->bpl + x1 * image->bpp, *orow = pixels;
bpl = image->bpl;
#endif
register guint32 *o;
- guint8 *srow = image->mem + y1 * image->bpl + x1 * image->bpp, *orow = pixels;
+ guint8 *srow = (guint8*)image->mem + y1 * image->bpl + x1 * image->bpp, *orow = pixels;
bpl = image->bpl;
register guint8 *s; /* read 2 pixels at once */
#endif
register guint16 *o;
- guint8 *srow = image->mem + y1 * image->bpl + x1 * image->bpp, *orow = pixels;
+ guint8 *srow = (guint8*)image->mem + y1 * image->bpl + x1 * image->bpp, *orow = pixels;
bpl = image->bpl;
register guint32 *s; /* read 2 pixels at once */
#endif
register guint16 *o;
- guint8 *srow = image->mem + y1 * image->bpl + x1 * image->bpp, *orow = pixels;
+ guint8 *srow = (guint8*)image->mem + y1 * image->bpl + x1 * image->bpp, *orow = pixels;
bpl = image->bpl;
#endif
register guint32 *o;
- guint8 *srow = image->mem + y1 * image->bpl + x1 * image->bpp, *orow = pixels;
+ guint8 *srow = (guint8*)image->mem + y1 * image->bpl + x1 * image->bpp, *orow = pixels;
bpl = image->bpl;
#endif
register guint32 *o;
- guint8 *srow = image->mem + y1 * image->bpl + x1 * image->bpp, *orow = pixels;
+ guint8 *srow = (guint8*)image->mem + y1 * image->bpl + x1 * image->bpp, *orow = pixels;
bpl = image->bpl;
guint8 *s; /* for byte order swapping */
guint8 *o;
- guint8 *srow = image->mem + y1 * image->bpl + x1 * image->bpp, *orow = pixels;
+ guint8 *srow = (guint8*)image->mem + y1 * image->bpl + x1 * image->bpp, *orow = pixels;
bpl = image->bpl;
int xx, yy;
int bpl;
- guint8 *srow = image->mem + y1 * image->bpl + x1 * image->bpp, *orow = pixels;
+ guint8 *srow = (guint8*)image->mem + y1 * image->bpl + x1 * image->bpp, *orow = pixels;
guint8 *o, *s;
bpl = image->bpl;
int xx, yy;
int bpl;
- guint8 *srow = image->mem + y1 * image->bpl + x1 * image->bpp, *orow = pixels;
+ guint8 *srow = (guint8*)image->mem + y1 * image->bpl + x1 * image->bpp, *orow = pixels;
#ifdef LITTLE
guint32 *o;
guint32 *s;
int xx, yy;
int bpl;
- guint8 *srow = image->mem + y1 * image->bpl + x1 * image->bpp, *orow = pixels;
+ guint8 *srow = (guint8*)image->mem + y1 * image->bpl + x1 * image->bpp, *orow = pixels;
guint8 *s;
guint8 *o;
#include <config.h>
#include <gdk/gdk.h>
+#include "gdkinternals.h" /* _gdk_draw_pixbuf() */
#include "gdk-pixbuf-private.h"
#include "gdkpixbuf.h"
PERL = perl
!ENDIF
-CFLAGS = -I . -I .. $(GLIB_CFLAGS) $(PANGO_CFLAGS) -I ../gdk-pixbuf \
+CFLAGS = -FImsvc_recommended_pragmas.h -I . -I .. \
+ $(GLIB_CFLAGS) $(PANGO_CFLAGS) -I ../gdk-pixbuf \
$(G_DEBUGGING) -DHAVE_CONFIG_H -DGDK_ENABLE_BROKEN -DGDK_VERSION=\"$(GTK_VER)\"
EXTRALIBS = $(WTKIT)\lib\i386\wntab32x.lib $(GLIB_LIBS) \
..\gdk-pixbuf\gdk_pixbuf-$(GDK_PIXBUF_VER).lib $(PANGOWIN32_LIBS)
gdk.h \
gdkcolor.h \
gdkcursor.h \
- gdkcursors.h \
gdkdnd.h \
gdkdrawable.h \
gdkevents.h \
drawable_class->get_visual = gdk_win32_get_visual;
drawable_class->get_image = _gdk_win32_get_image;
+
+ drawable_class->_copy_to_image = _gdk_win32_copy_to_image;
}
static void
hdc = gdk_win32_hdc_get (drawable, gc, 0);
- if (image->visual->type == GDK_VISUAL_PSEUDO_COLOR &&
+ if (image->visual && image->visual->type == GDK_VISUAL_PSEUDO_COLOR &&
colormap_private && colormap_private->xcolormap->rc_palette)
{
if (!bmi_inited)
break;
}
- colormap = GDK_DRAWABLE_IMPL_WIN32 (GDK_WINDOW_OBJECT (window)->impl)->colormap;
+ colormap = gdk_drawable_get_colormap (window);
if (colormap)
colormap_private = GDK_COLORMAP_PRIVATE_DATA (colormap);
hdc = (HDC) msg->wParam;
}
GdkImage*
-gdk_image_new (GdkImageType type,
- GdkVisual *visual,
- gint width,
- gint height)
+_gdk_image_new_for_depth (GdkImageType type,
+ GdkVisual *visual,
+ gint width,
+ gint height,
+ gint depth)
{
GdkImage *image;
GdkImagePrivateWin32 *private;
- Visual *xvisual;
+ Visual *xvisual = NULL;
struct {
BITMAPINFOHEADER bmiHeader;
union {
UINT iUsage;
int i;
+ g_return_val_if_fail (!visual || GDK_IS_VISUAL (visual), NULL);
+ g_return_val_if_fail (visual || depth != -1, NULL);
+
+ if (visual)
+ depth = visual->depth;
+
if (type == GDK_IMAGE_FASTEST || type == GDK_IMAGE_NORMAL)
type = GDK_IMAGE_SHARED;
image->visual = visual;
image->width = width;
image->height = height;
- image->depth = visual->depth;
+ image->depth = depth;
- xvisual = ((GdkVisualPrivate*) visual)->xvisual;
+ if (visual)
+ xvisual = ((GdkVisualPrivate*) visual)->xvisual;
bmi.bmiHeader.biSize = sizeof (BITMAPINFOHEADER);
bmi.bmiHeader.biWidth = width;
bmi.bmiHeader.biClrUsed = 0;
bmi.bmiHeader.biClrImportant = 0;
- if (image->visual->type == GDK_VISUAL_PSEUDO_COLOR)
+ if ( (image->visual && image->visual->type == GDK_VISUAL_PSEUDO_COLOR)
+ || (8 == image->depth))
{
iUsage = DIB_PAL_COLORS;
for (i = 0; i < 256; i++)
}
else if (image->depth == 16)
{
- bmi.u.bmiMasks[0] = visual->red_mask;
- bmi.u.bmiMasks[1] = visual->green_mask;
- bmi.u.bmiMasks[2] = visual->blue_mask;
+ bmi.u.bmiMasks[0] = visual ? visual->red_mask : 0x0000F800;
+ bmi.u.bmiMasks[1] = visual ? visual->green_mask : 0x000007E0;
+ bmi.u.bmiMasks[2] = visual ? visual->blue_mask : 0x0000001F;
}
}
return image;
}
+GdkImage*
+gdk_image_new (GdkImageType type,
+ GdkVisual *visual,
+ gint width,
+ gint height)
+{
+ return _gdk_image_new_for_depth (type, visual, width, height, -1);
+}
+
+
GdkImage*
_gdk_win32_get_image (GdkDrawable *drawable,
gint x,
return NULL;
}
image->depth = gdk_visual_get_system ()->depth;
- if (image->visual->type == GDK_VISUAL_PSEUDO_COLOR)
+ if (image->visual && image->visual->type == GDK_VISUAL_PSEUDO_COLOR)
{
iUsage = DIB_PAL_COLORS;
for (i = 0; i < 256; i++)
return image;
}
+GdkImage*
+_gdk_win32_copy_to_image (GdkDrawable *drawable,
+ GdkImage *image,
+ gint src_x,
+ gint src_y,
+ gint dest_x,
+ gint dest_y,
+ gint width,
+ gint height)
+{
+ GdkImagePrivateWin32 *private;
+ GdkDrawableImplWin32 *impl;
+ GdkVisual *visual;
+ GdkGC *gc = NULL;
+ gboolean ok = TRUE, is_window_impl;
+ HBITMAP holdbmp = NULL;
+ HDC src_dc = NULL, dest_dc = NULL;
+
+ g_return_val_if_fail (GDK_IS_DRAWABLE_IMPL_WIN32 (drawable), NULL);
+ g_return_val_if_fail (image != NULL || (dest_x == 0 && dest_y == 0), NULL);
+
+ visual = gdk_drawable_get_visual (drawable);
+ impl = GDK_DRAWABLE_IMPL_WIN32 (drawable);
+ is_window_impl = GDK_IS_WINDOW_IMPL_WIN32 (drawable);
+
+ if (!image && !is_window_impl)
+ return _gdk_win32_get_image (drawable, src_x, src_y, width, height);
+
+ if (!image)
+ image = _gdk_image_new_for_depth (GDK_IMAGE_FASTEST, visual, width, height, -1);
+
+ private = IMAGE_PRIVATE_DATA (image);
+
+ if (is_window_impl)
+ src_dc = GetDC (impl->handle);
+ else
+ {
+ gc = gdk_gc_new (drawable);
+ src_dc = gdk_win32_hdc_get (drawable, gc, 0);
+ }
+ ok = !!src_dc;
+
+ if (ok)
+ {
+ dest_dc = CreateCompatibleDC (NULL);
+ ok = !!dest_dc;
+ }
+
+ if (ok)
+ {
+ holdbmp = SelectObject (dest_dc, private->hbitmap);
+ ok = !!holdbmp;
+ }
+
+ if (ok && !BitBlt (dest_dc, dest_x, dest_y, width, height,
+ src_dc, src_x, src_y, SRCCOPY))
+ WIN32_GDI_FAILED ("BitBlt");
+
+ if (is_window_impl)
+ {
+ if (src_dc && !ReleaseDC (impl->handle, src_dc))
+ WIN32_GDI_FAILED ("ReleaseDC");
+ }
+ else
+ {
+ gdk_win32_hdc_release (drawable, gc, 0);
+ g_object_unref (gc);
+ }
+
+ if (dest_dc)
+ {
+ if (holdbmp)
+ SelectObject (dest_dc, holdbmp);
+ if (!DeleteDC (dest_dc))
+ WIN32_GDI_FAILED ("DeleteDC");
+ }
+ g_return_val_if_fail (ok, image);
+
+ return image;
+}
+
guint32
gdk_image_get_pixel (GdkImage *image,
gint x,
image->windowing_data = NULL;
}
+gint
+_gdk_windowing_get_bits_for_depth (gint depth)
+{
+ if ((1 == depth) || (8 == depth) || (16 == depth) ||
+ (24 == depth) || (32 == depth))
+ return depth;
+ else if (15 == depth)
+ return 16;
+ else
+ g_assert_not_reached ();
+
+ return 0;
+}
GdkDrawableImplWin32 *draw_impl;
GdkPixmapImplWin32 *pix_impl;
GdkVisual *visual;
+ GdkColormap *cmap = NULL;
+ gint window_depth;
struct {
BITMAPINFOHEADER bmiHeader;
visual = gdk_drawable_get_visual (window);
+ window_depth = gdk_drawable_get_depth (GDK_DRAWABLE (window));
if (depth == -1)
- depth = gdk_drawable_get_depth (GDK_DRAWABLE (window));
+ depth = window_depth;
GDK_NOTE (MISC, g_print ("gdk_pixmap_new: %dx%dx%d\n",
width, height, depth));
bmi.u.bmiColors[1].rgbRed = 0xFF;
bmi.u.bmiColors[1].rgbReserved = 0x00;
draw_impl->colormap = NULL;
- GDK_NOTE (MISC, g_print ("... colormap NULL\n"));
}
else
{
- draw_impl->colormap = GDK_DRAWABLE_IMPL_WIN32 (GDK_WINDOW_OBJECT (window)->impl)->colormap;
- if (draw_impl->colormap == NULL)
- draw_impl->colormap = gdk_colormap_get_system ();
- GDK_NOTE (MISC, g_print ("... colormap %p\n", draw_impl->colormap));
-
if (depth == 8)
{
iUsage = DIB_PAL_COLORS;
}
ReleaseDC (GDK_WINDOW_HWND (window), hdc);
+ if (depth == window_depth)
+ {
+ cmap = gdk_drawable_get_colormap (window);
+ if (cmap)
+ gdk_drawable_set_colormap (pixmap, cmap);
+ }
+
+ GDK_NOTE (MISC, g_print ("... colormap %p\n", cmap));
+
GDK_NOTE (MISC, g_print ("... = %#x\n",
(guint) GDK_PIXMAP_HBITMAP (pixmap)));
gint width,
gint height);
+GdkImage *_gdk_win32_copy_to_image (GdkDrawable *drawable,
+ GdkImage *image,
+ gint src_x,
+ gint src_y,
+ gint dest_x,
+ gint dest_y,
+ gint width,
+ gint height);
+
COLORREF _gdk_win32_colormap_color (GdkColormap *colormap,
gulong pixel);
GTK_VER=1.3
-CFLAGS = -I. -I.. -I..\.. $(GLIB_CFLAGS) $(PANGO_CFLAGS) \
+CFLAGS = -FImsvc_recommended_pragmas.h \
+ -I. -I.. -I..\.. $(GLIB_CFLAGS) $(PANGO_CFLAGS) \
-I$(WTKIT)\include -I$(GLIB) \
$(G_DEBUGGING) -DHAVE_CONFIG_H -DINSIDE_GDK_WIN32 -DGDK_VERSION=\"$(GTK_VER)\"
PERL = perl
AWK = gawk
-INCLUDES = -I . -I .. -I ../gdk -I ../gdk-pixbuf -DPANGO_ENABLE_BACKEND
+INCLUDES = -FImsvc_recommended_pragmas.h -I . -I .. -I ../gdk -I ../gdk-pixbuf -DPANGO_ENABLE_BACKEND
DEPCFLAGS = $(PANGO_CFLAGS) $(GLIB_CFLAGS) $(LIBICONV_CFLAGS) \
$(INTL_CFLAGS) $(ATK_CFLAGS)
LDFLAGS = $(ATK_LIBS) /link /machine:ix86 $(LINKDEBUG)
gtkoptionmenu.obj \
gtkpaned.obj \
gtkpixmap.obj \
- gtkplug.obj \
+# gtkplug.obj \
gtkpreview.obj \
gtkprogress.obj \
gtkprogressbar.obj \
gtksettings.obj \
gtksignal.obj \
gtksizegroup.obj \
- gtksocket.obj \
+# gtksocket.obj \
gtkspinbutton.obj \
gtkstyle.obj \
gtkstatusbar.obj \
gtktexttag.obj \
gtktexttagtable.obj \
gtktexttypes.obj \
+ gtktextutil.obj \
gtktextview.obj \
gtkthemes.obj \
gtktipsquery.obj \