diff --git a/examples/gui/SConscript b/examples/gui/SConscript index 1f198c3018..ac702a1b0c 100644 --- a/examples/gui/SConscript +++ b/examples/gui/SConscript @@ -3,6 +3,7 @@ Import('projects') src = Split(""" demo_view_dc_buffer.c +demo_view_instrument_panel.c demo_fnview.c demo_listview.c demo_listview_icon.c diff --git a/examples/gui/demo_view_animation.c b/examples/gui/demo_view_animation.c index ca2c892254..fccc7bbea1 100644 --- a/examples/gui/demo_view_animation.c +++ b/examples/gui/demo_view_animation.c @@ -104,7 +104,7 @@ rtgui_view_t *demo_view_animation(rtgui_workbench_t* workbench) rtgui_widget_set_event_handler(RTGUI_WIDGET(view), animation_event_handler); rtgui_font_get_metrics(RTGUI_WIDGET_FONT(RTGUI_WIDGET(view)), "飞线乱飞", &text_rect); - + rtgui_rect_moveto(&text_rect, 0, 45); /* 启动定时器以触发动画 */ timer = rtgui_timer_create(2, RT_TIMER_FLAG_PERIODIC, timeout, (void*)view); rtgui_timer_start(timer); diff --git a/examples/gui/demo_view_dc.c b/examples/gui/demo_view_dc.c index c49fde03c8..1b54797594 100644 --- a/examples/gui/demo_view_dc.c +++ b/examples/gui/demo_view_dc.c @@ -73,7 +73,22 @@ rt_bool_t dc_event_handler(rtgui_widget_t* widget, rtgui_event_t *event) /* 填充一个圆形 */ RTGUI_DC_FC(dc) = green; rtgui_dc_fill_circle(dc, rect.x1 + 30, rect.y1 + 10, 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); @@ -135,7 +150,7 @@ rt_bool_t dc_event_handler(rtgui_widget_t* widget, rtgui_event_t *event) rtgui_dc_draw_border(dc, &rect, RTGUI_BORDER_EXTRA); rect.x1 += 20; rect.x2 += 20 + 50; - rtgui_dc_draw_text(dc, "extra", &rect); + rtgui_dc_draw_text(dc, "额外", &rect); rect.x1 -= 20; rect.x2 -= 20 + 50; rect.y1 += 20; diff --git a/examples/gui/demo_view_instrument_panel.c b/examples/gui/demo_view_instrument_panel.c index bf9144db3e..61849f00d2 100644 --- a/examples/gui/demo_view_instrument_panel.c +++ b/examples/gui/demo_view_instrument_panel.c @@ -31,8 +31,8 @@ rt_bool_t instrument_panel_event_handler(rtgui_widget_t* widget, rtgui_event_t * rtgui_rect_t rect; const int vx[] = {85, 85, 105, 105}; const int vy[] = {60, 100, 100, 60}; - const int arrowx[] = {x0+75, x0+75, x0+85}; - const int arrowy[] = {y0-5, y0+5, y0}; + const int arrowx[] = {120+75, 120+75, 120+85}; + const int arrowy[] = {170-5, 170+5, 170}; /* * 因为用的是demo view,上面本身有一部分控件,所以在绘图时先要让demo view @@ -85,7 +85,7 @@ rt_bool_t instrument_panel_event_handler(rtgui_widget_t* widget, rtgui_event_t * rect.y1 = y; rect.x2 = rect.x1 + 12 * 3; rect.y2 = rect.y1 + 12; - sprintf(ac, "%d", 10 * i); + rt_sprintf(ac, "%d", 10 * i); rtgui_dc_draw_text(dc, ac, &rect); } else @@ -99,7 +99,7 @@ rt_bool_t instrument_panel_event_handler(rtgui_widget_t* widget, rtgui_event_t * rect.y1 = y; rect.x2 = rect.x1 + 12 * 3; rect.y2 = rect.y1 + 12; - sprintf(ac, "%d", 10 * i); + rt_sprintf(ac, "%d", 10 * i); rtgui_dc_draw_text(dc, ac, &rect); } diff --git a/examples/gui/demo_workbench.c b/examples/gui/demo_workbench.c index 6569d475b5..4dad64c5e9 100644 --- a/examples/gui/demo_workbench.c +++ b/examples/gui/demo_workbench.c @@ -65,6 +65,7 @@ static void workbench_entry(void* parameter) demo_view_dc_buffer(workbench); demo_view_animation(workbench); demo_view_buffer_animation(workbench); + demo_view_instrument_panel(workbench); demo_view_window(workbench); demo_view_label(workbench); demo_view_button(workbench);