Skip to content

gauge_pointer_t

概述

仪表指针控件。

仪表指针就是一张旋转的图片,图片可以是普通图片也可以是SVG图片。

在嵌入式平台上,对于旋转的图片,SVG图片的效率比位图高数倍,所以推荐使用SVG图片。

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

在xml中使用"gauge_pointer"标签创建仪表指针控件。如:

xml
<gauge_pointer x="c" y="50" w="24" h="140" value="-128" image="gauge_pointer" />

更多用法请参考: gauge.xml

在c代码中使用函数gauge_pointer_create创建仪表指针控件。如:

c
widget_t* gauge_pointer = gauge_pointer_create(gauge, 10, 10, 100, 30);
gauge_pointer_set_image(gauge_pointer, "gauge_pointer");

创建之后,需要用gauge_pointer_set_image设置仪表指针图片。

函数

函数名称说明
gauge_pointer_cast转换为gauge_pointer对象(供脚本语言使用)。
gauge_pointer_create创建gauge_pointer对象
gauge_pointer_get_widget_vtable获取 gauge_pointer 虚表。
gauge_pointer_set_anchor设置指针的旋转锚点。
gauge_pointer_set_angle设置指针角度。12点钟方向为0度,顺时钟方向为正,单位为度。
gauge_pointer_set_image设置指针的图片。

属性

属性名称类型说明
anchor_xchar*图片旋转锚点x坐标。(后面加上px为像素点,不加px为相对百分比坐标0.0f到1.0f)
anchor_ychar*图片旋转锚点x坐标。(后面加上px为像素点,不加px为相对百分比坐标0.0f到1.0f)
anglefloat_t指针角度。12点钟方向为0度,顺时钟方向为正,单位为度。
imagechar*指针图片。

事件

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

gauge_pointer_cast 函数

  • 函数功能:

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

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

gauge_pointer_create 函数

  • 函数功能:

创建gauge_pointer对象

  • 函数原型:
widget_t* gauge_pointer_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高度

gauge_pointer_get_widget_vtable 函数

  • 函数功能:

获取 gauge_pointer 虚表。

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

gauge_pointer_set_anchor 函数

  • 函数功能:

设置指针的旋转锚点。

  • 函数原型:
ret_t gauge_pointer_set_anchor (widget_t* widget, const char* anchor_x, const char* anchor_y);
  • 参数说明:
参数类型说明
返回值ret_t返回RET_OK表示成功,否则表示失败。
widgetwidget_t*控件对象。
anchor_xconst char*指针的锚点坐标x。(后面加上px为像素点,不加px为相对百分比坐标)
anchor_yconst char*指针的锚点坐标y。(后面加上px为像素点,不加px为相对百分比坐标)

gauge_pointer_set_angle 函数

  • 函数功能:

设置指针角度。12点钟方向为0度,顺时钟方向为正,单位为度。

  • 函数原型:
ret_t gauge_pointer_set_angle (widget_t* widget, float_t angle);
  • 参数说明:
参数类型说明
返回值ret_t返回RET_OK表示成功,否则表示失败。
widgetwidget_t*控件对象。
anglefloat_t指针角度。

gauge_pointer_set_image 函数

  • 函数功能:

设置指针的图片。

  • 函数原型:
ret_t gauge_pointer_set_image (widget_t* widget, const char* image);
  • 参数说明:
参数类型说明
返回值ret_t返回RET_OK表示成功,否则表示失败。
widgetwidget_t*控件对象。
imageconst char*指针的图片。

anchor_x 属性

图片旋转锚点x坐标。(后面加上px为像素点,不加px为相对百分比坐标0.0f到1.0f)

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

anchor_y 属性

图片旋转锚点x坐标。(后面加上px为像素点,不加px为相对百分比坐标0.0f到1.0f)

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

angle 属性

指针角度。12点钟方向为0度,顺时钟方向为正,单位为度。

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

image 属性

指针图片。

图片须垂直向上,图片的中心点为旋转方向。

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