version 1.1 | | version 1.2 |
---|
| | |
* on bitmaps. | | * on bitmaps. |
* | | * |
* $Log$ | | * $Log$ |
* Revision 1.1 1999/06/14 21:57:33 donut | | * Revision 1.2 1999/08/05 22:53:40 sekmu |
* Initial revision | | * |
| | * D3D patch(es) from ADB |
| | * |
| | * Revision 1.1.1.1 1999/06/14 21:57:33 donut |
| | * Import of d1x 1.37 source. |
* | | * |
* Revision 1.19 1995/01/14 19:18:31 john | | * Revision 1.19 1995/01/14 19:18:31 john |
* Added assert to check for paged out bitmap. | | * Added assert to check for paged out bitmap. |
| | |
} | | } |
| | |
| | |
void gr_rle_expand_scanline_generic( grs_bitmap * dest, int dx, int dy, ubyte *src, int x1, int x2 ) | | void gr_rle_expand_scanline_generic( grs_bitmap * dest, int dx, int dy, ubyte *src, |
| | int x1, int x2, int masked ) |
{ | | { |
int i = 0, j; | | int i = 0, j; |
int count=0; | | int count=0; |
| | |
| | |
if ( x1+count > x2 ) { | | if ( x1+count > x2 ) { |
count = x2-x1+1; | | count = x2-x1+1; |
| | if (!masked || color != 255) |
for ( j=0; j<count; j++ ) | | for ( j=0; j<count; j++ ) |
gr_bm_pixel( dest, dx++, dy, color ); | | gr_bm_pixel( dest, dx++, dy, color ); |
return; | | return; |
} | | } |
| | |
| | if (masked && color == 255) |
| | dx += count; |
| | else |
for ( j=0; j<count; j++ ) | | for ( j=0; j<count; j++ ) |
gr_bm_pixel( dest, dx++, dy, color ); | | gr_bm_pixel( dest, dx++, dy, color ); |
i += count; | | i += count; |
| | |
} | | } |
// we know have '*count' pixels of 'color'. | | // we know have '*count' pixels of 'color'. |
if ( i+count <= x2 ) { | | if ( i+count <= x2 ) { |
| | if (masked && color == 255) |
| | dx += count; |
| | else |
for ( j=0; j<count; j++ ) | | for ( j=0; j<count; j++ ) |
gr_bm_pixel( dest, dx++, dy, color ); | | gr_bm_pixel( dest, dx++, dy, color ); |
i += count; | | i += count; |
} else { | | } else { |
count = x2-i+1; | | count = x2-i+1; |
| | if (masked && color == 255) |
| | dx += count; |
| | else |
for ( j=0; j<count; j++ ) | | for ( j=0; j<count; j++ ) |
gr_bm_pixel( dest, dx++, dy, color ); | | gr_bm_pixel( dest, dx++, dy, color ); |
i += count; | | i += count; |