]> Dogcows Code - chaz/openbox/blob - render/test.c
more unique error for unhandles image bit depths, remove debug prints
[chaz/openbox] / render / test.c
1 #include <stdio.h>
2 #include <X11/Xlib.h>
3 #include <X11/extensions/shape.h>
4 #include <string.h>
5 #include <stdlib.h>
6 #include "render.h"
7 #include <glib.h>
8
9 static int x_error_handler(Display * disp, XErrorEvent * error)
10 {
11 char buf[1024];
12 XGetErrorText(disp, error->error_code, buf, 1024);
13 printf("%s\n", buf);
14 return 0;
15 }
16
17 Display *ob_display;
18 int ob_screen;
19 Window ob_root;
20
21 int main()
22 {
23 Window win;
24 GC gc;
25 Pixmap pm;
26 Appearance *look;
27
28 int grabbed = 0;
29 Window root;
30 XGCValues values;
31 XEvent report;
32 int h = 500, w = 500, tmp;
33 XVisualInfo *vi;
34 int i;
35
36 ob_display = XOpenDisplay(NULL);
37 XSetErrorHandler(x_error_handler);
38 ob_screen = DefaultScreen(ob_display);
39 ob_root = RootWindow(ob_display, ob_screen);
40 win =
41 XCreateWindow(ob_display, RootWindow(ob_display, 0)
42 , 10, 10, w, h, 10,
43 CopyFromParent, /* depth */
44 CopyFromParent, /* class */
45 CopyFromParent, /* visual */
46 0, /* valuemask */
47 0); /* attributes */
48 XMapWindow(ob_display, win);
49 XSelectInput(ob_display, win, ExposureMask | StructureNotifyMask);
50 root = RootWindow (ob_display, DefaultScreen (ob_display));
51 render_startup();
52
53 look = appearance_new(Surface_Planar, 0);
54 look->surface.data.planar.grad = Background_Pyramid;
55 look->surface.data.planar.secondary = color_parse("Yellow");
56 look->surface.data.planar.primary = color_parse("Blue");
57 look->surface.data.planar.interlaced = FALSE;
58 look->area.x = 0;
59 look->area.y = 0;
60 look->area.width = 500;
61 look->area.height = 500;
62 if (ob_display == NULL) {
63 fprintf(stderr, "couldn't connect to X server :0\n");
64 return 0;
65 }
66
67 paint(win, look);
68 while (1) {
69 XNextEvent(ob_display, &report);
70 switch (report.type) {
71 case Expose:
72 break;
73 case ConfigureNotify:
74 look->area.width = report.xconfigure.width;
75 look->area.height = report.xconfigure.height;
76 paint(win, look);
77 break;
78 }
79
80 }
81
82 return 1;
83 }
This page took 0.034564 seconds and 4 git commands to generate.