]> gitweb.factorcode.org Git - factor.git/commitdiff
images.loader: added image encode protocol
authorKeith Lazuka <klazuka@gmail.com>
Wed, 30 Sep 2009 00:32:41 +0000 (20:32 -0400)
committerKeith Lazuka <klazuka@gmail.com>
Wed, 30 Sep 2009 14:00:18 +0000 (10:00 -0400)
basis/images/loader/loader.factor

index acb0f2ca8668bf5625f9663bd327ecd3b0fd685a..700b95eb41719aa63166ab1ceca31aaef52ed408 100644 (file)
@@ -1,9 +1,9 @@
 ! Copyright (C) 2009 Doug Coleman, Daniel Ehrenberg.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors assocs byte-arrays combinators images
-io.encodings.binary io.pathnames io.streams.byte-array
-io.streams.limited kernel namespaces splitting strings
-unicode.case sequences ;
+io.encodings.binary io.files io.pathnames io.streams.byte-array
+io.streams.limited kernel namespaces sequences splitting
+strings unicode.case ;
 IN: images.loader
 
 ERROR: unknown-image-extension extension ;
@@ -22,6 +22,8 @@ types [ H{ } clone ] initialize
 
 PRIVATE>
 
+! Image Decode
+
 GENERIC# load-image* 1 ( obj class -- image )
 
 GENERIC: stream>image ( stream class -- image )
@@ -43,3 +45,11 @@ M: limited-stream load-image* stream>image ;
 M: string load-image* [ open-image-file ] dip stream>image ;
 
 M: pathname load-image* [ open-image-file ] dip stream>image ;
+
+! Image Encode
+
+GENERIC: image>stream ( image class -- )
+
+: save-graphic-image ( image path -- )
+    [ image-class ] [ ] bi
+    binary [ image>stream ] with-file-writer ;