summaryrefslogtreecommitdiff
path: root/rtgui/include
diff options
context:
space:
mode:
authorbernard.xiong <[email protected]>2010-01-04 00:05:01 +0000
committerbernard.xiong <[email protected]>2010-01-04 00:05:01 +0000
commit5950b02b04255dda8e5f9c6bd67f94e803a18fd6 (patch)
tree3e0195c85346b8a6f6d30d6b8e90535c06c05643 /rtgui/include
parent238b6b89ea489668b7c7c872e99354575318e400 (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.h53
-rw-r--r--rtgui/include/rtgui/rtgui_config.h2
-rw-r--r--rtgui/include/rtgui/widgets/textbox.h3
-rw-r--r--rtgui/include/rtgui/widgets/widget.h14
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);