From 01c6c8608ef0f95aceee1f5a0f54651ffb52415f Mon Sep 17 00:00:00 2001
From: Eduardo Cavazos <dharmatech@finkelstein.stackeffects.info>
Date: Fri, 18 Jul 2008 17:25:48 -0500
Subject: [PATCH] ui.gadgets.framebuffer: convert to inheritance. Rename slot
 dim to pdim.

---
 extra/processing/gadget/gadget.factor           | 17 +++--------------
 extra/processing/processing.factor              |  2 +-
 .../ui/gadgets/frame-buffer/frame-buffer.factor | 12 +++++++-----
 3 files changed, 11 insertions(+), 20 deletions(-)
 mode change 100755 => 100644 extra/processing/processing.factor

diff --git a/extra/processing/gadget/gadget.factor b/extra/processing/gadget/gadget.factor
index bac3f8ac6d..4621bab855 100644
--- a/extra/processing/gadget/gadget.factor
+++ b/extra/processing/gadget/gadget.factor
@@ -1,25 +1,14 @@
 
 USING: kernel namespaces combinators
-       ui.gestures qualified accessors ui.gadgets.frame-buffer ;
+       ui.gestures accessors ui.gadgets.frame-buffer ;
 
 IN: processing.gadget
 
-QUALIFIED: ui.gadgets
-
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
-TUPLE: processing-gadget button-down button-up key-down key-up ;
+TUPLE: processing-gadget < frame-buffer button-down button-up key-down key-up ;
 
-! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
-: set-gadget-delegate ( tuple gadget -- tuple )
-  over ui.gadgets:set-gadget-delegate ;
-
-! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
-: <processing-gadget> ( -- gadget )
-  processing-gadget new
-    <frame-buffer> set-gadget-delegate ;
+: <processing-gadget> ( -- gadget ) processing-gadget new-frame-buffer ;
 
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
diff --git a/extra/processing/processing.factor b/extra/processing/processing.factor
old mode 100755
new mode 100644
index 4c9dd787e5..f786628c79
--- a/extra/processing/processing.factor
+++ b/extra/processing/processing.factor
@@ -374,7 +374,7 @@ SYMBOL: setup-called
   500 sleep
 
   <processing-gadget>
-    size-val get >>dim
+    size-val get >>pdim
     dup "Processing" open-window
 
     500 sleep
diff --git a/extra/ui/gadgets/frame-buffer/frame-buffer.factor b/extra/ui/gadgets/frame-buffer/frame-buffer.factor
index 7d77db24cc..2d58037982 100644
--- a/extra/ui/gadgets/frame-buffer/frame-buffer.factor
+++ b/extra/ui/gadgets/frame-buffer/frame-buffer.factor
@@ -7,7 +7,7 @@ IN: ui.gadgets.frame-buffer
 
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
-TUPLE: frame-buffer action dim last-dim graft ungraft pixels ;
+TUPLE: frame-buffer < gadget action pdim last-dim graft ungraft pixels ;
 
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
@@ -18,13 +18,15 @@ TUPLE: frame-buffer action dim last-dim graft ungraft pixels ;
 
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
-: <frame-buffer> ( -- frame-buffer )
-  frame-buffer construct-gadget
+: new-frame-buffer ( class -- gadget )
+  new-gadget
     [ ]         >>action
-    { 100 100 } >>dim
+    { 100 100 } >>pdim
     [ ]         >>graft
     [ ]         >>ungraft ;
 
+: <frame-buffer> ( -- frame-buffer ) frame-buffer new-frame-buffer ;
+
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
 : draw-pixels ( fb -- fb )
@@ -44,7 +46,7 @@ TUPLE: frame-buffer action dim last-dim graft ungraft pixels ;
 
 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
-M: frame-buffer pref-dim* dim>> ;
+M: frame-buffer pref-dim* pdim>> ;
 M: frame-buffer graft*    graft>>   call ;
 M: frame-buffer ungraft*  ungraft>> call ;