From 085a9b9ff44ac81e8da39e7ebd07395a04fd7b42 Mon Sep 17 00:00:00 2001 From: Eduardo Cavazos Date: Mon, 4 Aug 2008 21:44:01 -0500 Subject: [PATCH] cfdg: Click in the window to regenerate model --- extra/cfdg/cfdg.factor | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/extra/cfdg/cfdg.factor b/extra/cfdg/cfdg.factor index 866400c9bc..6cbbc51786 100644 --- a/extra/cfdg/cfdg.factor +++ b/extra/cfdg/cfdg.factor @@ -4,7 +4,8 @@ USING: kernel alien.c-types combinators namespaces arrays math math.functions math.vectors math.trig opengl.gl opengl.glu opengl ui ui.gadgets.slate vars colors self self.slots - random-weighted colors.hsv cfdg.gl accessors ; + random-weighted colors.hsv cfdg.gl accessors + ui.gadgets.handler ui.gestures assocs ui.gadgets ; IN: cfdg @@ -201,20 +202,32 @@ SYMBOL: dlist ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +: delete-dlist ( -- ) dlist get [ dlist get 1 glDeleteLists dlist off ] when ; + : cfdg-window* ( -- ) C[ display ] - { 500 500 } >>pdim - C[ dlist get [ dlist get 1 glDeleteLists ] when ] >>ungraft + { 500 500 } >>pdim + C[ delete-dlist ] >>ungraft dup "CFDG" open-window ; : cfdg-window ( -- ) [ cfdg-window* ] with-ui ; ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +SYMBOL: the-slate + +: rebuild ( -- ) delete-dlist the-slate get relayout-1 ; + : ( -- slate ) C[ display ] + dup the-slate set { 500 500 } >>pdim - C[ dlist get [ dlist get 1 glDeleteLists ] when ] >>ungraft ; + C[ dlist get [ dlist get 1 glDeleteLists ] when ] >>ungraft + + H{ } clone + T{ key-down f f "ENTER" } C[ drop rebuild ] swap pick set-at + T{ button-down } C[ drop rebuild ] swap pick set-at + >>table ; ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!