summaryrefslogtreecommitdiff
path: root/gdk/gdkimage.c
diff options
context:
space:
mode:
authorTor Lillqvist <tml@src.gnome.org>1999-03-17 23:02:10 +0000
committerTor Lillqvist <tml@src.gnome.org>1999-03-17 23:02:10 +0000
commit0b4d29fd6e88bdbf70ee30e2743f4ecf9032e250 (patch)
tree9e87d0195fe9da01becb6a074058f83669844eb8 /gdk/gdkimage.c
parentd142187b3856c756740ec2e2fa107a4603efcd23 (diff)
downloadgtk+-0b4d29fd6e88bdbf70ee30e2743f4ecf9032e250.tar.gz
Merge in Win32 version: Define macro GDKVAR for declaring gdk variables
* gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for declaring gdk variables exported/imported from the DLL. New image type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and GDK_DRAG_PROTO_OLE2. * gdk/gdk.h: Merge in Win32 version: Two new functions, gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far declared only for the Win32 version, but could be in the X11 version as well. (Needed for a Xlib-less gdk_imlib.) gdk_color_hash should have only one parameter. Declare gdk_threads_mutex with GDKVAR. * gdk/gdkcolor.c (gdk_color_hash): As a hash function should have just one parameter. * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes per pixel, not bits. * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv): Fetch bpp (which means bits-per-pixel here) from another place on Win32. Accept also depth==32 (which we might get on Win32) with bpp==32. * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel, gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc, gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c: Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be in the backend-dependent directory, not in the common gdk directory. * gtk/testgtk.c: Ditto. Also, don't use ../gdk patchs to gdk headers.
Diffstat (limited to 'gdk/gdkimage.c')
-rw-r--r--gdk/gdkimage.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/gdk/gdkimage.c b/gdk/gdkimage.c
index f2f26d95a9..d2e66803d1 100644
--- a/gdk/gdkimage.c
+++ b/gdk/gdkimage.c
@@ -372,7 +372,14 @@ gdk_image_get (GdkWindow *window,
image->mem = private->ximage->data;
image->bpl = private->ximage->bytes_per_line;
- image->bpp = private->ximage->bits_per_pixel;
+ if (private->ximage->bits_per_pixel <= 8)
+ image->bpp = 1;
+ else if (private->ximage->bits_per_pixel <= 16)
+ image->bpp = 2;
+ else if (private->ximage->bits_per_pixel <= 24)
+ image->bpp = 3;
+ else
+ image->bpp = 4;
image->byte_order = private->ximage->byte_order;
return image;