fix bitmap loading of odd-width files

db4
Doug Coleman 2009-03-16 07:08:35 -05:00
parent 58d997de5c
commit baf2cc6c5a
1 changed files with 6 additions and 5 deletions

View File

@ -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