1 #include "../../lv_examples.h"
2 #if LV_USE_SCALE && LV_BUILD_EXAMPLES
3 
4 
5 /**
6  * A simple round scale with label/tick translation
7  */
lv_example_scale_8(void)8 void lv_example_scale_8(void)
9 {
10     lv_obj_t * scale_line = lv_scale_create(lv_screen_active());
11     lv_obj_set_size(scale_line, 150, 150);
12     lv_scale_set_mode(scale_line, LV_SCALE_MODE_ROUND_INNER);
13     lv_obj_set_style_bg_opa(scale_line, LV_OPA_COVER, 0);
14     lv_obj_set_style_bg_color(scale_line, lv_palette_lighten(LV_PALETTE_RED, 5), 0);
15     lv_obj_set_style_radius(scale_line, LV_RADIUS_CIRCLE, 0);
16     lv_obj_align(scale_line, LV_ALIGN_LEFT_MID, LV_PCT(2), 0);
17 
18     /*Set the texts' and major ticks' style (make the texts rotated)*/
19     lv_obj_set_style_transform_rotation(scale_line, LV_SCALE_LABEL_ROTATE_MATCH_TICKS | LV_SCALE_LABEL_ROTATE_KEEP_UPRIGHT,
20                                         LV_PART_INDICATOR);
21     lv_obj_set_style_translate_x(scale_line, 10, LV_PART_INDICATOR);
22     lv_obj_set_style_length(scale_line, 15, LV_PART_INDICATOR);
23     lv_obj_set_style_radial_offset(scale_line, 10, LV_PART_INDICATOR);
24 
25     /*Set the style of the minor ticks*/
26     lv_obj_set_style_length(scale_line, 10, LV_PART_ITEMS);
27     lv_obj_set_style_radial_offset(scale_line, 5, LV_PART_ITEMS);
28     lv_obj_set_style_line_opa(scale_line, LV_OPA_50, LV_PART_ITEMS);
29 
30     lv_scale_set_label_show(scale_line, true);
31 
32     lv_scale_set_total_tick_count(scale_line, 31);
33     lv_scale_set_major_tick_every(scale_line, 5);
34 
35     lv_scale_set_range(scale_line, 10, 40);
36 
37     lv_scale_set_angle_range(scale_line, 270);
38     lv_scale_set_rotation(scale_line, 135);
39 
40     lv_obj_t * needle_line = lv_line_create(scale_line);
41 
42     lv_obj_set_style_line_width(needle_line, 3, LV_PART_MAIN);
43     lv_obj_set_style_line_rounded(needle_line, true, LV_PART_MAIN);
44     lv_scale_set_line_needle_value(scale_line, needle_line, 60, 33);
45 }
46 
47 #endif
48