diff options
author | Owen Taylor <otaylor@redhat.com> | 2002-06-06 00:26:42 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2002-06-06 00:26:42 +0000 |
commit | aeaaae04ac7b17964764fdeb4a51197022879cfd (patch) | |
tree | 085f854a6dd4077cccd77db764dcc5d8f70170be /gdk/gdkrgb.c | |
parent | 1df47f17c9879cac7b5ecc3f789cb365854bbedb (diff) | |
download | gtk+-aeaaae04ac7b17964764fdeb4a51197022879cfd.tar.gz |
Changes multihead reorganizing code for win32 support, mostly from a patch
Wed Jun 5 18:34:47 2002 Owen Taylor <otaylor@redhat.com>
Changes multihead reorganizing code for win32 support,
mostly from a patch by Hans Breuer.
* gdk/gdkcolor.c gdk/x11/gdkcolor-x11.c gdk/gdkcursor.c
gdk/x11/gdkcursor-x11.c gdk/gdkevents.c gdk/x11/gdkevents-x11.c
gdk/gdkfont.c gdk/x11/gdkfont-x11.c gdk/gdkkeys.c
gdk/x11/gdkkeys-x11.c gdk/gdkimage.c gdk/x11/gdkimage-x11.c
gdk/gdkscreen.c gdk/x11/gdkmain-x11.c
gdk/gdkdisplay.c gdk/gdkevents-x11.c gdk/gdkpango.c
gdk/x11/gdkpango-x11.c gdk/gdkselection.c
gdk/x11/gdkselection-x11.c gdk/gdkwindow.c
gdk/x11/gdkwindow-x11.c gdk/gdkvisual.c gdk/x11/gdkvisual-x11.c:
Move port-independent singlehead wrapper functions into
port-independent part of GDK. (#80009)
* gdk/win32/gdkcolor-win32.c gdk/win32/gdkcursor-win32.c
gdk/win32/gdkevents-win32.c gdk/win32/gdkfont-win32.c
gdk/win32/gdkimage-win32.c gdk/win32/gdkkeys-win32.c
gdk/win32/gdkmain-win32.c gdk/win32/gdkproperty-win32.c
gdk/win32/gdkselection-win32.c gdk/win32/gkwindow-win32.c:
Turn singlehead functions into "multihead" functions that ignore
their GdkDisplay or GdkScreen arguments.
* gdk/win32/gdkdrawable-win32.c gdk/win32/gdkevents-win32.c
gdk/win32/gdkinput-win32.c gdk/win32/gdkprivate-win32.h:
Misc multihead-compatibility changes.
* gtk/gtk.def gdk/gdk.def: Update for multihead functions.
* gdk/gdkcolormap.h gdk/gdkvisual.h gdk/x11/gdkcolormap-x11.c
gdk/x11/gdkvisual-x11.c: Remove the screen fields
from the public parts of the colormap/visual structures, add accessors
instead.
* gdk/gdkpixbuf-render.c gdk/gdkpixmap.c gdk/gdkrgb.c
gdk/x11/gdkcolormap-x11.c gdk/x11/gdkimage-x11.c
gdk/x11/gdkimage-x11.c gdk/x11/gdkprivate-x11.h gtk/gtkgc.c
gtk/gtkstyle.c gtk/gtkwidget.c: Use accessors to get the screen
for colormaps, visuals; move the fields into the private
structures for the x11 backend.
* gdk/gdkdisplay.[ch] gdk/x11/gdkdisplay-x11.[ch]
gdk/gdkscreen.[ch] gdk/x11/gdkscreen-x11.c:
Remove virtualization of screen and display functions.
(#79990, patch from Erwann Chenede)
* gdk/win32/gdkdisplay-x11.c gdk/win32/gdkscreen-win32.c
gdk/win32/{Makefile.am, makefile.msc, makefile.mingw}:
New files containing stub implementations of Display,
Screen functions.
* gdk/x11/gdkscreen-x11.[ch] gdk/x11/gdkdisplay-x11.[ch]
gdk/x11/gdkx.h: Clean up function exports and what
headers they are in. (#79954)
* gdk/x11/gdkx.h: Fix macro that was referring to a non-existant
screen->screen_num. (In the patch for #79972, Erwann Chenede)
* gdk/gdkscreen.c gdk/gdkwindow.c gdk/x11/gdkinternals.h
gdk/x11/gdkscreen-x11.c: Fix gdk_screen_get_window_at_pointer()
to use window hooks. (#79972, patch partly from Erwann Chenede)
* gdk/x11/gdkdisplay-x11.c gdk/x11/gdkevents-x11.c: Fix
some warnings.
Diffstat (limited to 'gdk/gdkrgb.c')
-rw-r--r-- | gdk/gdkrgb.c | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/gdk/gdkrgb.c b/gdk/gdkrgb.c index 93f260578c..8868583109 100644 --- a/gdk/gdkrgb.c +++ b/gdk/gdkrgb.c @@ -222,14 +222,17 @@ gdk_rgb_try_colormap (GdkRgbInfo *image_info, gboolean force, gint colors_needed; gint idx; gint best[256]; + GdkScreen *screen; if (!force && nr * ng * nb < gdk_rgb_min_colors) return FALSE; + screen = gdk_visual_get_screen (image_info->visual); + if (image_info->cmap) cmap = image_info->cmap; else - cmap = gdk_screen_get_system_colormap (image_info->visual->screen); + cmap = gdk_screen_get_system_colormap (screen); colors_needed = nr * ng * nb; for (i = 0; i < 256; i++) @@ -239,7 +242,7 @@ gdk_rgb_try_colormap (GdkRgbInfo *image_info, gboolean force, } #ifndef GAMMA - if (cmap == gdk_screen_get_system_colormap (image_info->visual->screen)) + if (cmap == gdk_screen_get_system_colormap (screen)) /* find color cube colors that are already present */ for (i = 0; i < MIN (256, cmap->size); i++) { @@ -458,7 +461,7 @@ gdk_rgb_score_visual (GdkVisual *visual) if (quality == 0) return 0; - sys = (visual == gdk_screen_get_system_visual (visual->screen)); + sys = (visual == gdk_screen_get_system_visual (gdk_visual_get_screen (visual))); pseudo = (visual->type == GDK_VISUAL_PSEUDO_COLOR || visual->type == GDK_VISUAL_TRUE_COLOR); @@ -590,6 +593,7 @@ static GdkRgbInfo * gdk_rgb_create_info (GdkVisual *visual, GdkColormap *colormap) { GdkRgbInfo *image_info; + GdkScreen *screen = gdk_visual_get_screen (visual); image_info = g_new0 (GdkRgbInfo, 1); @@ -634,14 +638,14 @@ gdk_rgb_create_info (GdkVisual *visual, GdkColormap *colormap) image_info->visual->depth >= 3)) { if (!image_info->cmap) - image_info->cmap = gdk_colormap_ref (gdk_screen_get_system_colormap (visual->screen)); + image_info->cmap = gdk_colormap_ref (gdk_screen_get_system_colormap (screen)); gdk_rgb_colorcube_222 (image_info); } else if (image_info->visual->type == GDK_VISUAL_PSEUDO_COLOR) { if (!image_info->cmap && - (gdk_rgb_install_cmap || image_info->visual != gdk_screen_get_system_visual (visual->screen))) + (gdk_rgb_install_cmap || image_info->visual != gdk_screen_get_system_visual (screen))) { image_info->cmap = gdk_colormap_new (image_info->visual, FALSE); image_info->cmap_alloced = TRUE; @@ -659,7 +663,7 @@ gdk_rgb_create_info (GdkVisual *visual, GdkColormap *colormap) image_info->nblue_shades); if (!image_info->cmap) - image_info->cmap = gdk_colormap_ref (gdk_screen_get_system_colormap (visual->screen)); + image_info->cmap = gdk_colormap_ref (gdk_screen_get_system_colormap (screen)); } #ifdef ENABLE_GRAYSCALE else if (image_info->visual->type == GDK_VISUAL_GRAYSCALE) @@ -679,8 +683,8 @@ gdk_rgb_create_info (GdkVisual *visual, GdkColormap *colormap) { /* Always install colormap in direct color. */ if (image_info->visual->type != GDK_VISUAL_DIRECT_COLOR && - image_info->visual == gdk_screen_get_system_visual (visual->screen)) - image_info->cmap = gdk_colormap_ref (gdk_screen_get_system_colormap (visual->screen)); + image_info->visual == gdk_screen_get_system_visual (screen)) + image_info->cmap = gdk_colormap_ref (gdk_screen_get_system_colormap (screen)); else { image_info->cmap = gdk_colormap_new (image_info->visual, FALSE); @@ -691,7 +695,7 @@ gdk_rgb_create_info (GdkVisual *visual, GdkColormap *colormap) image_info->bitmap = (image_info->visual->depth == 1); - image_info->bpp = (_gdk_windowing_get_bits_for_depth (gdk_screen_get_display (visual->screen), image_info->visual->depth) + 7) / 8; + image_info->bpp = (_gdk_windowing_get_bits_for_depth (gdk_screen_get_display (screen), image_info->visual->depth) + 7) / 8; gdk_rgb_select_conv (image_info); if (!gdk_rgb_quark) @@ -2881,10 +2885,11 @@ gdk_rgb_select_conv (GdkRgbInfo *image_info) GdkRgbConvFunc conv_gray, conv_gray_d; GdkRgbConvFunc conv_indexed, conv_indexed_d; gboolean mask_rgb, mask_bgr; + GdkScreen *screen = gdk_visual_get_screen (image_info->visual); depth = image_info->visual->depth; - bpp = _gdk_windowing_get_bits_for_depth (gdk_screen_get_display (image_info->visual->screen), + bpp = _gdk_windowing_get_bits_for_depth (gdk_screen_get_display (screen), image_info->visual->depth); byte_order = image_info->visual->byte_order; |