#include "../../lv_examples.h" #if LV_USE_SPAN && LV_BUILD_EXAMPLES static void click_event_cb(lv_event_t * e) { lv_obj_t * spans = lv_event_get_target(e); lv_indev_t * indev = lv_event_get_indev(e); lv_point_t point; lv_indev_get_point(indev, &point); lv_span_t * span = lv_spangroup_get_span_by_point(spans, &point); LV_LOG_USER("%s", span ? lv_span_get_text(span) : "NULL"); } /** * Create spans and get clicked one */ void lv_example_span_1(void) { static lv_style_t style; lv_style_init(&style); lv_style_set_border_width(&style, 1); lv_style_set_border_color(&style, lv_palette_main(LV_PALETTE_ORANGE)); lv_style_set_pad_all(&style, 2); lv_obj_t * spans = lv_spangroup_create(lv_screen_active()); lv_obj_set_width(spans, 300); lv_obj_set_height(spans, 300); lv_obj_center(spans); lv_obj_add_style(spans, &style, 0); lv_obj_add_flag(spans, LV_OBJ_FLAG_CLICKABLE); lv_spangroup_set_align(spans, LV_TEXT_ALIGN_LEFT); lv_spangroup_set_overflow(spans, LV_SPAN_OVERFLOW_CLIP); lv_spangroup_set_indent(spans, 20); lv_spangroup_set_mode(spans, LV_SPAN_MODE_BREAK); lv_span_t * span = lv_spangroup_new_span(spans); lv_span_set_text(span, "China is a beautiful country."); lv_style_set_text_color(lv_span_get_style(span), lv_palette_main(LV_PALETTE_RED)); lv_style_set_text_decor(lv_span_get_style(span), LV_TEXT_DECOR_UNDERLINE); lv_style_set_text_opa(lv_span_get_style(span), LV_OPA_50); span = lv_spangroup_new_span(spans); lv_span_set_text_static(span, "good good study, day day up."); #if LV_FONT_MONTSERRAT_24 lv_style_set_text_font(lv_span_get_style(span), &lv_font_montserrat_24); #endif lv_style_set_text_color(lv_span_get_style(span), lv_palette_main(LV_PALETTE_GREEN)); span = lv_spangroup_new_span(spans); lv_span_set_text_static(span, "LVGL is an open-source graphics library."); lv_style_set_text_color(lv_span_get_style(span), lv_palette_main(LV_PALETTE_BLUE)); span = lv_spangroup_new_span(spans); lv_span_set_text_static(span, "the boy no name."); lv_style_set_text_color(lv_span_get_style(span), lv_palette_main(LV_PALETTE_GREEN)); #if LV_FONT_MONTSERRAT_20 lv_style_set_text_font(lv_span_get_style(span), &lv_font_montserrat_20); #endif lv_style_set_text_decor(lv_span_get_style(span), LV_TEXT_DECOR_UNDERLINE); span = lv_spangroup_new_span(spans); lv_span_set_text(span, "I have a dream that hope to come true."); lv_style_set_text_decor(lv_span_get_style(span), LV_TEXT_DECOR_STRIKETHROUGH); lv_spangroup_refr_mode(spans); lv_obj_add_event_cb(spans, click_event_cb, LV_EVENT_CLICKED, NULL); } #endif