From: Charlie Brej Date: Sun, 18 Apr 2010 16:53:11 +0000 (+0100) Subject: [script] Simplify sprite area calculation X-Git-Tag: 0.8.3~31 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1eb3bfef85617d28310cec5829a0093904e1b1b0;p=thirdparty%2Fplymouth.git [script] Simplify sprite area calculation The sprite area no longer needs to be calculated as the buffer holds that information. --- diff --git a/src/plugins/splash/script/script-lib-sprite.c b/src/plugins/splash/script/script-lib-sprite.c index 58381d00..e0ced7e4 100644 --- a/src/plugins/splash/script/script-lib-sprite.c +++ b/src/plugins/splash/script/script-lib-sprite.c @@ -458,26 +458,24 @@ static void script_lib_sprite_draw_area (script_lib_display_t *display, node = ply_list_get_next_node (data->sprite_list, node)) { sprite_t *sprite = ply_list_node_get_data (node); - ply_rectangle_t sprite_area; + int position_x, position_y; if (!sprite->image) continue; if (sprite->remove_me) continue; if (sprite->opacity < 0.011) continue; - ply_pixel_buffer_get_size (sprite->image, &sprite_area); + position_x = sprite->x - display->x; + position_y = sprite->y - display->y; - sprite_area.x = sprite->x - display->x; - sprite_area.y = sprite->y - display->y; + if (position_x >= (x + width)) continue; + if (position_y >= (y + height)) continue; - if (sprite_area.x >= (x + width)) continue; - if (sprite_area.y >= (y + height)) continue; - - if ((sprite_area.x + (int) sprite_area.width) <= x) continue; - if ((sprite_area.y + (int) sprite_area.height) <= y) continue; + if ((position_x + (int) ply_pixel_buffer_get_width (sprite->image)) <= x) continue; + if ((position_y + (int) ply_pixel_buffer_get_height (sprite->image)) <= y) continue; ply_pixel_buffer_fill_with_buffer_at_opacity_with_clip (pixel_buffer, sprite->image, - sprite->x - display->x, - sprite->y - display->y, + position_x, + position_y, &clip_area, sprite->opacity); }