]> gitweb.factorcode.org Git - factor.git/commitdiff
Fix conflict in images vocab
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Thu, 5 Mar 2009 03:43:56 +0000 (21:43 -0600)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Thu, 5 Mar 2009 03:43:56 +0000 (21:43 -0600)
1  2 
basis/images/images.factor
core/sequences/sequences-docs.factor
core/sequences/sequences-tests.factor
core/sequences/sequences.factor
extra/images/viewer/viewer.factor

index 210afef6409fead5cedbc73550bbba69c02388b9,5282ceeab45f1832b7977ba8e3f09eb1f58af36f..82576774f49c58e5b4db7e99d8bf7b698796639e
@@@ -39,49 -40,39 +39,48 @@@ GENERIC: load-image* ( path tuple -- im
  : normalize-floats ( byte-array -- byte-array )
      byte-array>float-array [ 255.0 * >integer ] B{ } map-as ;
  
 +GENERIC: normalize-component-order* ( image component-order -- image )
 +
  : normalize-component-order ( image -- image )
-     dup component-order>> '[ _ normalize-component-order* ] change-bitmap
 -    dup component-order>>
 -    {
 -        { RGBA [ ] }
 -        { R32G32B32A32 [
 -            [ normalize-floats ] change-bitmap
 -        ] }
 -        { R32G32B32 [
 -            [ normalize-floats add-dummy-alpha ] change-bitmap
 -        ] }
 -        { R16G16B16A16 [
 -            [ byte-array>ushort-array [ -8 shift ] B{ } map-as ] change-bitmap
 -        ] }
 -        { R16G16B16 [
 -            [
 -                byte-array>ushort-array [ -8 shift ] B{ } map-as add-dummy-alpha
 -            ] change-bitmap
 -        ] }
 -        { BGRA [
 -            [
 -                4 <sliced-groups> dup [ 3 head-slice reverse-here ] each
 -            ] change-bitmap
 -        ] }
 -        { RGB [ [ add-dummy-alpha ] change-bitmap ] }
 -        { BGR [
 -            [
 -                3 <sliced-groups>
 -                [ [ 3 head-slice reverse-here ] each ]
 -                [ [ 255 suffix ] map ] bi concat
 -            ] change-bitmap
 -        ] }
 -    } case
--    RGBA >>component-order ;
++    dup component-order>> '[ _ normalize-component-order* ] change-bitmap ;
 +
 +M: RGBA normalize-component-order* drop ;
 +
 +M: R32G32B32A32 normalize-component-order*
 +    drop normalize-floats ;
 +
 +M: R32G32B32 normalize-component-order*
 +    drop normalize-floats add-dummy-alpha ;
 +
 +: RGB16>8 ( bitmap -- bitmap' )
 +    byte-array>ushort-array [ -8 shift ] B{ } map-as ; inline
 +
 +M: R16G16B16A16 normalize-component-order*
 +    drop RGB16>8 ;
 +
 +M: R16G16B16 normalize-component-order*
 +    drop RGB16>8 add-dummy-alpha ;
 +
 +: BGR>RGB ( bitmap bytes-per-pixel -- pixels )
 +    <groups> [ 3 cut [ reverse ] dip append ] map B{ } join ; inline
 +
 +M: BGRA normalize-component-order*
 +    drop 4 BGR>RGB ;
 +
 +M: RGB normalize-component-order*
 +    drop add-dummy-alpha ;
 +
 +M: BGR normalize-component-order*
 +    drop 3 BGR>RGB add-dummy-alpha ;
 +
 +: ARGB>RGBA ( bitmap -- bitmap' )
 +    4 <groups> [ unclip suffix ] map B{ } join ;
 +
 +M: ARGB normalize-component-order*
 +    drop ARGB>RGBA ;
 +
 +M: ABGR normalize-component-order*
 +    drop ARGB>RGBA 4 BGR>RGB ;
  
  GENERIC: normalize-scan-line-order ( image -- image )
  
Simple merge
Simple merge
Simple merge
Simple merge