diff options
Diffstat (limited to 'components/rtgui/common/dc_buffer.c')
| -rw-r--r-- | components/rtgui/common/dc_buffer.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/components/rtgui/common/dc_buffer.c b/components/rtgui/common/dc_buffer.c index 15282c38bd..b924084aec 100644 --- a/components/rtgui/common/dc_buffer.c +++ b/components/rtgui/common/dc_buffer.c @@ -29,7 +29,6 @@ struct rtgui_dc_buffer rt_uint16_t pitch; /* blit info */ - rt_uint32_t clip_sync; rtgui_region_t clip; /* pixel data */ @@ -87,7 +86,6 @@ struct rtgui_dc* rtgui_dc_buffer_create(int w, int h) dc->height = h; dc->pitch = w * sizeof(rtgui_color_t); - dc->clip_sync = 0; rtgui_region_init(&(dc->clip)); dc->pixel = rtgui_malloc(h * dc->pitch); @@ -260,7 +258,7 @@ static void rtgui_dc_buffer_blit(struct rtgui_dc* self, struct rtgui_point* dc_p if (dest->type == RTGUI_DC_HW) { - rtgui_color_t* pixel;
+ rtgui_color_t* pixel; rt_uint8_t *line_ptr; rt_uint16_t rect_width, rect_height, index; void (*blit_line)(rtgui_color_t* color, rt_uint8_t* dest, int line); @@ -282,7 +280,6 @@ static void rtgui_dc_buffer_blit(struct rtgui_dc* self, struct rtgui_point* dc_p case 1: blit_line = rtgui_blit_line_1; break; - case 2: blit_line = rtgui_blit_line_2; break; @@ -300,17 +297,17 @@ static void rtgui_dc_buffer_blit(struct rtgui_dc* self, struct rtgui_point* dc_p line_ptr = (rt_uint8_t*) rtgui_malloc(rect_width * hw->device->byte_per_pixel); /* prepare pixel line */ - pixel = (rtgui_color_t*)(dc->pixel + dc_point->y * dc->pitch + dc_point->x * sizeof(rtgui_color_t));
+ pixel = (rtgui_color_t*)(dc->pixel + dc_point->y * dc->pitch + dc_point->x * sizeof(rtgui_color_t)); /* draw each line */ for (index = rect->y1; index < rect->y1 + rect_height; index ++) { /* blit on line buffer */ - blit_line(pixel, line_ptr, rect_width);
- pixel += dc->width;
-
- /* draw on hardware dc */
- rtgui_dc_hw_draw_raw_hline(hw, line_ptr, rect->x1, rect->x1 + rect_width, index);
+ blit_line(pixel, line_ptr, rect_width); + pixel += dc->width; + + /* draw on hardware dc */ + rtgui_dc_hw_draw_raw_hline(hw, line_ptr, rect->x1, rect->x1 + rect_width, index); } /* release line buffer */ |
