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