From 0ce439673d649eae01fb972be053651296dffc96 Mon Sep 17 00:00:00 2001 From: "bernard.xiong" Date: Wed, 13 Jan 2010 23:41:15 +0000 Subject: add draw_round_rect, update radiobox widget implementation. git-svn-id: https://rt-thread.googlecode.com/svn/trunk@298 bbd45198-f89e-11dd-88c7-29a3b14d5316 --- rtgui/include/rtgui/dc.h | 1 + rtgui/include/rtgui/rtgui_theme.h | 2 ++ rtgui/include/rtgui/widgets/radiobox.h | 18 +++++++++++++----- 3 files changed, 16 insertions(+), 5 deletions(-) (limited to 'rtgui/include') diff --git a/rtgui/include/rtgui/dc.h b/rtgui/include/rtgui/dc.h index 1bf7bc1ee3..33c45d3838 100644 --- a/rtgui/include/rtgui/dc.h +++ b/rtgui/include/rtgui/dc.h @@ -104,6 +104,7 @@ void rtgui_dc_get_rect(struct rtgui_dc*dc, rtgui_rect_t* rect); void rtgui_dc_draw_line (struct rtgui_dc* dc, int x1, int y1, int x2, int y2); void rtgui_dc_draw_rect (struct rtgui_dc* dc, struct rtgui_rect* rect); +void rtgui_dc_draw_round_rect(struct rtgui_dc* dc, struct rtgui_rect* rect); void rtgui_dc_draw_text (struct rtgui_dc* dc, const rt_uint8_t* text, struct rtgui_rect* rect); diff --git a/rtgui/include/rtgui/rtgui_theme.h b/rtgui/include/rtgui/rtgui_theme.h index 9f0ddba0e8..979e1cb254 100644 --- a/rtgui/include/rtgui/rtgui_theme.h +++ b/rtgui/include/rtgui/rtgui_theme.h @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -38,6 +39,7 @@ void rtgui_theme_draw_label(rtgui_label_t* label); void rtgui_theme_draw_textbox(rtgui_textbox_t* box); void rtgui_theme_draw_iconbox(rtgui_iconbox_t* iconbox); void rtgui_theme_draw_checkbox(rtgui_checkbox_t* checkbox); +void rtgui_theme_draw_radiobox(struct rtgui_radiobox* radiobox); void rtgui_theme_draw_slider(struct rtgui_slider* slider); void rtgui_theme_draw_progressbar(struct rtgui_progressbar* bar); void rtgui_theme_draw_staticline(struct rtgui_staticline* staticline); diff --git a/rtgui/include/rtgui/widgets/radiobox.h b/rtgui/include/rtgui/widgets/radiobox.h index dfd563ff9e..efab51698c 100644 --- a/rtgui/include/rtgui/widgets/radiobox.h +++ b/rtgui/include/rtgui/widgets/radiobox.h @@ -7,19 +7,25 @@ /** Gets the type of a radiobox */ #define RTGUI_RADIOBOX_TYPE (rtgui_radiobox_type_get()) /** Casts the object to an rtgui_radiobox */ -#define RTGUI_SLIDER(obj) (RTGUI_OBJECT_CAST((obj), RTGUI_RADIOBOX_TYPE, rtgui_radiobox_t)) +#define RTGUI_RADIOBOX(obj) (RTGUI_OBJECT_CAST((obj), RTGUI_RADIOBOX_TYPE, rtgui_radiobox_t)) /** Checks if the object is an rtgui_radiobox */ -#define RTGUI_IS_SLIDER(obj) (RTGUI_OBJECT_CHECK_TYPE((obj), RTGUI_RADIOBOX_TYPE)) +#define RTGUI_IS_RADIOBOX(obj) (RTGUI_OBJECT_CHECK_TYPE((obj), RTGUI_RADIOBOX_TYPE)) struct rtgui_radiobox { struct rtgui_widget parent; /* widget private data */ - int orient; + char* text; /* radio box label */ - char* items; - int item_count, item_selection; + /* box orient */ + rt_uint8_t orient; + + /* item size */ + rt_uint8_t item_size; + + char** items; + rt_uint16_t item_count, item_selection; }; typedef struct rtgui_radiobox rtgui_radiobox_t; @@ -33,4 +39,6 @@ int rtgui_radiobox_get_selection(struct rtgui_radiobox* radiobox); rt_bool_t rtgui_radiobox_event_handler(struct rtgui_widget* widget, struct rtgui_event* event); +void rtgui_radiobox_set_orientation(struct rtgui_radiobox* radiobox, int orientation); + #endif -- cgit v1.3.1