refactor(scale): remove lv_meter use lv_scale instead
This commit is contained in:
@@ -27,7 +27,6 @@ Widgets
|
||||
line
|
||||
list
|
||||
menu
|
||||
meter
|
||||
msgbox
|
||||
roller
|
||||
scale
|
||||
|
||||
@@ -1,158 +0,0 @@
|
||||
Meter (lv_meter)
|
||||
================
|
||||
|
||||
Overview
|
||||
********
|
||||
|
||||
The Meter widget can visualize data in very flexible ways. In can show
|
||||
arcs, needles, ticks lines and labels.
|
||||
|
||||
Parts and Styles
|
||||
****************
|
||||
|
||||
- :cpp:enumerator:`LV_PART_MAIN` The background of the Meter. Uses the typical
|
||||
background properties.
|
||||
- :cpp:enumerator:`LV_PART_TICK` The tick lines a labels using the *line* and *text*
|
||||
style properties.
|
||||
- :cpp:enumerator:`LV_PART_INDICATOR` The needle line or image using the *line* and
|
||||
*img* style properties, as well as the background properties to draw
|
||||
a square (or circle) on the pivot of the needles. Padding makes the
|
||||
square larger.
|
||||
- :cpp:enumerator:`LV_PART_ITEMS` The arcs using the *arc* properties.
|
||||
|
||||
Usage
|
||||
*****
|
||||
|
||||
Scale
|
||||
-----
|
||||
|
||||
The Scale has minor and major ticks, and labels on the major ticks.
|
||||
|
||||
The minor tick lines can be configured with:
|
||||
:cpp:expr:`lv_meter_set_scale_ticks(meter, tick_count, line_width, tick_length, tick_color)`.
|
||||
|
||||
To show major tick lines use
|
||||
:cpp:expr:`lv_meter_set_scale_major_ticks(meter, nth_major, tick_width, tick_length, tick_color, label_gap)`.
|
||||
``nth_major`` to specify how many minor ticks to skip to draw a major
|
||||
tick.
|
||||
|
||||
Labels are added automatically on major ticks with ``label_gap``
|
||||
distance from the ticks with text proportionally to the values of the
|
||||
tick line.
|
||||
|
||||
:cpp:expr:`lv_meter_set_scale_range(meter, min, max, angle_range, rotation)`
|
||||
sets the value and angle range of the scale.
|
||||
|
||||
Add indicators
|
||||
--------------
|
||||
|
||||
Indicators can be added to meter and their value is interpreted in the
|
||||
range of the scale.
|
||||
|
||||
All the indicator add functions return an ``lv_meter_indicator_t *``.
|
||||
|
||||
Needle line
|
||||
^^^^^^^^^^^
|
||||
|
||||
``indic = lv_meter_add_needle_line(meter, line_width, line_color, r_mod)``
|
||||
adds a needle line to a Scale. By default, the length of the line is the
|
||||
same as the scale's radius but ``r_mod`` changes the length.
|
||||
|
||||
:cpp:expr:`lv_meter_set_indicator_value(meter, indic, value)` sets the value of
|
||||
the indicator.
|
||||
|
||||
Needle image
|
||||
^^^^^^^^^^^^
|
||||
|
||||
``indic = lv_meter_add_needle_img(meter, img_src, pivot_x, pivot_y)``
|
||||
sets an image that will be used as a needle. ``img_src`` should be a
|
||||
needle pointing to the right like this ``-O--->``. ``pivot_x`` and
|
||||
``pivot_y`` sets the pivot point of the rotation relative to the top
|
||||
left corner of the image.
|
||||
|
||||
:cpp:expr:`lv_meter_set_indicator_value(meter, indicator, value)` sets the
|
||||
value of the indicator.
|
||||
|
||||
Arc
|
||||
^^^
|
||||
|
||||
``indic = lv_meter_add_arc(meter, arc_width, arc_color, r_mod)`` adds
|
||||
and arc indicator. . By default, the radius of the arc is the same as
|
||||
the scale's radius but ``r_mod`` changes the radius.
|
||||
|
||||
:cpp:expr:`lv_meter_set_indicator_start_value(meter, indic, value)` and
|
||||
:cpp:expr:`lv_meter_set_indicator_end_value(meter, indicator, value)` sets the
|
||||
value of the indicator.
|
||||
|
||||
Scale lines (ticks)
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
``indic = lv_meter_add_scale_lines(meter, color_start, color_end, local, width_mod)``
|
||||
adds an indicator that modifies the ticks lines. If ``local`` is
|
||||
``true`` the ticks' color will be faded from ``color_start`` to
|
||||
``color_end`` in the indicator's start and end value range. If ``local``
|
||||
is ``false`` ``color_start`` and ``color_end`` will be mapped to the
|
||||
start and end value of the scale and only a "slice" of that color
|
||||
gradient will be visible in the indicator's start and end value range.
|
||||
``width_mod`` modifies the width of the tick lines.
|
||||
|
||||
:cpp:expr:`lv_meter_set_indicator_start_value(meter, indicator, value)` and
|
||||
:cpp:expr:`lv_meter_set_indicator_end_value(meter, indicator, value)` sets the
|
||||
value of the indicator.
|
||||
|
||||
Events
|
||||
******
|
||||
|
||||
- :cpp:enumerator:`LV_EVENT_DRAW_PART_BEGIN` and :cpp:enumerator:`LV_EVENT_DRAW_PART_END` is sent
|
||||
for the following types:
|
||||
|
||||
- :cpp:enumerator:`LV_METER_DRAW_PART_ARC` The arc indicator
|
||||
|
||||
- ``part``: :cpp:enumerator:`LV_PART_ITEMS`
|
||||
- ``sub_part_ptr``: pointer to the indicator
|
||||
- ``arc_dsc``
|
||||
- ``radius``: radius of the arc
|
||||
- ``p1`` center of the arc
|
||||
|
||||
- :cpp:enumerator:`LV_METER_DRAW_PART_NEEDLE_LINE` The needle lines
|
||||
|
||||
- ``part``: :cpp:enumerator:`LV_PART_ITEMS`
|
||||
- ``p1``, ``p2`` points of the line
|
||||
- ``line_dsc``
|
||||
- ``sub_part_ptr``: pointer to the indicator
|
||||
|
||||
- :cpp:enumerator:`LV_METER_DRAW_PART_NEEDLE_IMG` The needle images
|
||||
|
||||
- ``part``: :cpp:enumerator:`LV_PART_ITEMS`
|
||||
- ``p1``, ``p2`` points of the line
|
||||
- ``img_dsc``
|
||||
- ``sub_part_ptr``: pointer to the indicator
|
||||
|
||||
- :cpp:enumerator:`LV_METER_DRAW_PART_TICK` The tick lines and labels
|
||||
|
||||
- ``part``: :cpp:enumerator:`LV_PART_TICKS`
|
||||
- ``value``: the value of the line
|
||||
- ``text``: ``value`` converted to decimal or ``NULL`` on minor
|
||||
lines
|
||||
- ``label_dsc``: label draw descriptor or ``NULL`` on minor lines
|
||||
- ``line_dsc``:
|
||||
- ``id``: the index of the line
|
||||
|
||||
See the events of the `Base object </widgets/obj>`__ too.
|
||||
|
||||
Learn more about :ref:`events`.
|
||||
|
||||
Keys
|
||||
****
|
||||
|
||||
No keys are handled by the Meter widget.
|
||||
|
||||
Learn more about :ref:`indev_keys`.
|
||||
|
||||
Example
|
||||
*******
|
||||
|
||||
.. include:: ../examples/widgets/meter/index.rst
|
||||
|
||||
API
|
||||
***
|
||||
@@ -12,7 +12,7 @@ Parts and Styles
|
||||
The scale widget is divided in the following three parts:
|
||||
|
||||
- :cpp:enumerator: `LV_PART_MAIN` Main line. See blue line in the example image.
|
||||
- :cpp:enumerator: `LV_PART_ITEMS` Minor ticks. See red minor ticks in the example image.
|
||||
- :cpp:enumerator: `LV_PART_TICKS` Minor ticks. See red minor ticks in the example image.
|
||||
- :cpp:enumerator: `LV_PART_INDICATOR` Major ticks and its labels (if enabled). See pink labels and green major ticks in the example image.
|
||||
|
||||

