diff options
| author | bernard.xiong <[email protected]> | 2010-01-04 00:05:01 +0000 |
|---|---|---|
| committer | bernard.xiong <[email protected]> | 2010-01-04 00:05:01 +0000 |
| commit | 5950b02b04255dda8e5f9c6bd67f94e803a18fd6 (patch) | |
| tree | 3e0195c85346b8a6f6d30d6b8e90535c06c05643 /rtgui/include | |
| parent | 238b6b89ea489668b7c7c872e99354575318e400 (diff) | |
add more optimization options, remove caret implementation.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@278 bbd45198-f89e-11dd-88c7-29a3b14d5316
Diffstat (limited to 'rtgui/include')
| -rw-r--r-- | rtgui/include/rtgui/caret.h | 53 | ||||
| -rw-r--r-- | rtgui/include/rtgui/rtgui_config.h | 2 | ||||
| -rw-r--r-- | rtgui/include/rtgui/widgets/textbox.h | 3 | ||||
| -rw-r--r-- | rtgui/include/rtgui/widgets/widget.h | 14 |
4 files changed, 15 insertions, 57 deletions
diff --git a/rtgui/include/rtgui/caret.h b/rtgui/include/rtgui/caret.h deleted file mode 100644 index 241f6cc889..0000000000 --- a/rtgui/include/rtgui/caret.h +++ /dev/null @@ -1,53 +0,0 @@ -/*
- * File : caret.h
- * This file is part of RT-Thread RTOS
- * COPYRIGHT (C) 2006 - 2009, 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
- * 2009-10-16 Bernard first version
- */
-#ifndef __RTGUI_CARET_H__
-#define __RTGUI_CARET_H__
-
-#include <rtgui/dc.h>
-#include <rtgui/rtgui_system.h> -#include <rtgui/widgets/widget.h>
-
-struct rtgui_caret
-{
- /* show flag */
- rt_bool_t is_show;
- /* the show point of caret */
- struct rtgui_point show_point;
-
- /* widget owner */
- struct rtgui_widget* owner;
-
- /* caret buffer dc */
- struct rtgui_dc *dc;
-
- /* caret extent */
- struct rtgui_rect extent;
-
- /* the blink timer */
- struct rtgui_timer* timer;
- rt_int32_t timer_period;
-};
-typedef struct rtgui_caret rtgui_caret_t;
-
-struct rtgui_caret* rtgui_caret_create(struct rtgui_widget* owner);
-void rtgui_caret_destroy(struct rtgui_caret* caret);
-
-void rtgui_caret_show(struct rtgui_caret* caret, rt_base_t x, rt_base_t y);
-void rtgui_caret_hide(struct rtgui_caret* caret);
-void rtgui_caret_draw(struct rtgui_caret* caret);
-
-void rtgui_caret_set_point(struct rtgui_caret* caret, int x, int y);
-void rtgui_caret_set_box(struct rtgui_caret* caret, int w, int h);
-
-#endif
diff --git a/rtgui/include/rtgui/rtgui_config.h b/rtgui/include/rtgui/rtgui_config.h index bc97b028bd..54f9266b4b 100644 --- a/rtgui/include/rtgui/rtgui_config.h +++ b/rtgui/include/rtgui/rtgui_config.h @@ -36,6 +36,8 @@ #define RTGUI_USING_HZ_FILE
#endif
+#define RTGUI_USING_SMALL_SIZE
+
#define RTGUI_SVR_THREAD_PRIORITY 15
#define RTGUI_SVR_THREAD_TIMESLICE 5
#define RTGUI_SVR_THREAD_STACK_SIZE 2048
diff --git a/rtgui/include/rtgui/widgets/textbox.h b/rtgui/include/rtgui/widgets/textbox.h index 709b35f76b..e78a880325 100644 --- a/rtgui/include/rtgui/widgets/textbox.h +++ b/rtgui/include/rtgui/widgets/textbox.h @@ -52,8 +52,7 @@ struct rtgui_textbox rt_uint8_t* text;
rt_size_t font_width;
- int caret_x, caret_y;
- struct rtgui_caret* caret;
+ struct rtgui_timer* caret_timer;
/* widget private data */
rt_bool_t (*on_enter) (struct rtgui_widget* widget, struct rtgui_event* event);
diff --git a/rtgui/include/rtgui/widgets/widget.h b/rtgui/include/rtgui/widgets/widget.h index 9d0508390b..56fbe650d6 100644 --- a/rtgui/include/rtgui/widgets/widget.h +++ b/rtgui/include/rtgui/widgets/widget.h @@ -96,24 +96,30 @@ struct rtgui_widget /* the widget extent */ rtgui_rect_t extent; +#ifndef RTGUI_USING_SMALL_SIZE rt_int16_t mini_width, mini_height; rt_int16_t margin, margin_style; +#endif /* the rect clip */ rtgui_region_t clip; +#ifndef RTGUI_USING_SMALL_SIZE rt_uint32_t clip_sync; +#endif /* the event handler */ rt_bool_t (*event_handler) (struct rtgui_widget* widget, struct rtgui_event* event); /* call back */ - rt_bool_t (*on_draw) (struct rtgui_widget* widget, struct rtgui_event* event); rt_bool_t (*on_focus_in) (struct rtgui_widget* widget, struct rtgui_event* event); rt_bool_t (*on_focus_out) (struct rtgui_widget* widget, struct rtgui_event* event); +#ifndef RTGUI_USING_SMALL_SIZE + rt_bool_t (*on_draw) (struct rtgui_widget* widget, struct rtgui_event* event); rt_bool_t (*on_mouseclick) (struct rtgui_widget* widget, struct rtgui_event* event); rt_bool_t (*on_key) (struct rtgui_widget* widget, struct rtgui_event* event); rt_bool_t (*on_size) (struct rtgui_widget* widget, struct rtgui_event* event); rt_bool_t (*on_command) (struct rtgui_widget* widget, struct rtgui_event* event); +#endif }; typedef struct rtgui_widget rtgui_widget_t; @@ -147,20 +153,24 @@ void rtgui_widget_focus(rtgui_widget_t * widget); void rtgui_widget_unfocus(rtgui_widget_t *widget); /* event handler for each command */ -void rtgui_widget_set_ondraw(rtgui_widget_t* widget, rtgui_event_handler_ptr handler); void rtgui_widget_set_onfocus(rtgui_widget_t* widget, rtgui_event_handler_ptr handler); void rtgui_widget_set_onunfocus(rtgui_widget_t* widget, rtgui_event_handler_ptr handler); +#ifndef RTGUI_USING_SMALL_SIZE +void rtgui_widget_set_ondraw(rtgui_widget_t* widget, rtgui_event_handler_ptr handler); void rtgui_widget_set_onmouseclick(rtgui_widget_t* widget, rtgui_event_handler_ptr handler); void rtgui_widget_set_onkey(rtgui_widget_t* widget, rtgui_event_handler_ptr handler); void rtgui_widget_set_onsize(rtgui_widget_t* widget, rtgui_event_handler_ptr handler); void rtgui_widget_set_oncommand(rtgui_widget_t* widget, rtgui_event_handler_ptr handler); +#endif /* get and set rect of widget */ void rtgui_widget_get_rect(rtgui_widget_t* widget, rtgui_rect_t *rect); void rtgui_widget_set_rect(rtgui_widget_t* widget, rtgui_rect_t* rect); +#ifndef RTGUI_USING_SMALL_SIZE void rtgui_widget_set_miniwidth(rtgui_widget_t* widget, int width); void rtgui_widget_set_miniheight(rtgui_widget_t* widget, int height); +#endif /* get the physical position of a logic point on widget */ void rtgui_widget_point_to_device(rtgui_widget_t * widget, rtgui_point_t * point); |
