From ca6a1a7ecbd47f45b00aac9766b8dfb572c6eade Mon Sep 17 00:00:00 2001 From: "bernard.xiong" Date: Sat, 10 Apr 2010 10:06:35 +0000 Subject: fix dc_buffer code in small size mode. git-svn-id: https://rt-thread.googlecode.com/svn/trunk@595 bbd45198-f89e-11dd-88c7-29a3b14d5316 --- rtgui/include/rtgui/dc.h | 21 +-------------------- rtgui/include/rtgui/dc_hw.h | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 20 deletions(-) create mode 100644 rtgui/include/rtgui/dc_hw.h (limited to 'rtgui/include') diff --git a/rtgui/include/rtgui/dc.h b/rtgui/include/rtgui/dc.h index 955ef2c226..ec7d50f461 100644 --- a/rtgui/include/rtgui/dc.h +++ b/rtgui/include/rtgui/dc.h @@ -23,6 +23,7 @@ enum rtgui_dc_type { RTGUI_DC_HW, RTGUI_DC_BUFFER, + RTGUI_DC_IMLIB2, }; /* the abstract device context */ @@ -57,30 +58,10 @@ struct rtgui_dc rt_bool_t (*fini )(struct rtgui_dc* dc); }; -/* hardware device context */ -struct rtgui_dc_hw -{ - struct rtgui_dc parent; - - /* widget owner */ - rtgui_widget_t* owner; - - /* visible */ - rt_bool_t visible; - - /* display driver */ - struct rtgui_graphic_driver* device; -}; - /* create a buffer dc */ struct rtgui_dc* rtgui_dc_buffer_create(int width, int height); rt_uint8_t* rtgui_dc_buffer_get_pixel(struct rtgui_dc* dc); -/* create a hardware dc */ -struct rtgui_dc* rtgui_dc_hw_create(rtgui_widget_t* owner); -struct rtgui_dc* rtgui_dc_begin_drawing(rtgui_widget_t* owner); -void rtgui_dc_end_drawing(struct rtgui_dc* dc); - /* destroy a dc */ void rtgui_dc_destory(struct rtgui_dc* dc); diff --git a/rtgui/include/rtgui/dc_hw.h b/rtgui/include/rtgui/dc_hw.h new file mode 100644 index 0000000000..870b447aca --- /dev/null +++ b/rtgui/include/rtgui/dc_hw.h @@ -0,0 +1,42 @@ +/* + * File : dc_buffer.h + * This file is part of RT-Thread RTOS + * COPYRIGHT (C) 2006 - 2010, RT-Thread Development Team + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rt-thread.org/license/LICENSE + * + * Change Logs: + * Date Author Notes + * 2010-04-10 Bernard first version + */ +#ifndef __RTGUI_DC_HW_H__ +#define __RTGUI_DC_HW_H__ + +#include + +/* hardware device context */ +struct rtgui_dc_hw +{ + struct rtgui_dc parent; + + /* widget owner */ + rtgui_widget_t* owner; + + /* visible */ + rt_bool_t visible; + + /* display driver */ + struct rtgui_graphic_driver* device; +}; + +/* create a hardware dc */ +struct rtgui_dc* rtgui_dc_hw_create(rtgui_widget_t* owner); +struct rtgui_dc* rtgui_dc_begin_drawing(rtgui_widget_t* owner); +void rtgui_dc_end_drawing(struct rtgui_dc* dc); + +/* draw a hline with raw pixel data */ +void rtgui_dc_hw_draw_raw_hline(struct rtgui_dc_hw* dc, rt_uint8_t* raw_ptr, int x1, int x2, int y); + +#endif -- cgit v1.3.1