I’m attempting to make a dashboard to monitor water tank levels using arcs. It’ll contain one big arc with an arc on either side. The side arcs indicate full at the top and empty at the bottom. The left arc works fine, but the right arc needs mirrored to also show full at the top and empty at the bottom.
It seems when I use LV_ARC_MODE_REVERSE with lv_arc_set_bg_angles and lv_arc_set_value the arc gets drawn in strange ways.
If I drag the arc handle to the left of its default position, the indicator flips around full circle and draws off the background (see the last screenshot).
The CodeBlocks Simulator
8.0.1, as well as the latest master
An arc exactly like the first screenshot below, but with the blue indicator on the bottom.
The simulator and real hardware.
static lv_obj_t* arcBlack; arcBlack = lv_arc_create(lv_scr_act()); lv_arc_set_mode(arcBlack, LV_ARC_MODE_REVERSE); lv_arc_set_bg_angles(arcBlack, 0, 90); lv_arc_set_value(arcBlack, 40);
In normal arc mode. This is what I want, but the indicator mirrored to the bottom.
Here’s what happens with the same code in reverse mode:
And when dragging the handle backwards: