diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-03-16 21:11:39 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-03-16 21:11:39 +0000 |
| commit | f8a47de5ec444c452093371e3db16857eb39a490 (patch) | |
| tree | 31db2567842d98232775f9980f7a8d2586c0ac71 /render/test.c | |
| parent | 8ba0586bcbdc7fe9648f1063812126d71a041670 (diff) | |
merge the C branch into HEAD
Diffstat (limited to 'render/test.c')
| -rw-r--r-- | render/test.c | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/render/test.c b/render/test.c new file mode 100644 index 00000000..114819af --- /dev/null +++ b/render/test.c @@ -0,0 +1,81 @@ +#include <stdio.h> +#include <X11/Xlib.h> +#include <X11/extensions/shape.h> +#include <GL/glx.h> +#include <string.h> +#include <stdlib.h> +#include "render.h" +#include <glib.h> + +static int x_error_handler(Display * disp, XErrorEvent * error) +{ + char buf[1024]; + XGetErrorText(disp, error->error_code, buf, 1024); + printf("%s\n", buf); + return 0; +} + +Display *ob_display; +int ob_screen; +Window ob_root; + +int main() +{ + Window win; + GC gc; + Pixmap pm; + Appearance *look; + + int grabbed = 0; + Window root; + XGCValues values; + XEvent report; + int h = 500, w = 500, tmp; + XVisualInfo *vi; + int i; + + ob_display = XOpenDisplay(NULL); + XSetErrorHandler(x_error_handler); + ob_screen = DefaultScreen(ob_display); + ob_root = RootWindow(ob_display, ob_screen); + win = + XCreateWindow(ob_display, RootWindow(ob_display, 0) + , 10, 10, w, h, 10, + CopyFromParent, // depth + CopyFromParent, // class + CopyFromParent, // visual + 0, // valuemask + 0); // attributes + XMapWindow(ob_display, win); + XSelectInput(ob_display, win, ExposureMask | StructureNotifyMask); + root = RootWindow (ob_display, DefaultScreen (ob_display)); + render_startup(); + + look = appearance_new(Surface_Planar, 0); + look->surface.data.planar.grad = Background_Solid; + look->surface.data.planar.secondary = color_new(0xFF, 0xFF, 0xFF); + look->surface.data.planar.primary = color_parse("Red"); + look->surface.data.planar.interlaced = FALSE; + if (ob_display == NULL) { + fprintf(stderr, "couldn't connect to X server :0\n"); + return 0; + } + + paint(win, look, 500, 500); + while (1) { + XNextEvent(ob_display, &report); + switch (report.type) { + case Expose: + break; + case ConfigureNotify: + w = report.xconfigure.width; + h = report.xconfigure.height; + paint(win, look, w, h); + printf("confignotify %i:%i\n", w, h); + break; + } + + } + + return 1; +} |
