Advertisement
Guest User

Untitled

a guest
Jan 15th, 2011
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.78 KB | None | 0 0
  1. #include <X11/Xutil.h>
  2. #include <X11/extensions/Xrender.h>
  3. #include <stdio.h>
  4.  
  5. static Display *display;
  6.  
  7. int main() {
  8.     XVisualInfo xvi;
  9.     XVisualInfo *list;
  10.     XRenderPictFormat *format;
  11.     int nitems, i;
  12.  
  13.     display = XOpenDisplay(NULL);
  14.  
  15.     list = XGetVisualInfo(display, VisualNoMask, &xvi, &nitems);
  16.  
  17.     for (i = 0; i < nitems; i++) {
  18.         const XVisualInfo *v = &list[i];
  19.         printf("id=0x%lx depth=%u r=0x%lx g=0x%lx b=0x%lx ",
  20.             v->visualid, v->depth, v->red_mask, v->green_mask, v->blue_mask);
  21.         format = XRenderFindVisualFormat(display, v->visual);
  22.         if (format && format->type == PictTypeDirect) {
  23.             printf("a=0x%x\n", format->direct.alphaMask << format->direct.alpha);
  24.         } else {
  25.             printf("; no xrender\n");
  26.         }
  27.     }
  28.  
  29.     XFree(list);
  30.     XCloseDisplay(display);
  31.     return 0;
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement