]> gitweb.factorcode.org Git - factor.git/commitdiff
Merge branch 'master' into new_ui
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Thu, 12 Feb 2009 08:48:19 +0000 (02:48 -0600)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Thu, 12 Feb 2009 08:48:19 +0000 (02:48 -0600)
21 files changed:
basis/images/backend/authors.txt [deleted file]
basis/images/backend/backend.factor [deleted file]
basis/images/bitmap/bitmap-tests.factor
basis/images/bitmap/bitmap.factor
basis/images/images.factor
basis/images/loader/authors.txt [new file with mode: 0644]
basis/images/loader/loader.factor [new file with mode: 0644]
basis/images/test-images/1bit.bmp [new file with mode: 0644]
basis/images/test-images/octagon.tiff [new file with mode: 0644]
basis/images/test-images/rgb.tiff [new file with mode: 0755]
basis/images/test-images/rgb4bit.bmp [new file with mode: 0644]
basis/images/test-images/rgb8bit.bmp [new file with mode: 0644]
basis/images/test-images/thiswayup24.bmp [new file with mode: 0644]
basis/images/tiff/tiff.factor
extra/images/test-images/1bit.bmp [deleted file]
extra/images/test-images/octagon.tiff [deleted file]
extra/images/test-images/rgb.tiff [deleted file]
extra/images/test-images/rgb4bit.bmp [deleted file]
extra/images/test-images/rgb8bit.bmp [deleted file]
extra/images/test-images/thiswayup24.bmp [deleted file]
extra/images/viewer/viewer.factor

diff --git a/basis/images/backend/authors.txt b/basis/images/backend/authors.txt
deleted file mode 100644 (file)
index b4bd0e7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Doug Coleman
\ No newline at end of file
diff --git a/basis/images/backend/backend.factor b/basis/images/backend/backend.factor
deleted file mode 100644 (file)
index 756b98e..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-! Copyright (C) 2009 Doug Coleman.
-! See http://factorcode.org/license.txt for BSD license.
-USING: accessors kernel grouping fry sequences combinators
-math ;
-IN: images.backend
-
-SINGLETONS: BGR RGB BGRA RGBA ABGR ARGB RGBX XRGB BGRX XBGR ;
-
-TUPLE: image dim component-order bitmap ;
-
-TUPLE: normalized-image < image ;
-
-GENERIC: load-image* ( path tuple -- image )
-
-GENERIC: >image ( object -- image )
-
-: no-op ( -- ) ;
-
-: normalize-component-order ( image -- image )
-    dup component-order>>
-    {
-        { RGBA [ no-op ] }
-        { BGRA [
-            [
-                [ 4 <sliced-groups> [ [ 0 3 ] dip <slice> reverse-here ] each ]
-                [ RGBA >>component-order ] bi
-            ] change-bitmap
-        ] }
-        { RGB [
-            [ 3 <sliced-groups> [ 255 suffix ] map concat ] change-bitmap
-        ] }
-        { BGR [
-            [
-                3 <sliced-groups> dup [ [ 0 3 ] dip <slice> reverse-here ] each
-                [ 255 suffix ] map concat
-            ] change-bitmap
-        ] }
-    } case RGBA >>component-order ;
-
-GENERIC: normalize-scan-line-order ( image -- image )
-
-M: image normalize-scan-line-order ;
-: normalize-image ( image -- image )
-    normalize-component-order
-    normalize-scan-line-order ;
-
-: new-image ( dim component-order bitmap class -- image )
-    new 
-        swap >>bitmap
-        swap >>component-order
-        swap >>dim ; inline
index a7deae31782838c571e839d63b58aaadef2b7145..102c13c2955aa07e6e8e3661e7d8bed6a519445a 100644 (file)
@@ -3,16 +3,16 @@ io.files io.files.unique kernel tools.test ;
 IN: images.bitmap.tests
 
 : test-bitmap24 ( -- path )
-    "resource:extra/images/test-images/thiswayup24.bmp" ;
+    "resource:basis/images/test-images/thiswayup24.bmp" ;
 
 : test-bitmap8 ( -- path )
-    "resource:extra/images/test-images/rgb8bit.bmp" ;
+    "resource:basis/images/test-images/rgb8bit.bmp" ;
 
 : test-bitmap4 ( -- path )
-    "resource:extra/images/test-images/rgb4bit.bmp" ;
+    "resource:basis/images/test-images/rgb4bit.bmp" ;
 
 : test-bitmap1 ( -- path )
-    "resource:extra/images/test-images/1bit.bmp" ;
+    "resource:basis/images/test-images/1bit.bmp" ;
 
 [ t ]
 [
index 46f90e33f860a8482966065fccd225e79895a3b9..5530fa12b73a80c81cdcf66b5436ec348ebfa54e 100755 (executable)
@@ -4,7 +4,7 @@ USING: accessors alien alien.c-types arrays byte-arrays columns
 combinators fry grouping io io.binary io.encodings.binary
 io.files kernel libc macros math math.bitwise math.functions
 namespaces opengl opengl.gl prettyprint sequences strings
-summary ui ui.gadgets.panes images.backend ;
+summary ui ui.gadgets.panes images ;
 IN: images.bitmap
 
 TUPLE: bitmap-image < image ;
@@ -102,7 +102,7 @@ ERROR: unknown-component-order bitmap ;
         [ unknown-component-order ]
     } case ;
 
-M: bitmap >image ( bitmap -- bitmap-image )
+: >image ( bitmap -- bitmap-image )
     {
         [ [ width>> ] [ height>> ] bi 2array ]
         [ bitmap>component-order ]
index 3df7b5d2d193db3d9c3014b8188ab70d7f1845fb..5fdc9ee5e95be21b466e6042deae0c6c158a604c 100644 (file)
@@ -1,21 +1,46 @@
 ! Copyright (C) 2009 Doug Coleman.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: constructors kernel splitting unicode.case combinators
-accessors images.bitmap images.tiff images.backend io.backend
-io.pathnames ;
+USING: kernel accessors grouping sequences combinators ;
 IN: images
 
-ERROR: unknown-image-extension extension ;
+SINGLETONS: BGR RGB BGRA RGBA ABGR ARGB RGBX XRGB BGRX XBGR ;
 
-: image-class ( path -- class )
-    file-extension >lower {
-        { "bmp" [ bitmap-image ] }
-        { "tiff" [ tiff-image ] }
-        [ unknown-image-extension ]
-    } case ;
+TUPLE: image dim component-order bitmap ;
 
-: load-image ( path -- image )
-    dup image-class new load-image* ;
+GENERIC: load-image* ( path tuple -- image )
 
-: <image> ( path -- image )
-    load-image normalize-image ;
+: normalize-component-order ( image -- image )
+    dup component-order>>
+    {
+        { RGBA [ ] }
+        { BGRA [
+            [
+                [ 4 <sliced-groups> [ [ 0 3 ] dip <slice> reverse-here ] each ]
+                [ RGBA >>component-order ] bi
+            ] change-bitmap
+        ] }
+        { RGB [
+            [ 3 <sliced-groups> [ 255 suffix ] map concat ] change-bitmap
+        ] }
+        { BGR [
+            [
+                3 <sliced-groups> dup [ [ 0 3 ] dip <slice> reverse-here ] each
+                [ 255 suffix ] map concat
+            ] change-bitmap
+        ] }
+    } case
+    RGBA >>component-order ;
+
+GENERIC: normalize-scan-line-order ( image -- image )
+
+M: image normalize-scan-line-order ;
+
+: normalize-image ( image -- image )
+    normalize-component-order
+    normalize-scan-line-order ;
+
+: new-image ( dim component-order bitmap class -- image )
+    new 
+        swap >>bitmap
+        swap >>component-order
+        swap >>dim ; inline
diff --git a/basis/images/loader/authors.txt b/basis/images/loader/authors.txt
new file mode 100644 (file)
index 0000000..7c1b2f2
--- /dev/null
@@ -0,0 +1 @@
+Doug Coleman
diff --git a/basis/images/loader/loader.factor b/basis/images/loader/loader.factor
new file mode 100644 (file)
index 0000000..7aeba9f
--- /dev/null
@@ -0,0 +1,21 @@
+! Copyright (C) 2009 Doug Coleman.
+! See http://factorcode.org/license.txt for BSD license.
+USING: constructors kernel splitting unicode.case combinators
+accessors images.bitmap images.tiff images io.backend
+io.pathnames ;
+IN: images.loader
+
+ERROR: unknown-image-extension extension ;
+
+: image-class ( path -- class )
+    file-extension >lower {
+        { "bmp" [ bitmap-image ] }
+        { "tiff" [ tiff-image ] }
+        [ unknown-image-extension ]
+    } case ;
+
+: load-image ( path -- image )
+    dup image-class new load-image* ;
+
+: <image> ( path -- image )
+    load-image normalize-image ;
diff --git a/basis/images/test-images/1bit.bmp b/basis/images/test-images/1bit.bmp
new file mode 100644 (file)
index 0000000..2f244c1
Binary files /dev/null and b/basis/images/test-images/1bit.bmp differ
diff --git a/basis/images/test-images/octagon.tiff b/basis/images/test-images/octagon.tiff
new file mode 100644 (file)
index 0000000..2b4ba39
Binary files /dev/null and b/basis/images/test-images/octagon.tiff differ
diff --git a/basis/images/test-images/rgb.tiff b/basis/images/test-images/rgb.tiff
new file mode 100755 (executable)
index 0000000..71cbaa9
Binary files /dev/null and b/basis/images/test-images/rgb.tiff differ
diff --git a/basis/images/test-images/rgb4bit.bmp b/basis/images/test-images/rgb4bit.bmp
new file mode 100644 (file)
index 0000000..0c6f00d
Binary files /dev/null and b/basis/images/test-images/rgb4bit.bmp differ
diff --git a/basis/images/test-images/rgb8bit.bmp b/basis/images/test-images/rgb8bit.bmp
new file mode 100644 (file)
index 0000000..bc95c0f
Binary files /dev/null and b/basis/images/test-images/rgb8bit.bmp differ
diff --git a/basis/images/test-images/thiswayup24.bmp b/basis/images/test-images/thiswayup24.bmp
new file mode 100644 (file)
index 0000000..202fb15
Binary files /dev/null and b/basis/images/test-images/thiswayup24.bmp differ
index dac071b4b444c2ebbef97d98e48252400e97a73a..dd4319a474b1bb3dea8bd6063c30b81a2ef9cf49 100755 (executable)
@@ -3,7 +3,7 @@
 USING: accessors combinators io io.encodings.binary io.files kernel
 pack endian constructors sequences arrays math.order math.parser
 prettyprint classes io.binary assocs math math.bitwise byte-arrays
-grouping images.backend ;
+grouping images ;
 IN: images.tiff
 
 TUPLE: tiff-image < image ;
@@ -268,15 +268,15 @@ ERROR: unknown-component-order ifd ;
         [ unknown-component-order ]
     } case ;
 
-M: ifd >image ( ifd -- image )
+: ifd>image ( ifd -- image )
     {
         [ [ image-width find-tag ] [ image-length find-tag ] bi 2array ]
         [ ifd-component-order ]
         [ bitmap>> ]
     } cleave tiff-image new-image ;
 
-M: parsed-tiff >image ( image -- image )
-    ifds>> [ >image ] map first ;
+: tiff>image ( image -- image )
+    ifds>> [ ifd>image ] map first ;
 
 : load-tiff ( path -- parsed-tiff )
     binary [
@@ -289,4 +289,4 @@ M: parsed-tiff >image ( image -- image )
 
 ! tiff files can store several images -- we just take the first for now
 M: tiff-image load-image* ( path tiff-image -- image )
-    drop load-tiff >image ;
+    drop load-tiff tiff>image ;
diff --git a/extra/images/test-images/1bit.bmp b/extra/images/test-images/1bit.bmp
deleted file mode 100644 (file)
index 2f244c1..0000000
Binary files a/extra/images/test-images/1bit.bmp and /dev/null differ
diff --git a/extra/images/test-images/octagon.tiff b/extra/images/test-images/octagon.tiff
deleted file mode 100644 (file)
index 2b4ba39..0000000
Binary files a/extra/images/test-images/octagon.tiff and /dev/null differ
diff --git a/extra/images/test-images/rgb.tiff b/extra/images/test-images/rgb.tiff
deleted file mode 100755 (executable)
index 71cbaa9..0000000
Binary files a/extra/images/test-images/rgb.tiff and /dev/null differ
diff --git a/extra/images/test-images/rgb4bit.bmp b/extra/images/test-images/rgb4bit.bmp
deleted file mode 100644 (file)
index 0c6f00d..0000000
Binary files a/extra/images/test-images/rgb4bit.bmp and /dev/null differ
diff --git a/extra/images/test-images/rgb8bit.bmp b/extra/images/test-images/rgb8bit.bmp
deleted file mode 100644 (file)
index bc95c0f..0000000
Binary files a/extra/images/test-images/rgb8bit.bmp and /dev/null differ
diff --git a/extra/images/test-images/thiswayup24.bmp b/extra/images/test-images/thiswayup24.bmp
deleted file mode 100644 (file)
index 202fb15..0000000
Binary files a/extra/images/test-images/thiswayup24.bmp and /dev/null differ
index 92277dfdefc7c64ab726fadb5876bbd865e106d4..0795900150229e39b0ef5155064d1fd06bdb6e14 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (C) 2007 Doug Coleman.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: accessors images images.backend io.pathnames kernel
+USING: accessors images images.loader io.pathnames kernel
 namespaces opengl opengl.gl sequences strings ui ui.gadgets
 ui.gadgets.panes ui.render ;
 IN: images.viewer