Changeset bea947f in mainline for uspace/drv/fb/kfb/port.c
- Timestamp:
- 2020-05-24T17:59:02Z (5 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- b3b00b6
- Parents:
- ef20a91
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/fb/kfb/port.c
ref20a91 rbea947f 90 90 gfx_bitmap_alloc_t alloc; 91 91 gfx_rect_t rect; 92 gfx_bitmap_flags_t flags; 93 pixel_t key_color; 92 94 bool myalloc; 93 95 } kfb_bitmap_t; … … 203 205 gfx_coord2_subtract(¶ms->rect.p1, ¶ms->rect.p0, &dim); 204 206 kfbbm->rect = params->rect; 207 kfbbm->flags = params->flags; 208 kfbbm->key_color = params->key_color; 205 209 206 210 if (alloc == NULL) { … … 298 302 gfx_rect_clip(&srect, &skfbrect, &crect); 299 303 300 for (pos.y = crect.p0.y; pos.y < crect.p1.y; pos.y++) { 301 for (pos.x = crect.p0.x; pos.x < crect.p1.x; pos.x++) { 302 gfx_coord2_subtract(&pos, &kfbbm->rect.p0, &sp); 303 gfx_coord2_add(&pos, &offs, &dp); 304 305 color = pixelmap_get_pixel(&pbm, sp.x, sp.y); 306 kfb->pixel2visual(kfb->addr + 307 FB_POS(kfb, dp.x, dp.y), color); 304 if ((kfbbm->flags & bmpf_color_key) != 0) { 305 for (pos.y = crect.p0.y; pos.y < crect.p1.y; pos.y++) { 306 for (pos.x = crect.p0.x; pos.x < crect.p1.x; pos.x++) { 307 gfx_coord2_subtract(&pos, &kfbbm->rect.p0, &sp); 308 gfx_coord2_add(&pos, &offs, &dp); 309 310 color = pixelmap_get_pixel(&pbm, sp.x, sp.y); 311 if (color != kfbbm->key_color) { 312 kfb->pixel2visual(kfb->addr + 313 FB_POS(kfb, dp.x, dp.y), color); 314 } 315 } 316 } 317 } else { 318 for (pos.y = crect.p0.y; pos.y < crect.p1.y; pos.y++) { 319 for (pos.x = crect.p0.x; pos.x < crect.p1.x; pos.x++) { 320 gfx_coord2_subtract(&pos, &kfbbm->rect.p0, &sp); 321 gfx_coord2_add(&pos, &offs, &dp); 322 323 color = pixelmap_get_pixel(&pbm, sp.x, sp.y); 324 kfb->pixel2visual(kfb->addr + 325 FB_POS(kfb, dp.x, dp.y), color); 326 } 308 327 } 309 328 }
Note:
See TracChangeset
for help on using the changeset viewer.