diff options
author | Owen Taylor <otaylor@redhat.com> | 1999-11-08 20:14:59 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 1999-11-08 20:14:59 +0000 |
commit | e9b6bfcc01c0d76c2e5392a0d332bd0d00544ae7 (patch) | |
tree | f2f741cf95b0b49eabf3a756a404413724c5d248 /gdk/gdkrgb.c | |
parent | cd02981bf22833edfca5c5af03278f5701246411 (diff) | |
download | gtk+-e9b6bfcc01c0d76c2e5392a0d332bd0d00544ae7.tar.gz |
Move all X specific code into the x11/ directory. Aside from shuffling
Mon Nov 8 14:47:04 1999 Owen Taylor <otaylor@redhat.com>
Move all X specific code into the x11/ directory.
Aside from shuffling things around, did the following:
* gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
gdk_arg_context_* - a simple argument parsing system
in the style of popt.
* gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
gdk/x11/gdkprivate-x11.h:
Remove X specific stuff from GdkDrawable and GdkWindowPrivate -
add ->klass and ->klass_data fields. The klass_data
field points to an auxilliary structure that is
windowing system dependent.
* gdk/gdkfont.c: Make most of the measurement functions
simply wrappers around gdk_text_extents().
* gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a
_gdk_font_strlen() function that hides the weird
behavior in gtk+-1.[02] where a string is interpreted
differently for 8-bit and 16-bit fonts.
* gdk/gdkevents.c: Add a new function gdk_event_button_generate()
to store common code for synthesizing double/triple
press events.
* gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
Make all the function that modify an existing GC
simply wrappers around gdk_gc_set_values().
* gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
for throwing out later.
* gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
GdkImagePrivate and GdkColormapPrivate to have a
windowing system dependent part (GdkFontPrivateX etc.)
that "derives" from the system-independent part.
* configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
Got rid of the included-source-files for XInput in
favor of automake conditionals. (Which didn't exist
when XInput support was originally added.)
* gdk/gdkrgb.c: Remove the visual id from the debugging
statements since that is X11 specific; print out
type/depth info instead.
Diffstat (limited to 'gdk/gdkrgb.c')
-rw-r--r-- | gdk/gdkrgb.c | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/gdk/gdkrgb.c b/gdk/gdkrgb.c index b0624346cc..17f9a09558 100644 --- a/gdk/gdkrgb.c +++ b/gdk/gdkrgb.c @@ -73,6 +73,16 @@ typedef void (*GdkRgbConvFunc) (GdkImage *image, gint x_align, gint y_align, GdkRgbCmap *cmap); +static const gchar* visual_names[] = +{ + "static gray", + "grayscale", + "static color", + "pseudo color", + "true color", + "direct color", +}; + /* Some of these fields should go, as they're not being used at all. Globals should generally migrate into here - it's very likely that we'll want to run more than one GdkRgbInfo context at the same time @@ -405,16 +415,6 @@ static guint32 gdk_rgb_score_visual (GdkVisual *visual) { guint32 quality, speed, sys, pseudo; - static const gchar* visual_names[] = - { - "static gray", - "grayscale", - "static color", - "pseudo color", - "true color", - "direct color", - }; - quality = 0; speed = 1; @@ -466,8 +466,7 @@ gdk_rgb_score_visual (GdkVisual *visual) pseudo = (visual->type == GDK_VISUAL_PSEUDO_COLOR || visual->type == GDK_VISUAL_TRUE_COLOR); if (gdk_rgb_verbose) - g_print ("Visual 0x%x, type = %s, depth = %d, %x:%x:%x%s; score=%x\n", - (gint)(((GdkVisualPrivate *)visual)->xvisual->visualid), + g_print ("Visual type = %s, depth = %d, %x:%x:%x%s; score=%x\n", visual_names[visual->type], visual->depth, visual->red_mask, @@ -2681,16 +2680,19 @@ gdk_rgb_select_conv (GdkImage *image) gboolean mask_rgb, mask_bgr; depth = image_info->visual->depth; -#if defined (GDK_RGB_STANDALONE) || defined (GDK_WINDOWING_X11) - bpp = ((GdkImagePrivate *)image)->ximage->bits_per_pixel; -#elif defined (GDK_WINDOWING_WIN32) - bpp = ((GdkVisualPrivate *) gdk_visual_get_system())->xvisual->bitspixel; -#endif + + /* FIXME: save the bpp in the image; this is hack that works for + * common visuals, not otherwise. + */ + if (depth <= 8) + bpp = depth; + else + bpp = 8 * image->bpp; byte_order = image->byte_order; if (gdk_rgb_verbose) - g_print ("Chose visual 0x%x, image bpp=%d, %s first\n", - (gint)(((GdkVisualPrivate *)image_info->visual)->xvisual->visualid), + g_print ("Chose visual type=%s depth=%d, image bpp=%d, %s first\n", + visual_names[image_info->visual->type], image_info->visual->depth, bpp, byte_order == GDK_LSB_FIRST ? "lsb" : "msb"); #if G_BYTE_ORDER == G_BIG_ENDIAN |