Lines Matching refs:obj

41 static void lv_slider_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj);
43 static void position_knob(lv_obj_t * obj, lv_area_t * knob_area, const int32_t knob_size, const boo…
45 static bool is_slider_horizontal(lv_obj_t * obj);
46 static void drag_start(lv_obj_t * obj);
47 static void update_knob_pos(lv_obj_t * obj, bool check_drag);
130 lv_obj_t * obj = lv_obj_class_create_obj(MY_CLASS, parent); in lv_slider_create() local
131 lv_obj_class_init_obj(obj); in lv_slider_create()
132 return obj; in lv_slider_create()
135 bool lv_slider_is_dragged(const lv_obj_t * obj) in lv_slider_is_dragged() argument
137 LV_ASSERT_OBJ(obj, MY_CLASS); in lv_slider_is_dragged()
138 lv_slider_t * slider = (lv_slider_t *)obj; in lv_slider_is_dragged()
143 void lv_slider_set_value(lv_obj_t * obj, int32_t value, lv_anim_enable_t anim) in lv_slider_set_value() argument
145 lv_bar_set_value(obj, value, anim); in lv_slider_set_value()
148 void lv_slider_set_left_value(lv_obj_t * obj, int32_t value, lv_anim_enable_t anim) in lv_slider_set_left_value() argument
150 lv_bar_set_start_value(obj, value, anim); in lv_slider_set_left_value()
153 void lv_slider_set_range(lv_obj_t * obj, int32_t min, int32_t max) in lv_slider_set_range() argument
155 lv_bar_set_range(obj, min, max); in lv_slider_set_range()
158 void lv_slider_set_mode(lv_obj_t * obj, lv_slider_mode_t mode) in lv_slider_set_mode() argument
160 lv_bar_set_mode(obj, (lv_bar_mode_t)mode); in lv_slider_set_mode()
163 void lv_slider_set_orientation(lv_obj_t * obj, lv_slider_orientation_t orientation) in lv_slider_set_orientation() argument
165 lv_bar_set_orientation(obj, (lv_bar_orientation_t)orientation); in lv_slider_set_orientation()
168 int32_t lv_slider_get_value(const lv_obj_t * obj) in lv_slider_get_value() argument
170 return lv_bar_get_value(obj); in lv_slider_get_value()
173 int32_t lv_slider_get_left_value(const lv_obj_t * obj) in lv_slider_get_left_value() argument
175 return lv_bar_get_start_value(obj); in lv_slider_get_left_value()
178 int32_t lv_slider_get_min_value(const lv_obj_t * obj) in lv_slider_get_min_value() argument
180 return lv_bar_get_min_value(obj); in lv_slider_get_min_value()
183 int32_t lv_slider_get_max_value(const lv_obj_t * obj) in lv_slider_get_max_value() argument
185 return lv_bar_get_max_value(obj); in lv_slider_get_max_value()
204 bool lv_slider_is_symmetrical(lv_obj_t * obj) in lv_slider_is_symmetrical() argument
206 return lv_bar_is_symmetrical(obj); in lv_slider_is_symmetrical()
213 static void lv_slider_constructor(const lv_obj_class_t * class_p, lv_obj_t * obj) in lv_slider_constructor() argument
216 lv_slider_t * slider = (lv_slider_t *)obj; in lv_slider_constructor()
223 lv_obj_remove_flag(obj, LV_OBJ_FLAG_SCROLL_CHAIN_HOR); in lv_slider_constructor()
224 lv_obj_remove_flag(obj, LV_OBJ_FLAG_SCROLLABLE); in lv_slider_constructor()
225 lv_obj_add_flag(obj, LV_OBJ_FLAG_SCROLL_ON_FOCUS); in lv_slider_constructor()
226 lv_obj_set_ext_click_area(obj, LV_DPX(8)); in lv_slider_constructor()
240 lv_obj_t * obj = lv_event_get_current_target(e); in lv_slider_event() local
241 lv_slider_t * slider = (lv_slider_t *)obj; in lv_slider_event()
242 lv_slider_mode_t type = lv_slider_get_mode(obj); in lv_slider_event()
247 int32_t ext_click_area = obj->spec_attr ? obj->spec_attr->ext_click_pad : 0; in lv_slider_event()
265 …lv_obj_transform_point(obj, &slider->pressed_point, LV_OBJ_POINT_TRANSFORM_FLAG_INVERSE_RECURSIVE); in lv_slider_event()
268 update_knob_pos(obj, true); in lv_slider_event()
271 update_knob_pos(obj, false); in lv_slider_event()
275 lv_obj_invalidate(obj); in lv_slider_event()
278 lv_group_t * g = lv_obj_get_group(obj); in lv_slider_event()
283 if(lv_slider_get_mode(obj) == LV_SLIDER_MODE_RANGE) { in lv_slider_event()
296 if(is_slider_horizontal(obj)) lv_obj_add_flag(obj, LV_OBJ_FLAG_SCROLL_CHAIN_VER); in lv_slider_event()
297 else lv_obj_add_flag(obj, LV_OBJ_FLAG_SCROLL_CHAIN_HOR); in lv_slider_event()
307 if(is_slider_horizontal(obj)) { in lv_slider_event()
308 lv_obj_add_flag(obj, LV_OBJ_FLAG_SCROLL_CHAIN_VER); in lv_slider_event()
309 lv_obj_remove_flag(obj, LV_OBJ_FLAG_SCROLL_CHAIN_HOR); in lv_slider_event()
312 lv_obj_add_flag(obj, LV_OBJ_FLAG_SCROLL_CHAIN_HOR); in lv_slider_event()
313 lv_obj_remove_flag(obj, LV_OBJ_FLAG_SCROLL_CHAIN_VER); in lv_slider_event()
315 lv_obj_refresh_ext_draw_size(obj); in lv_slider_event()
318 int32_t knob_left = lv_obj_get_style_pad_left(obj, LV_PART_KNOB); in lv_slider_event()
319 int32_t knob_right = lv_obj_get_style_pad_right(obj, LV_PART_KNOB); in lv_slider_event()
320 int32_t knob_top = lv_obj_get_style_pad_top(obj, LV_PART_KNOB); in lv_slider_event()
321 int32_t knob_bottom = lv_obj_get_style_pad_bottom(obj, LV_PART_KNOB); in lv_slider_event()
324 int32_t trans_w = lv_obj_get_style_transform_width(obj, LV_PART_KNOB); in lv_slider_event()
325 int32_t trans_h = lv_obj_get_style_transform_height(obj, LV_PART_KNOB); in lv_slider_event()
326 …int32_t knob_size = LV_MIN(lv_obj_get_width(obj) + 2 * trans_w, lv_obj_get_height(obj) + 2 * trans… in lv_slider_event()
329 knob_size += lv_obj_calculate_ext_draw_size(obj, LV_PART_KNOB); in lv_slider_event()
340 … if(!slider->left_knob_focus) lv_slider_set_value(obj, lv_slider_get_value(obj) + 1, LV_ANIM_ON); in lv_slider_event()
341 else lv_slider_set_left_value(obj, lv_slider_get_left_value(obj) + 1, LV_ANIM_ON); in lv_slider_event()
344 … if(!slider->left_knob_focus) lv_slider_set_value(obj, lv_slider_get_value(obj) - 1, LV_ANIM_ON); in lv_slider_event()
345 else lv_slider_set_left_value(obj, lv_slider_get_left_value(obj) - 1, LV_ANIM_ON); in lv_slider_event()
351 res = lv_obj_send_event(obj, LV_EVENT_VALUE_CHANGED, NULL); in lv_slider_event()
357 … if(!slider->left_knob_focus) lv_slider_set_value(obj, lv_slider_get_value(obj) + r, LV_ANIM_ON); in lv_slider_event()
358 else lv_slider_set_left_value(obj, lv_slider_get_left_value(obj) + 1, LV_ANIM_ON); in lv_slider_event()
360 res = lv_obj_send_event(obj, LV_EVENT_VALUE_CHANGED, NULL); in lv_slider_event()
370 lv_obj_t * obj = lv_event_get_current_target(e); in draw_knob() local
371 lv_slider_t * slider = (lv_slider_t *)obj; in draw_knob()
374 const bool is_rtl = LV_BASE_DIR_RTL == lv_obj_get_style_base_dir(obj, LV_PART_MAIN); in draw_knob()
375 const bool is_horizontal = is_slider_horizontal(obj); in draw_knob()
380 bool is_symmetrical = lv_slider_is_symmetrical(obj); in draw_knob()
383 knob_size = lv_obj_get_height(obj); in draw_knob()
389 knob_size = lv_obj_get_width(obj); in draw_knob()
397 lv_obj_init_draw_rect_dsc(obj, LV_PART_KNOB, &knob_rect_dsc); in draw_knob()
399 position_knob(obj, &knob_area, knob_size, is_horizontal); in draw_knob()
403 if(lv_slider_get_mode(obj) != LV_SLIDER_MODE_RANGE) { in draw_knob()
421 position_knob(obj, &knob_area, knob_size, is_horizontal); in draw_knob()
430 static void position_knob(lv_obj_t * obj, lv_area_t * knob_area, const int32_t knob_size, const boo… in position_knob() argument
435 knob_area->y1 = obj->coords.y1; in position_knob()
436 knob_area->y2 = obj->coords.y2; in position_knob()
441 knob_area->x1 = obj->coords.x1; in position_knob()
442 knob_area->x2 = obj->coords.x2; in position_knob()
445 int32_t knob_left = lv_obj_get_style_pad_left(obj, LV_PART_KNOB); in position_knob()
446 int32_t knob_right = lv_obj_get_style_pad_right(obj, LV_PART_KNOB); in position_knob()
447 int32_t knob_top = lv_obj_get_style_pad_top(obj, LV_PART_KNOB); in position_knob()
448 int32_t knob_bottom = lv_obj_get_style_pad_bottom(obj, LV_PART_KNOB); in position_knob()
450 int32_t transf_w = lv_obj_get_style_transform_width(obj, LV_PART_KNOB); in position_knob()
451 int32_t transf_h = lv_obj_get_style_transform_height(obj, LV_PART_KNOB); in position_knob()
460 static bool is_slider_horizontal(lv_obj_t * obj) in is_slider_horizontal() argument
462 lv_slider_t * slider = (lv_slider_t *)obj; in is_slider_horizontal()
463 …bar.orientation == LV_BAR_ORIENTATION_AUTO) return lv_obj_get_width(obj) >= lv_obj_get_height(obj); in is_slider_horizontal()
468 static void drag_start(lv_obj_t * obj) in drag_start() argument
470 lv_slider_t * slider = (lv_slider_t *)obj; in drag_start()
471 lv_slider_mode_t mode = lv_slider_get_mode(obj); in drag_start()
479 lv_obj_transform_point(obj, &p, LV_OBJ_POINT_TRANSFORM_FLAG_INVERSE_RECURSIVE); in drag_start()
480 const bool is_rtl = LV_BASE_DIR_RTL == lv_obj_get_style_base_dir(obj, LV_PART_MAIN); in drag_start()
481 const bool is_horizontal = is_slider_horizontal(obj); in drag_start()
532 static void update_knob_pos(lv_obj_t * obj, bool check_drag) in update_knob_pos() argument
534 lv_slider_t * slider = (lv_slider_t *)obj; in update_knob_pos()
543 lv_obj_transform_point(obj, &p, LV_OBJ_POINT_TRANSFORM_FLAG_INVERSE_RECURSIVE); in update_knob_pos()
545 bool is_hor = is_slider_horizontal(obj); in update_knob_pos()
558 drag_start(obj); in update_knob_pos()
563 const bool is_rtl = LV_BASE_DIR_RTL == lv_obj_get_style_base_dir(obj, LV_PART_MAIN); in update_knob_pos()
564 const bool is_horizontal = is_slider_horizontal(obj); in update_knob_pos()
568 const int32_t bg_left = lv_obj_get_style_pad_left(obj, LV_PART_MAIN); in update_knob_pos()
569 const int32_t bg_right = lv_obj_get_style_pad_right(obj, LV_PART_MAIN); in update_knob_pos()
570 const int32_t w = lv_obj_get_width(obj); in update_knob_pos()
575 new_value = (obj->coords.x2 - bg_right) - p.x; in update_knob_pos()
579 new_value = p.x - (obj->coords.x1 + bg_left); in update_knob_pos()
587 const int32_t bg_top = lv_obj_get_style_pad_top(obj, LV_PART_MAIN); in update_knob_pos()
588 const int32_t bg_bottom = lv_obj_get_style_pad_bottom(obj, LV_PART_MAIN); in update_knob_pos()
589 const int32_t h = lv_obj_get_height(obj); in update_knob_pos()
594 new_value = p.y - (obj->coords.y1 + bg_top); in update_knob_pos()
598 new_value = p.y - (obj->coords.y2 + bg_bottom); in update_knob_pos()
619 lv_obj_remove_flag(obj, LV_OBJ_FLAG_SCROLL_CHAIN_VER); in update_knob_pos()
621 lv_obj_remove_flag(obj, LV_OBJ_FLAG_SCROLL_CHAIN_HOR); in update_knob_pos()
623 lv_obj_invalidate(obj); in update_knob_pos()
624 lv_result_t res = lv_obj_send_event(obj, LV_EVENT_VALUE_CHANGED, NULL); in update_knob_pos()