]> gitweb.factorcode.org Git - factor.git/commitdiff
Metadata and docs for ui.offscreen
authorJoe Groff <arcata@gmail.com>
Fri, 12 Dec 2008 02:32:40 +0000 (18:32 -0800)
committerJoe Groff <arcata@gmail.com>
Fri, 12 Dec 2008 02:32:40 +0000 (18:32 -0800)
extra/ui/offscreen/authors.txt [new file with mode: 0644]
extra/ui/offscreen/offscreen-docs.factor [new file with mode: 0644]
extra/ui/offscreen/offscreen.factor
extra/ui/offscreen/summary.txt [new file with mode: 0644]
extra/ui/offscreen/tags.txt [new file with mode: 0644]

diff --git a/extra/ui/offscreen/authors.txt b/extra/ui/offscreen/authors.txt
new file mode 100644 (file)
index 0000000..f13c9c1
--- /dev/null
@@ -0,0 +1 @@
+Joe Groff
diff --git a/extra/ui/offscreen/offscreen-docs.factor b/extra/ui/offscreen/offscreen-docs.factor
new file mode 100644 (file)
index 0000000..5d80098
--- /dev/null
@@ -0,0 +1,63 @@
+! Copyright (C) 2008 Joe Groff.
+! See http://factorcode.org/license.txt for BSD license.
+USING: help.markup help.syntax kernel quotations ui.gadgets
+graphics.bitmap strings ui.gadgets.worlds ;
+IN: ui.offscreen
+
+HELP: <offscreen-world>
+{ $values
+     { "gadget" gadget } { "title" string } { "status" "a boolean" }
+     { "world" offscreen-world }
+}
+{ $description "Constructs an " { $link offscreen-world } " gadget with " { $snippet "gadget" } " as its only child. Generally you should use " { $link open-offscreen } " or " { $link do-offscreen } " instead of calling this word directly." } ;
+
+HELP: close-offscreen
+{ $values
+     { "world" offscreen-world }
+}
+{ $description "Releases the resources used by the rendering buffer for " { $snippet "world" } "." } ;
+
+HELP: do-offscreen
+{ $values
+     { "gadget" gadget } { "quot" quotation }
+}
+{ $description "Constructs an " { $link offscreen-world } " around " { $snippet "gadget" } " with " { $link open-offscreen } ", calls " { $snippet "quotation" } " with the world on the top of the stack, and cleans up the world with " { $link close-offscreen } " at the end of " { $snippet "quotation" } "." } ;
+
+HELP: gadget>bitmap
+{ $values
+     { "gadget" gadget }
+     { "bitmap" bitmap }
+}
+{ $description "Renders " { $snippet "gadget" } " to an " { $link offscreen-world } " and creates a " { $link bitmap } " from its contents." } ;
+
+HELP: offscreen-world
+{ $class-description "The class of " { $link world } " objects that render to an offscreen buffer." } ;
+
+HELP: offscreen-world>bitmap
+{ $values
+     { "world" offscreen-world }
+     { "bitmap" bitmap }
+}
+{ $description "Saves a copy of the contents of " { $snippet "world" } " to a " { $link bitmap } " object." } ;
+
+HELP: open-offscreen
+{ $values
+     { "gadget" gadget }
+     { "world" offscreen-world }
+}
+{ $description "Creates and sets up an " { $link offscreen-world } " with " { $snippet "gadget" } " as its only child." } ;
+
+{ offscreen-world open-offscreen close-offscreen do-offscreen } related-words
+
+ARTICLE: "ui.offscreen" "Offscreen UI rendering"
+"The " { $vocab-link "ui.offscreen" } " provides words for rendering gadgets to an offscreen buffer so that bitmaps can be made from their contents."
+{ $subsection offscreen-world }
+"Opening gadgets offscreen:"
+{ $subsection open-offscreen }
+{ $subsection close-offscreen }
+{ $subsection do-offscreen }
+"Creating bitmaps from offscreen buffers:"
+{ $subsection offscreen-world>bitmap }
+{ $subsection gadget>bitmap } ;
+
+ABOUT: "ui.offscreen"
index be6638bed8c1db2c4c3f18a754228e4deaae434e..3897df71fafb4c14427ad2a3feb52d8479b09493 100755 (executable)
@@ -1,5 +1,6 @@
 USING: accessors continuations graphics.bitmap kernel math
-sequences ui.gadgets ui.gadgets.worlds ui ui.backend ;
+sequences ui.gadgets ui.gadgets.worlds ui ui.backend
+destructors ;
 IN: ui.offscreen
 
 TUPLE: offscreen-world < world ;
@@ -23,6 +24,8 @@ M: offscreen-world ungraft*
 : close-offscreen ( world -- )
     ungraft notify-queued ;
 
+M: offscreen-world dispose close-offscreen ;
+
 : offscreen-world>bitmap ( world -- bitmap )
     offscreen-pixels bgra>bitmap ;
 
diff --git a/extra/ui/offscreen/summary.txt b/extra/ui/offscreen/summary.txt
new file mode 100644 (file)
index 0000000..51ef124
--- /dev/null
@@ -0,0 +1 @@
+Offscreen world gadgets for rendering UI elements to bitmaps
diff --git a/extra/ui/offscreen/tags.txt b/extra/ui/offscreen/tags.txt
new file mode 100644 (file)
index 0000000..b796ebd
--- /dev/null
@@ -0,0 +1,3 @@
+unportable
+ui
+graphics