From 0433cd0337bc6354ab18ae54368fe8f3deeccdde Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Wed, 13 Oct 2010 21:14:15 -0600 Subject: [PATCH] gtk: fix gl bitmap --- collects/mred/private/wx/gtk/gl-context.rkt | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/collects/mred/private/wx/gtk/gl-context.rkt b/collects/mred/private/wx/gtk/gl-context.rkt index 0db687bbe4..f4c213ebad 100644 --- a/collects/mred/private/wx/gtk/gl-context.rkt +++ b/collects/mred/private/wx/gtk/gl-context.rkt @@ -65,10 +65,8 @@ (define-gdkglext gdk_gl_drawable_gl_end (_fun _GdkGLDrawable -> _void)) (define-gdkglext gdk_gl_drawable_swap_buffers (_fun _GdkGLDrawable -> _void)) -(define-gdkglext gdk_gl_pixmap_destroy (_fun _GdkGLPixmap -> _void) - #:wrap (deallocator)) -(define-gdkglext gdk_gl_pixmap_new (_fun _GdkGLConfig _GdkPixmap _pointer -> _GdkGLPixmap) - #:wrap (allocator gdk_gl_pixmap_destroy)) +(define-gdkglext gdk_pixmap_set_gl_capability (_fun _GdkPixmap _GdkGLConfig _pointer + -> _GdkGLPixmap)) (define GDK_GL_RGBA_TYPE 0) @@ -172,11 +170,14 @@ (let ([config (config->GdkGLConfig #f config #f)]) (when config (let ([gdkpx (send bm get-gdk-pixmap)]) - (let ([glpx (gdk_gl_pixmap_new config gdkpx #f)]) + (let ([glpx (gdk_pixmap_set_gl_capability gdkpx config #f)]) (and glpx - (let ([gl (gdk_gl_context_new glpx #f #t GDK_GL_RGBA_TYPE)]) + (let ([gl + ;; currently uses "indirect" mode --- can we + ;; reliably use direct in some environments? + (gdk_gl_context_new glpx #f #f GDK_GL_RGBA_TYPE)]) (and gl - (new gl-context% - [gl gl] - [drawable glpx]))))))))) - + (send bm install-gl-context + (new gl-context% + [gl gl] + [drawable glpx]))))))))))