feat(spangroup): add lv_spangroup_get_span_by_point in spangroup (#6579)
Co-authored-by: Gabor Kiss-Vamosi <kisvegabor@gmail.com>
This commit is contained in:
@@ -1,8 +1,19 @@
|
||||
#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 span.
|
||||
* Create spans and get clicked one
|
||||
*/
|
||||
void lv_example_span_1(void)
|
||||
{
|
||||
@@ -17,6 +28,7 @@ void lv_example_span_1(void)
|
||||
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);
|
||||
@@ -53,6 +65,8 @@ void lv_example_span_1(void)
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user