X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=driver%2Fvisual.c;h=b9d1897034cc1524f3239ba11c5c5b72c47f8bdc;hb=0cac953ce8d5139c1a264b417951ee15a3176b51;hp=b4ca97208075407edf78f8b07247ab9b7abc934f;hpb=258170f6204e23da06f272ffda1f4504b6ae2eaf;p=xscreensaver diff --git a/driver/visual.c b/driver/visual.c index b4ca9720..b9d18970 100644 --- a/driver/visual.c +++ b/driver/visual.c @@ -158,3 +158,28 @@ get_visual_resource (dpy, name, class) else return pick_best_visual_of_class (dpy, vclass); } + +void +describe_visual (f, dpy, visual) + FILE *f; + Display *dpy; + Visual *visual; +{ + XVisualInfo vi_in, *vi_out; + int out_count, d; + vi_in.screen = DefaultScreen (dpy); + vi_in.visualid = XVisualIDFromVisual (visual); + vi_out = XGetVisualInfo (dpy, VisualScreenMask|VisualIDMask, + &vi_in, &out_count); + if (! vi_out) abort (); + fprintf (f, "0x%02x (%s depth: %2d, cmap: %3d @ %d)\n", vi_out->visualid, + (vi_out->class == StaticGray ? "StaticGray, " : + vi_out->class == StaticColor ? "StaticColor," : + vi_out->class == TrueColor ? "TrueColor, " : + vi_out->class == GrayScale ? "GrayScale, " : + vi_out->class == PseudoColor ? "PseudoColor," : + vi_out->class == DirectColor ? "DirectColor," : + "???"), + vi_out->depth, vi_out->colormap_size, vi_out->bits_per_rgb); + XFree ((char *) vi_out); +}