X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=utils%2Fvisual.c;h=2e3b9a9619007a5605cc23b3649560b75b4dbfd2;hb=4cecfc89e5e889c7232693897c06168fb378bd5c;hp=1bf4942126cd264802fe8392e8f3f32ff92189a3;hpb=72c1f4c1dc6ab07fe121a327ff1c30bf51ef74c1;p=xscreensaver diff --git a/utils/visual.c b/utils/visual.c index 1bf49421..2e3b9a96 100644 --- a/utils/visual.c +++ b/utils/visual.c @@ -1,4 +1,4 @@ -/* xscreensaver, Copyright (c) 1993, 1994, 1995, 1996, 1997, 1998, 1999 +/* xscreensaver, Copyright (c) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000 * by Jamie Zawinski * * Permission to use, copy, modify, distribute, and sell this software and its @@ -19,6 +19,7 @@ #include "resources.h" /* for get_string_resource() */ #include "visual.h" +#include #include extern char *progname; @@ -36,8 +37,6 @@ static Visual *pick_best_visual (Screen *, Bool, Bool); static Visual *pick_mono_visual (Screen *); static Visual *pick_best_visual_of_class (Screen *, int); static Visual *pick_best_gl_visual (Screen *); -static Visual *id_to_visual (Screen *, int); -static Visual *id_to_visual (Screen *screen, int id); #define DEFAULT_VISUAL -1 @@ -135,7 +134,7 @@ get_visual (Screen *screen, const char *string, Bool prefer_writable_cells, if (visual) result = visual; else if (verbose_p) - fprintf (stderr, "%s: no visual suitable for GL.\n", progname, v); + fprintf (stderr, "%s: no visual suitable for GL.\n", progname); } else if (vclass == SPECIFIC_VISUAL) { @@ -326,7 +325,7 @@ pick_best_gl_visual (Screen *screen) result = vi_out[0].visual; } - if (result) + if (!result) /* No half-depth TrueColor? Ok, try for any TrueColor (the deepest.) */ result = pick_best_visual_of_class (screen, TrueColor); @@ -338,7 +337,7 @@ pick_best_gl_visual (Screen *screen) } -static Visual * +Visual * id_to_visual (Screen *screen, int id) { Display *dpy = DisplayOfScreen (screen); @@ -430,13 +429,12 @@ has_writable_cells (Screen *screen, Visual *visual) { case GrayScale: /* Mappable grays. */ case PseudoColor: /* Mappable colors. */ + case DirectColor: /* Like TrueColor, but with three colormaps: + one each for red, green, and blue. */ return True; case StaticGray: /* Fixed grays. */ case TrueColor: /* Fixed colors. */ - case StaticColor: /* (What's the difference again?) */ - case DirectColor: /* DirectColor visuals are like TrueColor, but have - three colormaps - one for each component of RGB. - Screw it. */ + case StaticColor: /* Like PseudoColor with an unmodifiable colormap. */ return False; default: abort();