#include "../../lv_examples.h" #if LV_USE_SCALE && LV_BUILD_EXAMPLES /** * An scale with section and custom styling */ void lv_example_scale_5(void) { lv_obj_t * scale = lv_scale_create(lv_screen_active()); lv_obj_set_size(scale, lv_display_get_horizontal_resolution(NULL) / 2, lv_display_get_vertical_resolution(NULL) / 2); lv_scale_set_label_show(scale, true); lv_scale_set_total_tick_count(scale, 10); lv_scale_set_major_tick_every(scale, 5); lv_scale_set_major_tick_length(scale, 10); lv_scale_set_minor_tick_length(scale, 5); lv_scale_set_range(scale, 25, 35); static const char * custom_labels[3] = {"One", "Two", NULL}; lv_scale_set_text_src(scale, custom_labels); static lv_style_t indicator_style; lv_style_init(&indicator_style); /* Label style properties */ lv_style_set_text_font(&indicator_style, LV_FONT_DEFAULT); lv_style_set_text_color(&indicator_style, lv_color_hex(0xff00ff)); /* Major tick properties */ lv_style_set_line_color(&indicator_style, lv_color_hex(0x00ff00)); lv_style_set_width(&indicator_style, 10U); // Tick length lv_style_set_line_width(&indicator_style, 2U); // Tick width lv_obj_add_style(scale, &indicator_style, LV_PART_INDICATOR); static lv_style_t minor_ticks_style; lv_style_init(&minor_ticks_style); lv_style_set_line_color(&minor_ticks_style, lv_color_hex(0xff0000)); lv_style_set_width(&minor_ticks_style, 5U); // Tick length lv_style_set_line_width(&minor_ticks_style, 2U); // Tick width lv_obj_add_style(scale, &minor_ticks_style, LV_PART_ITEMS); static lv_style_t main_line_style; lv_style_init(&main_line_style); /* Main line properties */ lv_style_set_line_color(&main_line_style, lv_color_hex(0x0000ff)); lv_style_set_line_width(&main_line_style, 2U); // Tick width lv_obj_add_style(scale, &main_line_style, LV_PART_MAIN); lv_obj_center(scale); /* Add a section */ static lv_style_t section_minor_tick_style; static lv_style_t section_label_style; lv_style_init(§ion_label_style); lv_style_init(§ion_minor_tick_style); /* Label style properties */ lv_style_set_text_font(§ion_label_style, LV_FONT_DEFAULT); lv_style_set_text_color(§ion_label_style, lv_color_hex(0xff0000)); lv_style_set_text_letter_space(§ion_label_style, 10); lv_style_set_text_opa(§ion_label_style, LV_OPA_50); lv_style_set_line_color(§ion_label_style, lv_color_hex(0xff0000)); // lv_style_set_width(§ion_label_style, 20U); // Tick length lv_style_set_line_width(§ion_label_style, 5U); // Tick width lv_style_set_line_color(§ion_minor_tick_style, lv_color_hex(0x0000ff)); // lv_style_set_width(§ion_label_style, 20U); // Tick length lv_style_set_line_width(§ion_minor_tick_style, 4U); // Tick width /* Configure section styles */ lv_scale_section_t * section = lv_scale_add_section(scale); lv_scale_section_set_range(section, 25, 30); lv_scale_section_set_style(section, LV_PART_INDICATOR, §ion_label_style); lv_scale_section_set_style(section, LV_PART_ITEMS, §ion_minor_tick_style); } #endif