From: Slava Pestov Date: Thu, 5 Mar 2009 03:43:56 +0000 (-0600) Subject: Fix conflict in images vocab X-Git-Tag: 0.94~2191^2~105 X-Git-Url: https://gitweb.factorcode.org/gitweb.cgi?p=factor.git;a=commitdiff_plain;h=7b9491066cd4176d133f62d519f0e546a3a9a17c Fix conflict in images vocab --- 7b9491066cd4176d133f62d519f0e546a3a9a17c diff --cc basis/images/images.factor index 210afef640,5282ceeab4..82576774f4 --- a/basis/images/images.factor +++ b/basis/images/images.factor @@@ -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 dup [ 3 head-slice reverse-here ] each - ] change-bitmap - ] } - { RGB [ [ add-dummy-alpha ] change-bitmap ] } - { BGR [ - [ - 3 - [ [ 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 ) + [ 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 [ 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 )