new accessors, slight refactoring

db4
Doug Coleman 2008-09-02 13:02:38 -05:00
parent 51db0d7e7d
commit 4c2cd48d9a
1 changed files with 7 additions and 7 deletions

View File

@ -2,7 +2,7 @@
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: ui.backend ui.gadgets ui.gadgets.theme ui.gadgets.lib USING: ui.backend ui.gadgets ui.gadgets.theme ui.gadgets.lib
ui.gadgets.worlds ui.render opengl opengl.gl kernel namespaces ui.gadgets.worlds ui.render opengl opengl.gl kernel namespaces
classes.tuple colors ; classes.tuple colors accessors ;
IN: ui.gadgets.canvas IN: ui.gadgets.canvas
TUPLE: canvas < gadget dlist ; TUPLE: canvas < gadget dlist ;
@ -11,16 +11,16 @@ TUPLE: canvas < gadget dlist ;
new-gadget black solid-interior ; inline new-gadget black solid-interior ; inline
: delete-canvas-dlist ( canvas -- ) : delete-canvas-dlist ( canvas -- )
dup find-gl-context [ find-gl-context ]
dup canvas-dlist [ delete-dlist ] when* [ dlist>> [ delete-dlist ] when* ]
f swap set-canvas-dlist ; [ f >>dlist drop ] tri ;
: make-canvas-dlist ( canvas quot -- dlist ) : make-canvas-dlist ( canvas quot -- dlist )
over >r GL_COMPILE swap make-dlist dup r> [ GL_COMPILE ] dip make-dlist
set-canvas-dlist ; [ >>dlist drop ] keep ;
: cache-canvas-dlist ( canvas quot -- dlist ) : cache-canvas-dlist ( canvas quot -- dlist )
over canvas-dlist dup over dlist>> dup
[ 2nip ] [ drop make-canvas-dlist ] if ; inline [ 2nip ] [ drop make-canvas-dlist ] if ; inline
: draw-canvas ( canvas quot -- ) : draw-canvas ( canvas quot -- )