Skip to content

progress_circle_t

概述

进度圆环控件。

progress_circle_t是widget_t的子类控件,widget_t的函数均适用于progress_circle_t控件。

在xml中使用"progress_circle"标签创建进度圆环控件。如:

xml
<progress_circle max="360" show_text="true" start_angle="90" />

更多用法请参考: progress_circle.xml

在c代码中使用函数progress_circle_create创建进度圆环控件。如:

c
progress_circle = progress_circle_create(win, 10, 10, 200, 200);
progress_circle_set_max(progress_circle, 360);
widget_set_value(progress_circle, 128);

完整示例请参考: progress_circle demo

可用通过style来设置控件的显示风格,如字体的大小和颜色等等。如:

xml
<style name="default">
<normal text_color="green" fg_color="black" />
</style>

更多用法请参考: theme default

函数

函数名称说明
progress_circle_calc_line_dirty_rect获取progress_circle的新值和旧值之间的绘制脏矩形。
progress_circle_cast转换为progress_circle对象(供脚本语言使用)。
progress_circle_create创建progress_circle对象
progress_circle_get_widget_vtable获取 progress_circle 虚表。
progress_circle_set_counter_clock_wise设置是否为逆时针方向。
progress_circle_set_format设置格式。
progress_circle_set_line_cap设置线帽类型。
progress_circle_set_line_width设置环线的厚度。
progress_circle_set_max设置最大值。
progress_circle_set_show_text设置是否显示文本。
progress_circle_set_start_angle设置起始角度。
progress_circle_set_value设置值。

属性

属性名称类型说明
counter_clock_wisebool_t是否为逆时针方向(缺省为FALSE)。
formatchar*数值到字符串转换时的格式,缺省为"%d"。
line_capchar*线帽类型(round:圆头,square:方头,butt:平头)。
line_widthuint32_t环线的厚度(缺省为8),line_width > r/2时,使用扇形绘制。
maxfloat_t最大值(缺省为100)。
show_textbool_t是否显示文本(缺省为TRUE)。
start_angleint32_t起始角度(单位为度,缺省-90)。
valuefloat_t值(缺省为0)。

事件

事件名称类型说明
EVT_VALUE_WILL_CHANGEvalue_change_event_t值即将改变事件。
EVT_VALUE_CHANGEDvalue_change_event_t值改变事件。

progress_circle_calc_line_dirty_rect 函数

  • 函数功能:

获取progress_circle的新值和旧值之间的绘制脏矩形。

  • 函数原型:
rect_t progress_circle_calc_line_dirty_rect (widget_t* widget, float_t old_value, float_t new_value);
  • 参数说明:
参数类型说明
返回值rect_t返回脏矩形。
widgetwidget_t*progress_circle控件对象。
old_valuefloat_t旧值。
new_valuefloat_t新值。

progress_circle_cast 函数

  • 函数功能:

转换为progress_circle对象(供脚本语言使用)。

  • 函数原型:
widget_t* progress_circle_cast (widget_t* widget);
  • 参数说明:
参数类型说明
返回值widget_t*progress_circle对象。
widgetwidget_t*progress_circle对象。

progress_circle_create 函数

  • 函数功能:

创建progress_circle对象

  • 函数原型:
widget_t* progress_circle_create (widget_t* parent, xy_t x, xy_t y, wh_t w, wh_t h);
  • 参数说明:
参数类型说明
返回值widget_t*对象。
parentwidget_t*父控件
xxy_tx坐标
yxy_ty坐标
wwh_t宽度
hwh_t高度

progress_circle_get_widget_vtable 函数

  • 函数功能:

获取 progress_circle 虚表。

  • 函数原型:
const widget_vtable_t* progress_circle_get_widget_vtable ();
  • 参数说明:
参数类型说明
返回值const widget_vtable_t*成功返回 progress_circle 虚表。

progress_circle_set_counter_clock_wise 函数

  • 函数功能:

设置是否为逆时针方向。

  • 函数原型:
ret_t progress_circle_set_counter_clock_wise (widget_t* widget, bool_t counter_clock_wise);
  • 参数说明:
参数类型说明
返回值ret_t返回RET_OK表示成功,否则表示失败。
widgetwidget_t*控件对象。
counter_clock_wisebool_t是否为逆时针方向。

progress_circle_set_format 函数

  • 函数功能:

设置格式。

  • 函数原型:
ret_t progress_circle_set_format (widget_t* widget, const char* format);
  • 参数说明:
