diff options
author | Eric Anholt <eric@anholt.net> | 2009-07-23 20:22:23 -0700 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2009-07-23 20:22:23 -0700 |
commit | c7c4ba45a1747c4d8aeb4e5b0e2b595ec58b8d27 (patch) | |
tree | 111a5ff3e72eef1849f0e2aaa2d410c642f6bf18 | |
parent | 3229ce8d26592965597cba18cc6d38593732fcf2 (diff) |
Update to cairo-gl as it was merged to cairo master.
-rw-r--r-- | cairogears.c | 20 | ||||
-rw-r--r-- | trap.c | 2 |
2 files changed, 18 insertions, 4 deletions
diff --git a/cairogears.c b/cairogears.c index be402e9..62e64af 100644 --- a/cairogears.c +++ b/cairogears.c @@ -110,7 +110,7 @@ alarmhandler (int sig) } static cairo_gl_context_t * -cairogears_gl_context_create(Display *dpy) +cairogears_gl_context_create(Display *dpy, GLXContext *out_gl_ctx) { int attribs[] = { GLX_RGBA, GLX_RED_SIZE, 1, @@ -130,10 +130,11 @@ cairogears_gl_context_create(Display *dpy) } gl_ctx = glXCreateContext (dpy, visinfo, NULL, True); + *out_gl_ctx = gl_ctx; XFree(visinfo); - ctx = cairo_gl_glx_context_create (dpy, gl_ctx); + ctx = cairo_glx_context_create (dpy, gl_ctx); return ctx; } @@ -147,6 +148,7 @@ main (int argc, char **argv) GL_TYPE, } output_type = XRENDER_TYPE; int visible = 1; + GLXContext gl_ctx; Display *dpy; Window win; @@ -245,7 +247,7 @@ main (int argc, char **argv) DefaultVisual (dpy, DefaultScreen (dpy)), width, height); } else { - ctx = cairogears_gl_context_create(dpy); + ctx = cairogears_gl_context_create(dpy, &gl_ctx); win_surface = cairo_gl_surface_create_for_window(ctx, win, width, height); } @@ -403,6 +405,18 @@ main (int argc, char **argv) } } frame_cnt++; +#if 0 + { + static int frame = 0; + if (frame++ > 2) { + cairo_destroy(cr); + cairo_gl_context_destroy(ctx); + glXDestroyContext(dpy, gl_ctx); + XCloseDisplay(dpy); + exit(1); + } + } +#endif } } @@ -165,7 +165,7 @@ trap_render (cairo_t *cr, int w, int h) cairo_set_fill_rule (cr, CAIRO_FILL_RULE_EVEN_ODD); - cairo_set_source_rgba (cr, 1.0, 1.0, 1.0, 1.0); + cairo_set_source_rgba (cr, .4, .6, .8, 1.0); cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE); cairo_rectangle (cr, 0, 0, w, h); cairo_fill (cr); |