]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/images/images.factor
basis: use lint.vocabs tool to trim using lists
[factor.git] / basis / images / images.factor
index ae608dd80f78c4786b9f0aff767b9f93cb152829..4c392b84d1415ff3b8e270f9e030f153627b0bee 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (C) 2009 Doug Coleman, Daniel Ehrenberg.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: combinators kernel locals accessors sequences math arrays ;
+USING: accessors combinators kernel math sequences ;
 IN: images
 
 SINGLETONS:
@@ -167,3 +167,13 @@ PRIVATE>
 
 : set-pixel-at ( pixel x y image -- )
     [ 1 ] dip set-pixel-row-at ; inline
+
+:: each-pixel ( ... image quot: ( ... x y pixel -- ... ) -- ... )
+    image dim>> first2 :> ( width height )
+    image bytes-per-pixel :> n
+    height width [ <iota> ] bi@ [| y x |
+        y width * x + :> start
+        start n * :> from
+        from n + :> to
+        x y from to image bitmap>> <slice> quot call
+    ] cartesian-each ; inline