|
||||
@@ -37,7 +37,7 @@ Sections
|
||||
|
||||
A section is the space between a minor and a major range. They can be created with :cpp:expr: `lv_scale_add_section(scale)` and it handles back an :cpp:expr: `lv_scale_section_t` pointer.
|
||||
|
||||
The range of the section is configured with :cpp:expr: `lv_scale_section_set_range(section, minor_range, major_range)`. The style of each of the three parts of the scale section can be set with :cpp:expr: `lv_scale_section_set_style(section, PART, style_pointer)`, where `PART` can be :cpp:enumarator: `LV_PART_MAIN`, :cpp:enumarator: `LV_PART_ITEMS` or :cpp:enumarator: `LV_PART_INDICATOR`, :cpp:expr: `style_pointer` should point to a global or static :cpp:expr: `lv_style_t` variable.
|
||||
The range of the section is configured with :cpp:expr: `lv_scale_section_set_range(section, minor_range, major_range)`. The style of each of the three parts of the scale section can be set with :cpp:expr: `lv_scale_section_set_style(section, PART, style_pointer)`, where `PART` can be :cpp:enumarator: `LV_PART_MAIN`, :cpp:enumarator: `LV_PART_TICKS` or :cpp:enumarator: `LV_PART_INDICATOR`, :cpp:expr: `style_pointer` should point to a global or static :cpp:expr: `lv_style_t` variable.
|
||||
|
||||
For labels the following properties can be configured:
|
||||
:cpp:expr: `lv_style_set_text_font`, :cpp:expr: `lv_style_set_text_color`, :cpp:expr: `lv_style_set_text_letter_space`, :cpp:expr: `lv_style_set_text_opa`.
|
||||
|
||||
Reference in New Issue
Block a user