summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
author[email protected] <[email protected]>2012-08-13 08:32:01 +0000
committer[email protected] <[email protected]>2012-08-13 08:32:01 +0000
commit9a9957315277e7707ff622e7993cbc2eacd4a197 (patch)
tree31e4960f764b27326f34492a411ab1b51400200e /examples
parente6a9dd1922246a26e159d48afb840007d8c986d9 (diff)
sync gui examples with github 6cf0a8bc19c292ca810c917574895c8defa3922e
As always, full log is in GitHub. git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2254 bbd45198-f89e-11dd-88c7-29a3b14d5316
Diffstat (limited to 'examples')
-rw-r--r--examples/gui/SConscript3
-rw-r--r--examples/gui/demo_application.c175
-rw-r--r--examples/gui/demo_fnview.c110
-rw-r--r--examples/gui/demo_listview.c120
-rw-r--r--examples/gui/demo_listview_icon.c596
-rw-r--r--examples/gui/demo_simple_workbench.c74
-rw-r--r--examples/gui/demo_view.c199
-rw-r--r--examples/gui/demo_view.h11
-rw-r--r--examples/gui/demo_view_animation.c146
-rw-r--r--examples/gui/demo_view_benchmark.c156
-rw-r--r--examples/gui/demo_view_box.c44
-rw-r--r--examples/gui/demo_view_buffer_animation.c170
-rw-r--r--examples/gui/demo_view_button.c124
-rw-r--r--examples/gui/demo_view_checkbox.c124
-rw-r--r--examples/gui/demo_view_combobox.c44
-rw-r--r--examples/gui/demo_view_dc.c274
-rw-r--r--examples/gui/demo_view_dc_buffer.c94
-rw-r--r--examples/gui/demo_view_edit.c120
-rw-r--r--examples/gui/demo_view_image.c164
-rw-r--r--examples/gui/demo_view_instrument_panel.c204
-rw-r--r--examples/gui/demo_view_label.c170
-rw-r--r--examples/gui/demo_view_listbox.c334
-rw-r--r--examples/gui/demo_view_listctrl.c441
-rw-r--r--examples/gui/demo_view_menu.c88
-rw-r--r--examples/gui/demo_view_module.c91
-rw-r--r--examples/gui/demo_view_mywidget.c52
-rw-r--r--examples/gui/demo_view_notebook.c52
-rw-r--r--examples/gui/demo_view_progressbar.c99
-rw-r--r--examples/gui/demo_view_radiobox.c94
-rw-r--r--examples/gui/demo_view_scrollbar.c69
-rw-r--r--examples/gui/demo_view_slider.c67
-rw-r--r--examples/gui/demo_view_textbox.c166
-rw-r--r--examples/gui/demo_view_ttf.c116
-rw-r--r--examples/gui/demo_view_window.c362
-rw-r--r--examples/gui/demo_xml.c20
-rw-r--r--examples/gui/gui_init.c19
-rw-r--r--examples/gui/mywidget.c180
-rw-r--r--examples/gui/mywidget.h18
38 files changed, 2762 insertions, 2628 deletions
diff --git a/examples/gui/SConscript b/examples/gui/SConscript
index 35f4c9e810..7993944c0e 100644
--- a/examples/gui/SConscript
+++ b/examples/gui/SConscript
@@ -13,6 +13,8 @@ demo_view_module.c
src = Split("""
demo_application.c
+demo_listview.c
+demo_listview_icon.c
demo_view.c
demo_view_benchmark.c
demo_view_dc.c
@@ -37,6 +39,7 @@ demo_view_slider.c
demo_view_notebook.c
demo_view_mywidget.c
demo_view_box.c
+demo_view_edit.c
mywidget.c
""")
diff --git a/examples/gui/demo_application.c b/examples/gui/demo_application.c
index b84eaa704f..b0ca552282 100644
--- a/examples/gui/demo_application.c
+++ b/examples/gui/demo_application.c
@@ -7,141 +7,142 @@
struct rtgui_notebook *the_notebook;
-static rt_bool_t demo_handle_key(struct rtgui_object* object, struct rtgui_event* event)
+static rt_bool_t demo_handle_key(struct rtgui_object *object, struct rtgui_event *event)
{
- struct rtgui_event_kbd* ekbd = (struct rtgui_event_kbd*)event;
+ struct rtgui_event_kbd *ekbd = (struct rtgui_event_kbd *)event;
- if (ekbd->type == RTGUI_KEYUP)
- {
- if (ekbd->key == RTGUIK_RIGHT)
- {
- demo_view_next(RT_NULL, RT_NULL);
- return RT_TRUE;
- }
- else if (ekbd->key == RTGUIK_LEFT)
- {
- demo_view_prev(RT_NULL, RT_NULL);
- return RT_TRUE;
- }
- }
- return RT_TRUE;
+ if (ekbd->type == RTGUI_KEYUP)
+ {
+ if (ekbd->key == RTGUIK_RIGHT)
+ {
+ demo_view_next(RT_NULL, RT_NULL);
+ return RT_TRUE;
+ }
+ else if (ekbd->key == RTGUIK_LEFT)
+ {
+ demo_view_prev(RT_NULL, RT_NULL);
+ return RT_TRUE;
+ }
+ }
+ return RT_TRUE;
}
struct rtgui_win *main_win;
-static void application_entry(void* parameter)
+static void application_entry(void *parameter)
{
- struct rtgui_app *app;
- struct rtgui_rect rect;
+ struct rtgui_app *app;
+ struct rtgui_rect rect;
- app = rtgui_app_create(rt_thread_self(), "gui_demo");
- if (app == RT_NULL)
- return;
+ app = rtgui_app_create(rt_thread_self(), "gui_demo");
+ if (app == RT_NULL)
+ return;
- /* create a full screen window */
- rtgui_graphic_driver_get_rect(rtgui_graphic_driver_get_default(), &rect);
+ /* create a full screen window */
+ rtgui_graphic_driver_get_rect(rtgui_graphic_driver_get_default(), &rect);
- main_win = rtgui_win_create(RT_NULL, "demo_win", &rect,
- RTGUI_WIN_STYLE_NO_BORDER | RTGUI_WIN_STYLE_NO_TITLE);
- if (main_win == RT_NULL)
- {
- rtgui_app_destroy(app);
- return;
- }
+ main_win = rtgui_win_create(RT_NULL, "demo_win", &rect,
+ RTGUI_WIN_STYLE_NO_BORDER | RTGUI_WIN_STYLE_NO_TITLE);
+ if (main_win == RT_NULL)
+ {
+ rtgui_app_destroy(app);
+ return;
+ }
- rtgui_win_set_onkey(main_win, demo_handle_key);
+ rtgui_win_set_onkey(main_win, demo_handle_key);
- /* create a no title notebook that we can switch demo on it easily. */
- the_notebook = rtgui_notebook_create(&rect, RTGUI_NOTEBOOK_NOTAB);
- if (the_notebook == RT_NULL)
- {
- rtgui_win_destroy(main_win);
- rtgui_app_destroy(app);
- return;
- }
+ /* create a no title notebook that we can switch demo on it easily. */
+ the_notebook = rtgui_notebook_create(&rect, RTGUI_NOTEBOOK_NOTAB);
+ if (the_notebook == RT_NULL)
+ {
+ rtgui_win_destroy(main_win);
+ rtgui_app_destroy(app);
+ return;
+ }
- rtgui_container_add_child(RTGUI_CONTAINER(main_win), RTGUI_WIDGET(the_notebook));
+ rtgui_container_add_child(RTGUI_CONTAINER(main_win), RTGUI_WIDGET(the_notebook));
- demo_view_box();
+ //demo_view_box();
- /* ��ʼ���������ӵ���ͼ */
- demo_view_benchmark();
+ /* ��ʼ���������ӵ���ͼ */
+ demo_view_benchmark();
- demo_view_dc();
+ demo_view_dc();
#ifdef RTGUI_USING_TTF
- demo_view_ttf();
+ demo_view_ttf();
#endif
#ifndef RTGUI_USING_SMALL_SIZE
- demo_view_dc_buffer();
+ demo_view_dc_buffer();
#endif
- demo_view_animation();
+ demo_view_animation();
#ifndef RTGUI_USING_SMALL_SIZE
- demo_view_buffer_animation();
- demo_view_instrument_panel();
+ demo_view_buffer_animation();
+ demo_view_instrument_panel();
#endif
- demo_view_window();
- demo_view_label();
- demo_view_button();
- demo_view_checkbox();
- demo_view_progressbar();
- demo_view_scrollbar();
- demo_view_radiobox();
- demo_view_textbox();
- demo_view_listbox();
- demo_view_menu();
- demo_view_listctrl();
- demo_view_combobox();
- demo_view_slider();
- demo_view_notebook();
- demo_view_mywidget();
+ demo_view_window();
+ demo_view_label();
+ demo_view_button();
+ demo_view_checkbox();
+ demo_view_progressbar();
+ demo_view_scrollbar();
+ demo_view_radiobox();
+ demo_view_textbox();
+ demo_view_listbox();
+ demo_view_menu();
+ demo_view_listctrl();
+ demo_view_combobox();
+ demo_view_slider();
+ demo_view_notebook();
+ demo_view_mywidget();
+ demo_view_edit();
#if 0
#if defined(RTGUI_USING_DFS_FILERW) || defined(RTGUI_USING_STDIO_FILERW)
- demo_view_image();
+ demo_view_image();
#endif
-#ifdef RT_USING_MODULE
+#ifdef RT_USING_MODULE
#if defined(RTGUI_USING_DFS_FILERW) || defined(RTGUI_USING_STDIO_FILERW)
- demo_view_module();
+ demo_view_module();
#endif
#endif
- demo_listview_view();
- demo_listview_icon_view();
+ demo_listview_view();
+ demo_listview_icon_view();
#if defined(RTGUI_USING_DFS_FILERW) || defined(RTGUI_USING_STDIO_FILERW)
- demo_fn_view();
+ demo_fn_view();
#endif
#endif
- rtgui_win_show(main_win, RT_FALSE);
+ rtgui_win_show(main_win, RT_FALSE);
- /* ִ�й���̨�¼�ѭ�� */
- rtgui_app_run(app);
+ /* ִ�й���̨�¼�ѭ�� */
+ rtgui_app_run(app);
- rtgui_app_destroy(app);
+ rtgui_app_destroy(app);
}
void application_init()
{
- static rt_bool_t inited = RT_FALSE;
+ static rt_bool_t inited = RT_FALSE;
- if (inited == RT_FALSE) /* �����ظ���ʼ�������ı��� */
- {
- rt_thread_t tid;
+ if (inited == RT_FALSE) /* �����ظ���ʼ�������ı��� */
+ {
+ rt_thread_t tid;
- tid = rt_thread_create("wb",
- application_entry, RT_NULL,
- 2048 * 2, 25, 10);
+ tid = rt_thread_create("wb",
+ application_entry, RT_NULL,
+ 2048 * 2, 25, 10);
- if (tid != RT_NULL)
- rt_thread_startup(tid);
+ if (tid != RT_NULL)
+ rt_thread_startup(tid);
- inited = RT_TRUE;
- }
+ inited = RT_TRUE;
+ }
}
#ifdef RT_USING_FINSH
#include <finsh.h>
void application()
{
- application_init();
+ application_init();
}
/* finsh���������������ֱ��ִ��application()������ִ������ĺ��� */
FINSH_FUNCTION_EXPORT(application, application demo)
diff --git a/examples/gui/demo_fnview.c b/examples/gui/demo_fnview.c
index f7148659c0..af170101b4 100644
--- a/examples/gui/demo_fnview.c
+++ b/examples/gui/demo_fnview.c
@@ -11,80 +11,80 @@
#if defined(RTGUI_USING_DFS_FILERW) || defined(RTGUI_USING_STDIO_FILERW)
/* ������ʾѡ���ļ������ı���ǩ */
-static rtgui_label_t* label;
+static rtgui_label_t *label;
/* �����ļ��б���ͼ�İ�ť�ص����� */
-static void open_btn_onbutton(rtgui_widget_t* widget, struct rtgui_event* event)
+static void open_btn_onbutton(rtgui_widget_t *widget, struct rtgui_event *event)
{
- rtgui_filelist_view_t *view;
- rtgui_workbench_t *workbench;
- rtgui_rect_t rect;
+ rtgui_filelist_view_t *view;
+ rtgui_workbench_t *workbench;
+ rtgui_rect_t rect;
- /* ��ö����workbench���� */
- workbench = RTGUI_APPLICATION(rtgui_widget_get_toplevel(widget));
- rtgui_widget_get_rect(RTGUI_WIDGET(workbench), &rect);
+ /* ��ö����workbench���� */
+ workbench = RTGUI_APPLICATION(rtgui_widget_get_toplevel(widget));
+ rtgui_widget_get_rect(RTGUI_WIDGET(workbench), &rect);
- /* ���Win32ƽ̨������ƽ̨���IJ�ͬ����ʵĿ¼λ�� */
+ /* ���Win32ƽ̨������ƽ̨���IJ�ͬ����ʵĿ¼λ�� */
#ifdef _WIN32
- view = rtgui_filelist_view_create(workbench, "d:\\", "*.*", &rect);
+ view = rtgui_filelist_view_create(workbench, "d:\\", "*.*", &rect);
#else
- view = rtgui_filelist_view_create(workbench, "/", "*.*", &rect);
+ view = rtgui_filelist_view_create(workbench, "/", "*.*", &rect);
#endif
- /* ����ģʽ��ʽ��ʾ�ļ��б���ͼ */
- if (rtgui_container_show(RTGUI_CONTAINER(view), RT_TRUE) == RTGUI_MODAL_OK)
- {
- char path[32];
+ /* ����ģʽ��ʽ��ʾ�ļ��б���ͼ */
+ if (rtgui_container_show(RTGUI_CONTAINER(view), RT_TRUE) == RTGUI_MODAL_OK)
+ {
+ char path[32];
- /* ���ļ��б���ͼ�гɹ�ѡ���ļ�����������Ӧ��·���� */
- rtgui_filelist_view_get_fullpath(view, path, sizeof(path));
+ /* ���ļ��б���ͼ�гɹ�ѡ���ļ�����������Ӧ��·���� */
+ rtgui_filelist_view_get_fullpath(view, path, sizeof(path));
- /* �����ļ�·�����ı���ǩ */
- rtgui_label_set_text(label, path);
- }
+ /* �����ļ�·�����ı���ǩ */
+ rtgui_label_set_text(label, path);
+ }
- /* ɾ�� �ļ��б� ��ͼ */
- rtgui_container_destroy(RTGUI_CONTAINER(view));
+ /* ɾ�� �ļ��б� ��ͼ */
+ rtgui_container_destroy(RTGUI_CONTAINER(view));
}
/* ����������ʾ�ļ��б���ͼ����ͼ */
-rtgui_container_t* demo_fn_view(rtgui_workbench_t* workbench)
+rtgui_container_t *demo_fn_view(rtgui_workbench_t *workbench)
{
- rtgui_rect_t rect;
- rtgui_container_t* view;
- rtgui_button_t* open_btn;
- rtgui_font_t* font;
+ rtgui_rect_t rect;
+ rtgui_container_t *view;
+ rtgui_button_t *open_btn;
+ rtgui_font_t *font;
- /* Ĭ�ϲ���12�������ʾ */
- font = rtgui_font_refer("asc", 12);
+ /* Ĭ�ϲ���12�������ʾ */
+ font = rtgui_font_refer("asc", 12);
- /* ������ʾ�õ���ͼ */
- view = demo_view(workbench, "FileList View");
- /* �����ʾ��ͼ��λ����Ϣ */
- demo_view_get_rect(view, &rect);
+ /* ������ʾ�õ���ͼ */
+ view = demo_view(workbench, "FileList View");
+ /* �����ʾ��ͼ��λ����Ϣ */
+ demo_view_get_rect(view, &rect);
- rect.x1 += 5;
- rect.x2 -= 5;
- rect.y1 += 5;
- rect.y2 = rect.y1 + 20;
- /* ������ʾ�ļ�·���õ��ı���ǩ */
- label = rtgui_label_create("fn: ");
- rtgui_container_add_child(RTGUI_CONTAINER(view), RTGUI_WIDGET(label));
- rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
- RTGUI_WIDGET_FONT(RTGUI_WIDGET(label)) = font;
+ rect.x1 += 5;
+ rect.x2 -= 5;
+ rect.y1 += 5;
+ rect.y2 = rect.y1 + 20;
+ /* ������ʾ�ļ�·���õ��ı���ǩ */
+ label = rtgui_label_create("fn: ");
+ rtgui_container_add_child(RTGUI_CONTAINER(view), RTGUI_WIDGET(label));
+ rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
+ RTGUI_WIDGET_FONT(RTGUI_WIDGET(label)) = font;
- /* �����ʾ��ͼ��λ����Ϣ */
- demo_view_get_rect(view, &rect);
- rect.x1 += 5;
- rect.x2 = rect.x1 + 80;
- rect.y1 += 30;
- rect.y2 = rect.y1 + 20;
- /* ������ť�Դ���һ���µ��ļ��б���ͼ */
- open_btn = rtgui_button_create("Open File");
- rtgui_container_add_child(RTGUI_CONTAINER(view), RTGUI_WIDGET(open_btn));
- rtgui_widget_set_rect(RTGUI_WIDGET(open_btn), &rect);
- RTGUI_WIDGET_FONT(RTGUI_WIDGET(open_btn)) = font;
- rtgui_button_set_onbutton(open_btn, open_btn_onbutton);
+ /* �����ʾ��ͼ��λ����Ϣ */
+ demo_view_get_rect(view, &rect);
+ rect.x1 += 5;
+ rect.x2 = rect.x1 + 80;
+ rect.y1 += 30;
+ rect.y2 = rect.y1 + 20;
+ /* ������ť�Դ���һ���µ��ļ��б���ͼ */
+ open_btn = rtgui_button_create("Open File");
+ rtgui_container_add_child(RTGUI_CONTAINER(view), RTGUI_WIDGET(open_btn));
+ rtgui_widget_set_rect(RTGUI_WIDGET(open_btn), &rect);
+ RTGUI_WIDGET_FONT(RTGUI_WIDGET(open_btn)) = font;
+ rtgui_button_set_onbutton(open_btn, open_btn_onbutton);
- return view;
+ return view;
}
#endif
diff --git a/examples/gui/demo_listview.c b/examples/gui/demo_listview.c
index 28b9e84afe..0d0bbeba8d 100644
--- a/examples/gui/demo_listview.c
+++ b/examples/gui/demo_listview.c
@@ -10,98 +10,98 @@
#include <rtgui/widgets/window.h>
#include <rtgui/widgets/list_view.h>
-static struct rtgui_app *application = RT_NULL;
-static rtgui_list_view_t* _view = RT_NULL;
+static struct rtgui_application *application = RT_NULL;
+static rtgui_list_view_t *_view = RT_NULL;
// static rtgui_image_t* return_image = RT_NULL;
/* �б���Ķ������� */
-static void listitem_action(rtgui_widget_t *widget, void* parameter)
+static void listitem_action(rtgui_widget_t *widget, void *parameter)
{
- char label_text[32];
- rtgui_win_t *win;
- rtgui_label_t *label;
- rtgui_rect_t rect = {0, 0, 150, 80};
- int no = (int)parameter;
+ char label_text[32];
+ rtgui_win_t *win;
+ rtgui_label_t *label;
+ rtgui_rect_t rect = {0, 0, 150, 80};
+ int no = (int)parameter;
- rtgui_rect_moveto(&rect, 20, 50);
+ rtgui_rect_moveto(&rect, 20, 50);
- /* ��ʾ��Ϣ���� */
- win = rtgui_win_create(RTGUI_TOPLEVEL(application),
- "����", &rect, RTGUI_WIN_STYLE_DEFAULT);
+ /* ��ʾ��Ϣ���� */
+ win = rtgui_win_create(RTGUI_TOPLEVEL(application),
+ "����", &rect, RTGUI_WIN_STYLE_DEFAULT);
- rect.x1 += 20;
- rect.x2 -= 5;
- rect.y1 += 5;
- rect.y2 = rect.y1 + 20;
+ rect.x1 += 20;
+ rect.x2 -= 5;
+ rect.y1 += 5;
+ rect.y2 = rect.y1 + 20;
- /* ������Ӧ�ı�ǩ */
- rt_sprintf(label_text, "���� %d", no);
- label = rtgui_label_create(label_text);
+ /* ������Ӧ�ı�ǩ */
+ rt_sprintf(label_text, "���� %d", no);
+ label = rtgui_label_create(label_text);
- rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
- rtgui_container_add_child(win, RTGUI_WIDGET(label));
+ rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
+ rtgui_container_add_child(win, RTGUI_WIDGET(label));
- /* ��ģ̬��ʾ���� */
- rtgui_win_show(win, RT_FALSE);
+ /* ��ģ̬��ʾ���� */
+ rtgui_win_show(win, RT_FALSE);
}
/* ���ع��ܵĶ������� */
-static void return_action(rtgui_widget_t* widget, void* parameter)
+static void return_action(rtgui_widget_t *widget, void *parameter)
{
- rtgui_container_end_modal(RTGUI_CONTAINER(_view), RTGUI_MODAL_OK);
+ rtgui_container_end_modal(RTGUI_CONTAINER(_view), RTGUI_MODAL_OK);
}
/* �����б���� */
static struct rtgui_list_item items[] =
{
- {"���1", RT_NULL, listitem_action, (void*)1},
- {"���2", RT_NULL, listitem_action, (void*)2},
- {"���3", RT_NULL, listitem_action, (void*)3},
- {"���4", RT_NULL, listitem_action, (void*)4},
- {"���5", RT_NULL, listitem_action, (void*)5},
- {"����", RT_NULL, return_action, RT_NULL},
+ {"���1", RT_NULL, listitem_action, (void *)1},
+ {"���2", RT_NULL, listitem_action, (void *)2},
+ {"���3", RT_NULL, listitem_action, (void *)3},
+ {"���4", RT_NULL, listitem_action, (void *)4},
+ {"���5", RT_NULL, listitem_action, (void *)5},
+ {"����", RT_NULL, return_action, RT_NULL},
};
/* ���б���ͼ�õİ�ť�������� */
-static void open_btn_onbutton(rtgui_widget_t* widget, struct rtgui_event* event)
+static void open_btn_onbutton(rtgui_widget_t *widget, struct rtgui_event *event)
{
- rtgui_rect_t rect;
+ rtgui_rect_t rect;
- /* ��ö����application */
- application = RTGUI_APPLICATION(rtgui_widget_get_toplevel(widget));
- rtgui_widget_get_rect(RTGUI_WIDGET(application), &rect);
+ /* ��ö����application */
+ application = RTGUI_APPLICATION(rtgui_widget_get_toplevel(widget));
+ rtgui_widget_get_rect(RTGUI_WIDGET(application), &rect);
- /* ����һ���б���ͼ�� ��ָ��Ϊitems */
- _view = rtgui_list_view_create(items, sizeof(items)/sizeof(struct rtgui_list_item),
- &rect, RTGUI_LIST_VIEW_LIST);
+ /* ����һ���б���ͼ�� ��ָ��Ϊitems */
+ _view = rtgui_list_view_create(items, sizeof(items) / sizeof(struct rtgui_list_item),
+ &rect, RTGUI_LIST_VIEW_LIST);
- rtgui_application_add_container(application, RTGUI_CONTAINER(_view));
+ rtgui_application_add_container(application, RTGUI_CONTAINER(_view));
- /* ģʽ��ʾ��ͼ */
- rtgui_container_show(RTGUI_CONTAINER(_view), RT_TRUE);
- rtgui_container_destroy(RTGUI_CONTAINER(_view));
- _view = RT_NULL;
+ /* ģʽ��ʾ��ͼ */
+ rtgui_container_show(RTGUI_CONTAINER(_view), RT_TRUE);
+ rtgui_container_destroy(RTGUI_CONTAINER(_view));
+ _view = RT_NULL;
}
/* ����������ʾ�б���ͼ����ͼ */
-rtgui_container_t* demo_listview_view(void)
+rtgui_container_t *demo_listview_view(void)
{
- rtgui_rect_t rect;
- rtgui_container_t *container;
- rtgui_button_t* open_btn;
+ rtgui_rect_t rect;
+ rtgui_container_t *container;
+ rtgui_button_t *open_btn;
- container = demo_view("�б���ͼ��ʾ");
+ container = demo_view("�б���ͼ��ʾ");
- /* ���Ӷ�����ť */
- demo_view_get_rect(container, &rect);
- rect.x1 += 5;
- rect.x2 = rect.x1 + 80;
- rect.y1 += 30;
- rect.y2 = rect.y1 + 20;
- open_btn = rtgui_button_create("���б�");
- rtgui_container_add_child(container, RTGUI_WIDGET(open_btn));
- rtgui_widget_set_rect(RTGUI_WIDGET(open_btn), &rect);
- rtgui_button_set_onbutton(open_btn, open_btn_onbutton);
+ /* ���Ӷ�����ť */
+ demo_view_get_rect(container, &rect);
+ rect.x1 += 5;
+ rect.x2 = rect.x1 + 80;
+ rect.y1 += 30;
+ rect.y2 = rect.y1 + 20;
+ open_btn = rtgui_button_create("���б�");
+ rtgui_container_add_child(container, RTGUI_WIDGET(open_btn));
+ rtgui_widget_set_rect(RTGUI_WIDGET(open_btn), &rect);
+ rtgui_button_set_onbutton(open_btn, open_btn_onbutton);
- return container;
+ return container;
}
diff --git a/examples/gui/demo_listview_icon.c b/examples/gui/demo_listview_icon.c
index e957e470d9..6014172582 100644
--- a/examples/gui/demo_listview_icon.c
+++ b/examples/gui/demo_listview_icon.c
@@ -10,337 +10,341 @@
#include <rtgui/widgets/window.h>
#include <rtgui/widgets/list_view.h>
-static struct rtgui_app *application = RT_NULL;
-static rtgui_list_view_t* _view = RT_NULL;
+static struct rtgui_application *application = RT_NULL;
+static rtgui_list_view_t *_view = RT_NULL;
/* �б���Ķ������� */
-static void listitem_action(rtgui_widget_t* widget, void* parameter)
+static void listitem_action(rtgui_widget_t *widget, void *parameter)
{
- char label_text[32];
- rtgui_win_t *win;
- rtgui_label_t *label;
- rtgui_rect_t rect = {0, 0, 150, 80};
- int no = (int)parameter;
+ char label_text[32];
+ rtgui_win_t *win;
+ rtgui_label_t *label;
+ rtgui_rect_t rect = {0, 0, 150, 80};
+ int no = (int)parameter;
- rtgui_rect_moveto(&rect, 20, 50);
+ rtgui_rect_moveto(&rect, 20, 50);
- /* ��ʾ��Ϣ���� */
- win = rtgui_win_create(RTGUI_TOPLEVEL(application),
- "����", &rect, RTGUI_WIN_STYLE_DEFAULT);
+ /* ��ʾ��Ϣ���� */
+ win = rtgui_win_create(RTGUI_TOPLEVEL(application),
+ "����", &rect, RTGUI_WIN_STYLE_DEFAULT);
- rect.x1 += 20;
- rect.x2 -= 5;
- rect.y1 += 5;
- rect.y2 = rect.y1 + 20;
+ rect.x1 += 20;
+ rect.x2 -= 5;
+ rect.y1 += 5;
+ rect.y2 = rect.y1 + 20;
- /* ������Ӧ�ı�ǩ */
- rt_sprintf(label_text, "���� %d", no);
- label = rtgui_label_create(label_text);
+ /* ������Ӧ�ı�ǩ */
+ rt_sprintf(label_text, "���� %d", no);
+ label = rtgui_label_create(label_text);
- rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
- rtgui_container_add_child(RTGUI_CONTAINER(win), RTGUI_WIDGET(label));
+ rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
+ rtgui_container_add_child(RTGUI_CONTAINER(win), RTGUI_WIDGET(label));
- /* ��ģ̬��ʾ���� */
- rtgui_win_show(win, RT_FALSE);
+ /* ��ģ̬��ʾ���� */
+ rtgui_win_show(win, RT_FALSE);
}
/* ���ع��ܵĶ������� */
-static void return_action(rtgui_widget_t* widget, void* parameter)
+static void return_action(rtgui_widget_t *widget, void *parameter)
{
- /* �˳�ģ̬��ʾ */
- rtgui_container_end_modal(RTGUI_CONTAINER(_view), RTGUI_MODAL_OK);
+ /* �˳�ģ̬��ʾ */
+ rtgui_container_end_modal(RTGUI_CONTAINER(_view), RTGUI_MODAL_OK);
}
/* ��� */
-#define ITEM_MAX 50
+#define ITEM_MAX 50
static struct rtgui_list_item *items = RT_NULL;
-static rtgui_image_t* item_icon = RT_NULL;
-static rtgui_image_t* exit_icon = RT_NULL;
+static rtgui_image_t *item_icon = RT_NULL;
+static rtgui_image_t *exit_icon = RT_NULL;
-static const char * image_xpm[] = {
- "16 16 106 2",
- " c None",
- ". c #D0C83F",
- "+ c #D0C840",
- "@ c #D0C030",
- "# c #D0B820",
- "$ c #D0B020",
- "% c #D0B01F",
- "& c #5F571F",
- "* c #F0F0C0",
- "= c #FFF8D0",
- "- c #FFF8C0",
- "; c #FFF8B0",
- "> c #FFF8A0",
- ", c #F0E870",
- "' c #707030",
- ") c #4F87EF",
- "! c #4F78C0",
- "~ c #5088E0",
- "{ c #5078C0",
- "] c #C0D0F0",
- "^ c #FFF8E0",
- "/ c #FFF090",
- "( c #F0E070",
- "_ c #6F97D0",
- ": c #C0D8FE",
- "< c #80A8F0",
- "[ c #7088D0",
- "} c #B0D0FF",
- "| c #90B0F0",
- "1 c #1040A0",
- "2 c #F0F080",
- "3 c #707040",
- "4 c #7098F0",
- "5 c #3068E0",
- "6 c #A0B8F0",
- "7 c #4070C0",
- "8 c #002880",
- "9 c #404040",
- "0 c #505050",
- "a c #F0F090",
- "b c #F0E860",
- "c c #F0D860",
- "d c #807840",
- "e c #2F5FC0",
- "f c #1050D0",
- "g c #1048B0",
- "h c #002870",
- "i c #C0C080",
- "j c #C0C070",
- "k c #F0F070",
- "l c #F0E060",
- "m c #E0D050",
- "n c #00277F",
- "o c #00287F",
- "p c #1F3F6F",
- "q c #1048C0",
- "r c #0040B0",
- "s c #204080",
- "t c #FFF890",
- "u c #F0D850",
- "v c #E0C840",
- "w c #807040",
- "x c #A0B06F",
- "y c #204880",
- "z c #2048A0",
- "A c #90A8C0",
- "B c #FFF080",
- "C c #F0D050",
- "D c #C0A830",
- "E c #6F682F",
- "F c #F0F0A0",
- "G c #E0D060",
- "H c #B0A040",
- "I c #D0B840",
- "J c #E0C040",
- "K c #D0B030",
- "L c #706820",
- "M c #5F581F",
- "N c #CFBF3F",
- "O c #FFF0A0",
- "P c #A09830",
- "Q c #A08820",
- "R c #908030",
- "S c #807830",
- "T c #707020",
- "U c #605820",
- "V c #6F672F",
- "W c #D0C040",
- "X c #F0E880",
- "Y c #907820",
- "Z c #B09820",
- "` c #B09010",
- " . c #B08820",
- ".. c #806820",
- "+. c #5F5F1F",
- "@. c #F0E080",
- "#. c #B09020",
- "$. c #C0B040",
- "%. c #A09030",
- "&. c #908020",
- "*. c #606020",
- "=. c #6F5F1F",
- "-. c #9F982F",
- ";. c #A0872F",
- ">. c #6F681F",
- ",. c #706020",
- " ",
- " . + + + @ @ # # $ % & ",
- " + * = = = = - ; > , ' ",
- " ) ! ~ { ] ^ = - - > / ( ' ",
- "_ : < { [ } | 1 - ; > > / 2 ( 3 ",
- "{ 4 5 1 6 7 5 8 9 0 a / , b c d ",
- "e f g h 8 8 g h i j / k l c m d ",
- " n o p q r s t 2 , l c u v w ",
- " x y z A B , l u C v D E ",
- " @ F > t k G H I J K L M ",
- " N @ O / 2 l P Q R S T U V ",
- " W m 2 X l I Y Z ` ...+. ",
- " W @.l u I R #.Z Y U M ",
- " $.G I $.%.R &.Y *.& =. ",
- " -.;.>.,.L L ,.& M ",
- " "};
+static const char *image_xpm[] =
+{
+ "16 16 106 2",
+ " c None",
+ ". c #D0C83F",
+ "+ c #D0C840",
+ "@ c #D0C030",
+ "# c #D0B820",
+ "$ c #D0B020",
+ "% c #D0B01F",
+ "& c #5F571F",
+ "* c #F0F0C0",
+ "= c #FFF8D0",
+ "- c #FFF8C0",
+ "; c #FFF8B0",
+ "> c #FFF8A0",
+ ", c #F0E870",
+ "' c #707030",
+ ") c #4F87EF",
+ "! c #4F78C0",
+ "~ c #5088E0",
+ "{ c #5078C0",
+ "] c #C0D0F0",
+ "^ c #FFF8E0",
+ "/ c #FFF090",
+ "( c #F0E070",
+ "_ c #6F97D0",
+ ": c #C0D8FE",
+ "< c #80A8F0",
+ "[ c #7088D0",
+ "} c #B0D0FF",
+ "| c #90B0F0",
+ "1 c #1040A0",
+ "2 c #F0F080",
+ "3 c #707040",
+ "4 c #7098F0",
+ "5 c #3068E0",
+ "6 c #A0B8F0",
+ "7 c #4070C0",
+ "8 c #002880",
+ "9 c #404040",
+ "0 c #505050",
+ "a c #F0F090",
+ "b c #F0E860",
+ "c c #F0D860",
+ "d c #807840",
+ "e c #2F5FC0",
+ "f c #1050D0",
+ "g c #1048B0",
+ "h c #002870",
+ "i c #C0C080",
+ "j c #C0C070",
+ "k c #F0F070",
+ "l c #F0E060",
+ "m c #E0D050",
+ "n c #00277F",
+ "o c #00287F",
+ "p c #1F3F6F",
+ "q c #1048C0",
+ "r c #0040B0",
+ "s c #204080",
+ "t c #FFF890",
+ "u c #F0D850",
+ "v c #E0C840",
+ "w c #807040",
+ "x c #A0B06F",
+ "y c #204880",
+ "z c #2048A0",
+ "A c #90A8C0",
+ "B c #FFF080",
+ "C c #F0D050",
+ "D c #C0A830",
+ "E c #6F682F",
+ "F c #F0F0A0",
+ "G c #E0D060",
+ "H c #B0A040",
+ "I c #D0B840",
+ "J c #E0C040",
+ "K c #D0B030",
+ "L c #706820",
+ "M c #5F581F",
+ "N c #CFBF3F",
+ "O c #FFF0A0",
+ "P c #A09830",
+ "Q c #A08820",
+ "R c #908030",
+ "S c #807830",
+ "T c #707020",
+ "U c #605820",
+ "V c #6F672F",
+ "W c #D0C040",
+ "X c #F0E880",
+ "Y c #907820",
+ "Z c #B09820",
+ "` c #B09010",
+ " . c #B08820",
+ ".. c #806820",
+ "+. c #5F5F1F",
+ "@. c #F0E080",
+ "#. c #B09020",
+ "$. c #C0B040",
+ "%. c #A09030",
+ "&. c #908020",
+ "*. c #606020",
+ "=. c #6F5F1F",
+ "-. c #9F982F",
+ ";. c #A0872F",
+ ">. c #6F681F",
+ ",. c #706020",
+ " ",
+ " . + + + @ @ # # $ % & ",
+ " + * = = = = - ; > , ' ",
+ " ) ! ~ { ] ^ = - - > / ( ' ",
+ "_ : < { [ } | 1 - ; > > / 2 ( 3 ",
+ "{ 4 5 1 6 7 5 8 9 0 a / , b c d ",
+ "e f g h 8 8 g h i j / k l c m d ",
+ " n o p q r s t 2 , l c u v w ",
+ " x y z A B , l u C v D E ",
+ " @ F > t k G H I J K L M ",
+ " N @ O / 2 l P Q R S T U V ",
+ " W m 2 X l I Y Z ` ...+. ",
+ " W @.l u I R #.Z Y U M ",
+ " $.G I $.%.R &.Y *.& =. ",
+ " -.;.>.,.L L ,.& M ",
+ " "
+};
-static const char * exit_xpm[] = {
- "16 16 71 1",
- " c None",
- ". c #CF673F",
- "+ c #D0673F",
- "@ c #C05F3F",
- "# c #BF5F3F",
- "$ c #D0674F",
- "% c #E07050",
- "& c #F07850",
- "* c #FF7040",
- "= c #F06830",
- "- c #E05830",
- "; c #D05030",
- "> c #B04F2F",
- ", c #D06F4F",
- "' c #F08060",
- ") c #FF9070",
- "! c #FF8860",
- "~ c #FF8050",
- "{ c #FF5820",
- "] c #FF4810",
- "^ c #D04810",
- "/ c #B0482F",
- "( c #FF9880",
- "_ c #FF6030",
- ": c #F04000",
- "< c #C04010",
- "[ c #A03F2F",
- "} c #E06840",
- "| c #FF9870",
- "1 c #FF7850",
- "2 c #FF6840",
- "3 c #F04010",
- "4 c #E03800",
- "5 c #A03820",
- "6 c #8F372F",
- "7 c #F06840",
- "8 c #FF8060",
- "9 c #FFFFFF",
- "0 c #FFF8F0",
- "a c #FFF0F0",
- "b c #FFE8E0",
- "c c #FFD0C0",
- "d c #E04010",
- "e c #B03010",
- "f c #7F2F1F",
- "g c #FFD8D0",
- "h c #FFC8C0",
- "i c #C03000",
- "j c #6F281F",
- "k c #F04810",
- "l c #FF6830",
- "m c #FFE0D0",
- "n c #F0C0B0",
- "o c #D04010",
- "p c #5F1F1F",
- "q c #E04820",
- "r c #FF4000",
- "s c #FF5020",
- "t c #FF5010",
- "u c #D03800",
- "v c #D03000",
- "w c #B02800",
- "x c #5F170F",
- "y c #C05020",
- "z c #F03800",
- "A c #802010",
- "B c #4F0F0F",
- "C c #A02800",
- "D c #C03810",
- "E c #5F0F00",
- "F c #A03810",
- " ",
- " .+@@@# ",
- " $%&*=-;> ",
- " ,')!~*{]^/ ",
- " +&)()~*_]:<[ ",
- " .}~!||!12{3456 ",
- " +7899990abcdef ",
- " @{19990bgchdij ",
- " @kl0abmchcnoip ",
- " @qr]stt]3duvwx ",
- " #yz:::z44uvvAB ",
- " >o4444uvvvCB ",
- " /DvvvvvvCE ",
- " [FeiiwAB ",
- " 6fjpxB ",
- " "};
+static const char *exit_xpm[] =
+{
+ "16 16 71 1",
+ " c None",
+ ". c #CF673F",
+ "+ c #D0673F",
+ "@ c #C05F3F",
+ "# c #BF5F3F",
+ "$ c #D0674F",
+ "% c #E07050",
+ "& c #F07850",
+ "* c #FF7040",
+ "= c #F06830",
+ "- c #E05830",
+ "; c #D05030",
+ "> c #B04F2F",
+ ", c #D06F4F",
+ "' c #F08060",
+ ") c #FF9070",
+ "! c #FF8860",
+ "~ c #FF8050",
+ "{ c #FF5820",
+ "] c #FF4810",
+ "^ c #D04810",
+ "/ c #B0482F",
+ "( c #FF9880",
+ "_ c #FF6030",
+ ": c #F04000",
+ "< c #C04010",
+ "[ c #A03F2F",
+ "} c #E06840",
+ "| c #FF9870",
+ "1 c #FF7850",
+ "2 c #FF6840",
+ "3 c #F04010",
+ "4 c #E03800",
+ "5 c #A03820",
+ "6 c #8F372F",
+ "7 c #F06840",
+ "8 c #FF8060",
+ "9 c #FFFFFF",
+ "0 c #FFF8F0",
+ "a c #FFF0F0",
+ "b c #FFE8E0",
+ "c c #FFD0C0",
+ "d c #E04010",
+ "e c #B03010",
+ "f c #7F2F1F",
+ "g c #FFD8D0",
+ "h c #FFC8C0",
+ "i c #C03000",
+ "j c #6F281F",
+ "k c #F04810",
+ "l c #FF6830",
+ "m c #FFE0D0",
+ "n c #F0C0B0",
+ "o c #D04010",
+ "p c #5F1F1F",
+ "q c #E04820",
+ "r c #FF4000",
+ "s c #FF5020",
+ "t c #FF5010",
+ "u c #D03800",
+ "v c #D03000",
+ "w c #B02800",
+ "x c #5F170F",
+ "y c #C05020",
+ "z c #F03800",
+ "A c #802010",
+ "B c #4F0F0F",
+ "C c #A02800",
+ "D c #C03810",
+ "E c #5F0F00",
+ "F c #A03810",
+ " ",
+ " .+@@@# ",
+ " $%&*=-;> ",
+ " ,')!~*{]^/ ",
+ " +&)()~*_]:<[ ",
+ " .}~!||!12{3456 ",
+ " +7899990abcdef ",
+ " @{19990bgchdij ",
+ " @kl0abmchcnoip ",
+ " @qr]stt]3duvwx ",
+ " #yz:::z44uvvAB ",
+ " >o4444uvvvCB ",
+ " /DvvvvvvCE ",
+ " [FeiiwAB ",
+ " 6fjpxB ",
+ " "
+};
/* ���б���ͼ�õİ�ť�������� */
-static void open_btn_onbutton(rtgui_widget_t* widget, struct rtgui_event* event)
+static void open_btn_onbutton(rtgui_widget_t *widget, struct rtgui_event *event)
{
- rtgui_rect_t rect;
- rt_uint32_t index;
+ rtgui_rect_t rect;
+ rt_uint32_t index;
- /* ��ö����application */
- application = RTGUI_APPLICATION(rtgui_widget_get_toplevel(widget));
- rtgui_widget_get_rect(RTGUI_WIDGET(application), &rect);
+ /* ��ö����application */
+ application = RTGUI_APPLICATION(rtgui_widget_get_toplevel(widget));
+ rtgui_widget_get_rect(RTGUI_WIDGET(application), &rect);
- /* ��ʼ��ͼ���б� */
- if (items == RT_NULL)
- {
- char item_name[32];
+ /* ��ʼ��ͼ���б� */
+ if (items == RT_NULL)
+ {
+ char item_name[32];
- items = (struct rtgui_list_item *) rtgui_malloc((ITEM_MAX + 1) * sizeof(struct rtgui_list_item));
- for (index = 0; index < ITEM_MAX; index ++)
- {
- rt_snprintf(item_name, sizeof(item_name), "ͼ��%d", index);
- items[index].action = listitem_action;
- items[index].image = item_icon;
- items[index].name = rt_strdup(item_name);
- items[index].parameter = (void*) index;
- }
+ items = (struct rtgui_list_item *) rtgui_malloc((ITEM_MAX + 1) * sizeof(struct rtgui_list_item));
+ for (index = 0; index < ITEM_MAX; index ++)
+ {
+ rt_snprintf(item_name, sizeof(item_name), "ͼ��%d", index);
+ items[index].action = listitem_action;
+ items[index].image = item_icon;
+ items[index].name = rt_strdup(item_name);
+ items[index].parameter = (void *) index;
+ }
- items[ITEM_MAX].action = return_action;
- items[ITEM_MAX].image = exit_icon;
- items[ITEM_MAX].name = "�˳�";
- items[ITEM_MAX].parameter = RT_NULL;
- }
+ items[ITEM_MAX].action = return_action;
+ items[ITEM_MAX].image = exit_icon;
+ items[ITEM_MAX].name = "�˳�";
+ items[ITEM_MAX].parameter = RT_NULL;
+ }
- /* ����һ���б���ͼ�� ��ָ��Ϊitems */
- _view = rtgui_list_view_create(items, ITEM_MAX + 1, &rect, RTGUI_LIST_VIEW_ICON);
- /* ��application��������Ӧ����ͼ */
- rtgui_application_add_container(application, RTGUI_CONTAINER(_view));
+ /* ����һ���б���ͼ�� ��ָ��Ϊitems */
+ _view = rtgui_list_view_create(items, ITEM_MAX + 1, &rect, RTGUI_LIST_VIEW_ICON);
+ /* ��application��������Ӧ����ͼ */
+ rtgui_application_add_container(application, RTGUI_CONTAINER(_view));
- /* ģʽ��ʾ��ͼ */
- rtgui_container_show(RTGUI_CONTAINER(_view), RT_TRUE);
- rtgui_container_destroy(RTGUI_CONTAINER(_view));
+ /* ģʽ��ʾ��ͼ */
+ rtgui_container_show(RTGUI_CONTAINER(_view), RT_TRUE);
+ rtgui_container_destroy(RTGUI_CONTAINER(_view));
- _view = RT_NULL;
+ _view = RT_NULL;
}
/* ����������ʾ�б���ͼ����ͼ */
-rtgui_container_t* demo_listview_icon_view(struct rtgui_app *app)
+rtgui_container_t *demo_listview_icon_view(struct rtgui_application *app)
{
- rtgui_rect_t rect;
- rtgui_container_t *view;
- rtgui_button_t* open_btn;
+ rtgui_rect_t rect;
+ rtgui_container_t *view;
+ rtgui_button_t *open_btn;
- view = demo_view(app, "ͼ����ͼ��ʾ");
+ view = demo_view(app, "ͼ����ͼ��ʾ");
- if (item_icon == RT_NULL)
- item_icon = rtgui_image_create_from_mem("xpm",
- (const rt_uint8_t*)image_xpm, sizeof(image_xpm), RT_TRUE);
- if (exit_icon == RT_NULL)
- exit_icon = rtgui_image_create_from_mem("xpm",
- (const rt_uint8_t*)exit_xpm, sizeof(exit_xpm), RT_TRUE);
+ if (item_icon == RT_NULL)
+ item_icon = rtgui_image_create_from_mem("xpm",
+ (const rt_uint8_t *)image_xpm, sizeof(image_xpm), RT_TRUE);
+ if (exit_icon == RT_NULL)
+ exit_icon = rtgui_image_create_from_mem("xpm",
+ (const rt_uint8_t *)exit_xpm, sizeof(exit_xpm), RT_TRUE);
- /* ���Ӷ�����ť */
- demo_view_get_rect(view, &rect);
- rect.x1 += 5;
- rect.x2 = rect.x1 + 80;
- rect.y1 += 30;
- rect.y2 = rect.y1 + 20;
- open_btn = rtgui_button_create("��ͼ���б�");
- rtgui_container_add_child(RTGUI_CONTAINER(view), RTGUI_WIDGET(open_btn));
- rtgui_widget_set_rect(RTGUI_WIDGET(open_btn), &rect);
- rtgui_button_set_onbutton(open_btn, open_btn_onbutton);
+ /* ���Ӷ�����ť */
+ demo_view_get_rect(view, &rect);
+ rect.x1 += 5;
+ rect.x2 = rect.x1 + 80;
+ rect.y1 += 30;
+ rect.y2 = rect.y1 + 20;
+ open_btn = rtgui_button_create("��ͼ���б�");
+ rtgui_container_add_child(RTGUI_CONTAINER(view), RTGUI_WIDGET(open_btn));
+ rtgui_widget_set_rect(RTGUI_WIDGET(open_btn), &rect);
+ rtgui_button_set_onbutton(open_btn, open_btn_onbutton);
- return view;
+ return view;
}
diff --git a/examples/gui/demo_simple_workbench.c b/examples/gui/demo_simple_workbench.c
index 1f24ac72e5..7baa0b0c50 100644
--- a/examples/gui/demo_simple_workbench.c
+++ b/examples/gui/demo_simple_workbench.c
@@ -7,54 +7,56 @@
#include <rtgui/widgets/label.h>
#include <rtgui/widgets/workbench.h>
-static void workbench_entry(void* parameter)
+static void workbench_entry(void *parameter)
{
- rt_mq_t mq;
- rtgui_container_t* view;
- rtgui_label_t* label;
- struct rtgui_workbench* workbench;
- rtgui_rect_t rect;
+ rt_mq_t mq;
+ rtgui_container_t *view;
+ rtgui_label_t *label;
+ struct rtgui_workbench *workbench;
+ rtgui_rect_t rect;
- mq = rt_mq_create("wmq", 256, 8, RT_IPC_FLAG_FIFO);
- /* ע�ᵱǰ�߳�ΪGUI�߳� */
- rtgui_thread_register(rt_thread_self(), mq);
- /* ����һ������̨ */
- workbench = rtgui_workbench_create("main", "workbench #1");
- if (workbench == RT_NULL) return;
+ mq = rt_mq_create("wmq", 256, 8, RT_IPC_FLAG_FIFO);
+ /* ע�ᵱǰ�߳�ΪGUI�߳� */
+ rtgui_thread_register(rt_thread_self(), mq);
+ /* ����һ������̨ */
+ workbench = rtgui_workbench_create("main", "workbench #1");
+ if (workbench == RT_NULL) return;
- view = rtgui_container_create("view");
- if (view == RT_NULL) return;
- /* ָ����ͼ�ı���ɫ */
- RTGUI_WIDGET_BACKGROUND(RTGUI_WIDGET(view)) = white;
+ view = rtgui_container_create("view");
+ if (view == RT_NULL) return;
+ /* ָ����ͼ�ı���ɫ */
+ RTGUI_WIDGET_BACKGROUND(RTGUI_WIDGET(view)) = white;
- /* ����һ��label */
- label = rtgui_label_create("��ã�RT-Thread��");
- rect.x1 = 10; rect.y1 = 10;
- rect.x2 = 210; rect.y2 = 30;
- /* ����label��� */
- rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
- rtgui_container_add_child(RTGUI_CONTAINER(view), RTGUI_WIDGET(label));
+ /* ����һ��label */
+ label = rtgui_label_create("��ã�RT-Thread��");
+ rect.x1 = 10;
+ rect.y1 = 10;
+ rect.x2 = 210;
+ rect.y2 = 30;
+ /* ����label��� */
+ rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
+ rtgui_container_add_child(RTGUI_CONTAINER(view), RTGUI_WIDGET(label));
- /* ���ӵ���workbench�� */
- rtgui_workbench_add_view(workbench, view);
- /* ��ģʽ��ʽ��ʾ��ͼ */
- rtgui_container_show(view, RT_FALSE);
+ /* ���ӵ���workbench�� */
+ rtgui_workbench_add_view(workbench, view);
+ /* ��ģʽ��ʽ��ʾ��ͼ */
+ rtgui_container_show(view, RT_FALSE);
- /* ִ�й���̨�¼�ѭ�� */
- rtgui_workbench_event_loop(workbench);
+ /* ִ�й���̨�¼�ѭ�� */
+ rtgui_workbench_event_loop(workbench);
- /* ȥע��GUI�߳� */
- rtgui_thread_deregister(rt_thread_self());
+ /* ȥע��GUI�߳� */
+ rtgui_thread_deregister(rt_thread_self());
- /* delete message queue */
- rt_mq_delete(mq);
+ /* delete message queue */
+ rt_mq_delete(mq);
}
/* ��ʼ��workbench */
void wb_init()
{
- rt_thread_t tid;
+ rt_thread_t tid;
- tid = rt_thread_create("wb1", workbench_entry, RT_NULL, 2048, 20, 5);
- if (tid != RT_NULL) rt_thread_startup(tid);
+ tid = rt_thread_create("wb1", workbench_entry, RT_NULL, 2048, 20, 5);
+ if (tid != RT_NULL) rt_thread_startup(tid);
}
diff --git a/examples/gui/demo_view.c b/examples/gui/demo_view.c
index 885e600aeb..2597dc081a 100644
--- a/examples/gui/demo_view.c
+++ b/examples/gui/demo_view.c
@@ -11,141 +11,120 @@ extern struct rtgui_notebook *the_notebook;
void demo_view_next(struct rtgui_object *object, struct rtgui_event *event)
{
- rtgui_notebook_set_current_by_index(the_notebook,
- (rtgui_notebook_get_current_index(the_notebook) + 1) %
- rtgui_notebook_get_count(the_notebook));
+ rtgui_notebook_set_current_by_index(the_notebook,
+ (rtgui_notebook_get_current_index(the_notebook) + 1) %
+ rtgui_notebook_get_count(the_notebook));
}
void demo_view_prev(struct rtgui_object *object, struct rtgui_event *event)
{
- rt_int16_t cur_idx = rtgui_notebook_get_current_index(the_notebook);
+ rt_int16_t cur_idx = rtgui_notebook_get_current_index(the_notebook);
- if (cur_idx == 0)
- rtgui_notebook_set_current_by_index(the_notebook,
- rtgui_notebook_get_count(the_notebook) - 1);
- else
- rtgui_notebook_set_current_by_index(the_notebook,
- --cur_idx);
+ if (cur_idx == 0)
+ rtgui_notebook_set_current_by_index(the_notebook,
+ rtgui_notebook_get_count(the_notebook) - 1);
+ else
+ rtgui_notebook_set_current_by_index(the_notebook,
+ --cur_idx);
}
-rtgui_container_t* demo_view(const char *title)
+rtgui_container_t *demo_view(const char *title)
{
- struct rtgui_container *container;
- struct rtgui_label *label;
- struct rtgui_staticline *line;
- struct rtgui_button *next_btn, *prev_btn;
- struct rtgui_rect rect;
+ struct rtgui_container *container;
+ struct rtgui_label *label;
+ struct rtgui_staticline *line;
+ struct rtgui_button *next_btn, *prev_btn;
+ struct rtgui_rect rect;
- container = rtgui_container_create();
- if (container == RT_NULL)
- return RT_NULL;
+ container = rtgui_container_create();
+ if (container == RT_NULL)
+ return RT_NULL;
- rtgui_notebook_add(the_notebook, title, RTGUI_WIDGET(container));
+ rtgui_notebook_add(the_notebook, title, RTGUI_WIDGET(container));
- /* �����ͼ��λ����Ϣ(�ڼ��뵽 notebook ��ʱ��notebook ���Զ����� container
- * �Ĵ�С) */
- rtgui_widget_get_rect(RTGUI_WIDGET(container), &rect);
- rtgui_widget_rect_to_device(RTGUI_WIDGET(container), &rect);
- rect.x1 += 5;
- rect.y1 += 5;
- rect.x2 -= 5;
- rect.y2 = rect.y1 + 20;
+ /* �����ͼ��λ����Ϣ(�ڼ��뵽 notebook ��ʱ��notebook ���Զ����� container
+ * �Ĵ�С) */
+ rtgui_widget_get_rect(RTGUI_WIDGET(container), &rect);
+ rtgui_widget_rect_to_device(RTGUI_WIDGET(container), &rect);
+ rect.x1 += 5;
+ rect.y1 += 5;
+ rect.x2 -= 5;
+ rect.y2 = rect.y1 + 20;
- /* ���������õı�ǩ */
- label = rtgui_label_create(title);
- /* ���ñ�ǩλ����Ϣ */
- rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
- /* ���ӱ�ǩ����ͼ�� */
- rtgui_container_add_child(container, RTGUI_WIDGET(label));
+ /* ���������õı�ǩ */
+ label = rtgui_label_create(title);
+ /* ���ñ�ǩλ����Ϣ */
+ rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
+ /* ���ӱ�ǩ����ͼ�� */
+ rtgui_container_add_child(container, RTGUI_WIDGET(label));
- rect.y1 += 20;
- rect.y2 += 20;
- /* ����һ��ˮƽ�� staticline �� */
- line = rtgui_staticline_create(RTGUI_HORIZONTAL);
- /* ���þ�̬�ߵ�λ����Ϣ */
- rtgui_widget_set_rect(RTGUI_WIDGET(line), &rect);
- /* ���Ӿ�̬�ߵ���ͼ�� */
- rtgui_container_add_child(container, RTGUI_WIDGET(line));
+ rect.y1 += 20;
+ rect.y2 += 20;
+ /* ����һ��ˮƽ�� staticline �� */
+ line = rtgui_staticline_create(RTGUI_HORIZONTAL);
+ /* ���þ�̬�ߵ�λ����Ϣ */
+ rtgui_widget_set_rect(RTGUI_WIDGET(line), &rect);
+ /* ���Ӿ�̬�ߵ���ͼ�� */
+ rtgui_container_add_child(container, RTGUI_WIDGET(line));
- /* �����ͼ��λ����Ϣ */
- rtgui_widget_get_rect(RTGUI_WIDGET(container), &rect);
- rtgui_widget_rect_to_device(RTGUI_WIDGET(container), &rect);
- rect.x2 -= 5;
- rect.y2 -= 5;
- rect.x1 = rect.x2 - 100;
- rect.y1 = rect.y2 - 25;
+ /* �����ͼ��λ����Ϣ */
+ rtgui_widget_get_rect(RTGUI_WIDGET(container), &rect);
+ rtgui_widget_rect_to_device(RTGUI_WIDGET(container), &rect);
+ rect.x2 -= 5;
+ rect.y2 -= 5;
+ rect.x1 = rect.x2 - 100;
+ rect.y1 = rect.y2 - 25;
- /* ����"��һ��"��ť */
- next_btn = rtgui_button_create("��һ��");
- /* ����onbutton������demo_view_next���� */
- rtgui_button_set_onbutton(next_btn, demo_view_next);
- /* ���ð�ť��λ����Ϣ */
- rtgui_widget_set_rect(RTGUI_WIDGET(next_btn), &rect);
- /* ���Ӱ�ť����ͼ�� */
- rtgui_container_add_child(container, RTGUI_WIDGET(next_btn));
+ /* ����"��һ��"��ť */
+ next_btn = rtgui_button_create("��һ��");
+ /* ����onbutton������demo_view_next���� */
+ rtgui_button_set_onbutton(next_btn, demo_view_next);
+ /* ���ð�ť��λ����Ϣ */
+ rtgui_widget_set_rect(RTGUI_WIDGET(next_btn), &rect);
+ /* ���Ӱ�ť����ͼ�� */
+ rtgui_container_add_child(container, RTGUI_WIDGET(next_btn));
- /* �����ͼ��λ����Ϣ */
- rtgui_widget_get_rect(RTGUI_WIDGET(container), &rect);
- rtgui_widget_rect_to_device(RTGUI_WIDGET(container), &rect);
- rect.x1 += 5;
- rect.y2 -= 5;
- rect.x2 = rect.x1 + 100;
- rect.y1 = rect.y2 - 25;
+ /* �����ͼ��λ����Ϣ */
+ rtgui_widget_get_rect(RTGUI_WIDGET(container), &rect);
+ rtgui_widget_rect_to_device(RTGUI_WIDGET(container), &rect);
+ rect.x1 += 5;
+ rect.y2 -= 5;
+ rect.x2 = rect.x1 + 100;
+ rect.y1 = rect.y2 - 25;
- /* ����"��һ��"��ť */
- prev_btn = rtgui_button_create("��һ��");
- /* ����onbutton������demo_view_prev���� */
- rtgui_button_set_onbutton(prev_btn, demo_view_prev);
- /* ���ð�ť��λ����Ϣ */
- rtgui_widget_set_rect(RTGUI_WIDGET(prev_btn), &rect);
- /* ���Ӱ�ť����ͼ�� */
- rtgui_container_add_child(container, RTGUI_WIDGET(prev_btn));
+ /* ����"��һ��"��ť */
+ prev_btn = rtgui_button_create("��һ��");
+ /* ����onbutton������demo_view_prev���� */
+ rtgui_button_set_onbutton(prev_btn, demo_view_prev);
+ /* ���ð�ť��λ����Ϣ */
+ rtgui_widget_set_rect(RTGUI_WIDGET(prev_btn), &rect);
+ /* ���Ӱ�ť����ͼ�� */
+ rtgui_container_add_child(container, RTGUI_WIDGET(prev_btn));
- /* ���ش�������ͼ */
- return container;
+ /* ���ش�������ͼ */
+ return container;
}
/* ����������ڷ�����ʾ��ͼ�Ķ���������� */
-void demo_view_get_rect(rtgui_container_t* container, rtgui_rect_t *rect)
+void demo_view_get_rect(rtgui_container_t *container, rtgui_rect_t *rect)
{
- RT_ASSERT(container != RT_NULL);
- RT_ASSERT(rect != RT_NULL);
+ RT_ASSERT(container != RT_NULL);
+ RT_ASSERT(rect != RT_NULL);
- rtgui_widget_get_rect(RTGUI_WIDGET(container), rect);
- rtgui_widget_rect_to_device(RTGUI_WIDGET(container), rect);
- /* ȥ����ʾ������·���ť������ */
- rect->y1 += 45;
- rect->y2 -= 35;
+ rtgui_widget_get_rect(RTGUI_WIDGET(container), rect);
+ rtgui_widget_rect_to_device(RTGUI_WIDGET(container), rect);
+ /* ȥ����ʾ������·���ť������ */
+ rect->y1 += 45;
+ rect->y2 -= 35;
}
-void demo_view_get_logic_rect(rtgui_container_t* container, rtgui_rect_t *rect)
+void demo_view_get_logic_rect(rtgui_container_t *container, rtgui_rect_t *rect)
{
- RT_ASSERT(container != RT_NULL);
- RT_ASSERT(rect != RT_NULL);
+ RT_ASSERT(container != RT_NULL);
+ RT_ASSERT(rect != RT_NULL);
- rtgui_widget_get_rect(RTGUI_WIDGET(container), rect);
- /* ȥ����ʾ������·���ť������ */
- rect->y1 += 45;
- rect->y2 -= 35;
+ rtgui_widget_get_rect(RTGUI_WIDGET(container), rect);
+ /* ȥ����ʾ������·���ť������ */
+ rect->y1 += 45;
+ rect->y2 -= 35;
}
-
-/* ���DZ�׼�汾ʱ������������ڷ����Զ���������box�ؼ� */
-#ifndef RTGUI_USING_SMALL_SIZE
-struct rtgui_box* demo_view_create_box(struct rtgui_container *container, int orient)
-{
- rtgui_rect_t rect;
- struct rtgui_box* box;
-
- /* �����ͼ��λ����Ϣ */
- rtgui_widget_get_rect(RTGUI_WIDGET(container), &rect);
- rect.y1 += 45;
- rect.y2 -= 25;
-
- /* ����һ���Զ��������� */
- box = rtgui_box_create(orient, 5);
- /* ����box�ؼ�����ͼ�� */
- rtgui_container_add_child(container, RTGUI_WIDGET(box));
-
- return box;
-}
-#endif
diff --git a/examples/gui/demo_view.h b/examples/gui/demo_view.h
index 8f138a2750..8ab8ffeb97 100644
--- a/examples/gui/demo_view.h
+++ b/examples/gui/demo_view.h
@@ -24,16 +24,11 @@
#endif
/* 创建一个演示视图,需要给出这个视图的演示标题 */
-rtgui_container_t* demo_view(const char* title);
+rtgui_container_t *demo_view(const char *title);
/* 获得演示视图提供给演示控件用的区域信息 */
-void demo_view_get_rect(rtgui_container_t* view, rtgui_rect_t *rect);
-void demo_view_get_logic_rect(rtgui_container_t* view, rtgui_rect_t *rect);
+void demo_view_get_rect(rtgui_container_t *view, rtgui_rect_t *rect);
+void demo_view_get_logic_rect(rtgui_container_t *view, rtgui_rect_t *rect);
void demo_view_show(void);
-/* 如果是标准版,可以调用这个函数获得一个自动布局引擎 */
-#ifndef RTGUI_USING_SMALL_SIZE
-rtgui_box_t* demo_view_create_box(rtgui_container_t* view, int orient);
-#endif
-
#endif
diff --git a/examples/gui/demo_view_animation.c b/examples/gui/demo_view_animation.c
index cc3bfb902f..3a676ee57c 100644
--- a/examples/gui/demo_view_animation.c
+++ b/examples/gui/demo_view_animation.c
@@ -13,120 +13,122 @@ static rt_int8_t dx = 1, dy = 1;
static rtgui_rect_t text_rect;
static rtgui_timer_t *timer;
-void timeout(struct rtgui_timer* timer, void* parameter)
+void timeout(struct rtgui_timer *timer, void *parameter)
{
- struct rtgui_dc* dc;
- struct rtgui_rect rect;
- struct rtgui_widget *widget;
+ struct rtgui_dc *dc;
+ struct rtgui_rect rect;
+ struct rtgui_widget *widget;
- /* �ؼ�(container)ͨ��parameter�������ݸ���ʱ�� */
- widget = RTGUI_WIDGET(parameter);
+ /* �ؼ�(container)ͨ��parameter�������ݸ���ʱ�� */
+ widget = RTGUI_WIDGET(parameter);
- /* ��ÿؼ�������DC */
- dc = rtgui_dc_begin_drawing(widget);
- if (dc == RT_NULL) /* ��������������DC�����أ�����ؼ��򸸿ؼ�������״̬��DC�ǻ�ȡ���ɹ��ģ� */
- return ;
+ /* ��ÿؼ�������DC */
+ dc = rtgui_dc_begin_drawing(widget);
+ if (dc == RT_NULL) /* ��������������DC�����أ�����ؼ��򸸿ؼ�������״̬��DC�ǻ�ȡ���ɹ��ģ� */
+ return ;
- /* ���demo container������ͼ��������Ҫ�����жϱ߽� */
- demo_view_get_rect(RTGUI_CONTAINER(widget), &rect);
- rect.y2 -= 5;
+ /* ���demo container������ͼ��������Ҫ�����жϱ߽� */
+ demo_view_get_rect(RTGUI_CONTAINER(widget), &rect);
+ rect.y2 -= 5;
- /* �ж��Ƿ��ǵ�һ�λ�ͼ */
- if ((text_rect.x1 == 0) && (text_rect.y1 == 0))
- {
- rtgui_rect_moveto(&text_rect, rect.x1, rect.y1);
- }
- else
- {
- /* �����ϵ����� */
- rtgui_dc_fill_rect(dc, &text_rect);
- }
+ /* �ж��Ƿ��ǵ�һ�λ�ͼ */
+ if ((text_rect.x1 == 0) && (text_rect.y1 == 0))
+ {
+ rtgui_rect_moveto(&text_rect, rect.x1, rect.y1);
+ }
+ else
+ {
+ /* �����ϵ����� */
+ rtgui_dc_fill_rect(dc, &text_rect);
+ }
/* ����dx��dy */
- if (text_rect.x2 >= rect.x2) dx = -1;
- if (text_rect.x1 < rect.x1) dx = 1;
- if (text_rect.y2 >= rect.y2) dy = -1;
- if (text_rect.y1 < rect.y1) dy = 1;
+ if (text_rect.x2 >= rect.x2) dx = -1;
+ if (text_rect.x1 < rect.x1) dx = 1;
+ if (text_rect.y2 >= rect.y2) dy = -1;
+ if (text_rect.y1 < rect.y1) dy = 1;
/* �ƶ��ı����λ�� */
- text_rect.x1 += dx; text_rect.x2 += dx;
- text_rect.y1 += dy; text_rect.y2 += dy;
+ text_rect.x1 += dx;
+ text_rect.x2 += dx;
+ text_rect.y1 += dy;
+ text_rect.y2 += dy;
/* ��ͼ */
- rtgui_dc_draw_text(dc, "�����ҷ�", &text_rect);
+ rtgui_dc_draw_text(dc, "�����ҷ�", &text_rect);
- /* ��ͼ��� */
- rtgui_dc_end_drawing(dc);
+ /* ��ͼ��� */
+ rtgui_dc_end_drawing(dc);
}
-rt_bool_t animation_event_handler(struct rtgui_object* object, rtgui_event_t *event)
+rt_bool_t animation_event_handler(struct rtgui_object *object, rtgui_event_t *event)
{
struct rtgui_widget *widget = RTGUI_WIDGET(object);
- if (event->type == RTGUI_EVENT_PAINT)
- {
- struct rtgui_dc* dc;
- rtgui_rect_t rect;
+ if (event->type == RTGUI_EVENT_PAINT)
+ {
+ struct rtgui_dc *dc;
+ rtgui_rect_t rect;
- /* ��Ϊ�õ���demo container�����汾����һ���ֿؼ��������ڻ�ͼʱ��Ҫ��demo container�Ȼ�ͼ */
- rtgui_container_event_handler(object, event);
+ /* ��Ϊ�õ���demo container�����汾����һ���ֿؼ��������ڻ�ͼʱ��Ҫ��demo container�Ȼ�ͼ */
+ rtgui_container_event_handler(object, event);
- /* ��ÿؼ�������DC */
- dc = rtgui_dc_begin_drawing(widget);
- if (dc == RT_NULL) /* ��������������DC�����أ�����ؼ��򸸿ؼ�������״̬��DC�ǻ�ȡ���ɹ��ģ� */
- return RT_FALSE;
+ /* ��ÿؼ�������DC */
+ dc = rtgui_dc_begin_drawing(widget);
+ if (dc == RT_NULL) /* ��������������DC�����أ�����ؼ��򸸿ؼ�������״̬��DC�ǻ�ȡ���ɹ��ģ� */
+ return RT_FALSE;
/* ���demo container������ͼ������ */
demo_view_get_rect(RTGUI_CONTAINER(widget), &rect);
- /* �������� */
- rtgui_dc_fill_rect(dc, &rect);
+ /* �������� */
+ rtgui_dc_fill_rect(dc, &rect);
/* ��ͼ */
rtgui_dc_draw_text(dc, "�����ҷ�", &text_rect);
- /* ��ͼ��� */
- rtgui_dc_end_drawing(dc);
- }
- else
- {
- /* ����Ĭ�ϵ��¼��������� */
- return rtgui_container_event_handler(object, event);
- }
+ /* ��ͼ��� */
+ rtgui_dc_end_drawing(dc);
+ }
+ else
+ {
+ /* ����Ĭ�ϵ��¼��������� */
+ return rtgui_container_event_handler(object, event);
+ }
- return RT_FALSE;
+ return RT_FALSE;
}
static rt_bool_t animation_on_show(struct rtgui_object *object, struct rtgui_event *event)
{
- rt_kprintf("animation on show\n");
- if (timer != RT_NULL)
- rtgui_timer_start(timer);
- return RT_TRUE;
+ rt_kprintf("animation on show\n");
+ if (timer != RT_NULL)
+ rtgui_timer_start(timer);
+ return RT_TRUE;
}
static rt_bool_t animation_on_hide(struct rtgui_object *object, struct rtgui_event *event)
{
- rt_kprintf("animation on hide\n");
- if (timer != RT_NULL)
- rtgui_timer_stop(timer);
- return RT_TRUE;
+ rt_kprintf("animation on hide\n");
+ if (timer != RT_NULL)
+ rtgui_timer_stop(timer);
+ return RT_TRUE;
}
rtgui_container_t *demo_view_animation()
{
- rtgui_container_t *container;
+ rtgui_container_t *container;
- container = demo_view("DC ����");
- if (container != RT_NULL)
- rtgui_object_set_event_handler(RTGUI_OBJECT(container), animation_event_handler);
+ container = demo_view("DC ����");
+ if (container != RT_NULL)
+ rtgui_object_set_event_handler(RTGUI_OBJECT(container), animation_event_handler);
- rtgui_font_get_metrics(RTGUI_WIDGET_FONT(RTGUI_WIDGET(container)), "�����ҷ�", &text_rect);
- rtgui_rect_moveto(&text_rect, 0, 45);
- timer = rtgui_timer_create(2, RT_TIMER_FLAG_PERIODIC, timeout, (void*)container);
+ rtgui_font_get_metrics(RTGUI_WIDGET_FONT(container), "�����ҷ�", &text_rect);
+ rtgui_rect_moveto(&text_rect, 0, 45);
+ timer = rtgui_timer_create(2, RT_TIMER_FLAG_PERIODIC, timeout, (void *)container);
- rtgui_widget_set_onshow(RTGUI_WIDGET(container), animation_on_show);
- rtgui_widget_set_onhide(RTGUI_WIDGET(container), animation_on_hide);
+ rtgui_widget_set_onshow(RTGUI_WIDGET(container), animation_on_show);
+ rtgui_widget_set_onhide(RTGUI_WIDGET(container), animation_on_hide);
- return container;
+ return container;
}
diff --git a/examples/gui/demo_view_benchmark.c b/examples/gui/demo_view_benchmark.c
index 956bf9e4a2..f87304733f 100644
--- a/examples/gui/demo_view_benchmark.c
+++ b/examples/gui/demo_view_benchmark.c
@@ -11,112 +11,112 @@ static int running = 0;
void _onidle(struct rtgui_object *object, rtgui_event_t *event)
{
- rtgui_color_t color;
- rtgui_rect_t rect, draw_rect;
- struct rtgui_dc *dc;
+ rtgui_color_t color;
+ rtgui_rect_t rect, draw_rect;
+ struct rtgui_dc *dc;
- /* ��ÿؼ�������DC */
- // dc = rtgui_dc_hw_create(RTGUI_WIDGET(container));
- dc = rtgui_dc_begin_drawing(RTGUI_WIDGET(container));
- if (dc == RT_NULL)
- return;
+ /* ��ÿؼ�������DC */
+ // dc = rtgui_dc_hw_create(RTGUI_WIDGET(container));
+ dc = rtgui_dc_begin_drawing(RTGUI_WIDGET(container));
+ if (dc == RT_NULL)
+ return;
- demo_view_get_logic_rect(RTGUI_CONTAINER(container), &rect);
- draw_rect.x1 = RAND(rect.x1, rect.x2);
- draw_rect.y1 = RAND(rect.y1, rect.y2);
- draw_rect.x2 = RAND(draw_rect.x1, rect.x2);
- draw_rect.y2 = RAND(draw_rect.y1, rect.y2);
+ demo_view_get_logic_rect(RTGUI_CONTAINER(container), &rect);
+ draw_rect.x1 = RAND(rect.x1, rect.x2);
+ draw_rect.y1 = RAND(rect.y1, rect.y2);
+ draw_rect.x2 = RAND(draw_rect.x1, rect.x2);
+ draw_rect.y2 = RAND(draw_rect.y1, rect.y2);
- color = RTGUI_RGB(rand() % 255, rand() % 255, rand() % 255);
- RTGUI_WIDGET_BACKGROUND(RTGUI_WIDGET(container)) = color;
+ color = RTGUI_RGB(rand() % 255, rand() % 255, rand() % 255);
+ RTGUI_WIDGET_BACKGROUND(container) = color;
- rtgui_dc_fill_rect(dc, &draw_rect);
+ rtgui_dc_fill_rect(dc, &draw_rect);
- /* ��ͼ��� */
- rtgui_dc_end_drawing(dc);
+ /* ��ͼ��� */
+ rtgui_dc_end_drawing(dc);
}
-void _draw_default(struct rtgui_object *object, rtgui_event_t* event)
+void _draw_default(struct rtgui_object *object, rtgui_event_t *event)
{
- struct rtgui_widget *widget = RTGUI_WIDGET(object);
- struct rtgui_dc* dc;
- rtgui_rect_t rect;
+ struct rtgui_widget *widget = RTGUI_WIDGET(object);
+ struct rtgui_dc *dc;
+ rtgui_rect_t rect;
- /* ��Ϊ�õ���demo container�����汾����һ���ֿؼ��������ڻ�ͼʱ��Ҫ��demo container�Ȼ�ͼ */
- rtgui_container_event_handler(object, event);
+ /* ��Ϊ�õ���demo container�����汾����һ���ֿؼ��������ڻ�ͼʱ��Ҫ��demo container�Ȼ�ͼ */
+ rtgui_container_event_handler(object, event);
- /* ��ÿؼ�������DC */
- dc = rtgui_dc_begin_drawing(widget);
- if (dc == RT_NULL) /* ��������������DC�����أ�����ؼ��򸸿ؼ�������״̬��DC�ǻ�ȡ���ɹ��ģ� */
- return;
+ /* ��ÿؼ�������DC */
+ dc = rtgui_dc_begin_drawing(widget);
+ if (dc == RT_NULL) /* ��������������DC�����أ�����ؼ��򸸿ؼ�������״̬��DC�ǻ�ȡ���ɹ��ģ� */
+ return;
- /* ���demo container������ͼ������ */
- demo_view_get_logic_rect(RTGUI_CONTAINER(widget), &rect);
+ /* ���demo container������ͼ������ */
+ demo_view_get_logic_rect(RTGUI_CONTAINER(widget), &rect);
- /* �������� */
- RTGUI_WIDGET_BACKGROUND(widget) = default_background;
- rtgui_dc_fill_rect(dc, &rect);
+ /* �������� */
+ RTGUI_WIDGET_BACKGROUND(widget) = default_background;
+ rtgui_dc_fill_rect(dc, &rect);
- /* ��ʾ��ʾ */
- rtgui_dc_draw_text(dc, "���������ʼ/ֹͣ����...", &rect);
+ /* ��ʾ��ʾ */
+ rtgui_dc_draw_text(dc, "���������ʼ/ֹͣ����...", &rect);
- /* ��ͼ��� */
- rtgui_dc_end_drawing(dc);
+ /* ��ͼ��� */
+ rtgui_dc_end_drawing(dc);
}
rt_bool_t benchmark_event_handler(struct rtgui_object *object, rtgui_event_t *event)
{
- if (event->type == RTGUI_EVENT_PAINT)
- {
- _draw_default(object, event);
- }
- else if (event->type == RTGUI_EVENT_KBD)
- {
- struct rtgui_event_kbd *kbd = (struct rtgui_event_kbd*)event;
+ if (event->type == RTGUI_EVENT_PAINT)
+ {
+ _draw_default(object, event);
+ }
+ else if (event->type == RTGUI_EVENT_KBD)
+ {
+ struct rtgui_event_kbd *kbd = (struct rtgui_event_kbd *)event;
- if (kbd->key == RTGUIK_LEFT || kbd->key == RTGUIK_RIGHT)
- return RT_FALSE;
+ if (kbd->key == RTGUIK_LEFT || kbd->key == RTGUIK_RIGHT)
+ return RT_FALSE;
- if (RTGUI_KBD_IS_UP(kbd))
- {
- if (running)
- {
- /* stop */
- rtgui_app_set_onidle(RT_NULL);
- _draw_default(object, event);
- }
- else
- {
- /* run */
- rtgui_app_set_onidle(_onidle);
- }
+ if (RTGUI_KBD_IS_UP(kbd))
+ {
+ if (running)
+ {
+ /* stop */
+ rtgui_app_set_onidle(RT_NULL);
+ _draw_default(object, event);
+ }
+ else
+ {
+ /* run */
+ rtgui_app_set_onidle(_onidle);
+ }
- running = !running;
- }
- return RT_TRUE;
- }
- else
- {
- /* ����Ĭ�ϵ��¼��������� */
- return rtgui_container_event_handler(object, event);
- }
+ running = !running;
+ }
+ return RT_TRUE;
+ }
+ else
+ {
+ /* ����Ĭ�ϵ��¼��������� */
+ return rtgui_container_event_handler(object, event);
+ }
- return RT_FALSE;
+ return RT_FALSE;
}
-static rt_bool_t _benchmark_onshow(struct rtgui_object *obj, struct rtgui_event* ev)
+static rt_bool_t _benchmark_onshow(struct rtgui_object *obj, struct rtgui_event *ev)
{
- rtgui_widget_focus(RTGUI_WIDGET(obj));
- return RT_TRUE;
+ rtgui_widget_focus(RTGUI_WIDGET(obj));
+ return RT_TRUE;
}
rtgui_container_t *demo_view_benchmark(void)
{
- srand(100);
- container = demo_view("��ͼ����");
- RTGUI_WIDGET(container)->flag |= RTGUI_WIDGET_FLAG_FOCUSABLE;
- rtgui_object_set_event_handler(RTGUI_OBJECT(container), benchmark_event_handler);
- rtgui_widget_set_onshow(RTGUI_WIDGET(container), _benchmark_onshow);
+ srand(100);
+ container = demo_view("��ͼ����");
+ RTGUI_WIDGET(container)->flag |= RTGUI_WIDGET_FLAG_FOCUSABLE;
+ rtgui_object_set_event_handler(RTGUI_OBJECT(container), benchmark_event_handler);
+ rtgui_widget_set_onshow(RTGUI_WIDGET(container), _benchmark_onshow);
- return container;
+ return container;
}
diff --git a/examples/gui/demo_view_box.c b/examples/gui/demo_view_box.c
index f567acdb78..f2ab96baa9 100644
--- a/examples/gui/demo_view_box.c
+++ b/examples/gui/demo_view_box.c
@@ -4,40 +4,40 @@
#include <rtgui/widgets/label.h>
#include <rtgui/widgets/button.h>
-rtgui_container_t* demo_view_box(void)
+rtgui_container_t *demo_view_box(void)
{
rtgui_rect_t rect;
- rtgui_container_t* view;
- struct rtgui_panel *panel;
- struct rtgui_box *box;
+ rtgui_container_t *view;
+ struct rtgui_panel *panel;
+ struct rtgui_box *box;
- struct rtgui_label *label;
- struct rtgui_button *button;
+ struct rtgui_label *label;
+ struct rtgui_button *button;
view = demo_view("Box View");
demo_view_get_rect(view, &rect);
- panel = rtgui_panel_create(RTGUI_BORDER_NONE);
- rtgui_widget_set_rect(RTGUI_WIDGET(panel), &rect);
- rtgui_container_add_child(RTGUI_CONTAINER(view), RTGUI_WIDGET(panel));
+ panel = rtgui_panel_create(RTGUI_BORDER_NONE);
+ rtgui_widget_set_rect(RTGUI_WIDGET(panel), &rect);
+ rtgui_container_add_child(RTGUI_CONTAINER(view), RTGUI_WIDGET(panel));
- box = rtgui_box_create(RTGUI_VERTICAL, 5);
- rtgui_container_set_box(RTGUI_CONTAINER(panel), box);
+ box = rtgui_box_create(RTGUI_VERTICAL, 5);
+ rtgui_container_set_box(RTGUI_CONTAINER(panel), box);
- label = rtgui_label_create("label 1");
- rtgui_container_add_child(RTGUI_CONTAINER(panel), RTGUI_WIDGET(label));
- label = rtgui_label_create("label 2");
- rtgui_container_add_child(RTGUI_CONTAINER(panel), RTGUI_WIDGET(label));
+ label = rtgui_label_create("label 1");
+ rtgui_container_add_child(RTGUI_CONTAINER(panel), RTGUI_WIDGET(label));
+ label = rtgui_label_create("label 2");
+ rtgui_container_add_child(RTGUI_CONTAINER(panel), RTGUI_WIDGET(label));
- button = rtgui_button_create("button 1");
- rtgui_container_add_child(RTGUI_CONTAINER(panel), RTGUI_WIDGET(button));
+ button = rtgui_button_create("button 1");
+ rtgui_container_add_child(RTGUI_CONTAINER(panel), RTGUI_WIDGET(button));
- button = rtgui_button_create("button 2");
- rtgui_container_add_child(RTGUI_CONTAINER(panel), RTGUI_WIDGET(button));
- rtgui_widget_set_miniheight(RTGUI_WIDGET(button), 25);
- RTGUI_WIDGET_ALIGN(button) = RTGUI_ALIGN_EXPAND;
+ button = rtgui_button_create("button 2");
+ rtgui_container_add_child(RTGUI_CONTAINER(panel), RTGUI_WIDGET(button));
+ rtgui_widget_set_miniheight(RTGUI_WIDGET(button), 25);
+ RTGUI_WIDGET_ALIGN(button) = RTGUI_ALIGN_EXPAND;
- rtgui_container_layout(RTGUI_CONTAINER(panel));
+ rtgui_container_layout(RTGUI_CONTAINER(panel));
return view;
}
diff --git a/examples/gui/demo_view_buffer_animation.c b/examples/gui/demo_view_buffer_animation.c
index d435c787b2..4b81700193 100644
--- a/examples/gui/demo_view_buffer_animation.c
+++ b/examples/gui/demo_view_buffer_animation.c
@@ -13,132 +13,138 @@ static rt_int8_t dx = 1, dy = 1;
static rtgui_rect_t text_rect;
static rtgui_timer_t *timer;
static struct rtgui_dc *dc_buffer;
-static void timeout(struct rtgui_timer* timer, void* parameter)
+static void timeout(struct rtgui_timer *timer, void *parameter)
{
- struct rtgui_dc* dc;
- rtgui_rect_t rect;
- rtgui_widget_t *widget;
+ struct rtgui_dc *dc;
+ rtgui_rect_t rect;
+ rtgui_widget_t *widget;
- /* �ؼ�(view)ͨ��parameter�������ݸ���ʱ�� */
- widget = (rtgui_widget_t*)parameter;
+ /* �ؼ�(view)ͨ��parameter�������ݸ���ʱ�� */
+ widget = (rtgui_widget_t *)parameter;
- /* ��ÿؼ�������DC */
- dc = rtgui_dc_begin_drawing(widget);
- if (dc == RT_NULL) /* ��������������DC�����أ�����ؼ��򸸿ؼ�������״̬��DC�ǻ�ȡ���ɹ��ģ� */
- return ;
+ /* ��ÿؼ�������DC */
+ dc = rtgui_dc_begin_drawing(widget);
+ if (dc == RT_NULL) /* ��������������DC�����أ�����ؼ��򸸿ؼ�������״̬��DC�ǻ�ȡ���ɹ��ģ� */
+ return ;
- /* ���demo view������ͼ��������Ҫ�����жϱ߽� */
- demo_view_get_logic_rect(RTGUI_CONTAINER(widget), &rect);
- rect.y2 -= 5;
+ /* ���demo view������ͼ��������Ҫ�����жϱ߽� */
+ demo_view_get_logic_rect(RTGUI_CONTAINER(widget), &rect);
+ rect.y2 -= 5;
- /* �ж��Ƿ��ǵ�һ�λ�ͼ */
- if ((text_rect.x1 == 0) && (text_rect.y1 == 0))
- {
- rtgui_rect_moveto(&text_rect, rect.x1, rect.y1);
- }
+ /* �ж��Ƿ��ǵ�һ�λ�ͼ */
+ if ((text_rect.x1 == 0) && (text_rect.y1 == 0))
+ {
+ rtgui_rect_moveto(&text_rect, rect.x1, rect.y1);
+ }
/* ����dx��dy */
- if (text_rect.x2 >= rect.x2) dx = -1;
- if (text_rect.x1 < rect.x1) dx = 1;
- if (text_rect.y2 >= rect.y2) dy = -1;
- if (text_rect.y1 < rect.y1) dy = 1;
+ if (text_rect.x2 >= rect.x2) dx = -1;
+ if (text_rect.x1 < rect.x1) dx = 1;
+ if (text_rect.y2 >= rect.y2) dy = -1;
+ if (text_rect.y1 < rect.y1) dy = 1;
/* �ƶ��ı����λ�� */
- text_rect.x1 += dx; text_rect.x2 += dx;
- text_rect.y1 += dy; text_rect.y2 += dy;
+ text_rect.x1 += dx;
+ text_rect.x2 += dx;
+ text_rect.y1 += dy;
+ text_rect.y2 += dy;
/* ��ͼ */
- rect = text_rect;
- rect.x2 += 2; rect.y2 += 2;
- rtgui_dc_blit(dc_buffer, NULL, dc, &rect);
+ rect = text_rect;
+ rect.x2 += 2;
+ rect.y2 += 2;
+ rtgui_dc_blit(dc_buffer, NULL, dc, &rect);
- /* ��ͼ��� */
- rtgui_dc_end_drawing(dc);
+ /* ��ͼ��� */
+ rtgui_dc_end_drawing(dc);
}
static rt_bool_t animation_event_handler(struct rtgui_object *object, rtgui_event_t *event)
{
- struct rtgui_widget *widget = RTGUI_WIDGET(object);
+ struct rtgui_widget *widget = RTGUI_WIDGET(object);
- if (event->type == RTGUI_EVENT_PAINT)
- {
- struct rtgui_dc* dc;
- rtgui_rect_t rect;
+ if (event->type == RTGUI_EVENT_PAINT)
+ {
+ struct rtgui_dc *dc;
+ rtgui_rect_t rect;
- /* ��Ϊ�õ���demo view�����汾����һ���ֿؼ��������ڻ�ͼʱ��Ҫ��demo view�Ȼ�ͼ */
- rtgui_container_event_handler(object, event);
+ /* ��Ϊ�õ���demo view�����汾����һ���ֿؼ��������ڻ�ͼʱ��Ҫ��demo view�Ȼ�ͼ */
+ rtgui_container_event_handler(object, event);
- /* ��ÿؼ�������DC */
- dc = rtgui_dc_begin_drawing(widget);
- if (dc == RT_NULL) /* ��������������DC�����أ�����ؼ��򸸿ؼ�������״̬��DC�ǻ�ȡ���ɹ��ģ� */
- return RT_FALSE;
+ /* ��ÿؼ�������DC */
+ dc = rtgui_dc_begin_drawing(widget);
+ if (dc == RT_NULL) /* ��������������DC�����أ�����ؼ��򸸿ؼ�������״̬��DC�ǻ�ȡ���ɹ��ģ� */
+ return RT_FALSE;
/* ���demo view������ͼ������ */
demo_view_get_logic_rect(RTGUI_CONTAINER(widget), &rect);
- /* ��ͼ */
- rect = text_rect;
- rtgui_rect_inflate(&rect, +1);
- rtgui_dc_blit(dc_buffer, NULL, dc, &rect);
+ /* ��ͼ */
+ rect = text_rect;
+ rtgui_rect_inflate(&rect, +1);
+ rtgui_dc_blit(dc_buffer, NULL, dc, &rect);
- /* ��ͼ��� */
- rtgui_dc_end_drawing(dc);
- }
- else
- {
- /* ����Ĭ�ϵ��¼��������� */
- return rtgui_container_event_handler(object, event);
- }
+ /* ��ͼ��� */
+ rtgui_dc_end_drawing(dc);
+ }
+ else
+ {
+ /* ����Ĭ�ϵ��¼��������� */
+ return rtgui_container_event_handler(object, event);
+ }
- return RT_FALSE;
+ return RT_FALSE;
}
static rt_bool_t animation_on_show(struct rtgui_object *object, struct rtgui_event *event)
{
- rt_kprintf("buffer animation on show\n");
- rtgui_timer_start(timer);
+ rt_kprintf("buffer animation on show\n");
+ rtgui_timer_start(timer);
- return RT_TRUE;
+ return RT_TRUE;
}
static rt_bool_t animation_on_hide(struct rtgui_object *object, struct rtgui_event *event)
{
- rt_kprintf("buffer animation on hide\n");
- rtgui_timer_stop(timer);
+ rt_kprintf("buffer animation on hide\n");
+ rtgui_timer_stop(timer);
- return RT_TRUE;
+ return RT_TRUE;
}
struct rtgui_container *demo_view_buffer_animation(void)
{
- struct rtgui_container *container;
+ struct rtgui_container *container;
- container= demo_view("DC ����������");
- if (container!= RT_NULL)
- rtgui_object_set_event_handler(RTGUI_OBJECT(container), animation_event_handler);
+ container = demo_view("DC ����������");
+ if (container != RT_NULL)
+ rtgui_object_set_event_handler(RTGUI_OBJECT(container), animation_event_handler);
- rtgui_font_get_metrics(RTGUI_WIDGET_FONT(RTGUI_WIDGET(container)), "���嶯��", &text_rect);
- if (dc_buffer == RT_NULL)
- {
- rtgui_rect_t rect;
+ rtgui_font_get_metrics(RTGUI_WIDGET_FONT(container), "���嶯��", &text_rect);
+ if (dc_buffer == RT_NULL)
+ {
+ rtgui_rect_t rect;
- rect.x1 = 0; rect.x2 = rtgui_rect_width(text_rect) + 2;
- rect.y1 = 0; rect.y2 = rtgui_rect_height(text_rect) + 2;
+ rect.x1 = 0;
+ rect.x2 = rtgui_rect_width(text_rect) + 2;
+ rect.y1 = 0;
+ rect.y2 = rtgui_rect_height(text_rect) + 2;
- /* ���� DC Buffer���� 50���� 50 */
- dc_buffer = rtgui_dc_buffer_create(rtgui_rect_width(rect), rtgui_rect_height(rect));
- RTGUI_DC_FC(dc_buffer) = RTGUI_WIDGET_BACKGROUND(RTGUI_WIDGET(container));
- rtgui_dc_fill_rect(dc_buffer, &rect);
- RTGUI_DC_FC(dc_buffer) = black;
- rect.x1 = 1; rect.y1 = 1;
- rtgui_dc_draw_text(dc_buffer, "���嶯��", &rect);
- }
+ /* ���� DC Buffer���� 50���� 50 */
+ dc_buffer = rtgui_dc_buffer_create(rtgui_rect_width(rect), rtgui_rect_height(rect));
+ RTGUI_DC_FC(dc_buffer) = RTGUI_WIDGET_BACKGROUND(container);
+ rtgui_dc_fill_rect(dc_buffer, &rect);
+ RTGUI_DC_FC(dc_buffer) = black;
+ rect.x1 = 1;
+ rect.y1 = 1;
+ rtgui_dc_draw_text(dc_buffer, "���嶯��", &rect);
+ }
- /* ������ʱ���Դ������� */
- timer = rtgui_timer_create(1, RT_TIMER_FLAG_PERIODIC, timeout, (void*)container);
+ /* ������ʱ���Դ������� */
+ timer = rtgui_timer_create(1, RT_TIMER_FLAG_PERIODIC, timeout, (void *)container);
- rtgui_widget_set_onshow(RTGUI_WIDGET(container), animation_on_show);
- rtgui_widget_set_onhide(RTGUI_WIDGET(container), animation_on_hide);
+ rtgui_widget_set_onshow(RTGUI_WIDGET(container), animation_on_show);
+ rtgui_widget_set_onhide(RTGUI_WIDGET(container), animation_on_hide);
- return container;
+ return container;
}
diff --git a/examples/gui/demo_view_button.c b/examples/gui/demo_view_button.c
index 70465384b0..45c688cfac 100644
--- a/examples/gui/demo_view_button.c
+++ b/examples/gui/demo_view_button.c
@@ -8,73 +8,73 @@
#include <rtgui/widgets/button.h>
/* 创建用于演示button控件的视图 */
-rtgui_container_t* demo_view_button(void)
+rtgui_container_t *demo_view_button(void)
{
- rtgui_rect_t rect;
- rtgui_container_t* container;
- rtgui_button_t* button;
- rtgui_font_t* font;
+ rtgui_rect_t rect;
+ rtgui_container_t *container;
+ rtgui_button_t *button;
+ rtgui_font_t *font;
- /* 先创建一个演示用的视图 */
- container = demo_view("Button View");
+ /* 先创建一个演示用的视图 */
+ container = demo_view("Button View");
- /* 获得视图的位置信息 */
- demo_view_get_rect(container, &rect);
- rect.x1 += 5;
- rect.x2 = rect.x1 + 100;
- rect.y1 += 5;
- rect.y2 = rect.y1 + 20;
- /* 创建一个button控件 */
- button = rtgui_button_create("Red");
- /* 设置label控件的前景色为红色 */
- RTGUI_WIDGET_FOREGROUND(RTGUI_WIDGET(button)) = red;
- /* 设置button的位置 */
- rtgui_widget_set_rect(RTGUI_WIDGET(button), &rect);
- rtgui_container_add_child(container, RTGUI_WIDGET(button));
+ /* 获得视图的位置信息 */
+ demo_view_get_rect(container, &rect);
+ rect.x1 += 5;
+ rect.x2 = rect.x1 + 100;
+ rect.y1 += 5;
+ rect.y2 = rect.y1 + 20;
+ /* 创建一个button控件 */
+ button = rtgui_button_create("Red");
+ /* 设置label控件的前景色为红色 */
+ RTGUI_WIDGET_FOREGROUND(button) = red;
+ /* 设置button的位置 */
+ rtgui_widget_set_rect(RTGUI_WIDGET(button), &rect);
+ rtgui_container_add_child(container, RTGUI_WIDGET(button));
- /* 获得视图的位置信息 */
- demo_view_get_rect(container, &rect);
- rect.x1 += 5;
- rect.x2 = rect.x1 + 100;
- rect.y1 += 5 + 25;
- rect.y2 = rect.y1 + 20;
- /* 创建一个button控件 */
- button = rtgui_button_create("Blue");
- /* 设置label控件的前景色为蓝色 */
- RTGUI_WIDGET_FOREGROUND(RTGUI_WIDGET(button)) = blue;
- /* 设置button的位置 */
- rtgui_widget_set_rect(RTGUI_WIDGET(button), &rect);
- rtgui_container_add_child(container, RTGUI_WIDGET(button));
+ /* 获得视图的位置信息 */
+ demo_view_get_rect(container, &rect);
+ rect.x1 += 5;
+ rect.x2 = rect.x1 + 100;
+ rect.y1 += 5 + 25;
+ rect.y2 = rect.y1 + 20;
+ /* 创建一个button控件 */
+ button = rtgui_button_create("Blue");
+ /* 设置label控件的前景色为蓝色 */
+ RTGUI_WIDGET_FOREGROUND(button) = blue;
+ /* 设置button的位置 */
+ rtgui_widget_set_rect(RTGUI_WIDGET(button), &rect);
+ rtgui_container_add_child(container, RTGUI_WIDGET(button));
- /* 获得视图的位置信息 */
- demo_view_get_rect(container, &rect);
- rect.x1 += 5;
- rect.x2 = rect.x1 + 100;
- rect.y1 += 5 + 25 + 25;
- rect.y2 = rect.y1 + 20;
- /* 创建一个button控件 */
- button = rtgui_button_create("12 font");
- /* 设置字体为12点阵的asc字体 */
- font = rtgui_font_refer("asc", 12);
- RTGUI_WIDGET_FONT(RTGUI_WIDGET(button)) = font;
- /* 设置button的位置 */
- rtgui_widget_set_rect(RTGUI_WIDGET(button), &rect);
- rtgui_container_add_child(container, RTGUI_WIDGET(button));
+ /* 获得视图的位置信息 */
+ demo_view_get_rect(container, &rect);
+ rect.x1 += 5;
+ rect.x2 = rect.x1 + 100;
+ rect.y1 += 5 + 25 + 25;
+ rect.y2 = rect.y1 + 20;
+ /* 创建一个button控件 */
+ button = rtgui_button_create("12 font");
+ /* 设置字体为12点阵的asc字体 */
+ font = rtgui_font_refer("asc", 12);
+ RTGUI_WIDGET_FONT(button) = font;
+ /* 设置button的位置 */
+ rtgui_widget_set_rect(RTGUI_WIDGET(button), &rect);
+ rtgui_container_add_child(container, RTGUI_WIDGET(button));
- /* 获得视图的位置信息 */
- demo_view_get_rect(container, &rect);
- rect.x1 += 5;
- rect.x2 = rect.x1 + 100;
- rect.y1 += 5 + 25 + 25 + 25;
- rect.y2 = rect.y1 + 20;
- /* 创建一个button控件 */
- button = rtgui_button_create("16 font");
- /* 设置字体为16点阵的asc字体 */
- font = rtgui_font_refer("asc", 16);
- RTGUI_WIDGET_FONT(RTGUI_WIDGET(button)) = font;
- /* 设置button的位置 */
- rtgui_widget_set_rect(RTGUI_WIDGET(button), &rect);
- rtgui_container_add_child(container, RTGUI_WIDGET(button));
+ /* 获得视图的位置信息 */
+ demo_view_get_rect(container, &rect);
+ rect.x1 += 5;
+ rect.x2 = rect.x1 + 100;
+ rect.y1 += 5 + 25 + 25 + 25;
+ rect.y2 = rect.y1 + 20;
+ /* 创建一个button控件 */
+ button = rtgui_button_create("16 font");
+ /* 设置字体为16点阵的asc字体 */
+ font = rtgui_font_refer("asc", 16);
+ RTGUI_WIDGET_FONT(button) = font;
+ /* 设置button的位置 */
+ rtgui_widget_set_rect(RTGUI_WIDGET(button), &rect);
+ rtgui_container_add_child(container, RTGUI_WIDGET(button));
- return container;
+ return container;
}
diff --git a/examples/gui/demo_view_checkbox.c b/examples/gui/demo_view_checkbox.c
index fa67cf6f4c..8e4e118681 100644
--- a/examples/gui/demo_view_checkbox.c
+++ b/examples/gui/demo_view_checkbox.c
@@ -8,73 +8,73 @@
#include <rtgui/widgets/checkbox.h>
/* 创建用于演示checkbox控件的视图 */
-rtgui_container_t* demo_view_checkbox(void)
+rtgui_container_t *demo_view_checkbox(void)
{
- rtgui_rect_t rect;
- rtgui_container_t* container;
- rtgui_checkbox_t* checkbox;
- rtgui_font_t* font;
+ rtgui_rect_t rect;
+ rtgui_container_t *container;
+ rtgui_checkbox_t *checkbox;
+ rtgui_font_t *font;
- /* 先创建一个演示用的视图 */
- container = demo_view("CheckBox View");
+ /* 先创建一个演示用的视图 */
+ container = demo_view("CheckBox View");
- /* 获得视图的位置信息 */
- demo_view_get_rect(container, &rect);
- rect.x1 += 5;
- rect.x2 = rect.x1 + 100;
- rect.y1 += 5;
- rect.y2 = rect.y1 + 20;
- /* 创建一个checkbox控件 */
- checkbox = rtgui_checkbox_create("Red",RT_TRUE);
- /* 设置前景色为红色 */
- RTGUI_WIDGET_FOREGROUND(RTGUI_WIDGET(checkbox)) = red;
- /* 设置checkbox的位置 */
- rtgui_widget_set_rect(RTGUI_WIDGET(checkbox), &rect);
- rtgui_container_add_child(container, RTGUI_WIDGET(checkbox));
+ /* 获得视图的位置信息 */
+ demo_view_get_rect(container, &rect);
+ rect.x1 += 5;
+ rect.x2 = rect.x1 + 100;
+ rect.y1 += 5;
+ rect.y2 = rect.y1 + 20;
+ /* 创建一个checkbox控件 */
+ checkbox = rtgui_checkbox_create("Red", RT_TRUE);
+ /* 设置前景色为红色 */
+ RTGUI_WIDGET_FOREGROUND(checkbox) = red;
+ /* 设置checkbox的位置 */
+ rtgui_widget_set_rect(RTGUI_WIDGET(checkbox), &rect);
+ rtgui_container_add_child(container, RTGUI_WIDGET(checkbox));
- /* 获得视图的位置信息 */
- demo_view_get_rect(container, &rect);
- rect.x1 += 5;
- rect.x2 = rect.x1 + 100;
- rect.y1 += 5 + 25;
- rect.y2 = rect.y1 + 20;
- /* 创建一个checkbox控件 */
- checkbox = rtgui_checkbox_create("Blue",RT_TRUE);
- /* 设置前景色为蓝色 */
- RTGUI_WIDGET_FOREGROUND(RTGUI_WIDGET(checkbox)) = blue;
- /* 设置checkbox的位置 */
- rtgui_widget_set_rect(RTGUI_WIDGET(checkbox), &rect);
- rtgui_container_add_child(container, RTGUI_WIDGET(checkbox));
+ /* 获得视图的位置信息 */
+ demo_view_get_rect(container, &rect);
+ rect.x1 += 5;
+ rect.x2 = rect.x1 + 100;
+ rect.y1 += 5 + 25;
+ rect.y2 = rect.y1 + 20;
+ /* 创建一个checkbox控件 */
+ checkbox = rtgui_checkbox_create("Blue", RT_TRUE);
+ /* 设置前景色为蓝色 */
+ RTGUI_WIDGET_FOREGROUND(checkbox) = blue;
+ /* 设置checkbox的位置 */
+ rtgui_widget_set_rect(RTGUI_WIDGET(checkbox), &rect);
+ rtgui_container_add_child(container, RTGUI_WIDGET(checkbox));
- /* 获得视图的位置信息 */
- demo_view_get_rect(container, &rect);
- rect.x1 += 5;
- rect.x2 = rect.x1 + 100;
- rect.y1 += 5 + 25 + 25;
- rect.y2 = rect.y1 + 20;
- /* 创建一个checkbox控件 */
- checkbox = rtgui_checkbox_create("12 font",RT_TRUE);
- /* 设置字体为12点阵 */
- font = rtgui_font_refer("asc", 12);
- RTGUI_WIDGET_FONT(RTGUI_WIDGET(checkbox)) = font;
- /* 设置checkbox的位置 */
- rtgui_widget_set_rect(RTGUI_WIDGET(checkbox), &rect);
- rtgui_container_add_child(container, RTGUI_WIDGET(checkbox));
+ /* 获得视图的位置信息 */
+ demo_view_get_rect(container, &rect);
+ rect.x1 += 5;
+ rect.x2 = rect.x1 + 100;
+ rect.y1 += 5 + 25 + 25;
+ rect.y2 = rect.y1 + 20;
+ /* 创建一个checkbox控件 */
+ checkbox = rtgui_checkbox_create("12 font", RT_TRUE);
+ /* 设置字体为12点阵 */
+ font = rtgui_font_refer("asc", 12);
+ RTGUI_WIDGET_FONT(checkbox) = font;
+ /* 设置checkbox的位置 */
+ rtgui_widget_set_rect(RTGUI_WIDGET(checkbox), &rect);
+ rtgui_container_add_child(container, RTGUI_WIDGET(checkbox));
- /* 获得视图的位置信息 */
- demo_view_get_rect(container, &rect);
- rect.x1 += 5;
- rect.x2 = rect.x1 + 100;
- rect.y1 += 5 + 25 + 25 + 25;
- rect.y2 = rect.y1 + 20;
- /* 创建一个checkbox控件 */
- checkbox = rtgui_checkbox_create("16 font",RT_TRUE);
- /* 设置字体为16点阵 */
- font = rtgui_font_refer("asc", 16);
- RTGUI_WIDGET_FONT(RTGUI_WIDGET(checkbox)) = font;
- /* 设置checkbox的位置 */
- rtgui_widget_set_rect(RTGUI_WIDGET(checkbox), &rect);
- rtgui_container_add_child(container, RTGUI_WIDGET(checkbox));
+ /* 获得视图的位置信息 */
+ demo_view_get_rect(container, &rect);
+ rect.x1 += 5;
+ rect.x2 = rect.x1 + 100;
+ rect.y1 += 5 + 25 + 25 + 25;
+ rect.y2 = rect.y1 + 20;
+ /* 创建一个checkbox控件 */
+ checkbox = rtgui_checkbox_create("16 font", RT_TRUE);
+ /* 设置字体为16点阵 */
+ font = rtgui_font_refer("asc", 16);
+ RTGUI_WIDGET_FONT(checkbox) = font;
+ /* 设置checkbox的位置 */
+ rtgui_widget_set_rect(RTGUI_WIDGET(checkbox), &rect);
+ rtgui_container_add_child(container, RTGUI_WIDGET(checkbox));
- return container;
+ return container;
}
diff --git a/examples/gui/demo_view_combobox.c b/examples/gui/demo_view_combobox.c
index 36fb4d1375..7542131e7e 100644
--- a/examples/gui/demo_view_combobox.c
+++ b/examples/gui/demo_view_combobox.c
@@ -8,33 +8,33 @@
struct rtgui_listbox_item items[] =
{
- {"item 1", RT_NULL},
- {"item 2", RT_NULL},
- {"item 3", RT_NULL},
- {"item 4", RT_NULL},
- {"item 5", RT_NULL},
+ {"item 1", RT_NULL},
+ {"item 2", RT_NULL},
+ {"item 3", RT_NULL},
+ {"item 4", RT_NULL},
+ {"item 5", RT_NULL},
};
/* 创建用于演示combobox控件的视图 */
-rtgui_container_t* demo_view_combobox(void)
+rtgui_container_t *demo_view_combobox(void)
{
- rtgui_rect_t rect;
- rtgui_container_t* container;
- rtgui_combobox_t* box;
+ rtgui_rect_t rect;
+ rtgui_container_t *container;
+ rtgui_combobox_t *box;
- /* 先创建一个演示用的视图 */
- container = demo_view("ComboBox View");
+ /* 先创建一个演示用的视图 */
+ container = demo_view("ComboBox View");
- /* 获得视图的位置信息 */
- demo_view_get_rect(container, &rect);
- rect.x1 += 5;
- rect.x2 -= 5;
- rect.y1 += 5;
- rect.y2 = rect.y1 + 20;
- /* 创建一个label控件 */
- box = rtgui_combobox_create(items, sizeof(items)/sizeof(items[0]), &rect);
- /* container是一个container控件,调用add_child方法添加这个box控件 */
- rtgui_container_add_child(container, RTGUI_WIDGET(box));
+ /* 获得视图的位置信息 */
+ demo_view_get_rect(container, &rect);
+ rect.x1 += 5;
+ rect.x2 -= 5;
+ rect.y1 += 5;
+ rect.y2 = rect.y1 + 20;
+ /* 创建一个label控件 */
+ box = rtgui_combobox_create(items, sizeof(items) / sizeof(items[0]), &rect);
+ /* container是一个container控件,调用add_child方法添加这个box控件 */
+ rtgui_container_add_child(container, RTGUI_WIDGET(box));
- return container;
+ return container;
}
diff --git a/examples/gui/demo_view_dc.c b/examples/gui/demo_view_dc.c
index f37d426e7b..695f3e6ab3 100644
--- a/examples/gui/demo_view_dc.c
+++ b/examples/gui/demo_view_dc.c
@@ -19,174 +19,176 @@ struct rtgui_image_hdcmm stop_image = RTGUI_IMAGE_HDC_DEF(2, 0x1c, 0x16, stop_hd
/*
* view���¼���������
*/
-rt_bool_t dc_event_handler(struct rtgui_object* object, rtgui_event_t *event)
+rt_bool_t dc_event_handler(struct rtgui_object *object, rtgui_event_t *event)
{
- struct rtgui_widget *widget = RTGUI_WIDGET(object);
+ struct rtgui_widget *widget = RTGUI_WIDGET(object);
- /* ����PAINT�¼����д��� */
- if (event->type == RTGUI_EVENT_PAINT)
- {
- struct rtgui_dc* dc;
- rtgui_rect_t rect;
- const int vx[] = {20, 50, 60, 45, 60, 20};
- const int vy[] = {150, 50, 90, 60, 45, 50};
+ /* ����PAINT�¼����д��� */
+ if (event->type == RTGUI_EVENT_PAINT)
+ {
+ struct rtgui_dc *dc;
+ rtgui_rect_t rect;
+ const int vx[] = {20, 50, 60, 45, 60, 20};
+ const int vy[] = {150, 50, 90, 60, 45, 50};
- /*
- * ��Ϊ�õ���demo view�����汾����һ���ֿؼ��������ڻ�ͼʱ��Ҫ��demo view
- * �Ȼ�ͼ
- */
- rtgui_container_event_handler(RTGUI_OBJECT(widget), event);
+ /*
+ * ��Ϊ�õ���demo view�����汾����һ���ֿؼ��������ڻ�ͼʱ��Ҫ��demo view
+ * �Ȼ�ͼ
+ */
+ rtgui_container_event_handler(RTGUI_OBJECT(widget), event);
- /************************************************************************/
- /* �������DC�IJ��� */
- /************************************************************************/
+ /************************************************************************/
+ /* �������DC�IJ��� */
+ /************************************************************************/
- /* ��ÿؼ�������DC */
- dc = rtgui_dc_begin_drawing(widget);
- /* ��������������DC�����أ�����ؼ��򸸿ؼ�������״̬��DC�ǻ�ȡ���ɹ��ģ� */
- if (dc == RT_NULL)
- return RT_FALSE;
+ /* ��ÿؼ�������DC */
+ dc = rtgui_dc_begin_drawing(widget);
+ /* ��������������DC�����أ�����ؼ��򸸿ؼ�������״̬��DC�ǻ�ȡ���ɹ��ģ� */
+ if (dc == RT_NULL)
+ return RT_FALSE;
- /* ���demo view������ͼ������ */
- demo_view_get_logic_rect(RTGUI_CONTAINER(widget), &rect);
+ /* ���demo view������ͼ������ */
+ demo_view_get_logic_rect(RTGUI_CONTAINER(widget), &rect);
- RTGUI_DC_TEXTALIGN(dc) = RTGUI_ALIGN_BOTTOM | RTGUI_ALIGN_CENTER_HORIZONTAL;
- /* ��ʾGUI�İ汾��Ϣ */
+ RTGUI_DC_TEXTALIGN(dc) = RTGUI_ALIGN_BOTTOM | RTGUI_ALIGN_CENTER_HORIZONTAL;
+ /* ��ʾGUI�İ汾��Ϣ */
#ifdef RTGUI_USING_SMALL_SIZE
- rtgui_dc_draw_text(dc, "RT-Thread/GUIС�Ͱ汾", &rect);
+ rtgui_dc_draw_text(dc, "RT-Thread/GUIС�Ͱ汾", &rect);
#else
- rtgui_dc_draw_text(dc, "RT-Thread/GUI��׼�汾", &rect);
+ rtgui_dc_draw_text(dc, "RT-Thread/GUI��׼�汾", &rect);
#endif
- {
- rtgui_rect_t rect = {0, 0, 0x1c, 0x16};
- rtgui_rect_moveto(&rect, 80, 80);
- rtgui_image_blit((rtgui_image_t*)&play_image, dc, &rect);
+ {
+ rtgui_rect_t rect = {0, 0, 0x1c, 0x16};
+ rtgui_rect_moveto(&rect, 80, 80);
+ rtgui_image_blit((rtgui_image_t *)&play_image, dc, &rect);
- rect.x1 = 0; rect.y1 = 0;
- rect.x2 = 0x1c; rect.y2 = 0x16;
- rtgui_rect_moveto(&rect, 130, 80);
- rtgui_image_blit((rtgui_image_t*)&stop_image, dc, &rect);
- }
- /* ����һ��Բ�� */
- RTGUI_DC_FC(dc) = red;
- rtgui_dc_draw_circle(dc, rect.x1 + 10, rect.y1 + 10, 10);
+ rect.x1 = 0;
+ rect.y1 = 0;
+ rect.x2 = 0x1c;
+ rect.y2 = 0x16;
+ rtgui_rect_moveto(&rect, 130, 80);
+ rtgui_image_blit((rtgui_image_t *)&stop_image, dc, &rect);
+ }
+ /* ����һ��Բ�� */
+ RTGUI_DC_FC(dc) = red;
+ rtgui_dc_draw_circle(dc, rect.x1 + 10, rect.y1 + 10, 10);
- /* ���һ��Բ�� */
- RTGUI_DC_FC(dc) = green;
- rtgui_dc_fill_circle(dc, rect.x1 + 30, rect.y1 + 10, 10);
+ /* ���һ��Բ�� */
+ RTGUI_DC_FC(dc) = green;
+ rtgui_dc_fill_circle(dc, rect.x1 + 30, rect.y1 + 10, 10);
#if 0
- /* ��һ��Բ�Ǿ��� */
- rect.x1 = 150;
- rect.y1 = 180;
- rect.x2 = 210;
- rect.y2 = 260;
- RTGUI_DC_FC(dc) = RTGUI_RGB(25, 70, 150);
- rtgui_dc_draw_round_rect(dc, &rect, 10);
+ /* ��һ��Բ�Ǿ��� */
+ rect.x1 = 150;
+ rect.y1 = 180;
+ rect.x2 = 210;
+ rect.y2 = 260;
+ RTGUI_DC_FC(dc) = RTGUI_RGB(25, 70, 150);
+ rtgui_dc_draw_round_rect(dc, &rect, 10);
- rect.x1 = 160;
- rect.y1 = 190;
- rect.x2 = 200;
- rect.y2 = 250;
- RTGUI_DC_FC(dc) = RTGUI_RGB(170, 7, 80);
- rtgui_dc_fill_round_rect(dc, &rect, 7);
-
- /* ��һ��Բ�� */
- RTGUI_DC_FC(dc) = RTGUI_RGB(250, 120, 120);
- rtgui_dc_draw_arc(dc, rect.x1 + 120, rect.y1 + 60, 30, 0, 120);
-
- /* ��һ������Բ�� */
- RTGUI_DC_FC(dc) = RTGUI_RGB(150, 23, 100);
- rtgui_dc_draw_annulus(dc, 180, 170, 30, 50, 210, 330);
+ rect.x1 = 160;
+ rect.y1 = 190;
+ rect.x2 = 200;
+ rect.y2 = 250;
+ RTGUI_DC_FC(dc) = RTGUI_RGB(170, 7, 80);
+ rtgui_dc_fill_round_rect(dc, &rect, 7);
- /* ����� */
- RTGUI_DC_FC(dc) = blue;
- rtgui_dc_draw_polygon(dc, vx, vy, 6);
+ /* ��һ��Բ�� */
+ RTGUI_DC_FC(dc) = RTGUI_RGB(250, 120, 120);
+ rtgui_dc_draw_arc(dc, rect.x1 + 120, rect.y1 + 60, 30, 0, 120);
+
+ /* ��һ������Բ�� */
+ RTGUI_DC_FC(dc) = RTGUI_RGB(150, 23, 100);
+ rtgui_dc_draw_annulus(dc, 180, 170, 30, 50, 210, 330);
+
+ /* ����� */
+ RTGUI_DC_FC(dc) = blue;
+ rtgui_dc_draw_polygon(dc, vx, vy, 6);
#endif
- RTGUI_DC_FC(dc) = blue;
+ RTGUI_DC_FC(dc) = blue;
- /* ���Ʋ�ͬ�ı߿� */
- {
- rtgui_rect_t rect = {0, 0, 16, 16};
- rtgui_rect_moveto(&rect, 30, 120);
+ /* ���Ʋ�ͬ�ı߿� */
+ {
+ rtgui_rect_t rect = {0, 0, 16, 16};
+ rtgui_rect_moveto(&rect, 30, 120);
- rtgui_dc_draw_border(dc, &rect, RTGUI_BORDER_RAISE);
- rect.x1 += 20;
- rect.x2 += 20 + 50;
- rtgui_dc_draw_text(dc, "raise", &rect);
- rect.x1 -= 20;
- rect.x2 -= 20 + 50;
- rect.y1 += 20;
- rect.y2 += 20;
+ rtgui_dc_draw_border(dc, &rect, RTGUI_BORDER_RAISE);
+ rect.x1 += 20;
+ rect.x2 += 20 + 50;
+ rtgui_dc_draw_text(dc, "raise", &rect);
+ rect.x1 -= 20;
+ rect.x2 -= 20 + 50;
+ rect.y1 += 20;
+ rect.y2 += 20;
- rtgui_dc_draw_border(dc, &rect, RTGUI_BORDER_SIMPLE);
- rect.x1 += 20;
- rect.x2 += 20 + 50;
- rtgui_dc_draw_text(dc, "simple", &rect);
- rect.x1 -= 20;
- rect.x2 -= 20 + 50;
- rect.y1 += 20;
- rect.y2 += 20;
+ rtgui_dc_draw_border(dc, &rect, RTGUI_BORDER_SIMPLE);
+ rect.x1 += 20;
+ rect.x2 += 20 + 50;
+ rtgui_dc_draw_text(dc, "simple", &rect);
+ rect.x1 -= 20;
+ rect.x2 -= 20 + 50;
+ rect.y1 += 20;
+ rect.y2 += 20;
- rtgui_dc_draw_border(dc, &rect, RTGUI_BORDER_SUNKEN);
- rect.x1 += 20;
- rect.x2 += 20 + 50;
- rtgui_dc_draw_text(dc, "sunken", &rect);
- rect.x1 -= 20;
- rect.x2 -= 20 + 50;
- rect.y1 += 20;
- rect.y2 += 20;
+ rtgui_dc_draw_border(dc, &rect, RTGUI_BORDER_SUNKEN);
+ rect.x1 += 20;
+ rect.x2 += 20 + 50;
+ rtgui_dc_draw_text(dc, "sunken", &rect);
+ rect.x1 -= 20;
+ rect.x2 -= 20 + 50;
+ rect.y1 += 20;
+ rect.y2 += 20;
- rtgui_dc_draw_border(dc, &rect, RTGUI_BORDER_BOX);
- rect.x1 += 20;
- rect.x2 += 20 + 50;
- rtgui_dc_draw_text(dc, "box", &rect);
- rect.x1 -= 20;
- rect.x2 -= 20 + 50;
- rect.y1 += 20;
- rect.y2 += 20;
+ rtgui_dc_draw_border(dc, &rect, RTGUI_BORDER_BOX);
+ rect.x1 += 20;
+ rect.x2 += 20 + 50;
+ rtgui_dc_draw_text(dc, "box", &rect);
+ rect.x1 -= 20;
+ rect.x2 -= 20 + 50;
+ rect.y1 += 20;
+ rect.y2 += 20;
- rtgui_dc_draw_border(dc, &rect, RTGUI_BORDER_STATIC);
- rect.x1 += 20;
- rect.x2 += 20 + 50;
- rtgui_dc_draw_text(dc, "static", &rect);
- rect.x1 -= 20;
- rect.x2 -= 20 + 50;
- rect.y1 += 20;
- rect.y2 += 20;
+ rtgui_dc_draw_border(dc, &rect, RTGUI_BORDER_STATIC);
+ rect.x1 += 20;
+ rect.x2 += 20 + 50;
+ rtgui_dc_draw_text(dc, "static", &rect);
+ rect.x1 -= 20;
+ rect.x2 -= 20 + 50;
+ rect.y1 += 20;
+ rect.y2 += 20;
- rtgui_dc_draw_border(dc, &rect, RTGUI_BORDER_EXTRA);
- rect.x1 += 20;
- rect.x2 += 20 + 50;
- rtgui_dc_draw_text(dc, "extera", &rect);
- rect.x1 -= 20;
- rect.x2 -= 20 + 50;
- rect.y1 += 20;
- rect.y2 += 20;
- }
+ rtgui_dc_draw_border(dc, &rect, RTGUI_BORDER_EXTRA);
+ rect.x1 += 20;
+ rect.x2 += 20 + 50;
+ rtgui_dc_draw_text(dc, "extera", &rect);
+ rect.x1 -= 20;
+ rect.x2 -= 20 + 50;
+ rect.y1 += 20;
+ rect.y2 += 20;
+ }
- /* ��ͼ��� */
- rtgui_dc_end_drawing(dc);
- }
- else
- {
- /* �����¼�������Ĭ�ϵ��¼��������� */
- return rtgui_container_event_handler(object, event);
- }
+ /* ��ͼ��� */
+ rtgui_dc_end_drawing(dc);
+ }
+ else
+ {
+ /* �����¼�������Ĭ�ϵ��¼��������� */
+ return rtgui_container_event_handler(object, event);
+ }
- return RT_FALSE;
+ return RT_FALSE;
}
/* ��������DC������ʾ�õ���ͼ */
rtgui_container_t *demo_view_dc(void)
{
- rtgui_container_t *view;
+ rtgui_container_t *view;
- view = demo_view("DC Demo");
- if (view != RT_NULL)
- /* ���ó��Լ����¼��������� */
- rtgui_object_set_event_handler(RTGUI_OBJECT(view), dc_event_handler);
+ view = demo_view("DC Demo");
+ if (view != RT_NULL)
+ /* ���ó��Լ����¼��������� */
+ rtgui_object_set_event_handler(RTGUI_OBJECT(view), dc_event_handler);
- return view;
+ return view;
}
diff --git a/examples/gui/demo_view_dc_buffer.c b/examples/gui/demo_view_dc_buffer.c
index 11770dcedc..3bd9b13963 100644
--- a/examples/gui/demo_view_dc_buffer.c
+++ b/examples/gui/demo_view_dc_buffer.c
@@ -16,69 +16,69 @@ static struct rtgui_dc *dc_buffer;
/*
* view���¼���������
*/
-static rt_bool_t dc_buffer_event_handler(struct rtgui_object* object, rtgui_event_t *event)
+static rt_bool_t dc_buffer_event_handler(struct rtgui_object *object, rtgui_event_t *event)
{
- struct rtgui_widget *widget = RTGUI_WIDGET(object);
+ struct rtgui_widget *widget = RTGUI_WIDGET(object);
- /* ����PAINT�¼����д��� */
- if (event->type == RTGUI_EVENT_PAINT)
- {
- struct rtgui_dc* dc;
- rtgui_rect_t rect;
+ /* ����PAINT�¼����д��� */
+ if (event->type == RTGUI_EVENT_PAINT)
+ {
+ struct rtgui_dc *dc;
+ rtgui_rect_t rect;
- /*
- * ��Ϊ�õ���demo view�����汾����һ���ֿؼ��������ڻ�ͼʱ��Ҫ��demo view
- * �Ȼ�ͼ
- */
- rtgui_container_event_handler(object, event);
+ /*
+ * ��Ϊ�õ���demo view�����汾����һ���ֿؼ��������ڻ�ͼʱ��Ҫ��demo view
+ * �Ȼ�ͼ
+ */
+ rtgui_container_event_handler(object, event);
- /* ��ÿؼ�������DC */
- dc = rtgui_dc_begin_drawing(widget);
- /* ��������������DC�����أ�����ؼ��򸸿ؼ�������״̬��DC�ǻ�ȡ���ɹ��ģ� */
- if (dc == RT_NULL)
- return RT_FALSE;
+ /* ��ÿؼ�������DC */
+ dc = rtgui_dc_begin_drawing(widget);
+ /* ��������������DC�����أ�����ؼ��򸸿ؼ�������״̬��DC�ǻ�ȡ���ɹ��ģ� */
+ if (dc == RT_NULL)
+ return RT_FALSE;
- /* ���demo view������ͼ������ */
- demo_view_get_logic_rect(RTGUI_CONTAINER(widget), &rect);
+ /* ���demo view������ͼ������ */
+ demo_view_get_logic_rect(RTGUI_CONTAINER(widget), &rect);
- rect.x1 += 10;
- rect.y1 += 10;
- rtgui_dc_blit(dc_buffer, NULL, dc, &rect);
+ rect.x1 += 10;
+ rect.y1 += 10;
+ rtgui_dc_blit(dc_buffer, NULL, dc, &rect);
- /* ��ͼ��� */
- rtgui_dc_end_drawing(dc);
- }
- else
- {
- /* �����¼�������Ĭ�ϵ��¼��������� */
- return rtgui_container_event_handler(object, event);
- }
+ /* ��ͼ��� */
+ rtgui_dc_end_drawing(dc);
+ }
+ else
+ {
+ /* �����¼�������Ĭ�ϵ��¼��������� */
+ return rtgui_container_event_handler(object, event);
+ }
- return RT_FALSE;
+ return RT_FALSE;
}
/* ��������DC Buffer������ʾ�õ���ͼ */
rtgui_container_t *demo_view_dc_buffer()
{
- rtgui_container_t *view;
+ rtgui_container_t *view;
- if (dc_buffer == RT_NULL)
- {
- rtgui_rect_t rect = {0, 0, 50, 50};
+ if (dc_buffer == RT_NULL)
+ {
+ rtgui_rect_t rect = {0, 0, 50, 50};
- /* ���� DC Buffer���� 50���� 50 */
- dc_buffer = rtgui_dc_buffer_create(50, 50);
- RTGUI_DC_FC(dc_buffer) = blue;
- rtgui_dc_fill_rect(dc_buffer, &rect);
+ /* ���� DC Buffer���� 50���� 50 */
+ dc_buffer = rtgui_dc_buffer_create(50, 50);
+ RTGUI_DC_FC(dc_buffer) = blue;
+ rtgui_dc_fill_rect(dc_buffer, &rect);
- RTGUI_DC_FC(dc_buffer) = red;
- rtgui_dc_draw_circle(dc_buffer, 25, 25, 10);
- }
+ RTGUI_DC_FC(dc_buffer) = red;
+ rtgui_dc_draw_circle(dc_buffer, 25, 25, 10);
+ }
- view = demo_view("����DC��ʾ");
- if (view != RT_NULL)
- /* ���ó��Լ����¼��������� */
- rtgui_object_set_event_handler(RTGUI_OBJECT(view), dc_buffer_event_handler);
+ view = demo_view("����DC��ʾ");
+ if (view != RT_NULL)
+ /* ���ó��Լ����¼��������� */
+ rtgui_object_set_event_handler(RTGUI_OBJECT(view), dc_buffer_event_handler);
- return view;
+ return view;
}
diff --git a/examples/gui/demo_view_edit.c b/examples/gui/demo_view_edit.c
new file mode 100644
index 0000000000..07368eb8c9
--- /dev/null
+++ b/examples/gui/demo_view_edit.c
@@ -0,0 +1,120 @@
+/*
+ * 程序清单:edit控件演示
+ *
+ * 这个例子会在conatiner上进行edit控件的演示
+ */
+
+#include "demo_view.h"
+#include <rtgui/dc.h>
+#include <rtgui/rtgui_system.h>
+#include <rtgui/widgets/edit.h>
+#include <rtgui/widgets/button.h>
+
+void demo_edit_readin_file(struct rtgui_object *object, struct rtgui_event *event)
+{
+ rtgui_button_t *button;
+ struct rtgui_edit *edit;
+ const char *filename = "/test_readin.txt";
+ int fd;
+
+ RT_ASSERT(object != RT_NULL);
+ button = RTGUI_BUTTON(object);
+ /* 取得edit指针 */
+ edit = RTGUI_EDIT(RTGUI_WIDGET(button)->user_data);
+
+ /* 判断文件是否存在 */
+ fd = open(filename, O_RDONLY, 0);
+ if (fd < 0)
+ {
+ /* 不存在存在,则创建它 */
+ rt_kprintf("file:\"%s\" does not exist!\n", filename);
+
+ return;
+ }
+ close(fd);
+
+ rt_kprintf("read-in file:\"%s\"\n", filename);
+ rtgui_edit_readin_file(edit, filename);
+}
+
+void demo_edit_saveas_file(struct rtgui_object *object, struct rtgui_event *event)
+{
+ rtgui_button_t *button;
+ struct rtgui_edit *edit;
+ const char* filename = "/test_saveas.txt";
+ int fd;
+
+ RT_ASSERT(object != RT_NULL);
+ button = RTGUI_BUTTON(object);
+ /* 取得edit指针 */
+ edit = RTGUI_EDIT(RTGUI_WIDGET(button)->user_data);
+
+ /* 判断文件是否存在, 如果存在则删除之 */
+ fd = open(filename, O_RDONLY, 0);
+ if (fd > 0)
+ {
+ close(fd);
+ /* 如果是在win32中调试, 请手工删除该文件吧, NT中文件是只读的,unlink删除不掉 */
+ if (unlink(filename) == -1)
+ rt_kprintf("Could not delete %s\n", filename);
+ }
+
+ rt_kprintf("save as file:\"%s\"\n", filename);
+ rtgui_edit_saveas_file(edit, filename);
+}
+
+/* 创建用于演示edit控件的视图 */
+rtgui_container_t *demo_view_edit(void)
+{
+ rtgui_rect_t rect;
+ rtgui_container_t *container;
+ struct rtgui_edit *edit;
+ struct rtgui_button *button;
+
+ /* 先创建一个演示用的视图 */
+ container = demo_view("Edit View");
+
+ edit = rtgui_edit_create(container, 10, 35, 220, 200);
+ rtgui_edit_set_text(edit,
+ "Edit beta v0.1\n"
+ "Hello RT-Thread\n"
+ "this's edit demo\n"
+ "rtgui_edit_create\n"
+ "rtgui_edit_append_line\n"
+ "rtgui_edit_insert_line\n"
+ "rtgui_edit_delete_line\n"
+ "rtgui_edit_connect_line\n"
+ "a\n"
+ "b\n"
+ "c\n"
+ "d\n"
+ "1234567890\n");
+
+ /* 创建一个按钮, 读取某个文件 */
+ demo_view_get_rect(container, &rect);
+ rect.x1 += 10;
+ rect.x2 = rect.x1 + 100;
+ rect.y1 += 200;
+ rect.y2 = rect.y1 + 22;
+ button = rtgui_button_create("ReadIn File");
+ rtgui_widget_set_rect(RTGUI_WIDGET(button), &rect);
+ rtgui_container_add_child(container, RTGUI_WIDGET(button));
+ rtgui_button_set_onbutton(button, demo_edit_readin_file);
+ /* 使用user_data传递edit指针 */
+ RTGUI_WIDGET(button)->user_data = (rt_uint32_t)edit;
+
+ /* 创建一个按钮, 保存为某个文件 */
+ demo_view_get_rect(container, &rect);
+ rect.x1 += 130;
+ rect.x2 = rect.x1 + 100;
+ rect.y1 += 200;
+ rect.y2 = rect.y1 + 22;
+ button = rtgui_button_create("SaveAs File");
+ rtgui_widget_set_rect(RTGUI_WIDGET(button), &rect);
+ rtgui_container_add_child(container, RTGUI_WIDGET(button));
+ rtgui_button_set_onbutton(button, demo_edit_saveas_file);
+ /* 使用user_data传递edit指针 */
+ RTGUI_WIDGET(button)->user_data = (rt_uint32_t)edit;
+
+ return container;
+}
diff --git a/examples/gui/demo_view_image.c b/examples/gui/demo_view_image.c
index a846ce377f..b4dc923192 100644
--- a/examples/gui/demo_view_image.c
+++ b/examples/gui/demo_view_image.c
@@ -9,118 +9,120 @@
#include <rtgui/widgets/filelist_view.h>
#include <string.h>
-static rtgui_image_t* image = RT_NULL;
-static rtgui_container_t* _container = RT_NULL;
+static rtgui_image_t *image = RT_NULL;
+static rtgui_container_t *_container = RT_NULL;
#if defined(RTGUI_USING_DFS_FILERW) || defined(RTGUI_USING_STDIO_FILERW)
/* �򿪰�ť�Ļص����� */
-static void open_btn_onbutton(rtgui_widget_t* widget, struct rtgui_event* event)
+static void open_btn_onbutton(rtgui_widget_t *widget, struct rtgui_event *event)
{
- rtgui_filelist_view_t *filelist;
- struct rtgui_rect rect = {0, 100, 240, 280};
+ rtgui_filelist_view_t *filelist;
+ struct rtgui_rect rect = {0, 100, 240, 280};
- /* WIN32ƽ̨�Ϻ���ʵ�豸�ϵij�ʼ·������ */
+ /* WIN32ƽ̨�Ϻ���ʵ�豸�ϵij�ʼ·������ */
#ifdef _WIN32
- filelist = rtgui_filelist_view_create("e:\\", "*.*", &rect);
+ filelist = rtgui_filelist_view_create("e:\\", "*.*", &rect);
#else
- filelist = rtgui_filelist_view_create("/", "*.*", &rect);
+ filelist = rtgui_filelist_view_create("/", "*.*", &rect);
#endif
- /* ģ̬��ʾһ���ļ��б���ͼ�����ṩ���û�ѡ��ͼ���ļ� */
- if (rtgui_widget_show(RTGUI_WIDGET(filelist), RT_TRUE) == RTGUI_MODAL_OK)
- {
- char path[32], image_type[8];
+ /* ģ̬��ʾһ���ļ��б���ͼ�����ṩ���û�ѡ��ͼ���ļ� */
+ if (rtgui_widget_show(RTGUI_WIDGET(filelist), RT_TRUE) == RTGUI_MODAL_OK)
+ {
+ char path[32], image_type[8];
- /* �����ļ�·���ı�ǩ */
- rtgui_filelist_view_get_fullpath(filelist, path, sizeof(path));
- if (image != RT_NULL)
- {
- rtgui_image_destroy(image);
- image = RT_NULL;
- }
+ /* �����ļ�·���ı�ǩ */
+ rtgui_filelist_view_get_fullpath(filelist, path, sizeof(path));
+ if (image != RT_NULL)
+ {
+ rtgui_image_destroy(image);
+ image = RT_NULL;
+ }
- rt_memset(image_type, 0, sizeof(image_type));
+ rt_memset(image_type, 0, sizeof(image_type));
- /* ���ͼ������� */
- if (rt_strstr(path, ".bmp") != RT_NULL ||
- rt_strstr(path, ".BMP") != RT_NULL)
- strcat(image_type, "bmp");
- if (rt_strstr(path, ".png") != RT_NULL ||
- rt_strstr(path, ".PNG") != RT_NULL)
- strcat(image_type, "png");
- if (rt_strstr(path, ".jpg") != RT_NULL ||
- rt_strstr(path, ".JPG") != RT_NULL)
- strcat(image_type, "jpeg");
- if (rt_strstr(path, ".hdc") != RT_NULL ||
- rt_strstr(path, ".HDC") != RT_NULL)
- strcat(image_type, "hdc");
+ /* ���ͼ������� */
+ if (rt_strstr(path, ".bmp") != RT_NULL ||
+ rt_strstr(path, ".BMP") != RT_NULL)
+ strcat(image_type, "bmp");
+ if (rt_strstr(path, ".png") != RT_NULL ||
+ rt_strstr(path, ".PNG") != RT_NULL)
+ strcat(image_type, "png");
+ if (rt_strstr(path, ".jpg") != RT_NULL ||
+ rt_strstr(path, ".JPG") != RT_NULL)
+ strcat(image_type, "jpeg");
+ if (rt_strstr(path, ".hdc") != RT_NULL ||
+ rt_strstr(path, ".HDC") != RT_NULL)
+ strcat(image_type, "hdc");
- /* ���ͼ���ļ���Ч��������Ӧ��rtgui_image���� */
- if (image_type[0] != '\0')
- image = rtgui_image_create_from_file(image_type, path, RT_TRUE);
- }
+ /* ���ͼ���ļ���Ч��������Ӧ��rtgui_image���� */
+ if (image_type[0] != '\0')
+ image = rtgui_image_create_from_file(image_type, path, RT_TRUE);
+ }
- /* ɾ�� �ļ��б� ��ͼ */
- rtgui_container_destroy(RTGUI_CONTAINER(filelist));
- rtgui_container_show(_container, RT_FALSE);
+ /* ɾ�� �ļ��б� ��ͼ */
+ rtgui_container_destroy(RTGUI_CONTAINER(filelist));
+ rtgui_container_show(_container, RT_FALSE);
}
/* ��ʾ��ͼ���¼��������� */
-static rt_bool_t demo_view_event_handler(rtgui_widget_t* widget, rtgui_event_t *event)
+static rt_bool_t demo_view_event_handler(rtgui_widget_t *widget, rtgui_event_t *event)
{
- rt_bool_t result;
+ rt_bool_t result;
- /* �ȵ���Ĭ�ϵ��¼���������(����ֻ����PAINT�¼�������ʾ��ͼ���б�����һЩ�ؼ�) */
- result = rtgui_container_event_handler(widget, event);
+ /* �ȵ���Ĭ�ϵ��¼���������(����ֻ����PAINT�¼�������ʾ��ͼ���б�����һЩ�ؼ�) */
+ result = rtgui_container_event_handler(widget, event);
- if (event->type == RTGUI_EVENT_PAINT)
- {
- struct rtgui_dc* dc;
- rtgui_rect_t rect;
+ if (event->type == RTGUI_EVENT_PAINT)
+ {
+ struct rtgui_dc *dc;
+ rtgui_rect_t rect;
- /* ��ÿؼ�������DC */
- dc = rtgui_dc_begin_drawing(widget);
- if (dc == RT_NULL)
- /* ��������������DC������(����ؼ��򸸿ؼ�������״̬��DC�ǻ�ȡ���ɹ���) */
- return RT_FALSE;
+ /* ��ÿؼ�������DC */
+ dc = rtgui_dc_begin_drawing(widget);
+ if (dc == RT_NULL)
+ /* ��������������DC������(����ؼ��򸸿ؼ�������״̬��DC�ǻ�ȡ���ɹ���) */
+ return RT_FALSE;
- /* ���demo container������ͼ������ */
- demo_view_get_rect(RTGUI_CONTAINER(widget), &rect);
+ /* ���demo container������ͼ������ */
+ demo_view_get_rect(RTGUI_CONTAINER(widget), &rect);
- /* ���ͼ����ʾ���� */
- rect.x1 += 5; rect.x2 -= 5;
- rect.y1 += 30;
+ /* ���ͼ����ʾ���� */
+ rect.x1 += 5;
+ rect.x2 -= 5;
+ rect.y1 += 30;
- if (image != RT_NULL)
- rtgui_image_blit(image, dc, &rect);
+ if (image != RT_NULL)
+ rtgui_image_blit(image, dc, &rect);
- /* ��ͼ��� */
- rtgui_dc_end_drawing(dc);
- }
+ /* ��ͼ��� */
+ rtgui_dc_end_drawing(dc);
+ }
- return result;
+ return result;
}
/* ����������ʾͼ�����ʾ��ͼ */
-rtgui_container_t* demo_view_image(void)
+rtgui_container_t *demo_view_image(void)
{
- rtgui_rect_t rect;
- rtgui_button_t* open_btn;
+ rtgui_rect_t rect;
+ rtgui_button_t *open_btn;
- /* �ȴ���һ����ʾ��ͼ */
- _container = demo_view("ͼ����ʾ");
- if (_container != RT_NULL)
- /* ����Ĭ�ϵ��¼�����������demo_view_event_handler���� */
- rtgui_object_set_event_handler(RTGUI_WIDGET(_container), demo_view_event_handler);
+ /* �ȴ���һ����ʾ��ͼ */
+ _container = demo_view("ͼ����ʾ");
+ if (_container != RT_NULL)
+ /* ����Ĭ�ϵ��¼�����������demo_view_event_handler���� */
+ rtgui_object_set_event_handler(RTGUI_WIDGET(_container), demo_view_event_handler);
- /* ����һ����ť */
- demo_view_get_rect(_container, &rect);
- rect.x1 += 5; rect.x2 = rect.x1 + 120;
- rect.y2 = rect.y1 + 20;
- open_btn = rtgui_button_create("��ͼ���ļ�");
- rtgui_container_add_child(RTGUI_CONTAINER(_container), RTGUI_WIDGET(open_btn));
- rtgui_widget_set_rect(RTGUI_WIDGET(open_btn), &rect);
- rtgui_button_set_onbutton(open_btn, open_btn_onbutton);
+ /* ����һ����ť */
+ demo_view_get_rect(_container, &rect);
+ rect.x1 += 5;
+ rect.x2 = rect.x1 + 120;
+ rect.y2 = rect.y1 + 20;
+ open_btn = rtgui_button_create("��ͼ���ļ�");
+ rtgui_container_add_child(RTGUI_CONTAINER(_container), RTGUI_WIDGET(open_btn));
+ rtgui_widget_set_rect(RTGUI_WIDGET(open_btn), &rect);
+ rtgui_button_set_onbutton(open_btn, open_btn_onbutton);
- return _container;
+ return _container;
}
#endif
diff --git a/examples/gui/demo_view_instrument_panel.c b/examples/gui/demo_view_instrument_panel.c
index d82ca28433..1efe3c85ec 100644
--- a/examples/gui/demo_view_instrument_panel.c
+++ b/examples/gui/demo_view_instrument_panel.c
@@ -17,133 +17,133 @@
*/
rt_bool_t instrument_panel_event_handler(struct rtgui_object *object, rtgui_event_t *event)
{
- struct rtgui_widget *widget = RTGUI_WIDGET(object);
- char ac[4];
- int i;
- int x0 = 120;
- int y0 = 170;
- int x, y;
- int default_color;
-
- /* ����PAINT�¼����д��� */
- if (event->type == RTGUI_EVENT_PAINT)
- {
- struct rtgui_dc* dc;
- rtgui_rect_t rect;
- const int arrowx[] = {120+75, 120+75, 120+85};
- const int arrowy[] = {170-5, 170+5, 170};
+ struct rtgui_widget *widget = RTGUI_WIDGET(object);
+ char ac[4];
+ int i;
+ int x0 = 120;
+ int y0 = 170;
+ int x, y;
+ int default_color;
- /*
- * ��Ϊ�õ���demo container�����汾����һ���ֿؼ��������ڻ�ͼʱ��Ҫ��demo container
- * �Ȼ�ͼ
- */
- rtgui_container_event_handler(RTGUI_OBJECT(widget), event);
+ /* ����PAINT�¼����д��� */
+ if (event->type == RTGUI_EVENT_PAINT)
+ {
+ struct rtgui_dc *dc;
+ rtgui_rect_t rect;
+ const int arrowx[] = {120 + 75, 120 + 75, 120 + 85};
+ const int arrowy[] = {170 - 5, 170 + 5, 170};
- /************************************************************************/
- /* �������DC�IJ��� */
- /************************************************************************/
+ /*
+ * ��Ϊ�õ���demo container�����汾����һ���ֿؼ��������ڻ�ͼʱ��Ҫ��demo container
+ * �Ȼ�ͼ
+ */
+ rtgui_container_event_handler(RTGUI_OBJECT(widget), event);
- /* ��ÿؼ�������DC */
- dc = rtgui_dc_begin_drawing(widget);
- /* ��������������DC�����أ�����ؼ��򸸿ؼ�������״̬��DC�ǻ�ȡ���ɹ��ģ� */
- if (dc == RT_NULL)
- return RT_FALSE;
+ /************************************************************************/
+ /* �������DC�IJ��� */
+ /************************************************************************/
- /* ���demo container������ͼ������ */
- demo_view_get_rect(RTGUI_CONTAINER(widget), &rect);
+ /* ��ÿؼ�������DC */
+ dc = rtgui_dc_begin_drawing(widget);
+ /* ��������������DC�����أ�����ؼ��򸸿ؼ�������״̬��DC�ǻ�ȡ���ɹ��ģ� */
+ if (dc == RT_NULL)
+ return RT_FALSE;
- RTGUI_DC_TEXTALIGN(dc) = RTGUI_ALIGN_BOTTOM | RTGUI_ALIGN_CENTER_HORIZONTAL;
- /* ��ʾGUI�İ汾��Ϣ */
+ /* ���demo container������ͼ������ */
+ demo_view_get_rect(RTGUI_CONTAINER(widget), &rect);
+
+ RTGUI_DC_TEXTALIGN(dc) = RTGUI_ALIGN_BOTTOM | RTGUI_ALIGN_CENTER_HORIZONTAL;
+ /* ��ʾGUI�İ汾��Ϣ */
#ifdef RTGUI_USING_SMALL_SIZE
- rtgui_dc_draw_text(dc, "RT-Thread/GUIС�Ͱ汾", &rect);
+ rtgui_dc_draw_text(dc, "RT-Thread/GUIС�Ͱ汾", &rect);
#else
- rtgui_dc_draw_text(dc, "RT-Thread/GUI��׼�汾", &rect);
+ rtgui_dc_draw_text(dc, "RT-Thread/GUI��׼�汾", &rect);
#endif
- RTGUI_DC_TEXTALIGN(dc) = RTGUI_ALIGN_CENTER_VERTICAL | RTGUI_ALIGN_CENTER_HORIZONTAL;
- RTGUI_DC_FC(dc) = blue;
- rect.y2 = 270;
- rtgui_dc_draw_text(dc, "rtgui-panel", &rect);
+ RTGUI_DC_TEXTALIGN(dc) = RTGUI_ALIGN_CENTER_VERTICAL | RTGUI_ALIGN_CENTER_HORIZONTAL;
+ RTGUI_DC_FC(dc) = blue;
+ rect.y2 = 270;
+ rtgui_dc_draw_text(dc, "rtgui-panel", &rect);
+
+ for (i = 0; i < 6; i++)
+ {
+ rtgui_dc_draw_arc(dc, x0, y0, 117 - i, 150, 30);
+ }
- for(i = 0; i < 6; i++)
- {
- rtgui_dc_draw_arc(dc, x0, y0, 117-i, 150, 30);
- }
+ RTGUI_DC_FC(dc) = black;
- RTGUI_DC_FC(dc) = black;
+ RTGUI_DC_TEXTALIGN(dc) = RTGUI_ALIGN_LEFT;
+ for (i = 0; i <= 23; i++)
+ {
+ if (i < 12)
+ {
+ x = x0 + 105 * cos((150 + i * 10) * 3.1415926 / 180);
+ y = y0 + 105 * sin((150 + i * 10) * 3.1415926 / 180);
+ rect.x1 = x;
+ rect.y1 = y;
+ rect.x2 = rect.x1 + 12 * 3;
+ rect.y2 = rect.y1 + 12;
+ rt_sprintf(ac, "%d", 10 * i);
+ rtgui_dc_draw_text(dc, ac, &rect);
+ }
+ else
+ {
+ RTGUI_DC_TEXTALIGN(dc) = RTGUI_ALIGN_RIGHT;
- RTGUI_DC_TEXTALIGN(dc) = RTGUI_ALIGN_LEFT;
- for(i = 0; i <= 23; i++)
- {
- if(i < 12)
- {
- x = x0 + 105 * cos((150 + i * 10) * 3.1415926 / 180);
- y = y0 + 105 * sin((150 + i * 10) * 3.1415926 / 180);
- rect.x1 = x;
- rect.y1 = y;
- rect.x2 = rect.x1 + 12 * 3;
- rect.y2 = rect.y1 + 12;
- rt_sprintf(ac, "%d", 10 * i);
- rtgui_dc_draw_text(dc, ac, &rect);
- }
- else
- {
- RTGUI_DC_TEXTALIGN(dc) = RTGUI_ALIGN_RIGHT;
-
- x = x0 + 105 * cos((160 + i * 10) * 3.1415926 / 180);
- y = y0 + 105 * sin((160 + i * 10) * 3.1415926 / 180);
+ x = x0 + 105 * cos((160 + i * 10) * 3.1415926 / 180);
+ y = y0 + 105 * sin((160 + i * 10) * 3.1415926 / 180);
- rect.x1 = x - 12 * 3;
- rect.y1 = y;
- rect.x2 = rect.x1 + 12 * 3;
- rect.y2 = rect.y1 + 12;
- rt_sprintf(ac, "%d", 10 * i);
- rtgui_dc_draw_text(dc, ac, &rect);
- }
+ rect.x1 = x - 12 * 3;
+ rect.y1 = y;
+ rect.x2 = rect.x1 + 12 * 3;
+ rect.y2 = rect.y1 + 12;
+ rt_sprintf(ac, "%d", 10 * i);
+ rtgui_dc_draw_text(dc, ac, &rect);
+ }
- x = x0 + 107 * cos((150 + i * 10) * 3.1415926 / 180);
- y = y0 + 107 * sin((150 + i * 10) * 3.1415926 / 180);
- rtgui_dc_fill_circle(dc, x, y, 3);
- }
- RTGUI_DC_FC(dc) = RTGUI_RGB(166, 0, 166);
- rtgui_dc_fill_circle(dc, x0, y0, 3);
- RTGUI_DC_FC(dc) = RTGUI_RGB(120, 141, 30);
- rtgui_dc_draw_circle(dc, x0, y0, 5);
+ x = x0 + 107 * cos((150 + i * 10) * 3.1415926 / 180);
+ y = y0 + 107 * sin((150 + i * 10) * 3.1415926 / 180);
+ rtgui_dc_fill_circle(dc, x, y, 3);
+ }
+ RTGUI_DC_FC(dc) = RTGUI_RGB(166, 0, 166);
+ rtgui_dc_fill_circle(dc, x0, y0, 3);
+ RTGUI_DC_FC(dc) = RTGUI_RGB(120, 141, 30);
+ rtgui_dc_draw_circle(dc, x0, y0, 5);
- default_color = RTGUI_DC_BC(dc);
- RTGUI_DC_BC(dc) = red;
- rect.x1 = x0 + 7;
- rect.y1 = y0 - 1;
- rect.x2 = x0 + 75;
- rect.y2 = y0 + 1;
- rtgui_dc_fill_rect(dc, &rect);
+ default_color = RTGUI_DC_BC(dc);
+ RTGUI_DC_BC(dc) = red;
+ rect.x1 = x0 + 7;
+ rect.y1 = y0 - 1;
+ rect.x2 = x0 + 75;
+ rect.y2 = y0 + 1;
+ rtgui_dc_fill_rect(dc, &rect);
- RTGUI_DC_BC(dc) = default_color;
+ RTGUI_DC_BC(dc) = default_color;
- rtgui_dc_fill_polygon(dc, arrowx, arrowy, 3);
+ rtgui_dc_fill_polygon(dc, arrowx, arrowy, 3);
- /* ��ͼ��� */
- rtgui_dc_end_drawing(dc);
- }
- else
- {
- /* �����¼�������Ĭ�ϵ��¼��������� */
- return rtgui_container_event_handler(RTGUI_OBJECT(widget), event);
- }
+ /* ��ͼ��� */
+ rtgui_dc_end_drawing(dc);
+ }
+ else
+ {
+ /* �����¼�������Ĭ�ϵ��¼��������� */
+ return rtgui_container_event_handler(RTGUI_OBJECT(widget), event);
+ }
- return RT_FALSE;
+ return RT_FALSE;
}
/* ��������DC������ʾ�õ���ͼ */
rtgui_container_t *demo_view_instrument_panel(void)
{
- rtgui_container_t *container;
+ rtgui_container_t *container;
- container = demo_view("instrument panel Demo");
- if (container != RT_NULL)
- /* ���ó��Լ����¼��������� */
- rtgui_object_set_event_handler(RTGUI_OBJECT(container), instrument_panel_event_handler);
+ container = demo_view("instrument panel Demo");
+ if (container != RT_NULL)
+ /* ���ó��Լ����¼��������� */
+ rtgui_object_set_event_handler(RTGUI_OBJECT(container), instrument_panel_event_handler);
- return container;
+ return container;
}
diff --git a/examples/gui/demo_view_label.c b/examples/gui/demo_view_label.c
index 348437dec0..a8e87142d6 100644
--- a/examples/gui/demo_view_label.c
+++ b/examples/gui/demo_view_label.c
@@ -7,98 +7,98 @@
#include <rtgui/widgets/label.h>
/* 创建用于演示label控件的视图 */
-rtgui_container_t* demo_view_label(void)
+rtgui_container_t *demo_view_label(void)
{
- rtgui_rect_t rect;
- rtgui_container_t* container;
- rtgui_label_t* label;
- rtgui_font_t* font;
+ rtgui_rect_t rect;
+ rtgui_container_t *container;
+ rtgui_label_t *label;
+ rtgui_font_t *font;
- /* 先创建一个演示用的视图 */
- container = demo_view("Label View");
+ /* 先创建一个演示用的视图 */
+ container = demo_view("Label View");
- /* 获得视图的位置信息 */
- demo_view_get_rect(container, &rect);
- rect.x1 += 5;
- rect.x2 -= 5;
- rect.y1 += 5;
- rect.y2 = rect.y1 + 20;
- /* 创建一个label控件 */
- label = rtgui_label_create("Red Left");
- /* 设置label控件上的文本对齐方式为:左对齐 */
- RTGUI_WIDGET_TEXTALIGN(RTGUI_WIDGET(label)) = RTGUI_ALIGN_LEFT;
- /* 设置label控件的前景色为红色 */
- RTGUI_WIDGET_FOREGROUND(RTGUI_WIDGET(label)) = red;
- /* 设置label的位置 */
- rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
- /* container是一个container控件,调用add_child方法添加这个label控件 */
- rtgui_container_add_child(container, RTGUI_WIDGET(label));
+ /* 获得视图的位置信息 */
+ demo_view_get_rect(container, &rect);
+ rect.x1 += 5;
+ rect.x2 -= 5;
+ rect.y1 += 5;
+ rect.y2 = rect.y1 + 20;
+ /* 创建一个label控件 */
+ label = rtgui_label_create("Red Left");
+ /* 设置label控件上的文本对齐方式为:左对齐 */
+ RTGUI_WIDGET_TEXTALIGN(label) = RTGUI_ALIGN_LEFT;
+ /* 设置label控件的前景色为红色 */
+ RTGUI_WIDGET_FOREGROUND(label) = red;
+ /* 设置label的位置 */
+ rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
+ /* container是一个container控件,调用add_child方法添加这个label控件 */
+ rtgui_container_add_child(container, RTGUI_WIDGET(label));
- /* 获得视图的位置信息 */
- demo_view_get_rect(container, &rect);
- rect.x1 += 5;
- rect.x2 -= 5;
- rect.y1 += 5 + 25;
- rect.y2 = rect.y1 + 20;
- /* 创建一个label控件 */
- label = rtgui_label_create("Blue Right");
- /* 设置label控件上的文本对齐方式为:右对齐 */
- RTGUI_WIDGET_TEXTALIGN(RTGUI_WIDGET(label)) = RTGUI_ALIGN_RIGHT;
- /* 设置label控件的前景色为蓝色 */
- RTGUI_WIDGET_FOREGROUND(RTGUI_WIDGET(label)) = blue;
- /* 设置label的位置 */
- rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
- /* container是一个container控件,调用add_child方法添加这个label控件 */
- rtgui_container_add_child(container, RTGUI_WIDGET(label));
+ /* 获得视图的位置信息 */
+ demo_view_get_rect(container, &rect);
+ rect.x1 += 5;
+ rect.x2 -= 5;
+ rect.y1 += 5 + 25;
+ rect.y2 = rect.y1 + 20;
+ /* 创建一个label控件 */
+ label = rtgui_label_create("Blue Right");
+ /* 设置label控件上的文本对齐方式为:右对齐 */
+ RTGUI_WIDGET_TEXTALIGN(label) = RTGUI_ALIGN_RIGHT;
+ /* 设置label控件的前景色为蓝色 */
+ RTGUI_WIDGET_FOREGROUND(label) = blue;
+ /* 设置label的位置 */
+ rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
+ /* container是一个container控件,调用add_child方法添加这个label控件 */
+ rtgui_container_add_child(container, RTGUI_WIDGET(label));
- /* 获得视图的位置信息 */
- demo_view_get_rect(container, &rect);
- rect.x1 += 5;
- rect.x2 -= 5;
- rect.y1 += 5 + 25 + 25;
- rect.y2 = rect.y1 + 20;
- /* 创建一个label控件 */
- label = rtgui_label_create("Green Center");
- /* 设置label控件的前景色为绿色 */
- RTGUI_WIDGET_FOREGROUND(RTGUI_WIDGET(label)) = green;
- /* 设置label控件上的文本对齐方式为:右对齐 */
- RTGUI_WIDGET_TEXTALIGN(RTGUI_WIDGET(label)) = RTGUI_ALIGN_CENTER_HORIZONTAL;
- /* 设置label的位置 */
- rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
- /* container是一个container控件,调用add_child方法添加这个label控件 */
- rtgui_container_add_child(container, RTGUI_WIDGET(label));
+ /* 获得视图的位置信息 */
+ demo_view_get_rect(container, &rect);
+ rect.x1 += 5;
+ rect.x2 -= 5;
+ rect.y1 += 5 + 25 + 25;
+ rect.y2 = rect.y1 + 20;
+ /* 创建一个label控件 */
+ label = rtgui_label_create("Green Center");
+ /* 设置label控件的前景色为绿色 */
+ RTGUI_WIDGET_FOREGROUND(label) = green;
+ /* 设置label控件上的文本对齐方式为:右对齐 */
+ RTGUI_WIDGET_TEXTALIGN(label) = RTGUI_ALIGN_CENTER_HORIZONTAL;
+ /* 设置label的位置 */
+ rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
+ /* container是一个container控件,调用add_child方法添加这个label控件 */
+ rtgui_container_add_child(container, RTGUI_WIDGET(label));
- /* 获得视图的位置信息 */
- demo_view_get_rect(container, &rect);
- rect.x1 += 5;
- rect.x2 -= 5;
- rect.y1 += 5 + 25 + 25 + 25;
- rect.y2 = rect.y1 + 20;
- /* 创建一个label控件 */
- label = rtgui_label_create("12 font");
- /* 设置字体为12点阵的asc字体 */
- font = rtgui_font_refer("asc", 12);
- RTGUI_WIDGET_FONT(RTGUI_WIDGET(label)) = font;
- /* 设置label的位置 */
- rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
- /* container是一个container控件,调用add_child方法添加这个label控件 */
- rtgui_container_add_child(container, RTGUI_WIDGET(label));
+ /* 获得视图的位置信息 */
+ demo_view_get_rect(container, &rect);
+ rect.x1 += 5;
+ rect.x2 -= 5;
+ rect.y1 += 5 + 25 + 25 + 25;
+ rect.y2 = rect.y1 + 20;
+ /* 创建一个label控件 */
+ label = rtgui_label_create("12 font");
+ /* 设置字体为12点阵的asc字体 */
+ font = rtgui_font_refer("asc", 12);
+ RTGUI_WIDGET_FONT(label) = font;
+ /* 设置label的位置 */
+ rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
+ /* container是一个container控件,调用add_child方法添加这个label控件 */
+ rtgui_container_add_child(container, RTGUI_WIDGET(label));
- /* 获得视图的位置信息 */
- demo_view_get_rect(container, &rect);
- rect.x1 += 5;
- rect.y1 += 5 + 25 + 25 + 25 + 25;
- rect.y2 = rect.y1 + 20;
- /* 创建一个label控件 */
- label = rtgui_label_create("16 font");
- /* 设置字体为16点阵的asc字体 */
- font = rtgui_font_refer("asc", 16);
- RTGUI_WIDGET_FONT(RTGUI_WIDGET(label)) = font;
- /* 设置label的位置 */
- rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
- /* container是一个container控件,调用add_child方法添加这个label控件 */
- rtgui_container_add_child(container, RTGUI_WIDGET(label));
+ /* 获得视图的位置信息 */
+ demo_view_get_rect(container, &rect);
+ rect.x1 += 5;
+ rect.y1 += 5 + 25 + 25 + 25 + 25;
+ rect.y2 = rect.y1 + 20;
+ /* 创建一个label控件 */
+ label = rtgui_label_create("16 font");
+ /* 设置字体为16点阵的asc字体 */
+ font = rtgui_font_refer("asc", 16);
+ RTGUI_WIDGET_FONT(label) = font;
+ /* 设置label的位置 */
+ rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
+ /* container是一个container控件,调用add_child方法添加这个label控件 */
+ rtgui_container_add_child(container, RTGUI_WIDGET(label));
- return container;
+ return container;
}
diff --git a/examples/gui/demo_view_listbox.c b/examples/gui/demo_view_listbox.c
index 7ff049a32c..1829c81fb0 100644
--- a/examples/gui/demo_view_listbox.c
+++ b/examples/gui/demo_view_listbox.c
@@ -7,187 +7,189 @@
#include <rtgui/widgets/label.h>
#include <rtgui/widgets/listbox.h>
-static rtgui_image_t* item_icon = RT_NULL;
-static const char * image_xpm[] = {
- "16 16 106 2",
- " c None",
- ". c #D0C83F",
- "+ c #D0C840",
- "@ c #D0C030",
- "# c #D0B820",
- "$ c #D0B020",
- "% c #D0B01F",
- "& c #5F571F",
- "* c #F0F0C0",
- "= c #FFF8D0",
- "- c #FFF8C0",
- "; c #FFF8B0",
- "> c #FFF8A0",
- ", c #F0E870",
- "' c #707030",
- ") c #4F87EF",
- "! c #4F78C0",
- "~ c #5088E0",
- "{ c #5078C0",
- "] c #C0D0F0",
- "^ c #FFF8E0",
- "/ c #FFF090",
- "( c #F0E070",
- "_ c #6F97D0",
- ": c #C0D8FE",
- "< c #80A8F0",
- "[ c #7088D0",
- "} c #B0D0FF",
- "| c #90B0F0",
- "1 c #1040A0",
- "2 c #F0F080",
- "3 c #707040",
- "4 c #7098F0",
- "5 c #3068E0",
- "6 c #A0B8F0",
- "7 c #4070C0",
- "8 c #002880",
- "9 c #404040",
- "0 c #505050",
- "a c #F0F090",
- "b c #F0E860",
- "c c #F0D860",
- "d c #807840",
- "e c #2F5FC0",
- "f c #1050D0",
- "g c #1048B0",
- "h c #002870",
- "i c #C0C080",
- "j c #C0C070",
- "k c #F0F070",
- "l c #F0E060",
- "m c #E0D050",
- "n c #00277F",
- "o c #00287F",
- "p c #1F3F6F",
- "q c #1048C0",
- "r c #0040B0",
- "s c #204080",
- "t c #FFF890",
- "u c #F0D850",
- "v c #E0C840",
- "w c #807040",
- "x c #A0B06F",
- "y c #204880",
- "z c #2048A0",
- "A c #90A8C0",
- "B c #FFF080",
- "C c #F0D050",
- "D c #C0A830",
- "E c #6F682F",
- "F c #F0F0A0",
- "G c #E0D060",
- "H c #B0A040",
- "I c #D0B840",
- "J c #E0C040",
- "K c #D0B030",
- "L c #706820",
- "M c #5F581F",
- "N c #CFBF3F",
- "O c #FFF0A0",
- "P c #A09830",
- "Q c #A08820",
- "R c #908030",
- "S c #807830",
- "T c #707020",
- "U c #605820",
- "V c #6F672F",
- "W c #D0C040",
- "X c #F0E880",
- "Y c #907820",
- "Z c #B09820",
- "` c #B09010",
- " . c #B08820",
- ".. c #806820",
- "+. c #5F5F1F",
- "@. c #F0E080",
- "#. c #B09020",
- "$. c #C0B040",
- "%. c #A09030",
- "&. c #908020",
- "*. c #606020",
- "=. c #6F5F1F",
- "-. c #9F982F",
- ";. c #A0872F",
- ">. c #6F681F",
- ",. c #706020",
- " ",
- " . + + + @ @ # # $ % & ",
- " + * = = = = - ; > , ' ",
- " ) ! ~ { ] ^ = - - > / ( ' ",
- "_ : < { [ } | 1 - ; > > / 2 ( 3 ",
- "{ 4 5 1 6 7 5 8 9 0 a / , b c d ",
- "e f g h 8 8 g h i j / k l c m d ",
- " n o p q r s t 2 , l c u v w ",
- " x y z A B , l u C v D E ",
- " @ F > t k G H I J K L M ",
- " N @ O / 2 l P Q R S T U V ",
- " W m 2 X l I Y Z ` ...+. ",
- " W @.l u I R #.Z Y U M ",
- " $.G I $.%.R &.Y *.& =. ",
- " -.;.>.,.L L ,.& M ",
- " "};
+static rtgui_image_t *item_icon = RT_NULL;
+static const char *image_xpm[] =
+{
+ "16 16 106 2",
+ " c None",
+ ". c #D0C83F",
+ "+ c #D0C840",
+ "@ c #D0C030",
+ "# c #D0B820",
+ "$ c #D0B020",
+ "% c #D0B01F",
+ "& c #5F571F",
+ "* c #F0F0C0",
+ "= c #FFF8D0",
+ "- c #FFF8C0",
+ "; c #FFF8B0",
+ "> c #FFF8A0",
+ ", c #F0E870",
+ "' c #707030",
+ ") c #4F87EF",
+ "! c #4F78C0",
+ "~ c #5088E0",
+ "{ c #5078C0",
+ "] c #C0D0F0",
+ "^ c #FFF8E0",
+ "/ c #FFF090",
+ "( c #F0E070",
+ "_ c #6F97D0",
+ ": c #C0D8FE",
+ "< c #80A8F0",
+ "[ c #7088D0",
+ "} c #B0D0FF",
+ "| c #90B0F0",
+ "1 c #1040A0",
+ "2 c #F0F080",
+ "3 c #707040",
+ "4 c #7098F0",
+ "5 c #3068E0",
+ "6 c #A0B8F0",
+ "7 c #4070C0",
+ "8 c #002880",
+ "9 c #404040",
+ "0 c #505050",
+ "a c #F0F090",
+ "b c #F0E860",
+ "c c #F0D860",
+ "d c #807840",
+ "e c #2F5FC0",
+ "f c #1050D0",
+ "g c #1048B0",
+ "h c #002870",
+ "i c #C0C080",
+ "j c #C0C070",
+ "k c #F0F070",
+ "l c #F0E060",
+ "m c #E0D050",
+ "n c #00277F",
+ "o c #00287F",
+ "p c #1F3F6F",
+ "q c #1048C0",
+ "r c #0040B0",
+ "s c #204080",
+ "t c #FFF890",
+ "u c #F0D850",
+ "v c #E0C840",
+ "w c #807040",
+ "x c #A0B06F",
+ "y c #204880",
+ "z c #2048A0",
+ "A c #90A8C0",
+ "B c #FFF080",
+ "C c #F0D050",
+ "D c #C0A830",
+ "E c #6F682F",
+ "F c #F0F0A0",
+ "G c #E0D060",
+ "H c #B0A040",
+ "I c #D0B840",
+ "J c #E0C040",
+ "K c #D0B030",
+ "L c #706820",
+ "M c #5F581F",
+ "N c #CFBF3F",
+ "O c #FFF0A0",
+ "P c #A09830",
+ "Q c #A08820",
+ "R c #908030",
+ "S c #807830",
+ "T c #707020",
+ "U c #605820",
+ "V c #6F672F",
+ "W c #D0C040",
+ "X c #F0E880",
+ "Y c #907820",
+ "Z c #B09820",
+ "` c #B09010",
+ " . c #B08820",
+ ".. c #806820",
+ "+. c #5F5F1F",
+ "@. c #F0E080",
+ "#. c #B09020",
+ "$. c #C0B040",
+ "%. c #A09030",
+ "&. c #908020",
+ "*. c #606020",
+ "=. c #6F5F1F",
+ "-. c #9F982F",
+ ";. c #A0872F",
+ ">. c #6F681F",
+ ",. c #706020",
+ " ",
+ " . + + + @ @ # # $ % & ",
+ " + * = = = = - ; > , ' ",
+ " ) ! ~ { ] ^ = - - > / ( ' ",
+ "_ : < { [ } | 1 - ; > > / 2 ( 3 ",
+ "{ 4 5 1 6 7 5 8 9 0 a / , b c d ",
+ "e f g h 8 8 g h i j / k l c m d ",
+ " n o p q r s t 2 , l c u v w ",
+ " x y z A B , l u C v D E ",
+ " @ F > t k G H I J K L M ",
+ " N @ O / 2 l P Q R S T U V ",
+ " W m 2 X l I Y Z ` ...+. ",
+ " W @.l u I R #.Z Y U M ",
+ " $.G I $.%.R &.Y *.& =. ",
+ " -.;.>.,.L L ,.& M ",
+ " "
+};
static struct rtgui_listbox_item items[] =
{
- {"list #0", RT_NULL},
- {"list #1", RT_NULL},
- {"list #2", RT_NULL},
- {"list #3", RT_NULL},
+ {"list #0", RT_NULL},
+ {"list #1", RT_NULL},
+ {"list #2", RT_NULL},
+ {"list #3", RT_NULL},
};
-static rt_bool_t on_items(struct rtgui_object* object, struct rtgui_event* event)
+static rt_bool_t on_items(struct rtgui_object *object, struct rtgui_event *event)
{
- rtgui_listbox_t* box;
- /* get listbox */
- box = RTGUI_LISTBOX(object);
+ rtgui_listbox_t *box;
+ /* get listbox */
+ box = RTGUI_LISTBOX(object);
- /* 打印当前的项 */
- rt_kprintf("current item: %d\n", box->current_item);
+ /* 打印当前的项 */
+ rt_kprintf("current item: %d\n", box->current_item);
- return RT_TRUE;
+ return RT_TRUE;
}
/* 创建用于演示label控件的视图 */
-rtgui_container_t* demo_view_listbox(void)
+rtgui_container_t *demo_view_listbox(void)
{
- rtgui_rect_t rect;
- rtgui_container_t* container;
- rtgui_label_t* label;
- rtgui_listbox_t* box;
+ rtgui_rect_t rect;
+ rtgui_container_t *container;
+ rtgui_label_t *label;
+ rtgui_listbox_t *box;
- /* 先创建一个演示用的视图 */
- container = demo_view("ListBox Demo");
+ /* 先创建一个演示用的视图 */
+ container = demo_view("ListBox Demo");
- if (item_icon == RT_NULL)
- item_icon = rtgui_image_create_from_mem("xpm",
- (const rt_uint8_t*)image_xpm, sizeof(image_xpm), RT_TRUE);
- items[1].image = item_icon;
+ if (item_icon == RT_NULL)
+ item_icon = rtgui_image_create_from_mem("xpm",
+ (const rt_uint8_t *)image_xpm, sizeof(image_xpm), RT_TRUE);
+ items[1].image = item_icon;
- /* 获得视图的位置信息 */
- demo_view_get_rect(container, &rect);
- rect.x1 += 5;
- rect.x2 -= 5;
- rect.y1 += 5;
- rect.y2 = rect.y1 + 20;
- /* 创建一个label控件 */
- label = rtgui_label_create("listbox: ");
- /* 设置label的位置 */
- rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
- /* container是一个container控件,调用add_child方法添加这个label控件 */
- rtgui_container_add_child(container, RTGUI_WIDGET(label));
+ /* 获得视图的位置信息 */
+ demo_view_get_rect(container, &rect);
+ rect.x1 += 5;
+ rect.x2 -= 5;
+ rect.y1 += 5;
+ rect.y2 = rect.y1 + 20;
+ /* 创建一个label控件 */
+ label = rtgui_label_create("listbox: ");
+ /* 设置label的位置 */
+ rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
+ /* container是一个container控件,调用add_child方法添加这个label控件 */
+ rtgui_container_add_child(container, RTGUI_WIDGET(label));
- rect.y1 = rect.y2 + 3;
- rect.y2 = 250;
- box = rtgui_listbox_create(items, sizeof(items)/sizeof(struct rtgui_listbox_item), &rect);
- rtgui_listbox_set_onitem(box, on_items);
- /* container是一个container控件,调用add_child方法添加这个listbox控件 */
- rtgui_container_add_child(container, RTGUI_WIDGET(box));
+ rect.y1 = rect.y2 + 3;
+ rect.y2 = 250;
+ box = rtgui_listbox_create(items, sizeof(items) / sizeof(struct rtgui_listbox_item), &rect);
+ rtgui_listbox_set_onitem(box, on_items);
+ /* container是一个container控件,调用add_child方法添加这个listbox控件 */
+ rtgui_container_add_child(container, RTGUI_WIDGET(box));
- return container;
+ return container;
}
diff --git a/examples/gui/demo_view_listctrl.c b/examples/gui/demo_view_listctrl.c
index 2efe78b369..166e4412ae 100644
--- a/examples/gui/demo_view_listctrl.c
+++ b/examples/gui/demo_view_listctrl.c
@@ -7,251 +7,258 @@
#include <rtgui/widgets/label.h>
#include <rtgui/widgets/listctrl.h>
-static rtgui_image_t* item_icon = RT_NULL;
-static const char * image_xpm[] = {
- "16 16 106 2",
- " c None",
- ". c #D0C83F",
- "+ c #D0C840",
- "@ c #D0C030",
- "# c #D0B820",
- "$ c #D0B020",
- "% c #D0B01F",
- "& c #5F571F",
- "* c #F0F0C0",
- "= c #FFF8D0",
- "- c #FFF8C0",
- "; c #FFF8B0",
- "> c #FFF8A0",
- ", c #F0E870",
- "' c #707030",
- ") c #4F87EF",
- "! c #4F78C0",
- "~ c #5088E0",
- "{ c #5078C0",
- "] c #C0D0F0",
- "^ c #FFF8E0",
- "/ c #FFF090",
- "( c #F0E070",
- "_ c #6F97D0",
- ": c #C0D8FE",
- "< c #80A8F0",
- "[ c #7088D0",
- "} c #B0D0FF",
- "| c #90B0F0",
- "1 c #1040A0",
- "2 c #F0F080",
- "3 c #707040",
- "4 c #7098F0",
- "5 c #3068E0",
- "6 c #A0B8F0",
- "7 c #4070C0",
- "8 c #002880",
- "9 c #404040",
- "0 c #505050",
- "a c #F0F090",
- "b c #F0E860",
- "c c #F0D860",
- "d c #807840",
- "e c #2F5FC0",
- "f c #1050D0",
- "g c #1048B0",
- "h c #002870",
- "i c #C0C080",
- "j c #C0C070",
- "k c #F0F070",
- "l c #F0E060",
- "m c #E0D050",
- "n c #00277F",
- "o c #00287F",
- "p c #1F3F6F",
- "q c #1048C0",
- "r c #0040B0",
- "s c #204080",
- "t c #FFF890",
- "u c #F0D850",
- "v c #E0C840",
- "w c #807040",
- "x c #A0B06F",
- "y c #204880",
- "z c #2048A0",
- "A c #90A8C0",
- "B c #FFF080",
- "C c #F0D050",
- "D c #C0A830",
- "E c #6F682F",
- "F c #F0F0A0",
- "G c #E0D060",
- "H c #B0A040",
- "I c #D0B840",
- "J c #E0C040",
- "K c #D0B030",
- "L c #706820",
- "M c #5F581F",
- "N c #CFBF3F",
- "O c #FFF0A0",
- "P c #A09830",
- "Q c #A08820",
- "R c #908030",
- "S c #807830",
- "T c #707020",
- "U c #605820",
- "V c #6F672F",
- "W c #D0C040",
- "X c #F0E880",
- "Y c #907820",
- "Z c #B09820",
- "` c #B09010",
- " . c #B08820",
- ".. c #806820",
- "+. c #5F5F1F",
- "@. c #F0E080",
- "#. c #B09020",
- "$. c #C0B040",
- "%. c #A09030",
- "&. c #908020",
- "*. c #606020",
- "=. c #6F5F1F",
- "-. c #9F982F",
- ";. c #A0872F",
- ">. c #6F681F",
- ",. c #706020",
- " ",
- " . + + + @ @ # # $ % & ",
- " + * = = = = - ; > , ' ",
- " ) ! ~ { ] ^ = - - > / ( ' ",
- "_ : < { [ } | 1 - ; > > / 2 ( 3 ",
- "{ 4 5 1 6 7 5 8 9 0 a / , b c d ",
- "e f g h 8 8 g h i j / k l c m d ",
- " n o p q r s t 2 , l c u v w ",
- " x y z A B , l u C v D E ",
- " @ F > t k G H I J K L M ",
- " N @ O / 2 l P Q R S T U V ",
- " W m 2 X l I Y Z ` ...+. ",
- " W @.l u I R #.Z Y U M ",
- " $.G I $.%.R &.Y *.& =. ",
- " -.;.>.,.L L ,.& M ",
- " "};
+static rtgui_image_t *item_icon = RT_NULL;
+static const char *image_xpm[] =
+{
+ "16 16 106 2",
+ " c None",
+ ". c #D0C83F",
+ "+ c #D0C840",
+ "@ c #D0C030",
+ "# c #D0B820",
+ "$ c #D0B020",
+ "% c #D0B01F",
+ "& c #5F571F",
+ "* c #F0F0C0",
+ "= c #FFF8D0",
+ "- c #FFF8C0",
+ "; c #FFF8B0",
+ "> c #FFF8A0",
+ ", c #F0E870",
+ "' c #707030",
+ ") c #4F87EF",
+ "! c #4F78C0",
+ "~ c #5088E0",
+ "{ c #5078C0",
+ "] c #C0D0F0",
+ "^ c #FFF8E0",
+ "/ c #FFF090",
+ "( c #F0E070",
+ "_ c #6F97D0",
+ ": c #C0D8FE",
+ "< c #80A8F0",
+ "[ c #7088D0",
+ "} c #B0D0FF",
+ "| c #90B0F0",
+ "1 c #1040A0",
+ "2 c #F0F080",
+ "3 c #707040",
+ "4 c #7098F0",
+ "5 c #3068E0",
+ "6 c #A0B8F0",
+ "7 c #4070C0",
+ "8 c #002880",
+ "9 c #404040",
+ "0 c #505050",
+ "a c #F0F090",
+ "b c #F0E860",
+ "c c #F0D860",
+ "d c #807840",
+ "e c #2F5FC0",
+ "f c #1050D0",
+ "g c #1048B0",
+ "h c #002870",
+ "i c #C0C080",
+ "j c #C0C070",
+ "k c #F0F070",
+ "l c #F0E060",
+ "m c #E0D050",
+ "n c #00277F",
+ "o c #00287F",
+ "p c #1F3F6F",
+ "q c #1048C0",
+ "r c #0040B0",
+ "s c #204080",
+ "t c #FFF890",
+ "u c #F0D850",
+ "v c #E0C840",
+ "w c #807040",
+ "x c #A0B06F",
+ "y c #204880",
+ "z c #2048A0",
+ "A c #90A8C0",
+ "B c #FFF080",
+ "C c #F0D050",
+ "D c #C0A830",
+ "E c #6F682F",
+ "F c #F0F0A0",
+ "G c #E0D060",
+ "H c #B0A040",
+ "I c #D0B840",
+ "J c #E0C040",
+ "K c #D0B030",
+ "L c #706820",
+ "M c #5F581F",
+ "N c #CFBF3F",
+ "O c #FFF0A0",
+ "P c #A09830",
+ "Q c #A08820",
+ "R c #908030",
+ "S c #807830",
+ "T c #707020",
+ "U c #605820",
+ "V c #6F672F",
+ "W c #D0C040",
+ "X c #F0E880",
+ "Y c #907820",
+ "Z c #B09820",
+ "` c #B09010",
+ " . c #B08820",
+ ".. c #806820",
+ "+. c #5F5F1F",
+ "@. c #F0E080",
+ "#. c #B09020",
+ "$. c #C0B040",
+ "%. c #A09030",
+ "&. c #908020",
+ "*. c #606020",
+ "=. c #6F5F1F",
+ "-. c #9F982F",
+ ";. c #A0872F",
+ ">. c #6F681F",
+ ",. c #706020",
+ " ",
+ " . + + + @ @ # # $ % & ",
+ " + * = = = = - ; > , ' ",
+ " ) ! ~ { ] ^ = - - > / ( ' ",
+ "_ : < { [ } | 1 - ; > > / 2 ( 3 ",
+ "{ 4 5 1 6 7 5 8 9 0 a / , b c d ",
+ "e f g h 8 8 g h i j / k l c m d ",
+ " n o p q r s t 2 , l c u v w ",
+ " x y z A B , l u C v D E ",
+ " @ F > t k G H I J K L M ",
+ " N @ O / 2 l P Q R S T U V ",
+ " W m 2 X l I Y Z ` ...+. ",
+ " W @.l u I R #.Z Y U M ",
+ " $.G I $.%.R &.Y *.& =. ",
+ " -.;.>.,.L L ,.& M ",
+ " "
+};
static struct list_item
{
- const char* name;
- const char* gender;
- int age;
- rtgui_image_t* image;
+ const char *name;
+ const char *gender;
+ int age;
+ rtgui_image_t *image;
} items[] =
{
- {"index0", "00", 30, RT_NULL},
- {"index1", "m1", 30, RT_NULL},
- {"index2", "m2", 30, RT_NULL},
- {"index3", "m3", 30, RT_NULL},
- {"index4", "m4", 30, RT_NULL},
- {"index5", "m5", 30, RT_NULL},
- {"index6", "m6", 30, RT_NULL},
- {"index7", "m7", 30, RT_NULL},
- {"index8", "m8", 30, RT_NULL},
- {"index9", "m9", 30, RT_NULL},
- {"index10", "m10", 30, RT_NULL},
- {"index11", "m11", 30, RT_NULL},
- {"index12", "m12", 30, RT_NULL},
- {"index13", "m13", 30, RT_NULL},
- {"index14", "m14", 30, RT_NULL},
- {"index15", "m15", 30, RT_NULL},
- {"index16", "m16", 30, RT_NULL},
- {"index17", "m17", 30, RT_NULL},
- {"index18", "m18", 30, RT_NULL},
- {"index19", "m19", 30, RT_NULL},
+ {"index0", "00", 30, RT_NULL},
+ {"index1", "m1", 30, RT_NULL},
+ {"index2", "m2", 30, RT_NULL},
+ {"index3", "m3", 30, RT_NULL},
+ {"index4", "m4", 30, RT_NULL},
+ {"index5", "m5", 30, RT_NULL},
+ {"index6", "m6", 30, RT_NULL},
+ {"index7", "m7", 30, RT_NULL},
+ {"index8", "m8", 30, RT_NULL},
+ {"index9", "m9", 30, RT_NULL},
+ {"index10", "m10", 30, RT_NULL},
+ {"index11", "m11", 30, RT_NULL},
+ {"index12", "m12", 30, RT_NULL},
+ {"index13", "m13", 30, RT_NULL},
+ {"index14", "m14", 30, RT_NULL},
+ {"index15", "m15", 30, RT_NULL},
+ {"index16", "m16", 30, RT_NULL},
+ {"index17", "m17", 30, RT_NULL},
+ {"index18", "m18", 30, RT_NULL},
+ {"index19", "m19", 30, RT_NULL},
};
void _rtgui_listctrl_item_draw(struct rtgui_listctrl *list,
- struct rtgui_dc* dc,
- rtgui_rect_t* rect,
- rt_uint16_t index)
+ struct rtgui_dc *dc,
+ rtgui_rect_t *rect,
+ rt_uint16_t index)
{
- char age_str[8];
- rtgui_rect_t item_rect;
- struct list_item *items, *item;
+ char age_str[8];
+ rtgui_rect_t item_rect;
+ struct list_item *items, *item;
- item_rect = *rect;
- item_rect.x1 += 5;
- items = (struct list_item*)list->items;
- item = &items[index];
+ item_rect = *rect;
+ item_rect.x1 += 5;
+ items = (struct list_item *)list->items;
+ item = &items[index];
- /* draw text */
- rtgui_dc_draw_text(dc, item->name, &item_rect); item_rect.x1 += 60;
- rtgui_dc_draw_vline(dc, item_rect.x1, item_rect.y1, item_rect.y2);
+ /* draw text */
+ rtgui_dc_draw_text(dc, item->name, &item_rect);
+ item_rect.x1 += 60;
+ rtgui_dc_draw_vline(dc, item_rect.x1, item_rect.y1, item_rect.y2);
- item_rect.x1 += 5;
- rtgui_dc_draw_text(dc, item->gender, &item_rect); item_rect.x1 += 60;
- rtgui_dc_draw_vline(dc, item_rect.x1, item_rect.y1, item_rect.y2);
+ item_rect.x1 += 5;
+ rtgui_dc_draw_text(dc, item->gender, &item_rect);
+ item_rect.x1 += 60;
+ rtgui_dc_draw_vline(dc, item_rect.x1, item_rect.y1, item_rect.y2);
- item_rect.x1 += 5;
- rt_snprintf(age_str, sizeof(age_str), "%d", item->age);
- rtgui_dc_draw_text(dc, age_str, &item_rect); item_rect.x1 += 40;
- rtgui_dc_draw_vline(dc, item_rect.x1, item_rect.y1, item_rect.y2);
+ item_rect.x1 += 5;
+ rt_snprintf(age_str, sizeof(age_str), "%d", item->age);
+ rtgui_dc_draw_text(dc, age_str, &item_rect);
+ item_rect.x1 += 40;
+ rtgui_dc_draw_vline(dc, item_rect.x1, item_rect.y1, item_rect.y2);
- item_rect.x1 += 5;
+ item_rect.x1 += 5;
- /* draw image */
- if (item->image != RT_NULL)
- {
- rtgui_rect_t image_rect;
+ /* draw image */
+ if (item->image != RT_NULL)
+ {
+ rtgui_rect_t image_rect;
- image_rect.x1 = 0; image_rect.y1 = 0;
- image_rect.x2 = item->image->w; image_rect.y2 = item->image->h;
- rtgui_rect_moveto_align(&item_rect, &image_rect, RTGUI_ALIGN_CENTER_VERTICAL);
- rtgui_image_blit(item->image, dc, &image_rect);
- }
+ image_rect.x1 = 0;
+ image_rect.y1 = 0;
+ image_rect.x2 = item->image->w;
+ image_rect.y2 = item->image->h;
+ rtgui_rect_moveto_align(&item_rect, &image_rect, RTGUI_ALIGN_CENTER_VERTICAL);
+ rtgui_image_blit(item->image, dc, &image_rect);
+ }
}
-static rt_bool_t on_items(struct rtgui_object* object, struct rtgui_event* event)
+static rt_bool_t on_items(struct rtgui_object *object, struct rtgui_event *event)
{
- rtgui_listctrl_t* ctrl;
- /* get listctrl */
- ctrl = RTGUI_LISTCTRL(object);
+ rtgui_listctrl_t *ctrl;
+ /* get listctrl */
+ ctrl = RTGUI_LISTCTRL(object);
- /* ��ӡ��ǰ���� */
- rt_kprintf("current item: %d\n", ctrl->current_item);
+ /* ��ӡ��ǰ���� */
+ rt_kprintf("current item: %d\n", ctrl->current_item);
- return RT_TRUE;
+ return RT_TRUE;
}
/* ����������ʾlabel�ؼ�����ͼ */
-rtgui_container_t* demo_view_listctrl(void)
+rtgui_container_t *demo_view_listctrl(void)
{
- rtgui_rect_t rect;
- rtgui_container_t* container;
- rtgui_label_t* label;
- rtgui_listctrl_t* box;
+ rtgui_rect_t rect;
+ rtgui_container_t *container;
+ rtgui_label_t *label;
+ rtgui_listctrl_t *box;
- /* �ȴ���һ����ʾ�õ���ͼ */
- container = demo_view("List Control Demo");
+ /* �ȴ���һ����ʾ�õ���ͼ */
+ container = demo_view("List Control Demo");
- if (item_icon == RT_NULL)
- item_icon = rtgui_image_create_from_mem("xpm",
- (const rt_uint8_t*)image_xpm, sizeof(image_xpm), RT_TRUE);
- items[1].image = item_icon;
+ if (item_icon == RT_NULL)
+ item_icon = rtgui_image_create_from_mem("xpm",
+ (const rt_uint8_t *)image_xpm, sizeof(image_xpm), RT_TRUE);
+ items[1].image = item_icon;
- /* �����ͼ��λ����Ϣ */
- demo_view_get_rect(container, &rect);
- rect.x1 += 5;
- rect.x2 -= 5;
- rect.y1 += 5;
- rect.y2 = rect.y1 + 20;
- /* ����һ��label�ؼ� */
- label = rtgui_label_create("List Control: ");
- /* ����label��� */
- rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
- /* container��һ��container�ؼ�������add_child�����������label�ؼ� */
- rtgui_container_add_child(container, RTGUI_WIDGET(label));
+ /* �����ͼ��λ����Ϣ */
+ demo_view_get_rect(container, &rect);
+ rect.x1 += 5;
+ rect.x2 -= 5;
+ rect.y1 += 5;
+ rect.y2 = rect.y1 + 20;
+ /* ����һ��label�ؼ� */
+ label = rtgui_label_create("List Control: ");
+ /* ����label��� */
+ rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
+ /* container��һ��container�ؼ�������add_child�����������label�ؼ� */
+ rtgui_container_add_child(container, RTGUI_WIDGET(label));
- rect.y1 = rect.y2 + 3;
- rect.y2 = 250;
- box = rtgui_listctrl_create((rt_uint32_t)items, sizeof(items)/sizeof(items[0]), &rect,
- _rtgui_listctrl_item_draw);
- rtgui_listctrl_set_onitem(box, on_items);
- /* container��һ��container�ؼ�������add_child�����������listctrl�ؼ� */
- rtgui_container_add_child(container, RTGUI_WIDGET(box));
+ rect.y1 = rect.y2 + 3;
+ rect.y2 = 250;
+ box = rtgui_listctrl_create((rt_uint32_t)items, sizeof(items) / sizeof(items[0]), &rect,
+ _rtgui_listctrl_item_draw);
+ rtgui_listctrl_set_onitem(box, on_items);
+ /* container��һ��container�ؼ�������add_child�����������listctrl�ؼ� */
+ rtgui_container_add_child(container, RTGUI_WIDGET(box));
- return container;
+ return container;
}
diff --git a/examples/gui/demo_view_menu.c b/examples/gui/demo_view_menu.c
index 5e42d84c8c..45a170999f 100644
--- a/examples/gui/demo_view_menu.c
+++ b/examples/gui/demo_view_menu.c
@@ -7,68 +7,70 @@
#include <rtgui/widgets/menu.h>
#include <rtgui/widgets/button.h>
-static rt_bool_t _onmenuitem(struct rtgui_object *object, struct rtgui_event* event)
+static rt_bool_t _onmenuitem(struct rtgui_object *object, struct rtgui_event *event)
{
- rt_kprintf("menu action!!\n");
- return RT_TRUE;
+ rt_kprintf("menu action!!\n");
+ return RT_TRUE;
}
-static const rtgui_menu_item_t sub_items[] =
+static const rtgui_menu_item_t sub_items[] =
{
- {RTGUI_ITEM_NORMAL, "item #1", RT_NULL, RT_NULL, 0, _onmenuitem},
- {RTGUI_ITEM_NORMAL, "item #2", RT_NULL, RT_NULL, 0, RT_NULL},
- {RTGUI_ITEM_SEPARATOR, RT_NULL, RT_NULL, RT_NULL, 0, RT_NULL},
- {RTGUI_ITEM_NORMAL, "item #3", RT_NULL, RT_NULL, 0, RT_NULL},
+ {RTGUI_ITEM_NORMAL, "item #1", RT_NULL, RT_NULL, 0, _onmenuitem},
+ {RTGUI_ITEM_NORMAL, "item #2", RT_NULL, RT_NULL, 0, RT_NULL},
+ {RTGUI_ITEM_SEPARATOR, RT_NULL, RT_NULL, RT_NULL, 0, RT_NULL},
+ {RTGUI_ITEM_NORMAL, "item #3", RT_NULL, RT_NULL, 0, RT_NULL},
};
static const rtgui_menu_item_t items[] =
{
- {RTGUI_ITEM_NORMAL, "item #1", RT_NULL, RT_NULL, 0, RT_NULL},
- {RTGUI_ITEM_NORMAL, "item #2", RT_NULL, RT_NULL, 0, RT_NULL},
- {RTGUI_ITEM_SEPARATOR, RT_NULL, RT_NULL, RT_NULL, 0, RT_NULL},
- {RTGUI_ITEM_SUBMENU, "item #3", RT_NULL,
- (struct rtgui_menu_item_t *)sub_items,
- sizeof(sub_items)/sizeof(sub_items[0]), RT_NULL},
+ {RTGUI_ITEM_NORMAL, "item #1", RT_NULL, RT_NULL, 0, RT_NULL},
+ {RTGUI_ITEM_NORMAL, "item #2", RT_NULL, RT_NULL, 0, RT_NULL},
+ {RTGUI_ITEM_SEPARATOR, RT_NULL, RT_NULL, RT_NULL, 0, RT_NULL},
+ {
+ RTGUI_ITEM_SUBMENU, "item #3", RT_NULL,
+ (struct rtgui_menu_item_t *)sub_items,
+ sizeof(sub_items) / sizeof(sub_items[0]), RT_NULL
+ },
};
-static rtgui_menu_t* menu;
+static rtgui_menu_t *menu;
-static rt_bool_t _onmenu(struct rtgui_object* object, struct rtgui_event* event)
+static rt_bool_t _onmenu(struct rtgui_object *object, struct rtgui_event *event)
{
- rtgui_rect_t rect;
+ rtgui_rect_t rect;
- rtgui_widget_get_rect(RTGUI_WIDGET(object), &rect);
- rtgui_widget_rect_to_device(RTGUI_WIDGET(object), &rect);
+ rtgui_widget_get_rect(RTGUI_WIDGET(object), &rect);
+ rtgui_widget_rect_to_device(RTGUI_WIDGET(object), &rect);
- if (menu != RT_NULL)
- rtgui_menu_pop(menu, rect.x1, rect.y2 + 5);
+ if (menu != RT_NULL)
+ rtgui_menu_pop(menu, rect.x1, rect.y2 + 5);
- return RT_TRUE;
+ return RT_TRUE;
}
/* 创建用于演示menu控件的视图 */
-rtgui_container_t* demo_view_menu(void)
+rtgui_container_t *demo_view_menu(void)
{
- rtgui_rect_t rect;
- rtgui_container_t* container;
- rtgui_button_t* button;
+ rtgui_rect_t rect;
+ rtgui_container_t *container;
+ rtgui_button_t *button;
- /* 先创建一个演示用的视图 */
- container = demo_view("MENU View");
+ /* 先创建一个演示用的视图 */
+ container = demo_view("MENU View");
- /* 获得视图的位置信息 */
- demo_view_get_rect(container, &rect);
- rect.x1 += 5;
- rect.x2 = rect.x1 + 100;
- rect.y1 += 5;
- rect.y2 = rect.y1 + 20;
- /* 创建一个button控件 */
- button = rtgui_button_create("Pop Menu");
- /* 设置button的位置 */
- rtgui_widget_set_rect(RTGUI_WIDGET(button), &rect);
- /* container是一个container控件,调用add_child方法添加这个button控件 */
- rtgui_container_add_child(container, RTGUI_WIDGET(button));
- rtgui_button_set_onbutton(button, _onmenu);
+ /* 获得视图的位置信息 */
+ demo_view_get_rect(container, &rect);
+ rect.x1 += 5;
+ rect.x2 = rect.x1 + 100;
+ rect.y1 += 5;
+ rect.y2 = rect.y1 + 20;
+ /* 创建一个button控件 */
+ button = rtgui_button_create("Pop Menu");
+ /* 设置button的位置 */
+ rtgui_widget_set_rect(RTGUI_WIDGET(button), &rect);
+ /* container是一个container控件,调用add_child方法添加这个button控件 */
+ rtgui_container_add_child(container, RTGUI_WIDGET(button));
+ rtgui_button_set_onbutton(button, _onmenu);
- menu = rtgui_menu_create("Menu Test", RT_NULL, items, sizeof(items)/sizeof(items[0]));
+ menu = rtgui_menu_create("Menu Test", RT_NULL, items, sizeof(items) / sizeof(items[0]));
- return container;
+ return container;
}
diff --git a/examples/gui/demo_view_module.c b/examples/gui/demo_view_module.c
index e98beff5d3..bdce8dae10 100644
--- a/examples/gui/demo_view_module.c
+++ b/examples/gui/demo_view_module.c
@@ -1,7 +1,7 @@
/*
- * �����嵥��DC����ʾͼ����ʾ
+ * 3��D��??�̣���oDC��???��?��????Y��?
*
- * ������ӻ��ڴ�������view����ʾͼ��
+ * ?a??��y����?��?�����?��3?��?view��???��?��???
*/
#include "demo_view.h"
@@ -11,66 +11,67 @@
#ifdef RT_USING_MODULE
#if defined(RTGUI_USING_DFS_FILERW) || defined(RTGUI_USING_STDIO_FILERW)
-static rtgui_container_t* _view = RT_NULL;
+static rtgui_container_t *_view = RT_NULL;
-/* �򿪰�ť�Ļص����� */
-static void open_btn_onbutton(rtgui_widget_t* widget, struct rtgui_event* event)
+/* �䨰?a���?����???�̡�o����y */
+static void open_btn_onbutton(rtgui_widget_t *widget, struct rtgui_event *event)
{
- rtgui_filelist_view_t *view;
- rtgui_workbench_t *workbench;
- rtgui_rect_t rect;
+ rtgui_filelist_view_t *view;
+ rtgui_workbench_t *workbench;
+ rtgui_rect_t rect;
- /* ��ö����workbench */
- workbench = RTGUI_WORKBENCH(rtgui_widget_get_toplevel(widget));
- rtgui_widget_get_rect(RTGUI_WIDGET(workbench), &rect);
+ /* ??��??��2?��?workbench */
+ workbench = RTGUI_WORKBENCH(rtgui_widget_get_toplevel(widget));
+ rtgui_widget_get_rect(RTGUI_WIDGET(workbench), &rect);
- /* WIN32ƽ̨�Ϻ���ʵ�豸�ϵij�ʼ·������ */
+ /* WIN32??������?o��??���̨�����?��?��?3?��??��??��|���� */
#ifdef _WIN32
- view = rtgui_filelist_view_create(workbench, "d:\\", "*.*", &rect);
+ view = rtgui_filelist_view_create(workbench, "d:\\", "*.*", &rect);
#else
- view = rtgui_filelist_view_create(workbench, "/", "*.*", &rect);
+ view = rtgui_filelist_view_create(workbench, "/", "*.*", &rect);
#endif
- /* ģ̬��ʾһ���ļ��б���ͼ�����ṩ���û�ѡ��ͼ���ļ� */
- if (rtgui_container_show(RTGUI_CONTAINER(view), RT_TRUE) == RTGUI_MODAL_OK)
- {
- char path[32], name[8];
+ /* ?�ꨬ???��?��??????t��D����������?��?��?����1???��??��????��??????t */
+ if (rtgui_container_show(RTGUI_CONTAINER(view), RT_TRUE) == RTGUI_MODAL_OK)
+ {
+ char path[32], name[8];
- /* �����ļ�·���ı�ǩ */
- rtgui_filelist_view_get_fullpath(view, path, sizeof(path));
+ /* ����?????t?��??��?����?? */
+ rtgui_filelist_view_get_fullpath(view, path, sizeof(path));
- rt_memset(name, 0, sizeof(name));
+ rt_memset(name, 0, sizeof(name));
- /* ���Ӧ��ģ������� */
- if (rt_strstr(path, ".mo") != RT_NULL || rt_strstr(path, ".so") != RT_NULL)
- {
- rt_module_open(path);
- }
- }
+ /* ??��?��|��??��?����?����D�� */
+ if (rt_strstr(path, ".mo") != RT_NULL || rt_strstr(path, ".so") != RT_NULL)
+ {
+ rt_module_open(path);
+ }
+ }
- /* ɾ�� �ļ��б� ��ͼ */
- rtgui_container_destroy(RTGUI_CONTAINER(view));
- rtgui_container_show(_view, RT_FALSE);
+ /* ��?3y ???t��D���� ������? */
+ rtgui_container_destroy(RTGUI_CONTAINER(view));
+ rtgui_container_show(_view, RT_FALSE);
}
-/* ����������ʾӦ��ģ�����ʾ��ͼ */
-rtgui_container_t* demo_view_module(rtgui_workbench_t* workbench)
+/* ���?����?����??��?��|��??��?����??Y��?������? */
+rtgui_container_t *demo_view_module(rtgui_workbench_t *workbench)
{
- rtgui_rect_t rect;
- rtgui_button_t* open_btn;
+ rtgui_rect_t rect;
+ rtgui_button_t *open_btn;
- /* �ȴ���һ����ʾ��ͼ */
- _view = demo_view(workbench, "Ӧ��ģ����ʾ");
+ /* ?�����?����????Y��?������? */
+ _view = demo_view(workbench, "��|��??��?��?Y��?");
- /* ����һ����ť */
- demo_view_get_rect(_view, &rect);
- rect.x1 += 5; rect.x2 = rect.x1 + 120;
- rect.y2 = rect.y1 + 20;
- open_btn = rtgui_button_create("��Ӧ��ģ��");
- rtgui_container_add_child(RTGUI_CONTAINER(_view), RTGUI_WIDGET(open_btn));
- rtgui_widget_set_rect(RTGUI_WIDGET(open_btn), &rect);
- rtgui_button_set_onbutton(open_btn, open_btn_onbutton);
+ /* ����?����???���?�� */
+ demo_view_get_rect(_view, &rect);
+ rect.x1 += 5;
+ rect.x2 = rect.x1 + 120;
+ rect.y2 = rect.y1 + 20;
+ open_btn = rtgui_button_create("�䨰?a��|��??��?��");
+ rtgui_container_add_child(RTGUI_CONTAINER(_view), RTGUI_WIDGET(open_btn));
+ rtgui_widget_set_rect(RTGUI_WIDGET(open_btn), &rect);
+ rtgui_button_set_onbutton(open_btn, open_btn_onbutton);
- return _view;
+ return _view;
}
#endif
#endif
diff --git a/examples/gui/demo_view_mywidget.c b/examples/gui/demo_view_mywidget.c
index d9f917980f..effe4d3507 100644
--- a/examples/gui/demo_view_mywidget.c
+++ b/examples/gui/demo_view_mywidget.c
@@ -9,34 +9,34 @@
/* 创建用于演示自定义控件的视图 */
rtgui_container_t *demo_view_mywidget(void)
{
- rtgui_container_t *container;
- rtgui_rect_t rect;
- rtgui_mywidget_t *mywidget;
+ rtgui_container_t *container;
+ rtgui_rect_t rect;
+ rtgui_mywidget_t *mywidget;
- /* 先创建一个演示用的视图 */
- container = demo_view("MyWidget View");
+ /* 先创建一个演示用的视图 */
+ container = demo_view("MyWidget View");
- /* 获得视图的位置信息 */
- demo_view_get_rect(container, &rect);
- rect.x1 += 5;
- rect.x2 = rect.y1 + 80;
- rect.y1 += 5;
- rect.y2 = rect.y1 + 80;
- /* 创建一个自定义控件 */
- mywidget = rtgui_mywidget_create(&rect);
- /* container是一个container控件,调用add_child方法添加这个自控件 */
- rtgui_container_add_child(container, RTGUI_WIDGET(mywidget));
+ /* 获得视图的位置信息 */
+ demo_view_get_rect(container, &rect);
+ rect.x1 += 5;
+ rect.x2 = rect.y1 + 80;
+ rect.y1 += 5;
+ rect.y2 = rect.y1 + 80;
+ /* 创建一个自定义控件 */
+ mywidget = rtgui_mywidget_create(&rect);
+ /* container是一个container控件,调用add_child方法添加这个自控件 */
+ rtgui_container_add_child(container, RTGUI_WIDGET(mywidget));
- /* 获得视图的位置信息 */
- demo_view_get_rect(container, &rect);
- rect.x1 += 25;
- rect.x2 = rect.y1 + 40;
- rect.y1 += 5 + 100;
- rect.y2 = rect.y1 + 40;
- /* 创建一个自定义控件 */
- mywidget = rtgui_mywidget_create(&rect);
- /* container是一个container控件,调用add_child方法添加这个自控件 */
- rtgui_container_add_child(container, RTGUI_WIDGET(mywidget));
+ /* 获得视图的位置信息 */
+ demo_view_get_rect(container, &rect);
+ rect.x1 += 25;
+ rect.x2 = rect.y1 + 40;
+ rect.y1 += 5 + 100;
+ rect.y2 = rect.y1 + 40;
+ /* 创建一个自定义控件 */
+ mywidget = rtgui_mywidget_create(&rect);
+ /* container是一个container控件,调用add_child方法添加这个自控件 */
+ rtgui_container_add_child(container, RTGUI_WIDGET(mywidget));
- return container;
+ return container;
}
diff --git a/examples/gui/demo_view_notebook.c b/examples/gui/demo_view_notebook.c
index 97ad06321e..0573b3ac05 100644
--- a/examples/gui/demo_view_notebook.c
+++ b/examples/gui/demo_view_notebook.c
@@ -10,44 +10,44 @@
const static struct rtgui_listbox_item items[] =
{
- {"list #0", RT_NULL},
- {"list #1", RT_NULL},
- {"list #2", RT_NULL},
- {"list #3", RT_NULL},
+ {"list #0", RT_NULL},
+ {"list #1", RT_NULL},
+ {"list #2", RT_NULL},
+ {"list #3", RT_NULL},
};
const static struct rtgui_listbox_item items2[] =
{
- {"list #0", RT_NULL},
- {"list #1", RT_NULL},
- {"list #2", RT_NULL},
- {"new list #1", RT_NULL},
- {"new list #2", RT_NULL},
+ {"list #0", RT_NULL},
+ {"list #1", RT_NULL},
+ {"list #2", RT_NULL},
+ {"new list #1", RT_NULL},
+ {"new list #2", RT_NULL},
};
/* 创建用于演示notebook控件的视图 */
-rtgui_container_t* demo_view_notebook(void)
+rtgui_container_t *demo_view_notebook(void)
{
- rtgui_rect_t rect;
- rtgui_container_t* container;
- struct rtgui_notebook *notebook;
- rtgui_listbox_t* box;
+ rtgui_rect_t rect;
+ rtgui_container_t *container;
+ struct rtgui_notebook *notebook;
+ rtgui_listbox_t *box;
- /* 先创建一个演示用的视图 */
- container = demo_view("Notebook View");
+ /* 先创建一个演示用的视图 */
+ container = demo_view("Notebook View");
- /* 获得视图的位置信息 */
- demo_view_get_rect(container, &rect);
+ /* 获得视图的位置信息 */
+ demo_view_get_rect(container, &rect);
- notebook = rtgui_notebook_create(&rect, RTGUI_NOTEBOOK_BOTTOM);
- /* container是一个container控件,调用add_child方法添加这个notebook控件 */
- rtgui_container_add_child(container, RTGUI_WIDGET(notebook));
+ notebook = rtgui_notebook_create(&rect, RTGUI_NOTEBOOK_BOTTOM);
+ /* container是一个container控件,调用add_child方法添加这个notebook控件 */
+ rtgui_container_add_child(container, RTGUI_WIDGET(notebook));
- box = rtgui_listbox_create(items, sizeof(items)/sizeof(struct rtgui_listbox_item), &rect);
- rtgui_notebook_add(notebook, "Tab 1", RTGUI_WIDGET(box));
+ box = rtgui_listbox_create(items, sizeof(items) / sizeof(struct rtgui_listbox_item), &rect);
+ rtgui_notebook_add(notebook, "Tab 1", RTGUI_WIDGET(box));
- box = rtgui_listbox_create(items2, sizeof(items2)/sizeof(struct rtgui_listbox_item), &rect);
- rtgui_notebook_add(notebook, "Tab 2", RTGUI_WIDGET(box));
+ box = rtgui_listbox_create(items2, sizeof(items2) / sizeof(struct rtgui_listbox_item), &rect);
+ rtgui_notebook_add(notebook, "Tab 2", RTGUI_WIDGET(box));
- return container;
+ return container;
}
diff --git a/examples/gui/demo_view_progressbar.c b/examples/gui/demo_view_progressbar.c
index 40eede7a89..1f890c41e2 100644
--- a/examples/gui/demo_view_progressbar.c
+++ b/examples/gui/demo_view_progressbar.c
@@ -3,74 +3,81 @@
#include <rtgui/widgets/label.h>
#include <rtgui/widgets/progressbar.h>
-static rtgui_progressbar_t* hbar;
-static rtgui_progressbar_t* vbar;
+static rtgui_progressbar_t *hbar;
+static rtgui_progressbar_t *vbar;
static rtgui_timer_t *bar_timer = RT_NULL;
-void progressbar_timeout(struct rtgui_timer* timer, void* parameter)
+void progressbar_timeout(struct rtgui_timer *timer, void *parameter)
{
- static rt_uint32_t value = 0;
+ static rt_uint32_t value = 0;
- value++;
- if (value == 100)
- value = 0;
+ value++;
+ if (value == 100)
+ value = 0;
- rtgui_progressbar_set_value(hbar, value);
- rtgui_progressbar_set_value(vbar, value);
+ rtgui_progressbar_set_value(hbar, value);
+ rtgui_progressbar_set_value(vbar, value);
}
static rt_bool_t start_timer(struct rtgui_object *object, struct rtgui_event *event)
{
- if (bar_timer != RT_NULL)
- rtgui_timer_start(bar_timer);
- return RT_TRUE;
+ if (bar_timer != RT_NULL)
+ rtgui_timer_start(bar_timer);
+ return RT_TRUE;
}
static rt_bool_t stop_timer(struct rtgui_object *object, struct rtgui_event *event)
{
- if (bar_timer != RT_NULL)
- rtgui_timer_stop(bar_timer);
- return RT_TRUE;
+ if (bar_timer != RT_NULL)
+ rtgui_timer_stop(bar_timer);
+ return RT_TRUE;
}
rtgui_container_t *demo_view_progressbar(void)
{
- rtgui_container_t *container;
- rtgui_rect_t rect;
- rtgui_label_t *label;
+ rtgui_container_t *container;
+ rtgui_rect_t rect;
+ rtgui_label_t *label;
- /* create a demo container */
- container = demo_view("ProgressBar View");
+ /* create a demo container */
+ container = demo_view("ProgressBar View");
- /* get demo container rect */
- demo_view_get_rect(container, &rect);
- label = rtgui_label_create("ˮƽ������:");
- rtgui_container_add_child(container, RTGUI_WIDGET(label));
- rect.x1 += 5; rect.x2 -= 5;
- rect.y1 += 5; rect.y2 = rect.y1 + 18;
- rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
- rect.y1 += 20; rect.y2 = rect.y1 + 18;
- hbar = rtgui_progressbar_create(RTGUI_HORIZONTAL, 100, &rect);
- rtgui_container_add_child(container, RTGUI_WIDGET(hbar));
+ /* get demo container rect */
+ demo_view_get_rect(container, &rect);
+ label = rtgui_label_create("ˮƽ������:");
+ rtgui_container_add_child(container, RTGUI_WIDGET(label));
+ rect.x1 += 5;
+ rect.x2 -= 5;
+ rect.y1 += 5;
+ rect.y2 = rect.y1 + 18;
+ rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
+ rect.y1 += 20;
+ rect.y2 = rect.y1 + 18;
+ hbar = rtgui_progressbar_create(RTGUI_HORIZONTAL, 100, &rect);
+ rtgui_container_add_child(container, RTGUI_WIDGET(hbar));
- /* get demo container rect */
- demo_view_get_rect(container, &rect);
- label = rtgui_label_create("��ֱ������:");
- rtgui_container_add_child(container, RTGUI_WIDGET(label));
- rect.x1 += 5; rect.x2 -= 5;
- rect.y1 += 45; rect.y2 = rect.y1 + 18;
- rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
- rect.x1 += 110; rect.x2 = rect.x1 + 20;
- rect.y1 += 18 + 5; rect.y2 = rect.y1 + 150;
- vbar = rtgui_progressbar_create(RTGUI_VERTICAL, 100, &rect);
- rtgui_container_add_child(container, RTGUI_WIDGET(vbar));
+ /* get demo container rect */
+ demo_view_get_rect(container, &rect);
+ label = rtgui_label_create("��ֱ������:");
+ rtgui_container_add_child(container, RTGUI_WIDGET(label));
+ rect.x1 += 5;
+ rect.x2 -= 5;
+ rect.y1 += 45;
+ rect.y2 = rect.y1 + 18;
+ rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
+ rect.x1 += 110;
+ rect.x2 = rect.x1 + 20;
+ rect.y1 += 18 + 5;
+ rect.y2 = rect.y1 + 150;
+ vbar = rtgui_progressbar_create(RTGUI_VERTICAL, 100, &rect);
+ rtgui_container_add_child(container, RTGUI_WIDGET(vbar));
- bar_timer = rtgui_timer_create(50, RT_TIMER_FLAG_PERIODIC,
- progressbar_timeout, RT_NULL);
+ bar_timer = rtgui_timer_create(50, RT_TIMER_FLAG_PERIODIC,
+ progressbar_timeout, RT_NULL);
- rtgui_widget_set_onshow(RTGUI_WIDGET(container), start_timer);
- rtgui_widget_set_onhide(RTGUI_WIDGET(container), stop_timer);
+ rtgui_widget_set_onshow(RTGUI_WIDGET(container), start_timer);
+ rtgui_widget_set_onhide(RTGUI_WIDGET(container), stop_timer);
- return container;
+ return container;
}
diff --git a/examples/gui/demo_view_radiobox.c b/examples/gui/demo_view_radiobox.c
index 1fa8b36f15..45fe343a5a 100644
--- a/examples/gui/demo_view_radiobox.c
+++ b/examples/gui/demo_view_radiobox.c
@@ -8,62 +8,62 @@
#include <rtgui/widgets/radiobox.h>
/* 用于显示垂直方向的radio文本项数组 */
-static char* radio_item_v[5] =
- {
- "one",
- "two",
- "three",
- "item 1",
- "item 2"
- };
+static char *radio_item_v[5] =
+{
+ "one",
+ "two",
+ "three",
+ "item 1",
+ "item 2"
+};
/* 用于显示水平方向的radio文本项数组 */
-static char* radio_item_h[3] =
- {
- "one", "two", "three"
- };
+static char *radio_item_h[3] =
+{
+ "one", "two", "three"
+};
/* 创建用于演示radiobox控件的视图 */
-rtgui_container_t* demo_view_radiobox(void)
+rtgui_container_t *demo_view_radiobox(void)
{
- rtgui_rect_t rect;
- rtgui_container_t* container;
- rtgui_radiobox_t* radiobox;
+ rtgui_rect_t rect;
+ rtgui_container_t *container;
+ rtgui_radiobox_t *radiobox;
- /* 先创建一个演示用的视图 */
- container = demo_view("RadioBox View");
+ /* 先创建一个演示用的视图 */
+ container = demo_view("RadioBox View");
- /* 获得视图的位置信息 */
- demo_view_get_rect(container, &rect);
- rect.x1 += 5;
- rect.x2 -= 5;
- rect.y1 += 5;
- rect.y2 = rect.y1 + 5 * 25;
+ /* 获得视图的位置信息 */
+ demo_view_get_rect(container, &rect);
+ rect.x1 += 5;
+ rect.x2 -= 5;
+ rect.y1 += 5;
+ rect.y2 = rect.y1 + 5 * 25;
- /* 创建一个垂直方向显示的radiobox控件,文本项是radio_item_v数组,共5个项 */
- radiobox = rtgui_radiobox_create("Radio Box", RTGUI_VERTICAL, radio_item_v, 5);
- /* 设置当前选择的数组是第0项 */
- rtgui_radiobox_set_selection(radiobox, 0);
- /* 添加radiobox控件到视图中 */
- rtgui_container_add_child(container, RTGUI_WIDGET(radiobox));
- /* 设置radiobox控件的位置信息 */
- rtgui_widget_set_rect(RTGUI_WIDGET(radiobox), &rect);
+ /* 创建一个垂直方向显示的radiobox控件,文本项是radio_item_v数组,共5个项 */
+ radiobox = rtgui_radiobox_create("Radio Box", RTGUI_VERTICAL, radio_item_v, 5);
+ /* 设置当前选择的数组是第0项 */
+ rtgui_radiobox_set_selection(radiobox, 0);
+ /* 添加radiobox控件到视图中 */
+ rtgui_container_add_child(container, RTGUI_WIDGET(radiobox));
+ /* 设置radiobox控件的位置信息 */
+ rtgui_widget_set_rect(RTGUI_WIDGET(radiobox), &rect);
- /* 获得视图的位置信息 */
- demo_view_get_rect(container, &rect);
- rect.x1 += 5;
- rect.x2 -= 5;
- rect.y1 += 5 + 5 * 25;
- rect.y2 = rect.y1 + 60;
+ /* 获得视图的位置信息 */
+ demo_view_get_rect(container, &rect);
+ rect.x1 += 5;
+ rect.x2 -= 5;
+ rect.y1 += 5 + 5 * 25;
+ rect.y2 = rect.y1 + 60;
- /* 创建一个水平方向显示的radiobox控件,文本项是radio_item_h数组,共3个项 */
- radiobox = rtgui_radiobox_create("Radio Box", RTGUI_HORIZONTAL, radio_item_h, 3);
- /* 设置当前选择的数组是第0项 */
- rtgui_radiobox_set_selection(radiobox, 0);
- /* 添加radiobox控件到视图中 */
- rtgui_container_add_child(container, RTGUI_WIDGET(radiobox));
- /* 设置radiobox控件的位置信息 */
- rtgui_widget_set_rect(RTGUI_WIDGET(radiobox), &rect);
+ /* 创建一个水平方向显示的radiobox控件,文本项是radio_item_h数组,共3个项 */
+ radiobox = rtgui_radiobox_create("Radio Box", RTGUI_HORIZONTAL, radio_item_h, 3);
+ /* 设置当前选择的数组是第0项 */
+ rtgui_radiobox_set_selection(radiobox, 0);
+ /* 添加radiobox控件到视图中 */
+ rtgui_container_add_child(container, RTGUI_WIDGET(radiobox));
+ /* 设置radiobox控件的位置信息 */
+ rtgui_widget_set_rect(RTGUI_WIDGET(radiobox), &rect);
- return container;
+ return container;
}
diff --git a/examples/gui/demo_view_scrollbar.c b/examples/gui/demo_view_scrollbar.c
index db9b1a7e75..0835640714 100644
--- a/examples/gui/demo_view_scrollbar.c
+++ b/examples/gui/demo_view_scrollbar.c
@@ -5,39 +5,46 @@
rtgui_container_t *demo_view_scrollbar(void)
{
- rtgui_container_t *container;
- rtgui_rect_t rect;
- rtgui_label_t *label;
- rtgui_scrollbar_t* hbar;
- rtgui_scrollbar_t* vbar;
+ rtgui_container_t *container;
+ rtgui_rect_t rect;
+ rtgui_label_t *label;
+ rtgui_scrollbar_t *hbar;
+ rtgui_scrollbar_t *vbar;
- /* create a demo container */
- container = demo_view("ScrollBar View");
+ /* create a demo container */
+ container = demo_view("ScrollBar View");
- /* get demo container rect */
- demo_view_get_rect(container, &rect);
- label = rtgui_label_create("horizontal bar:");
- rtgui_container_add_child(container, RTGUI_WIDGET(label));
- rect.x1 += 5; rect.x2 -= 5;
- rect.y1 += 5; rect.y2 = rect.y1 + 18;
- rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
- rect.y1 += 20; rect.y2 = rect.y1 + 18;
- hbar = rtgui_scrollbar_create(RTGUI_HORIZONTAL, &rect);
- rtgui_container_add_child(container, RTGUI_WIDGET(hbar));
+ /* get demo container rect */
+ demo_view_get_rect(container, &rect);
+ label = rtgui_label_create("horizontal bar:");
+ rtgui_container_add_child(container, RTGUI_WIDGET(label));
+ rect.x1 += 5;
+ rect.x2 -= 5;
+ rect.y1 += 5;
+ rect.y2 = rect.y1 + 18;
+ rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
+ rect.y1 += 20;
+ rect.y2 = rect.y1 + 18;
+ hbar = rtgui_scrollbar_create(RTGUI_HORIZONTAL, &rect);
+ rtgui_container_add_child(container, RTGUI_WIDGET(hbar));
- /* get demo container rect */
- demo_view_get_rect(container, &rect);
- label = rtgui_label_create("vertical bar:");
- rtgui_container_add_child(container, RTGUI_WIDGET(label));
- rect.x1 += 5; rect.x2 -= 5;
- rect.y1 += 45; rect.y2 = rect.y1 + 18;
- rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
- rect.x1 += 110; rect.x2 = rect.x1 + 20;
- rect.y1 += 18 + 5; rect.y2 = rect.y1 + 150;
- vbar = rtgui_scrollbar_create(RTGUI_VERTICAL, &rect);
- rtgui_container_add_child(container, RTGUI_WIDGET(vbar));
- rtgui_scrollbar_set_line_step(vbar, 1);
- // RTGUI_WIDGET_DISABLE(RTGUI_WIDGET(vbar));
+ /* get demo container rect */
+ demo_view_get_rect(container, &rect);
+ label = rtgui_label_create("vertical bar:");
+ rtgui_container_add_child(container, RTGUI_WIDGET(label));
+ rect.x1 += 5;
+ rect.x2 -= 5;
+ rect.y1 += 45;
+ rect.y2 = rect.y1 + 18;
+ rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
+ rect.x1 += 110;
+ rect.x2 = rect.x1 + 20;
+ rect.y1 += 18 + 5;
+ rect.y2 = rect.y1 + 150;
+ vbar = rtgui_scrollbar_create(RTGUI_VERTICAL, &rect);
+ rtgui_container_add_child(container, RTGUI_WIDGET(vbar));
+ rtgui_scrollbar_set_line_step(vbar, 1);
+ // RTGUI_WIDGET_DISABLE(vbar);
- return container;
+ return container;
}
diff --git a/examples/gui/demo_view_slider.c b/examples/gui/demo_view_slider.c
index 62601989fc..32d98d9abc 100644
--- a/examples/gui/demo_view_slider.c
+++ b/examples/gui/demo_view_slider.c
@@ -5,38 +5,45 @@
rtgui_container_t *demo_view_slider(void)
{
- rtgui_container_t *container;
- rtgui_rect_t rect;
- rtgui_label_t *label;
- rtgui_slider_t *slider;
+ rtgui_container_t *container;
+ rtgui_rect_t rect;
+ rtgui_label_t *label;
+ rtgui_slider_t *slider;
- /* create a demo container */
- container = demo_view("Slider View");
+ /* create a demo container */
+ container = demo_view("Slider View");
- /* get demo container rect */
- demo_view_get_rect(container, &rect);
- label = rtgui_label_create("horizontal slider:");
- rtgui_container_add_child(container, RTGUI_WIDGET(label));
- rect.x1 += 5; rect.x2 -= 5;
- rect.y1 += 5; rect.y2 = rect.y1 + 18;
- rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
- rect.y1 += 20; rect.y2 = rect.y1 + 18;
- slider = rtgui_slider_create(0, 100, RTGUI_HORIZONTAL);
- rtgui_container_add_child(container, RTGUI_WIDGET(slider));
- rtgui_widget_set_rect(RTGUI_WIDGET(slider), &rect);
+ /* get demo container rect */
+ demo_view_get_rect(container, &rect);
+ label = rtgui_label_create("horizontal slider:");
+ rtgui_container_add_child(container, RTGUI_WIDGET(label));
+ rect.x1 += 5;
+ rect.x2 -= 5;
+ rect.y1 += 5;
+ rect.y2 = rect.y1 + 18;
+ rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
+ rect.y1 += 20;
+ rect.y2 = rect.y1 + 18;
+ slider = rtgui_slider_create(0, 100, RTGUI_HORIZONTAL);
+ rtgui_container_add_child(container, RTGUI_WIDGET(slider));
+ rtgui_widget_set_rect(RTGUI_WIDGET(slider), &rect);
- /* get demo container rect */
- demo_view_get_rect(container, &rect);
- label = rtgui_label_create("vertical slider:");
- rtgui_container_add_child(container, RTGUI_WIDGET(label));
- rect.x1 += 5; rect.x2 -= 5;
- rect.y1 += 50; rect.y2 = rect.y1 + 18;
- rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
- rect.x1 += 110; rect.x2 = rect.x1 + 20;
- rect.y1 += 18 + 5; rect.y2 = rect.y1 + 150;
- slider = rtgui_slider_create(0, 100, RTGUI_VERTICAL);
- rtgui_container_add_child(container, RTGUI_WIDGET(slider));
- rtgui_widget_set_rect(RTGUI_WIDGET(slider), &rect);
+ /* get demo container rect */
+ demo_view_get_rect(container, &rect);
+ label = rtgui_label_create("vertical slider:");
+ rtgui_container_add_child(container, RTGUI_WIDGET(label));
+ rect.x1 += 5;
+ rect.x2 -= 5;
+ rect.y1 += 50;
+ rect.y2 = rect.y1 + 18;
+ rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
+ rect.x1 += 110;
+ rect.x2 = rect.x1 + 20;
+ rect.y1 += 18 + 5;
+ rect.y2 = rect.y1 + 150;
+ slider = rtgui_slider_create(0, 100, RTGUI_VERTICAL);
+ rtgui_container_add_child(container, RTGUI_WIDGET(slider));
+ rtgui_widget_set_rect(RTGUI_WIDGET(slider), &rect);
- return container;
+ return container;
}
diff --git a/examples/gui/demo_view_textbox.c b/examples/gui/demo_view_textbox.c
index 574915c1af..2a6047563c 100644
--- a/examples/gui/demo_view_textbox.c
+++ b/examples/gui/demo_view_textbox.c
@@ -8,95 +8,95 @@
#include <rtgui/widgets/textbox.h>
/* ����������ʾtextbox�ؼ�����ͼ */
-rtgui_container_t* demo_view_textbox(void)
+rtgui_container_t *demo_view_textbox(void)
{
- rtgui_rect_t rect, textbox_rect;
- rtgui_container_t* container;
- rtgui_label_t* label;
- rtgui_textbox_t* text;
+ rtgui_rect_t rect, textbox_rect;
+ rtgui_container_t *container;
+ rtgui_label_t *label;
+ rtgui_textbox_t *text;
- /* �ȴ���һ����ʾ�õ���ͼ */
- container = demo_view("TextBox View");
+ /* �ȴ���һ����ʾ�õ���ͼ */
+ container = demo_view("TextBox View");
- /* �����ͼ��λ����Ϣ */
- demo_view_get_rect(container, &rect);
- rect.x1 += 5;
- rect.x2 = rect.x1 + 30;
- rect.y1 += 5;
- rect.y2 = rect.y1 + 20;
- /* ����һ��label�ؼ� */
- label = rtgui_label_create("����: ");
- /* ����label��� */
- rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
- rtgui_container_add_child(container, RTGUI_WIDGET(label));
+ /* �����ͼ��λ����Ϣ */
+ demo_view_get_rect(container, &rect);
+ rect.x1 += 5;
+ rect.x2 = rect.x1 + 30;
+ rect.y1 += 5;
+ rect.y2 = rect.y1 + 20;
+ /* ����һ��label�ؼ� */
+ label = rtgui_label_create("����: ");
+ /* ����label��� */
+ rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
+ rtgui_container_add_child(container, RTGUI_WIDGET(label));
- /* ��textbox_rect��ֵ��rect���Լ���textbox�ؼ���λ�� */
- textbox_rect = rect;
- textbox_rect.x1 = textbox_rect.x2 + 5;
- textbox_rect.x2 = textbox_rect.x1 + 160;
- /* ����һ��textbox�ؼ� */
- text = rtgui_textbox_create("bernard",RTGUI_TEXTBOX_SINGLE);
- /* ����textbox�ؼ���λ�� */
- rtgui_widget_set_rect(RTGUI_WIDGET(text), &textbox_rect);
- /* ����textbox�ؼ�����ͼ�� */
- rtgui_container_add_child(container, RTGUI_WIDGET(text));
+ /* ��textbox_rect��ֵ��rect���Լ���textbox�ؼ���λ�� */
+ textbox_rect = rect;
+ textbox_rect.x1 = textbox_rect.x2 + 5;
+ textbox_rect.x2 = textbox_rect.x1 + 160;
+ /* ����һ��textbox�ؼ� */
+ text = rtgui_textbox_create("bernard", RTGUI_TEXTBOX_SINGLE);
+ /* ����textbox�ؼ���λ�� */
+ rtgui_widget_set_rect(RTGUI_WIDGET(text), &textbox_rect);
+ /* ����textbox�ؼ�����ͼ�� */
+ rtgui_container_add_child(container, RTGUI_WIDGET(text));
- /* ������һ��label�ؼ���λ�� */
- rect.y1 += 23;
- rect.y2 = rect.y1 + 20;
- /* ����һ��label�ؼ� */
- label = rtgui_label_create("�ʼ�: ");
- /* ����label��� */
- rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
- /* ����label�ؼ�����ͼ�� */
- rtgui_container_add_child(container, RTGUI_WIDGET(label));
- textbox_rect = rect;
- textbox_rect.x1 = textbox_rect.x2 + 5;
- textbox_rect.x2 = textbox_rect.x1 + 160;
- /* ����һ��textbox�ؼ� */
- text = rtgui_textbox_create("[email protected]",RTGUI_TEXTBOX_SINGLE);
- /* ����textbox�ؼ���λ�� */
- rtgui_widget_set_rect(RTGUI_WIDGET(text), &textbox_rect);
- /* ����textbox�ؼ�����ͼ�� */
- rtgui_container_add_child(container, RTGUI_WIDGET(text));
+ /* ������һ��label�ؼ���λ�� */
+ rect.y1 += 23;
+ rect.y2 = rect.y1 + 20;
+ /* ����һ��label�ؼ� */
+ label = rtgui_label_create("�ʼ�: ");
+ /* ����label��� */
+ rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
+ /* ����label�ؼ�����ͼ�� */
+ rtgui_container_add_child(container, RTGUI_WIDGET(label));
+ textbox_rect = rect;
+ textbox_rect.x1 = textbox_rect.x2 + 5;
+ textbox_rect.x2 = textbox_rect.x1 + 160;
+ /* ����һ��textbox�ؼ� */
+ text = rtgui_textbox_create("[email protected]", RTGUI_TEXTBOX_SINGLE);
+ /* ����textbox�ؼ���λ�� */
+ rtgui_widget_set_rect(RTGUI_WIDGET(text), &textbox_rect);
+ /* ����textbox�ؼ�����ͼ�� */
+ rtgui_container_add_child(container, RTGUI_WIDGET(text));
- rect.y1 += 23;
- rect.y2 = rect.y1 + 20;
- /* ����һ��label�ؼ� */
- label = rtgui_label_create("����: ");
- /* ����label��� */
- rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
- /* ����label�ؼ�����ͼ�� */
- rtgui_container_add_child(container, RTGUI_WIDGET(label));
- textbox_rect = rect;
- textbox_rect.x1 = textbox_rect.x2 + 5;
- textbox_rect.x2 = textbox_rect.x1 + 160;
- /* ����һ��textbox�ؼ� */
- text = rtgui_textbox_create("rt-thread",RTGUI_TEXTBOX_SINGLE);
- /* ����textbox��ʾ�ı�Ϊ������ʽ(����ʾΪ*�ţ��ʺ�����ʾ��������) */
- text->flag |= RTGUI_TEXTBOX_MASK;
- /* ����textbox�ؼ���λ�� */
- rtgui_widget_set_rect(RTGUI_WIDGET(text), &textbox_rect);
- /* ����textbox�ؼ�����ͼ�� */
- rtgui_container_add_child(container, RTGUI_WIDGET(text));
+ rect.y1 += 23;
+ rect.y2 = rect.y1 + 20;
+ /* ����һ��label�ؼ� */
+ label = rtgui_label_create("����: ");
+ /* ����label��� */
+ rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
+ /* ����label�ؼ�����ͼ�� */
+ rtgui_container_add_child(container, RTGUI_WIDGET(label));
+ textbox_rect = rect;
+ textbox_rect.x1 = textbox_rect.x2 + 5;
+ textbox_rect.x2 = textbox_rect.x1 + 160;
+ /* ����һ��textbox�ؼ� */
+ text = rtgui_textbox_create("rt-thread", RTGUI_TEXTBOX_SINGLE);
+ /* ����textbox��ʾ�ı�Ϊ������ʽ(����ʾΪ*�ţ��ʺ�����ʾ��������) */
+ text->flag |= RTGUI_TEXTBOX_MASK;
+ /* ����textbox�ؼ���λ�� */
+ rtgui_widget_set_rect(RTGUI_WIDGET(text), &textbox_rect);
+ /* ����textbox�ؼ�����ͼ�� */
+ rtgui_container_add_child(container, RTGUI_WIDGET(text));
- rect.y1 += 23;
- rect.y2 = rect.y1 + 20;
- /* ����һ��label�ؼ� */
- label = rtgui_label_create("��ҳ: ");
- /* ����label��� */
- rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
- /* ����label�ؼ�����ͼ�� */
- rtgui_container_add_child(container, RTGUI_WIDGET(label));
- textbox_rect = rect;
- textbox_rect.x1 = textbox_rect.x2 + 5;
- textbox_rect.x2 = textbox_rect.x1 + 160;
- /* ����һ��textbox�ؼ� */
- text = rtgui_textbox_create("http://www.rt-thread.org",RTGUI_TEXTBOX_SINGLE);
- /* ����textbox�ؼ���λ�� */
- rtgui_widget_set_rect(RTGUI_WIDGET(text), &textbox_rect);
- /* ����textbox�ؼ�����ͼ�� */
- rtgui_container_add_child(container, RTGUI_WIDGET(text));
+ rect.y1 += 23;
+ rect.y2 = rect.y1 + 20;
+ /* ����һ��label�ؼ� */
+ label = rtgui_label_create("��ҳ: ");
+ /* ����label��� */
+ rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
+ /* ����label�ؼ�����ͼ�� */
+ rtgui_container_add_child(container, RTGUI_WIDGET(label));
+ textbox_rect = rect;
+ textbox_rect.x1 = textbox_rect.x2 + 5;
+ textbox_rect.x2 = textbox_rect.x1 + 160;
+ /* ����һ��textbox�ؼ� */
+ text = rtgui_textbox_create("http://www.rt-thread.org", RTGUI_TEXTBOX_SINGLE);
+ /* ����textbox�ؼ���λ�� */
+ rtgui_widget_set_rect(RTGUI_WIDGET(text), &textbox_rect);
+ /* ����textbox�ؼ�����ͼ�� */
+ rtgui_container_add_child(container, RTGUI_WIDGET(text));
- return container;
+ return container;
}
diff --git a/examples/gui/demo_view_ttf.c b/examples/gui/demo_view_ttf.c
index 87cc3095bd..09820ef889 100644
--- a/examples/gui/demo_view_ttf.c
+++ b/examples/gui/demo_view_ttf.c
@@ -15,84 +15,84 @@ static rtgui_font_t *font_16, *font_24, *font_36, *font_48;
/*
* container���¼���������
*/
-rt_bool_t ttf_event_handler(struct rtgui_object* object, rtgui_event_t *event)
+rt_bool_t ttf_event_handler(struct rtgui_object *object, rtgui_event_t *event)
{
- struct rtgui_widget *widget = RTGUI_WIDGET(object);
+ struct rtgui_widget *widget = RTGUI_WIDGET(object);
- /* ����PAINT�¼����д��� */
- if (event->type == RTGUI_EVENT_PAINT)
- {
- struct rtgui_dc* dc;
- rtgui_rect_t rect;
- rtgui_font_t* saved;
+ /* ����PAINT�¼����д��� */
+ if (event->type == RTGUI_EVENT_PAINT)
+ {
+ struct rtgui_dc *dc;
+ rtgui_rect_t rect;
+ rtgui_font_t *saved;
- /*
- * ��Ϊ�õ���demo container�����汾����һ���ֿؼ��������ڻ�ͼʱ��Ҫ��demo container
- * �Ȼ�ͼ
- */
- rtgui_container_event_handler(widget, event);
+ /*
+ * ��Ϊ�õ���demo container�����汾����һ���ֿؼ��������ڻ�ͼʱ��Ҫ��demo container
+ * �Ȼ�ͼ
+ */
+ rtgui_container_event_handler(widget, event);
- /************************************************************************/
- /* �������DC�IJ��� */
- /************************************************************************/
+ /************************************************************************/
+ /* �������DC�IJ��� */
+ /************************************************************************/
- /* ��ÿؼ�������DC */
- dc = rtgui_dc_begin_drawing(widget);
- /* ��������������DC�����أ�����ؼ��򸸿ؼ�������״̬��DC�ǻ�ȡ���ɹ��ģ� */
- if (dc == RT_NULL)
- return RT_FALSE;
+ /* ��ÿؼ�������DC */
+ dc = rtgui_dc_begin_drawing(widget);
+ /* ��������������DC�����أ�����ؼ��򸸿ؼ�������״̬��DC�ǻ�ȡ���ɹ��ģ� */
+ if (dc == RT_NULL)
+ return RT_FALSE;
- /* ���demo container������ͼ������ */
- demo_view_get_rect(RTGUI_CONTAINER(widget), &rect);
+ /* ���demo container������ͼ������ */
+ demo_view_get_rect(RTGUI_CONTAINER(widget), &rect);
- saved = RTGUI_WIDGET_FONT(widget);
+ saved = RTGUI_WIDGET_FONT(widget);
- RTGUI_WIDGET_FONT(widget) = font_16;
- rtgui_dc_draw_text(dc, "ABCD����", &rect);
- rect.y1 += 18;
+ RTGUI_WIDGET_FONT(widget) = font_16;
+ rtgui_dc_draw_text(dc, "ABCD����", &rect);
+ rect.y1 += 18;
- RTGUI_WIDGET_FONT(widget) = font_24;
- rtgui_dc_draw_text(dc, "ABCD����", &rect);
- rect.y1 += 26;
+ RTGUI_WIDGET_FONT(widget) = font_24;
+ rtgui_dc_draw_text(dc, "ABCD����", &rect);
+ rect.y1 += 26;
- RTGUI_WIDGET_FONT(widget) = font_36;
- rtgui_dc_draw_text(dc, "ABCD����", &rect);
- rect.y1 += 38;
+ RTGUI_WIDGET_FONT(widget) = font_36;
+ rtgui_dc_draw_text(dc, "ABCD����", &rect);
+ rect.y1 += 38;
- RTGUI_WIDGET_FONT(widget) = font_48;
- rtgui_dc_draw_text(dc, "ABCD����", &rect);
+ RTGUI_WIDGET_FONT(widget) = font_48;
+ rtgui_dc_draw_text(dc, "ABCD����", &rect);
- RTGUI_WIDGET_FONT(widget) = saved;
- /* ��ͼ��� */
- rtgui_dc_end_drawing(dc);
- }
- else
- {
- /* �����¼�������Ĭ�ϵ��¼��������� */
- return rtgui_container_event_handler(widget, event);
- }
+ RTGUI_WIDGET_FONT(widget) = saved;
+ /* ��ͼ��� */
+ rtgui_dc_end_drawing(dc);
+ }
+ else
+ {
+ /* �����¼�������Ĭ�ϵ��¼��������� */
+ return rtgui_container_event_handler(widget, event);
+ }
- return RT_FALSE;
+ return RT_FALSE;
}
/* ��������TTF������ʾ��ʾ�õ���ͼ */
rtgui_container_t *demo_view_ttf()
{
- rtgui_container_t *container;
+ rtgui_container_t *container;
- font_16 = rtgui_freetype_font_create("d:/simsun.ttf", 0, 0, 16);
- font_24 = rtgui_freetype_font_create("d:/simsun.ttf", 0, 0, 24);
- font_36 = rtgui_freetype_font_create("d:/simsun.ttf", 0, 0, 36);
- font_48 = rtgui_freetype_font_create("d:/simsun.TTF", 0, 0, 72);
+ font_16 = rtgui_freetype_font_create("d:/simsun.ttf", 0, 0, 16);
+ font_24 = rtgui_freetype_font_create("d:/simsun.ttf", 0, 0, 24);
+ font_36 = rtgui_freetype_font_create("d:/simsun.ttf", 0, 0, 36);
+ font_48 = rtgui_freetype_font_create("d:/simsun.TTF", 0, 0, 72);
- container = demo_view("TTF ��ʾ");
- if (container != RT_NULL)
- {
- RTGUI_WIDGET_BACKGROUND(RTGUI_WIDGET(container)) = white;
- /* ���ó��Լ����¼��������� */
- rtgui_object_set_event_handler(RTGUI_OBJECT(container), ttf_event_handler);
- }
+ container = demo_view("TTF ��ʾ");
+ if (container != RT_NULL)
+ {
+ RTGUI_WIDGET_BACKGROUND(container) = white;
+ /* ���ó��Լ����¼��������� */
+ rtgui_object_set_event_handler(RTGUI_OBJECT(container), ttf_event_handler);
+ }
- return container;
+ return container;
}
#endif
diff --git a/examples/gui/demo_view_window.c b/examples/gui/demo_view_window.c
index 46616ab52e..975882e37d 100644
--- a/examples/gui/demo_view_window.c
+++ b/examples/gui/demo_view_window.c
@@ -13,8 +13,8 @@
#include <string.h>
static struct rtgui_timer *timer;
-static struct rtgui_label* label;
-static struct rtgui_win* msgbox = RT_NULL;
+static struct rtgui_label *label;
+static struct rtgui_win *msgbox = RT_NULL;
static char label_text[80];
static rt_uint8_t cnt = 5;
@@ -25,7 +25,7 @@ static unsigned char normal_window_show_count = 1;
extern struct rtgui_win *main_win;
static rt_bool_t normal_window_onclose(struct rtgui_object *win,
- struct rtgui_event *event)
+ struct rtgui_event *event)
{
normal_window_show_count++;
@@ -34,261 +34,265 @@ static rt_bool_t normal_window_onclose(struct rtgui_object *win,
static void create_normal_win(void)
{
- rtgui_rect_t rect = {30, 40, 150, 80};
+ rtgui_rect_t rect = {30, 40, 150, 80};
- normal_window = rtgui_win_create(RT_NULL, "��ͨ����",
- &rect, RTGUI_WIN_STYLE_DEFAULT);
+ normal_window = rtgui_win_create(RT_NULL, "��ͨ����",
+ &rect, RTGUI_WIN_STYLE_DEFAULT);
- rect.x1 += 20;
- rect.x2 -= 5;
- rect.y1 += 5;
- rect.y2 = rect.y1 + 20;
+ rect.x1 += 20;
+ rect.x2 -= 5;
+ rect.y1 += 5;
+ rect.y2 = rect.y1 + 20;
- /* ����һ���ı���ǩ */
+ /* ����һ���ı���ǩ */
rt_sprintf(normal_window_label_text,
- "�� %d ����ʾ", normal_window_show_count);
- normal_window_label = rtgui_label_create(normal_window_label_text);
- rtgui_widget_set_rect(RTGUI_WIDGET(normal_window_label), &rect);
- rtgui_container_add_child(RTGUI_CONTAINER(normal_window),
- RTGUI_WIDGET(normal_window_label));
+ "�� %d ����ʾ", normal_window_show_count);
+ normal_window_label = rtgui_label_create(normal_window_label_text);
+ rtgui_widget_set_rect(RTGUI_WIDGET(normal_window_label), &rect);
+ rtgui_container_add_child(RTGUI_CONTAINER(normal_window),
+ RTGUI_WIDGET(normal_window_label));
rtgui_win_set_onclose(normal_window,
normal_window_onclose);
}
/* ��������������ʾ */
-static void demo_normal_window_onbutton(struct rtgui_object* object, rtgui_event_t* event)
+static void demo_normal_window_onbutton(struct rtgui_object *object, rtgui_event_t *event)
{
rt_sprintf(normal_window_label_text,
- "�� %d ����ʾ", normal_window_show_count);
+ "�� %d ����ʾ", normal_window_show_count);
rtgui_label_set_text(normal_window_label,
normal_window_label_text);
- if (RTGUI_WIDGET_IS_HIDE(RTGUI_WIDGET(normal_window)))
+ if (RTGUI_WIDGET_IS_HIDE(normal_window))
rtgui_win_show(normal_window, RT_FALSE);
else
rtgui_win_activate(normal_window);
}
/* ��ȡһ�������Ĵ��ڱ��� */
-static char* get_win_title()
+static char *get_win_title()
{
- static rt_uint8_t win_no = 0;
- static char win_title[16];
+ static rt_uint8_t win_no = 0;
+ static char win_title[16];
- rt_sprintf(win_title, "���� %d", ++win_no);
- return win_title;
+ rt_sprintf(win_title, "���� %d", ++win_no);
+ return win_title;
}
/* �رնԻ���ʱ�Ļص����� */
-void diag_close(struct rtgui_timer* timer, void* parameter)
+void diag_close(struct rtgui_timer *timer, void *parameter)
{
- cnt --;
- rt_sprintf(label_text, "closed then %d second!", cnt);
+ cnt --;
+ rt_sprintf(label_text, "closed then %d second!", cnt);
- /* ���ñ�ǩ�ı������¿ؼ� */
- rtgui_label_set_text(label, label_text);
- rtgui_widget_update(RTGUI_WIDGET(label));
+ /* ���ñ�ǩ�ı������¿ؼ� */
+ rtgui_label_set_text(label, label_text);
+ rtgui_widget_update(RTGUI_WIDGET(label));
- if (cnt == 0)
- {
- /* ��ʱ���رնԻ��� */
- rtgui_win_destroy(msgbox);
- }
+ if (cnt == 0)
+ {
+ /* ��ʱ���رնԻ��� */
+ rtgui_win_destroy(msgbox);
+ }
}
/* AUTO���ڹر�ʱ���¼����� */
-rt_bool_t auto_window_close(struct rtgui_object* object, struct rtgui_event* event)
+rt_bool_t auto_window_close(struct rtgui_object *object, struct rtgui_event *event)
{
- if (timer != RT_NULL)
- {
- /* ֹͣ��ɾ����ʱ�� */
- rtgui_timer_stop(timer);
- rtgui_timer_destory(timer);
+ if (timer != RT_NULL)
+ {
+ /* ֹͣ��ɾ����ʱ�� */
+ rtgui_timer_stop(timer);
+ rtgui_timer_destory(timer);
- timer = RT_NULL;
- }
+ timer = RT_NULL;
+ }
- return RT_TRUE;
+ return RT_TRUE;
}
static rt_uint16_t delta_x = 20;
static rt_uint16_t delta_y = 40;
/* �����Զ�������ʾ */
-static void demo_autowin_onbutton(struct rtgui_object* object, rtgui_event_t* event)
+static void demo_autowin_onbutton(struct rtgui_object *object, rtgui_event_t *event)
{
- struct rtgui_rect rect ={50, 50, 200, 200};
+ struct rtgui_rect rect = {50, 50, 200, 200};
+
+ /* don't create the window twice */
+ if (msgbox)
+ return;
- msgbox = rtgui_win_create(main_win, "Information",
- &rect, RTGUI_WIN_STYLE_DEFAULT | RTGUI_WIN_STYLE_DESTROY_ON_CLOSE);
- if (msgbox == RT_NULL)
- return;
+ msgbox = rtgui_win_create(main_win, "Information",
+ &rect, RTGUI_WIN_STYLE_DEFAULT | RTGUI_WIN_STYLE_DESTROY_ON_CLOSE);
+ if (msgbox == RT_NULL)
+ return;
- cnt = 5;
- rt_sprintf(label_text, "closed then %d second!", cnt);
- label = rtgui_label_create(label_text);
- rect.x1 += 5;
- rect.x2 -= 5;
- rect.y1 += 5;
- rect.y2 = rect.y1 + 20;
- rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
- rtgui_container_add_child(RTGUI_CONTAINER(msgbox),
- RTGUI_WIDGET(label));
+ cnt = 5;
+ rt_sprintf(label_text, "closed then %d second!", cnt);
+ label = rtgui_label_create(label_text);
+ rect.x1 += 5;
+ rect.x2 -= 5;
+ rect.y1 += 5;
+ rect.y2 = rect.y1 + 20;
+ rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
+ rtgui_container_add_child(RTGUI_CONTAINER(msgbox),
+ RTGUI_WIDGET(label));
- /* ���ùرմ���ʱ�Ķ��� */
- rtgui_win_set_onclose(msgbox, auto_window_close);
+ /* ���ùرմ���ʱ�Ķ��� */
+ rtgui_win_set_onclose(msgbox, auto_window_close);
- rtgui_win_show(msgbox, RT_FALSE);
- /* ����һ����ʱ�� */
- timer = rtgui_timer_create(100, RT_TIMER_FLAG_PERIODIC, diag_close, RT_NULL);
- rtgui_timer_start(timer);
+ rtgui_win_show(msgbox, RT_FALSE);
+ /* ����һ����ʱ�� */
+ timer = rtgui_timer_create(100, RT_TIMER_FLAG_PERIODIC, diag_close, RT_NULL);
+ rtgui_timer_start(timer);
}
/* ����ģ̬������ʾ */
-static void demo_modalwin_onbutton(struct rtgui_object* object, rtgui_event_t* event)
+static void demo_modalwin_onbutton(struct rtgui_object *object, rtgui_event_t *event)
{
- rtgui_win_t *win;
- rtgui_label_t *label;
- rtgui_rect_t rect = {0, 0, 150, 80};
+ rtgui_win_t *win;
+ rtgui_label_t *label;
+ rtgui_rect_t rect = {0, 0, 150, 80};
- rtgui_rect_moveto(&rect, delta_x, delta_y);
- delta_x += 20;
- delta_y += 20;
+ rtgui_rect_moveto(&rect, delta_x, delta_y);
+ delta_x += 20;
+ delta_y += 20;
- /* ����һ������ */
- win = rtgui_win_create(main_win,
- get_win_title(), &rect, RTGUI_WIN_STYLE_DEFAULT);
+ /* ����һ������ */
+ win = rtgui_win_create(main_win,
+ get_win_title(), &rect, RTGUI_WIN_STYLE_DEFAULT);
- rect.x1 += 20;
- rect.x2 -= 5;
- rect.y1 += 5;
- rect.y2 = rect.y1 + 20;
+ rect.x1 += 20;
+ rect.x2 -= 5;
+ rect.y1 += 5;
+ rect.y2 = rect.y1 + 20;
- label = rtgui_label_create("����һ��ģʽ����");
- rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
- rtgui_container_add_child(RTGUI_CONTAINER(win), RTGUI_WIDGET(label));
+ label = rtgui_label_create("����һ��ģʽ����");
+ rtgui_widget_set_rect(RTGUI_WIDGET(label), &rect);
+ rtgui_container_add_child(RTGUI_CONTAINER(win), RTGUI_WIDGET(label));
- /* ģ̬��ʾ���� */
- rtgui_win_show(win, RT_TRUE);
+ /* ģ̬��ʾ���� */
+ rtgui_win_show(win, RT_TRUE);
/* ɾ�����Զ�ɾ������ */
- rtgui_win_destroy(win);
+ rtgui_win_destroy(win);
}
-static void demo_close_ntitle_window(struct rtgui_object* object, rtgui_event_t* event)
+static void demo_close_ntitle_window(struct rtgui_object *object, rtgui_event_t *event)
{
- rtgui_win_t* win;
+ rtgui_win_t *win;
- /* ������ؼ� */
- win = RTGUI_WIN(rtgui_widget_get_toplevel(RTGUI_WIDGET(object)));
+ /* ������ؼ� */
+ win = RTGUI_WIN(rtgui_widget_get_toplevel(RTGUI_WIDGET(object)));
- /* ���ٴ��� */
- rtgui_win_destroy(win);
+ /* ���ٴ��� */
+ rtgui_win_destroy(win);
}
/* �����ޱ��ⴰ����ʾ */
-static void demo_ntitlewin_onbutton(struct rtgui_object* object, rtgui_event_t* event)
+static void demo_ntitlewin_onbutton(struct rtgui_object *object, rtgui_event_t *event)
{
- rtgui_win_t *win;
- rtgui_label_t *label;
- rtgui_button_t *button;
- rtgui_rect_t widget_rect, rect = {0, 0, 150, 80};
+ rtgui_win_t *win;
+ rtgui_label_t *label;
+ rtgui_button_t *button;
+ rtgui_rect_t widget_rect, rect = {0, 0, 150, 80};
- rtgui_rect_moveto(&rect, delta_x, delta_y);
- delta_x += 20;
- delta_y += 20;
+ rtgui_rect_moveto(&rect, delta_x, delta_y);
+ delta_x += 20;
+ delta_y += 20;
- /* ����һ�����ڣ����Ϊ�ޱ��⼰�ޱ߿� */
- win = rtgui_win_create(main_win,
- "no title", &rect, RTGUI_WIN_STYLE_NO_TITLE |
- RTGUI_WIN_STYLE_NO_BORDER |
- RTGUI_WIN_STYLE_DESTROY_ON_CLOSE);
- RTGUI_WIDGET_BACKGROUND(RTGUI_WIDGET(win)) = white;
+ /* ����һ�����ڣ����Ϊ�ޱ��⼰�ޱ߿� */
+ win = rtgui_win_create(main_win,
+ "no title", &rect, RTGUI_WIN_STYLE_NO_TITLE |
+ RTGUI_WIN_STYLE_NO_BORDER |
+ RTGUI_WIN_STYLE_DESTROY_ON_CLOSE);
+ RTGUI_WIDGET_BACKGROUND(win) = white;
- /* ����һ���ı���ǩ */
- label = rtgui_label_create("�ޱ߿򴰿�");
- rtgui_font_get_metrics(RTGUI_WIDGET_FONT(RTGUI_WIDGET(label)), "�ޱ߿򴰿�", &widget_rect);
- rtgui_rect_moveto_align(&rect, &widget_rect, RTGUI_ALIGN_CENTER_HORIZONTAL);
- widget_rect.y1 += 20;
- widget_rect.y2 += 20;
- rtgui_widget_set_rect(RTGUI_WIDGET(label), &widget_rect);
- rtgui_container_add_child(RTGUI_CONTAINER(win), RTGUI_WIDGET(label));
- RTGUI_WIDGET_BACKGROUND(RTGUI_WIDGET(label)) = white;
+ /* ����һ���ı���ǩ */
+ label = rtgui_label_create("�ޱ߿򴰿�");
+ rtgui_font_get_metrics(RTGUI_WIDGET_FONT(label), "�ޱ߿򴰿�", &widget_rect);
+ rtgui_rect_moveto_align(&rect, &widget_rect, RTGUI_ALIGN_CENTER_HORIZONTAL);
+ widget_rect.y1 += 20;
+ widget_rect.y2 += 20;
+ rtgui_widget_set_rect(RTGUI_WIDGET(label), &widget_rect);
+ rtgui_container_add_child(RTGUI_CONTAINER(win), RTGUI_WIDGET(label));
+ RTGUI_WIDGET_BACKGROUND(label) = white;
- /* ����һ���رհ�ť */
- widget_rect.x1 = 0;
- widget_rect.y1 = 0;
- widget_rect.x2 = 40;
- widget_rect.y2 = 20;
- rtgui_rect_moveto_align(&rect, &widget_rect, RTGUI_ALIGN_CENTER_HORIZONTAL);
- widget_rect.y1 += 40;
- widget_rect.y2 += 40;
- button = rtgui_button_create("�ر�");
- rtgui_widget_set_rect(RTGUI_WIDGET(button), &widget_rect);
- rtgui_container_add_child(RTGUI_CONTAINER(win), RTGUI_WIDGET(button));
- rtgui_button_set_onbutton(button, demo_close_ntitle_window);
+ /* ����һ���رհ�ť */
+ widget_rect.x1 = 0;
+ widget_rect.y1 = 0;
+ widget_rect.x2 = 40;
+ widget_rect.y2 = 20;
+ rtgui_rect_moveto_align(&rect, &widget_rect, RTGUI_ALIGN_CENTER_HORIZONTAL);
+ widget_rect.y1 += 40;
+ widget_rect.y2 += 40;
+ button = rtgui_button_create("�ر�");
+ rtgui_widget_set_rect(RTGUI_WIDGET(button), &widget_rect);
+ rtgui_container_add_child(RTGUI_CONTAINER(win), RTGUI_WIDGET(button));
+ rtgui_button_set_onbutton(button, demo_close_ntitle_window);
- rtgui_win_show(win, RT_FALSE);
+ rtgui_win_show(win, RT_FALSE);
}
-rtgui_container_t* demo_view_window(void)
+rtgui_container_t *demo_view_window(void)
{
- rtgui_rect_t rect;
- rtgui_container_t* container;
- rtgui_button_t *button;
+ rtgui_rect_t rect;
+ rtgui_container_t *container;
+ rtgui_button_t *button;
- /* ����һ����ʾ�õ���ͼ */
- container = demo_view("Window Demo");
+ /* ����һ����ʾ�õ���ͼ */
+ container = demo_view("Window Demo");
create_normal_win();
- demo_view_get_rect(container, &rect);
- rect.x1 += 5;
- rect.x2 = rect.x1 + 100;
- rect.y1 += 5;
- rect.y2 = rect.y1 + 20;
- /* ������ť������ʾ�������� */
- button = rtgui_button_create("Normal Win");
- rtgui_widget_set_rect(RTGUI_WIDGET(button), &rect);
- rtgui_container_add_child(RTGUI_CONTAINER(container), RTGUI_WIDGET(button));
- /* ����onbuttonΪdemo_win_onbutton���� */
- rtgui_button_set_onbutton(button, demo_normal_window_onbutton);
+ demo_view_get_rect(container, &rect);
+ rect.x1 += 5;
+ rect.x2 = rect.x1 + 100;
+ rect.y1 += 5;
+ rect.y2 = rect.y1 + 20;
+ /* ������ť������ʾ�������� */
+ button = rtgui_button_create("Normal Win");
+ rtgui_widget_set_rect(RTGUI_WIDGET(button), &rect);
+ rtgui_container_add_child(RTGUI_CONTAINER(container), RTGUI_WIDGET(button));
+ /* ����onbuttonΪdemo_win_onbutton���� */
+ rtgui_button_set_onbutton(button, demo_normal_window_onbutton);
- demo_view_get_rect(container, &rect);
- rect.x1 += 5;
- rect.x2 = rect.x1 + 100;
- rect.y1 += 5 + 25;
- rect.y2 = rect.y1 + 20;
- /* ������ť������ʾһ���Զ��رյĴ��� */
- button = rtgui_button_create("Auto Win");
- rtgui_widget_set_rect(RTGUI_WIDGET(button), &rect);
- rtgui_container_add_child(RTGUI_CONTAINER(container), RTGUI_WIDGET(button));
- /* ����onbuttonΪdemo_autowin_onbutton���� */
- rtgui_button_set_onbutton(button, demo_autowin_onbutton);
+ demo_view_get_rect(container, &rect);
+ rect.x1 += 5;
+ rect.x2 = rect.x1 + 100;
+ rect.y1 += 5 + 25;
+ rect.y2 = rect.y1 + 20;
+ /* ������ť������ʾһ���Զ��رյĴ��� */
+ button = rtgui_button_create("Auto Win");
+ rtgui_widget_set_rect(RTGUI_WIDGET(button), &rect);
+ rtgui_container_add_child(RTGUI_CONTAINER(container), RTGUI_WIDGET(button));
+ /* ����onbuttonΪdemo_autowin_onbutton���� */
+ rtgui_button_set_onbutton(button, demo_autowin_onbutton);
- demo_view_get_rect(container, &rect);
- rect.x1 += 5;
- rect.x2 = rect.x1 + 100;
- rect.y1 += 5 + 25 + 25;
- rect.y2 = rect.y1 + 20;
- /* ������ť���ڴ���һ��ģʽ���� */
- button = rtgui_button_create("Modal Win");
- rtgui_widget_set_rect(RTGUI_WIDGET(button), &rect);
- rtgui_container_add_child(RTGUI_CONTAINER(container), RTGUI_WIDGET(button));
- /* ����onbuttonΪdemo_modalwin_onbutton���� */
- rtgui_button_set_onbutton(button, demo_modalwin_onbutton);
+ demo_view_get_rect(container, &rect);
+ rect.x1 += 5;
+ rect.x2 = rect.x1 + 100;
+ rect.y1 += 5 + 25 + 25;
+ rect.y2 = rect.y1 + 20;
+ /* ������ť���ڴ���һ��ģʽ���� */
+ button = rtgui_button_create("Modal Win");
+ rtgui_widget_set_rect(RTGUI_WIDGET(button), &rect);
+ rtgui_container_add_child(RTGUI_CONTAINER(container), RTGUI_WIDGET(button));
+ /* ����onbuttonΪdemo_modalwin_onbutton���� */
+ rtgui_button_set_onbutton(button, demo_modalwin_onbutton);
- demo_view_get_rect(container, &rect);
- rect.x1 += 5;
- rect.x2 = rect.x1 + 100;
- rect.y1 += 5 + 25 + 25 + 25;
- rect.y2 = rect.y1 + 20;
- /* ������ť���ڴ���һ������������Ĵ��� */
- button = rtgui_button_create("NoTitle Win");
- rtgui_widget_set_rect(RTGUI_WIDGET(button), &rect);
- rtgui_container_add_child(RTGUI_CONTAINER(container), RTGUI_WIDGET(button));
- /* ����onbuttonΪdemo_ntitlewin_onbutton���� */
- rtgui_button_set_onbutton(button, demo_ntitlewin_onbutton);
+ demo_view_get_rect(container, &rect);
+ rect.x1 += 5;
+ rect.x2 = rect.x1 + 100;
+ rect.y1 += 5 + 25 + 25 + 25;
+ rect.y2 = rect.y1 + 20;
+ /* ������ť���ڴ���һ������������Ĵ��� */
+ button = rtgui_button_create("NoTitle Win");
+ rtgui_widget_set_rect(RTGUI_WIDGET(button), &rect);
+ rtgui_container_add_child(RTGUI_CONTAINER(container), RTGUI_WIDGET(button));
+ /* ����onbuttonΪdemo_ntitlewin_onbutton���� */
+ rtgui_button_set_onbutton(button, demo_ntitlewin_onbutton);
- return container;
+ return container;
}
diff --git a/examples/gui/demo_xml.c b/examples/gui/demo_xml.c
index 398161039d..fe4f5321a6 100644
--- a/examples/gui/demo_xml.c
+++ b/examples/gui/demo_xml.c
@@ -2,23 +2,23 @@
#include <rtgui/rtgui_xml.h>
-static int xml_event_handler(rt_uint8_t event, const char* text, rt_size_t len, void* user)
+static int xml_event_handler(rt_uint8_t event, const char *text, rt_size_t len, void *user)
{
- rt_kprintf("%s: %s\n", rtgui_xml_event_str(event), text);
- return 1;
+ rt_kprintf("%s: %s\n", rtgui_xml_event_str(event), text);
+ return 1;
}
const char xml_str[] = "<?xml version=\"1.0\"?><note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note>";
void demo_xml()
{
- rtgui_xml_t *xml;
+ rtgui_xml_t *xml;
- xml = rtgui_xml_create(512, xml_event_handler, RT_NULL);
- if (xml != RT_NULL)
- {
- rtgui_xml_parse(xml, xml_str, sizeof(xml_str));
- rtgui_xml_destroy(xml);
- }
+ xml = rtgui_xml_create(512, xml_event_handler, RT_NULL);
+ if (xml != RT_NULL)
+ {
+ rtgui_xml_parse(xml, xml_str, sizeof(xml_str));
+ rtgui_xml_destroy(xml);
+ }
}
#ifdef RT_USING_FINSH
#include <finsh.h>
diff --git a/examples/gui/gui_init.c b/examples/gui/gui_init.c
deleted file mode 100644
index 6522046179..0000000000
--- a/examples/gui/gui_init.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <rtgui/rtgui.h>
-#include <rtgui/rtgui_server.h>
-#include <rtgui/rtgui_system.h>
-
-extern void workbench_init(void);
-extern void panel_init(void);
-
-/* GUI�����ʾ��ڣ�������߳��н��г�ʼ�� */
-void rtgui_startup()
-{
- /* GUIϵͳ��ʼ�� */
- rtgui_system_server_init();
-
- /* ��������ʼ�� */
- panel_init();
-
- /* ����workbench */
- workbench_init();
-}
diff --git a/examples/gui/mywidget.c b/examples/gui/mywidget.c
index 1fc94d66fe..961db9cbe5 100644
--- a/examples/gui/mywidget.c
+++ b/examples/gui/mywidget.c
@@ -2,135 +2,135 @@
#include "mywidget.h"
/* 控件绘图函数 */
-static void rtgui_mywidget_ondraw(struct rtgui_mywidget* me)
+static void rtgui_mywidget_ondraw(struct rtgui_mywidget *me)
{
- struct rtgui_dc* dc;
- struct rtgui_rect rect;
- rt_uint16_t x, y;
+ struct rtgui_dc *dc;
+ struct rtgui_rect rect;
+ rt_uint16_t x, y;
- /* 获得目标DC,开始绘�?*/
- dc = rtgui_dc_begin_drawing(RTGUI_WIDGET(me));
- if (dc == RT_NULL) return;
+ /* 获得目标DC,开始绘�?*/
+ dc = rtgui_dc_begin_drawing(RTGUI_WIDGET(me));
+ if (dc == RT_NULL) return;
- /* 获得窗口的尺�?*/
- rtgui_widget_get_rect(RTGUI_WIDGET(me), &rect);
- /* 绘制背景�?*/
- RTGUI_DC_BC(dc) = white;
- rtgui_dc_fill_rect(dc, &rect);
+ /* 获得窗口的尺�?*/
+ rtgui_widget_get_rect(RTGUI_WIDGET(me), &rect);
+ /* 绘制背景�?*/
+ RTGUI_DC_BC(dc) = white;
+ rtgui_dc_fill_rect(dc, &rect);
- /* 计算中心原点 */
- x = (rect.x2 + rect.x1)/2;
- y = (rect.y2 + rect.y1)/2;
+ /* 计算中心原点 */
+ x = (rect.x2 + rect.x1) / 2;
+ y = (rect.y2 + rect.y1) / 2;
- /* 绘制十字�?*/
- RTGUI_DC_FC(dc) = black;
- rtgui_dc_draw_hline(dc, rect.x1, rect.x2, y);
- rtgui_dc_draw_vline(dc, x, rect.y1, rect.y2);
+ /* 绘制十字�?*/
+ RTGUI_DC_FC(dc) = black;
+ rtgui_dc_draw_hline(dc, rect.x1, rect.x2, y);
+ rtgui_dc_draw_vline(dc, x, rect.y1, rect.y2);
- /* 根据状态绘制圆�?*/
- if (me->status == MYWIDGET_STATUS_ON)
- RTGUI_DC_FC(dc) = green;
- else
- RTGUI_DC_FC(dc) = red;
- rtgui_dc_fill_circle(dc, x, y, 5);
+ /* 根据状态绘制圆�?*/
+ if (me->status == MYWIDGET_STATUS_ON)
+ RTGUI_DC_FC(dc) = green;
+ else
+ RTGUI_DC_FC(dc) = red;
+ rtgui_dc_fill_circle(dc, x, y, 5);
- /* 结束绘图 */
- rtgui_dc_end_drawing(dc);
- return;
+ /* 结束绘图 */
+ rtgui_dc_end_drawing(dc);
+ return;
}
/* 鼠标事件处理函数 */
-static void rtgui_mywidget_onmouse(struct rtgui_mywidget* me, struct rtgui_event_mouse* mouse)
+static void rtgui_mywidget_onmouse(struct rtgui_mywidget *me, struct rtgui_event_mouse *mouse)
{
- struct rtgui_rect rect;
- rt_uint16_t x, y;
+ struct rtgui_rect rect;
+ rt_uint16_t x, y;
- /* 仅对鼠标抬起动作进行处理 */
- if (!(mouse->button & RTGUI_MOUSE_BUTTON_UP)) return;
+ /* 仅对鼠标抬起动作进行处理 */
+ if (!(mouse->button & RTGUI_MOUSE_BUTTON_UP)) return;
- /* 获得控件的位�?*/
- rtgui_widget_get_rect(RTGUI_WIDGET(me), &rect);
- /* get_rect函数获得是控件的相对位置,而鼠标事件给出的坐标是绝对坐标,需要做一个转�?*/
- rtgui_widget_rect_to_device(RTGUI_WIDGET(me), &rect);
+ /* 获得控件的位�?*/
+ rtgui_widget_get_rect(RTGUI_WIDGET(me), &rect);
+ /* get_rect函数获得是控件的相对位置,而鼠标事件给出的坐标是绝对坐标,需要做一个转�?*/
+ rtgui_widget_rect_to_device(RTGUI_WIDGET(me), &rect);
- /* 计算中心原点 */
- x = (rect.x2 + rect.x1)/2;
- y = (rect.y2 + rect.y1)/2;
+ /* 计算中心原点 */
+ x = (rect.x2 + rect.x1) / 2;
+ y = (rect.y2 + rect.y1) / 2;
- /* 比较鼠标坐标是否在圈�?*/
- if ((mouse->x < x + 5 && mouse->x > x - 5) &&
- (mouse->y < y + 5 && mouse->y > y - 5))
- {
- /* 更改控件状�?*/
- if (me->status & MYWIDGET_STATUS_ON) me->status = MYWIDGET_STATUS_OFF;
- else me->status = MYWIDGET_STATUS_ON;
+ /* 比较鼠标坐标是否在圈�?*/
+ if ((mouse->x < x + 5 && mouse->x > x - 5) &&
+ (mouse->y < y + 5 && mouse->y > y - 5))
+ {
+ /* 更改控件状�?*/
+ if (me->status & MYWIDGET_STATUS_ON) me->status = MYWIDGET_STATUS_OFF;
+ else me->status = MYWIDGET_STATUS_ON;
- /* 刷新(重新绘制)控件 */
- rtgui_mywidget_ondraw(me);
- }
+ /* 刷新(重新绘制)控件 */
+ rtgui_mywidget_ondraw(me);
+ }
}
/* mywidget控件的事件处理函�?*/
-rt_bool_t rtgui_mywidget_event_handler(struct rtgui_object* object, struct rtgui_event* event)
+rt_bool_t rtgui_mywidget_event_handler(struct rtgui_object *object, struct rtgui_event *event)
{
- /* 调用事件处理函数时,widget指针指向控件本身,所以先获得相应控件对象的指�?*/
- struct rtgui_mywidget* me = RTGUI_MYWIDGET(object);
+ /* 调用事件处理函数时,widget指针指向控件本身,所以先获得相应控件对象的指�?*/
+ struct rtgui_mywidget *me = RTGUI_MYWIDGET(object);
- switch (event->type)
- {
- case RTGUI_EVENT_PAINT:
- /* 绘制事件,调用绘图函数绘�?*/
- rtgui_mywidget_ondraw(me);
- break;
+ switch (event->type)
+ {
+ case RTGUI_EVENT_PAINT:
+ /* 绘制事件,调用绘图函数绘�?*/
+ rtgui_mywidget_ondraw(me);
+ break;
- case RTGUI_EVENT_MOUSE_BUTTON:
- /* 鼠标事件 */
- rtgui_mywidget_onmouse(RTGUI_MYWIDGET(me), (struct rtgui_event_mouse*) event);
- break;
+ case RTGUI_EVENT_MOUSE_BUTTON:
+ /* 鼠标事件 */
+ rtgui_mywidget_onmouse(RTGUI_MYWIDGET(me), (struct rtgui_event_mouse *) event);
+ break;
- /* 其他事件调用父类的事件处理函�?*/
- default:
- return rtgui_widget_event_handler(object, event);
- }
+ /* 其他事件调用父类的事件处理函�?*/
+ default:
+ return rtgui_widget_event_handler(object, event);
+ }
- return RT_FALSE;
+ return RT_FALSE;
}
/* 自定义控件的构造函�?*/
static void _rtgui_mywidget_constructor(rtgui_mywidget_t *mywidget)
{
- /* 默认这个控件接收聚焦 */
- RTGUI_WIDGET(mywidget)->flag |= RTGUI_WIDGET_FLAG_FOCUSABLE;
- /* 初始化控件并设置事件处理函数 */
- rtgui_object_set_event_handler(RTGUI_OBJECT(mywidget), rtgui_mywidget_event_handler);
+ /* 默认这个控件接收聚焦 */
+ RTGUI_WIDGET(mywidget)->flag |= RTGUI_WIDGET_FLAG_FOCUSABLE;
+ /* 初始化控件并设置事件处理函数 */
+ rtgui_object_set_event_handler(RTGUI_OBJECT(mywidget), rtgui_mywidget_event_handler);
- /* 初始状态时OFF */
- mywidget->status = MYWIDGET_STATUS_OFF;
+ /* 初始状态时OFF */
+ mywidget->status = MYWIDGET_STATUS_OFF;
}
-DEFINE_CLASS_TYPE(mywidget, "mywidget",
- RTGUI_WIDGET_TYPE,
- _rtgui_mywidget_constructor,
- RT_NULL,
- sizeof(struct rtgui_mywidget));
+DEFINE_CLASS_TYPE(mywidget, "mywidget",
+ RTGUI_WIDGET_TYPE,
+ _rtgui_mywidget_constructor,
+ RT_NULL,
+ sizeof(struct rtgui_mywidget));
/* 创建一个自定义控件 */
-struct rtgui_mywidget* rtgui_mywidget_create(rtgui_rect_t* r)
+struct rtgui_mywidget *rtgui_mywidget_create(rtgui_rect_t *r)
{
- struct rtgui_mywidget* me;
+ struct rtgui_mywidget *me;
- /* 让rtgui_widget创建出一个指定类型:RTGUI_MYWIDGET_TYPE类型的控�?*/
- me = (struct rtgui_mywidget*) rtgui_widget_create (RTGUI_MYWIDGET_TYPE);
- if (me != RT_NULL)
- {
- rtgui_widget_set_rect(RTGUI_WIDGET(me), r);
- }
+ /* 让rtgui_widget创建出一个指定类型:RTGUI_MYWIDGET_TYPE类型的控�?*/
+ me = (struct rtgui_mywidget *) rtgui_widget_create(RTGUI_MYWIDGET_TYPE);
+ if (me != RT_NULL)
+ {
+ rtgui_widget_set_rect(RTGUI_WIDGET(me), r);
+ }
- return me;
+ return me;
}
/* 删除一个自定义控件 */
-void rtgui_mywidget_destroy(struct rtgui_mywidget* me)
+void rtgui_mywidget_destroy(struct rtgui_mywidget *me)
{
- rtgui_widget_destroy(RTGUI_WIDGET(me));
+ rtgui_widget_destroy(RTGUI_WIDGET(me));
}
diff --git a/examples/gui/mywidget.h b/examples/gui/mywidget.h
index ac8d25ffe1..99f19c9416 100644
--- a/examples/gui/mywidget.h
+++ b/examples/gui/mywidget.h
@@ -15,8 +15,8 @@
#include <rtgui/widgets/widget.h>
/* 自定义控件的状态值定�?*/
-#define MYWIDGET_STATUS_ON 1
-#define MYWIDGET_STATUS_OFF 0
+#define MYWIDGET_STATUS_ON 1
+#define MYWIDGET_STATUS_OFF 0
DECLARE_CLASS_TYPE(mywidget);
/** 每个控件会有一个类型,通过如下的宏获得控件相应的类型信�?*/
@@ -29,22 +29,22 @@ DECLARE_CLASS_TYPE(mywidget);
/* 个性化控件类定�?*/
struct rtgui_mywidget
{
- /* 这个控件是继承自rtgui_widget控件 */
- struct rtgui_widget parent;
+ /* 这个控件是继承自rtgui_widget控件 */
+ struct rtgui_widget parent;
- /* 状态:ON、OFF */
- rt_uint8_t status;
+ /* 状态:ON、OFF */
+ rt_uint8_t status;
};
typedef struct rtgui_mywidget rtgui_mywidget_t;
/* 控件的创建和删除 */
-struct rtgui_mywidget* rtgui_mywidget_create(rtgui_rect_t* r);
-void rtgui_mywidget_destroy(struct rtgui_mywidget* me);
+struct rtgui_mywidget *rtgui_mywidget_create(rtgui_rect_t *r);
+void rtgui_mywidget_destroy(struct rtgui_mywidget *me);
/* 控件的默认事件处理函数�?
* 对一个控件而言,如果派生自它的子控件很可能会调用父控件的事件处理函数,
* 所以这里采用公开声明的方式�?
*/
-rt_bool_t rtgui_mywidget_event_handler(struct rtgui_object* object, struct rtgui_event* event);
+rt_bool_t rtgui_mywidget_event_handler(struct rtgui_object *object, struct rtgui_event *event);
#endif