]> gitweb.factorcode.org Git - factor.git/commitdiff
Merge branch 'master' of git://repo.or.cz/factor/jcg
authorDoug Coleman <doug.coleman@gmail.com>
Wed, 10 Dec 2008 03:16:37 +0000 (21:16 -0600)
committerDoug Coleman <doug.coleman@gmail.com>
Wed, 10 Dec 2008 03:16:37 +0000 (21:16 -0600)
Conflicts:

basis/ui/cocoa/cocoa.factor

1  2 
basis/ui/cocoa/cocoa.factor
basis/ui/gadgets/worlds/worlds.factor
basis/ui/ui.factor
basis/ui/windows/windows.factor
basis/ui/x11/x11.factor
extra/ui/offscreen/offscreen.factor

index b90f4d34fe65e1ab97df762cd3a7d0883783f6b1,6e19f3ffe6ef4b6b45f8e7cb16e4645952dfd136..1338983164a4e74d241b09efcd345870874c02b3
mode 100644,100644..100755
@@@ -3,15 -3,18 +3,18 @@@
  USING: accessors math arrays assocs cocoa cocoa.application
  command-line kernel memory namespaces cocoa.messages
  cocoa.runtime cocoa.subclassing cocoa.pasteboard cocoa.types
- cocoa.windows cocoa.classes cocoa.application cocoa.nibs
- sequences system ui ui.backend ui.clipboards ui.gadgets
- ui.gadgets.worlds ui.cocoa.views core-foundation threads
- math.geometry.rect fry ;
 -cocoa.windows cocoa.classes cocoa.application sequences system
++cocoa.windows cocoa.classes sequences system
+ ui ui.backend ui.clipboards ui.gadgets ui.gadgets.worlds
+ ui.cocoa.views core-foundation threads math.geometry.rect fry
+ libc generalizations alien.c-types cocoa.views combinators ;
  IN: ui.cocoa
  
- TUPLE: handle view window ;
+ TUPLE: handle ;
+ TUPLE: window-handle < handle view window ;
+ TUPLE: offscreen-handle < handle context buffer ;
  
- C: <handle> handle
+ C: <window-handle> window-handle
+ C: <offscreen-handle> offscreen-handle
  
  SINGLETON: cocoa-ui-backend
  
Simple merge
Simple merge
Simple merge
Simple merge
index 0000000000000000000000000000000000000000,9fe8577a52dc4c4248638167f9a142de3c106552..779ecc0c31ae040a245088e4b4c1197f2e44644b
mode 000000,100644..100755
--- /dev/null
@@@ -1,0 -1,31 +1,31 @@@
 -    
+ USING: accessors continuations graphics.bitmap kernel math
+ sequences ui.gadgets ui.gadgets.worlds ui ui.backend ;
+ IN: ui.offscreen
+ TUPLE: offscreen-world < world ;
+ : <offscreen-world> ( gadget title status -- world )
+     offscreen-world new-world ;
+ M: offscreen-world graft*
+     (open-offscreen-buffer) ;
+ M: offscreen-world ungraft*
+     [ (ungraft-world) ]
+     [ handle>> (close-offscreen-buffer) ]
+     [ reset-world ] tri ;
+ : open-offscreen ( gadget -- world )
+     "" f <offscreen-world> [ open-world-window ] keep
+     notify-queued ;
+ : close-offscreen ( world -- )
+     ungraft notify-queued ;
+ : offscreen-world>bitmap ( world -- bitmap )
+     [ handle>> offscreen-pixels ] [ dim>> first2 neg ] bi
+     bgra>bitmap ;
++
+ : do-offscreen ( gadget quot: ( offscreen-world -- ) -- )
+     [ open-offscreen ] dip
+     over [ slip ] [ close-offscreen ] [ ] cleanup ;