Lines Matching refs:roller
31 static bool lv_roller_design(lv_obj_t * roller, const lv_area_t * mask, lv_design_mode_t mode);
33 static lv_res_t lv_roller_signal(lv_obj_t * roller, lv_signal_t sign, void * param);
34 static void refr_position(lv_obj_t * roller, lv_anim_enable_t animen);
35 static void refr_height(lv_obj_t * roller);
40 static void draw_bg(lv_obj_t * roller, const lv_area_t * mask);
100 lv_roller_set_style(new_roller, LV_ROLLER_STYLE_BG, th->style.roller.bg); in lv_roller_create()
101 lv_roller_set_style(new_roller, LV_ROLLER_STYLE_SEL, th->style.roller.sel); in lv_roller_create()
135 void lv_roller_set_options(lv_obj_t * roller, const char * options, lv_roller_mode_t mode) in lv_roller_set_options() argument
137 lv_roller_ext_t * ext = lv_obj_get_ext_attr(roller); in lv_roller_set_options()
141 lv_ddlist_set_options(roller, options); in lv_roller_set_options()
146 refr_height(roller); in lv_roller_set_options()
158 lv_ddlist_set_options(roller, opt_extra); in lv_roller_set_options()
164 refr_height(roller); in lv_roller_set_options()
167 …lv_roller_set_selected(roller, ((LV_ROLLER_INF_PAGES / 2) + 1) * real_id_cnt, false); /*Select the… in lv_roller_set_options()
176 void lv_roller_set_align(lv_obj_t * roller, lv_label_align_t align) in lv_roller_set_align() argument
178 lv_roller_ext_t * ext = lv_obj_get_ext_attr(roller); in lv_roller_set_align()
190 void lv_roller_set_selected(lv_obj_t * roller, uint16_t sel_opt, lv_anim_enable_t anim) in lv_roller_set_selected() argument
196 if(lv_roller_get_selected(roller) == sel_opt) return; in lv_roller_set_selected()
198 lv_ddlist_set_selected(roller, sel_opt); in lv_roller_set_selected()
199 refr_position(roller, anim); in lv_roller_set_selected()
207 void lv_roller_set_visible_row_count(lv_obj_t * roller, uint8_t row_cnt) in lv_roller_set_visible_row_count() argument
209 lv_roller_ext_t * ext = lv_obj_get_ext_attr(roller); in lv_roller_set_visible_row_count()
212 lv_ddlist_set_fix_height(roller, lv_font_get_line_height(style_label->text.font) * row_cnt + in lv_roller_set_visible_row_count()
222 void lv_roller_set_style(lv_obj_t * roller, lv_roller_style_t type, const lv_style_t * style) in lv_roller_set_style() argument
225 case LV_ROLLER_STYLE_BG: lv_obj_set_style(roller, style); break; in lv_roller_set_style()
226 case LV_ROLLER_STYLE_SEL: lv_ddlist_set_style(roller, LV_DDLIST_STYLE_SEL, style); break; in lv_roller_set_style()
239 uint16_t lv_roller_get_selected(const lv_obj_t * roller) in lv_roller_get_selected() argument
241 lv_roller_ext_t * ext = lv_obj_get_ext_attr(roller); in lv_roller_get_selected()
244 return lv_ddlist_get_selected(roller) % real_id_cnt; in lv_roller_get_selected()
246 return lv_ddlist_get_selected(roller); in lv_roller_get_selected()
255 lv_label_align_t lv_roller_get_align(const lv_obj_t * roller) in lv_roller_get_align() argument
257 lv_roller_ext_t * ext = lv_obj_get_ext_attr(roller); in lv_roller_get_align()
268 bool lv_roller_get_hor_fit(const lv_obj_t * roller) in lv_roller_get_hor_fit() argument
270 return lv_page_get_scrl_fit_left(roller); in lv_roller_get_hor_fit()
279 const lv_style_t * lv_roller_get_style(const lv_obj_t * roller, lv_roller_style_t type) in lv_roller_get_style() argument
282 case LV_ROLLER_STYLE_BG: return lv_obj_get_style(roller); in lv_roller_get_style()
283 case LV_ROLLER_STYLE_SEL: return lv_ddlist_get_style(roller, LV_DDLIST_STYLE_SEL); in lv_roller_get_style()
305 static bool lv_roller_design(lv_obj_t * roller, const lv_area_t * mask, lv_design_mode_t mode) in lv_roller_design() argument
313 draw_bg(roller, mask); in lv_roller_design()
315 const lv_style_t * style = lv_roller_get_style(roller, LV_ROLLER_STYLE_BG); in lv_roller_design()
316 lv_opa_t opa_scale = lv_obj_get_opa_scale(roller); in lv_roller_design()
318 lv_roller_ext_t * ext = lv_obj_get_ext_attr(roller); in lv_roller_design()
321 …rect_area.y1 = roller->coords.y1 + lv_obj_get_height(roller) / 2 - font_h / 2 - style->text.line_s… in lv_roller_design()
325 lv_obj_get_coords(roller, &roller_coords); in lv_roller_design()
326 lv_obj_get_inner_coords(roller, &roller_coords); in lv_roller_design()
335 const lv_style_t * style = lv_roller_get_style(roller, LV_ROLLER_STYLE_BG); in lv_roller_design()
336 lv_roller_ext_t * ext = lv_obj_get_ext_attr(roller); in lv_roller_design()
339 lv_opa_t opa_scale = lv_obj_get_opa_scale(roller); in lv_roller_design()
343 …rect_area.y1 = roller->coords.y1 + lv_obj_get_height(roller) / 2 - font_h / 2 - style->text.line_s… in lv_roller_design()
346 rect_area.x1 = roller->coords.x1; in lv_roller_design()
347 rect_area.x2 = roller->coords.x2; in lv_roller_design()
352 const lv_style_t * sel_style = lv_roller_get_style(roller, LV_ROLLER_STYLE_SEL); in lv_roller_design()
384 static lv_res_t lv_roller_signal(lv_obj_t * roller, lv_signal_t sign, void * param) in lv_roller_signal() argument
391 res = ancestor_signal(roller, sign, param); in lv_roller_signal()
395 lv_roller_ext_t * ext = lv_obj_get_ext_attr(roller); in lv_roller_signal()
398 refr_height(roller); in lv_roller_signal()
400 refr_position(roller, false); in lv_roller_signal()
403 if(lv_obj_get_width(roller) != lv_area_get_width(param) || in lv_roller_signal()
404 lv_obj_get_height(roller) != lv_area_get_height(param)) { in lv_roller_signal()
406 refr_height(roller); in lv_roller_signal()
408 lv_anim_del(lv_page_get_scrl(roller), (lv_anim_exec_xcb_t)lv_obj_set_y); in lv_roller_signal()
410 lv_ddlist_set_selected(roller, ext->ddlist.sel_opt_id); in lv_roller_signal()
411 refr_position(roller, false); in lv_roller_signal()
415 lv_group_t * g = lv_obj_get_group(roller); in lv_roller_signal()
425 refr_position(roller, true); in lv_roller_signal()
442 refr_position(roller, true); in lv_roller_signal()
450 lv_roller_set_selected(roller, ext->ddlist.sel_opt_id + 1, true); in lv_roller_signal()
456 lv_roller_set_selected(roller, ext->ddlist.sel_opt_id - 1, true); in lv_roller_signal()
489 lv_obj_t * roller = lv_obj_get_parent(roller_scrl); in lv_roller_scrl_signal() local
490 lv_roller_ext_t * ext = lv_obj_get_ext_attr(roller); in lv_roller_scrl_signal()
502 lv_coord_t label_y1 = ext->ddlist.label->coords.y1 - roller->coords.y1; in lv_roller_scrl_signal()
504 lv_coord_t mid = (roller->coords.y2 - roller->coords.y1) / 2; in lv_roller_scrl_signal()
513 res = lv_event_send(roller, LV_EVENT_VALUE_CHANGED, &id); in lv_roller_scrl_signal()
522 lv_group_t * g = lv_obj_get_group(roller); in lv_roller_scrl_signal()
535 refr_position(roller, true); in lv_roller_scrl_signal()
546 static void draw_bg(lv_obj_t * roller, const lv_area_t * mask) in draw_bg() argument
548 const lv_style_t * style = lv_roller_get_style(roller, LV_ROLLER_STYLE_BG); in draw_bg()
551 lv_coord_t h = lv_obj_get_height(roller); in draw_bg()
553 lv_area_copy(&half_roller, &roller->coords); in draw_bg()
555 half_roller.x1 -= roller->ext_draw_pad; /*Add ext size too (e.g. because of shadow draw) */ in draw_bg()
556 half_roller.x2 += roller->ext_draw_pad; in draw_bg()
557 half_roller.y1 -= roller->ext_draw_pad; in draw_bg()
558 half_roller.y2 = roller->coords.y1 + h / 2; in draw_bg()
562 half_roller.x1 += roller->ext_draw_pad; /*Revert ext. size adding*/ in draw_bg()
563 half_roller.x2 -= roller->ext_draw_pad; in draw_bg()
564 half_roller.y1 += roller->ext_draw_pad; in draw_bg()
568 lv_draw_rect(&half_roller, &half_mask, style, lv_obj_get_opa_scale(roller)); in draw_bg()
571 half_roller.x1 -= roller->ext_draw_pad; /*Add ext size too (e.g. because of shadow draw) */ in draw_bg()
572 half_roller.x2 += roller->ext_draw_pad; in draw_bg()
573 half_roller.y2 = roller->coords.y2 + roller->ext_draw_pad; in draw_bg()
574 half_roller.y1 = roller->coords.y1 + h / 2; in draw_bg()
579 half_roller.x1 += roller->ext_draw_pad; /*Revert ext. size adding*/ in draw_bg()
580 half_roller.x2 -= roller->ext_draw_pad; in draw_bg()
581 half_roller.y2 -= roller->ext_draw_pad; in draw_bg()
589 lv_draw_rect(&half_roller, &half_mask, &style_tmp, lv_obj_get_opa_scale(roller)); in draw_bg()
598 static void refr_position(lv_obj_t * roller, lv_anim_enable_t anim_en) in refr_position() argument
604 lv_obj_t * roller_scrl = lv_page_get_scrl(roller); in refr_position()
605 lv_roller_ext_t * ext = lv_obj_get_ext_attr(roller); in refr_position()
609 lv_coord_t h = lv_obj_get_height(roller); in refr_position()
610 uint16_t anim_time = lv_roller_get_anim_time(roller); in refr_position()
649 static void refr_height(lv_obj_t * roller) in refr_height() argument
651 lv_roller_ext_t * ext = lv_obj_get_ext_attr(roller); in refr_height()
661 …lv_obj_set_height(lv_page_get_scrl(roller), lv_obj_get_height(ext->ddlist.label) + lv_obj_get_heig… in refr_height()
664 lv_anim_del(lv_page_get_scrl(roller), (lv_anim_exec_xcb_t)lv_obj_set_y); in refr_height()
666 lv_ddlist_set_selected(roller, ext->ddlist.sel_opt_id); in refr_height()
676 lv_obj_t * roller = lv_obj_get_parent(roller_scrl); in inf_normalize() local
677 lv_roller_ext_t * ext = lv_obj_get_ext_attr(roller); in inf_normalize()
690 lv_coord_t h = lv_obj_get_height(roller); in inf_normalize()