Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <X11/Xlib.h>
- #include <cairo/cairo.h>
- #include <cairo/cairo-xlib.h>
- int main ()
- {
- Display *dpy;
- Window rootwin;
- Window win;
- XEvent e;
- int scr;
- cairo_surface_t *cs;
- cairo_t *cr;
- dpy = XOpenDisplay (NULL);
- if (dpy == NULL) return -1;
- scr = DefaultScreen (dpy);
- rootwin = RootWindow (dpy, scr);
- win = XCreateSimpleWindow (dpy, rootwin, 1, 1, 800, 600, 0, \
- BlackPixel (dpy, scr), BlackPixel (dpy, scr));
- XStoreName (dpy, win, "hello");
- XSelectInput (dpy, win, ExposureMask|ButtonPressMask);
- XMapWindow (dpy, win);
- cs = cairo_xlib_surface_create (dpy, win, DefaultVisual (dpy, 0), 800, 600);
- cr = cairo_create (cs);
- cairo_set_line_width (cr, 3);
- cairo_set_source_rgb (cr, 1, 0, 1);
- cairo_rectangle (cr, 0, 0, 300, 100);
- cairo_fill (cr);
- cairo_set_source_rgb (cr, 0, 0, 1);
- //cairo_stroke (cr);
- cairo_move_to (cr, 0, 0);
- cairo_line_to (cr, 800, 600);
- cairo_stroke (cr);
- cairo_arc (cr, 400, 300, 30, 0, 2*3.1415);
- cairo_close_path (cr);
- cairo_fill (cr);
- while (1)
- {
- XNextEvent (dpy, &e);
- if (e.type == Expose && e.xexpose.count < 1) ;
- else if (e.type == ButtonPress) break;
- }
- cairo_surface_destroy (cs);
- XCloseDisplay (dpy);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment