Changeset 252
- Timestamp:
- Dec 15, 2003, 4:02:50 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcaca/trunk/src/bitmap.c
r249 r252 87 87 struct caca_bitmap 88 88 { 89 int bpp, palette;89 int bpp, has_palette, has_alpha; 90 90 int w, h, pitch; 91 91 int rmask, gmask, bmask, amask; … … 137 137 138 138 bitmap->bpp = bpp; 139 bitmap->palette = 0; 139 bitmap->has_palette = 0; 140 bitmap->has_alpha = amask ? 1 : 0; 140 141 141 142 bitmap->w = w; … … 161 162 { 162 163 int i; 163 bitmap->palette = 1; 164 bitmap->has_palette = 1; 165 bitmap->has_alpha = 0; 164 166 for(i = 0; i < 256; i++) 165 167 { … … 167 169 bitmap->green[i] = i * 0xfff / 256; 168 170 bitmap->blue[i] = i * 0xfff / 256; 169 bitmap->alpha[i] = 0xfff;170 171 } 171 172 } … … 178 179 unsigned int blue[], unsigned int alpha[]) 179 180 { 180 int i ;181 int i, has_alpha = 0; 181 182 182 183 if(bitmap->bpp != 8) … … 193 194 bitmap->green[i] = green[i]; 194 195 bitmap->blue[i] = blue[i]; 195 bitmap->alpha[i] = alpha[i]; 196 if(alpha[i]) 197 { 198 bitmap->alpha[i] = alpha[i]; 199 has_alpha = 1; 200 } 196 201 } 197 202 } 203 204 if(has_alpha) 205 bitmap->has_alpha = has_alpha; 198 206 } 199 207 … … 246 254 } 247 255 248 if(bitmap-> palette)256 if(bitmap->has_palette) 249 257 { 250 258 *r += bitmap->red[bits]; … … 457 465 } 458 466 459 if( a < 0x100)467 if(bitmap->has_alpha && a < 0x800) 460 468 continue; 461 469
Note: See TracChangeset
for help on using the changeset viewer.