fix bitmap loading of odd-width files
parent
58d997de5c
commit
baf2cc6c5a
|
@ -83,14 +83,15 @@ ERROR: bmp-not-supported n ;
|
||||||
|
|
||||||
:: fixup-color-index ( loading-bitmap -- loading-bitmap )
|
:: fixup-color-index ( loading-bitmap -- loading-bitmap )
|
||||||
loading-bitmap width>> :> width
|
loading-bitmap width>> :> width
|
||||||
|
width 3 * :> width*3
|
||||||
loading-bitmap height>> abs :> height
|
loading-bitmap height>> abs :> height
|
||||||
loading-bitmap color-index>> length :> color-index-length
|
loading-bitmap color-index>> length :> color-index-length
|
||||||
height 3 * :> height*3
|
color-index-length height /i :> stride
|
||||||
color-index-length width height*3 * - height*3 /i :> misaligned
|
color-index-length width*3 height * - height /i :> padding
|
||||||
misaligned 0 > [
|
padding 0 > [
|
||||||
loading-bitmap [
|
loading-bitmap [
|
||||||
loading-bitmap width>> misaligned + 3 * <sliced-groups>
|
stride <sliced-groups>
|
||||||
[ 3 misaligned * head* ] map concat
|
[ width*3 head-slice ] map concat
|
||||||
] change-color-index
|
] change-color-index
|
||||||
] [
|
] [
|
||||||
loading-bitmap
|
loading-bitmap
|
||||||
|
|
Loading…
Reference in New Issue