参数类型说明
返回值ret_t返回RET_OK表示成功,否则表示失败。
widgetwidget_t*progress_circle对象。
formatconst char*格式。

progress_circle_set_line_cap 函数

  • 函数功能:

设置线帽类型。

  • 函数原型:
ret_t progress_circle_set_line_cap (widget_t* widget, const char* line_cap);
  • 参数说明:
参数类型说明
返回值ret_t返回RET_OK表示成功,否则表示失败。
widgetwidget_t*控件对象。
line_capconst char*线帽类型(round:圆头,square:方头)。。

progress_circle_set_line_width 函数

  • 函数功能:

设置环线的厚度。

  • 函数原型:
ret_t progress_circle_set_line_width (widget_t* widget, uint32_t line_width);
  • 参数说明:
参数类型说明
返回值ret_t返回RET_OK表示成功,否则表示失败。
widgetwidget_t*控件对象。
line_widthuint32_t环线的厚度。

progress_circle_set_max 函数

  • 函数功能:

设置最大值。

  • 函数原型:
ret_t progress_circle_set_max (widget_t* widget, uint32_t max);
  • 参数说明:
参数类型说明
返回值ret_t返回RET_OK表示成功,否则表示失败。
widgetwidget_t*控件对象。
maxuint32_t最大值。

progress_circle_set_show_text 函数

  • 函数功能:

设置是否显示文本。

  • 函数原型:
ret_t progress_circle_set_show_text (widget_t* widget, bool_t show_text);
  • 参数说明:
参数类型说明
返回值ret_t返回RET_OK表示成功,否则表示失败。
widgetwidget_t*控件对象。
show_textbool_t是否显示文本。

progress_circle_set_start_angle 函数

  • 函数功能:

设置起始角度。

  • 函数原型:
ret_t progress_circle_set_start_angle (widget_t* widget, int32_t start_angle);
  • 参数说明:
参数类型说明
返回值ret_t返回RET_OK表示成功,否则表示失败。
widgetwidget_t*控件对象。
start_angleint32_t起始角度。

progress_circle_set_value 函数

  • 函数功能:

设置值。

  • 函数原型:
ret_t progress_circle_set_value (widget_t* widget, float_t value);
  • 参数说明:
参数类型说明
返回值ret_t返回RET_OK表示成功,否则表示失败。
widgetwidget_t*控件对象。
valuefloat_t值。

counter_clock_wise 属性

是否为逆时针方向(缺省为FALSE)。

  • 类型:bool_t
特性是否支持
可直接读取
可直接修改
可持久化
可脚本化
可在IDE中设置
可在XML中设置
可通过widget_get_prop读取
可通过widget_set_prop修改

format 属性

数值到字符串转换时的格式,缺省为"%d"。

  • 类型:char*
特性是否支持
可直接读取
可直接修改
可持久化
可脚本化
可在IDE中设置
可在XML中设置
可通过widget_get_prop读取
可通过widget_set_prop修改

line_cap 属性

线帽类型(round:圆头,square:方头,butt:平头)。

  • 类型:char*
特性是否支持
可直接读取
可直接修改
可持久化
可脚本化
可在IDE中设置
可在XML中设置
可通过widget_get_prop读取
可通过widget_set_prop修改

line_width 属性

环线的厚度(缺省为8),line_width > r/2时,使用扇形绘制。

  • 类型:uint32_t
特性是否支持
可直接读取
可直接修改
可持久化
可脚本化
可在IDE中设置
可在XML中设置
可通过widget_get_prop读取
可通过widget_set_prop修改

max 属性

最大值(缺省为100)。

  • 类型:float_t
特性是否支持
可直接读取
可直接修改
可持久化
可脚本化
可在IDE中设置
可在XML中设置
可通过widget_get_prop读取
可通过widget_set_prop修改

show_text 属性

是否显示文本(缺省为TRUE)。

  • 类型:bool_t
特性是否支持
可直接读取
可直接修改
可持久化
可脚本化
可在IDE中设置
可在XML中设置
可通过widget_get_prop读取
可通过widget_set_prop修改

start_angle 属性

起始角度(单位为度,缺省-90)。

  • 类型:int32_t
特性是否支持
可直接读取
可直接修改
可持久化
可脚本化
可在IDE中设置
可在XML中设置
可通过widget_get_prop读取
可通过widget_set_prop修改

value 属性

值(缺省为0)。

  • 类型:float_t
特性是否支持
可直接读取
可直接修改
可持久化
可脚本化
可在IDE中设置
可在XML中设置
可通过widget_get_prop读取
可通过widget_set_prop修改