Lines Matching refs:btnm
105 lv_buttonmatrix_t * btnm = (lv_buttonmatrix_t *)obj; in lv_buttonmatrix_set_map() local
109 btnm->map_p = map; in lv_buttonmatrix_set_map()
123 int32_t max_h_no_gap = max_h - (prow * (btnm->row_cnt - 1)); in lv_buttonmatrix_set_map()
133 for(row = 0; row < btnm->row_cnt; row++) { in lv_buttonmatrix_set_map()
138 unit_cnt += get_button_width(btnm->ctrl_bits[btn_tot_i + btn_cnt]); in lv_buttonmatrix_set_map()
148 int32_t row_y1 = stop + (max_h_no_gap * row) / btnm->row_cnt + row * prow; in lv_buttonmatrix_set_map()
149 int32_t row_y2 = stop + (max_h_no_gap * (row + 1)) / btnm->row_cnt + row * prow - 1; in lv_buttonmatrix_set_map()
158 uint32_t btn_u = get_button_width(btnm->ctrl_bits[btn_tot_i]); in lv_buttonmatrix_set_map()
176 lv_area_set(&btnm->button_areas[btn_tot_i], btn_x1, row_y1, btn_x2, row_y2); in lv_buttonmatrix_set_map()
195 lv_buttonmatrix_t * btnm = (lv_buttonmatrix_t *)obj; in lv_buttonmatrix_set_ctrl_map() local
196 lv_memcpy(btnm->ctrl_bits, ctrl_map, sizeof(lv_buttonmatrix_ctrl_t) * btnm->btn_cnt); in lv_buttonmatrix_set_ctrl_map()
198 lv_buttonmatrix_set_map(obj, btnm->map_p); in lv_buttonmatrix_set_ctrl_map()
205 lv_buttonmatrix_t * btnm = (lv_buttonmatrix_t *)obj; in lv_buttonmatrix_set_selected_button() local
207 if(btn_id >= btnm->btn_cnt && btn_id != LV_BUTTONMATRIX_BUTTON_NONE) return; in lv_buttonmatrix_set_selected_button()
209 invalidate_button_area(obj, btnm->btn_id_sel); in lv_buttonmatrix_set_selected_button()
210 btnm->btn_id_sel = btn_id; in lv_buttonmatrix_set_selected_button()
218 lv_buttonmatrix_t * btnm = (lv_buttonmatrix_t *)obj; in lv_buttonmatrix_set_button_ctrl() local
220 if(btn_id >= btnm->btn_cnt) return; in lv_buttonmatrix_set_button_ctrl()
222 if(btnm->one_check && (ctrl & LV_BUTTONMATRIX_CTRL_CHECKED)) { in lv_buttonmatrix_set_button_ctrl()
226 btnm->ctrl_bits[btn_id] |= ctrl; in lv_buttonmatrix_set_button_ctrl()
238 lv_buttonmatrix_t * btnm = (lv_buttonmatrix_t *)obj; in lv_buttonmatrix_clear_button_ctrl() local
240 if(btn_id >= btnm->btn_cnt) return; in lv_buttonmatrix_clear_button_ctrl()
242 btnm->ctrl_bits[btn_id] &= (~ctrl); in lv_buttonmatrix_clear_button_ctrl()
254 lv_buttonmatrix_t * btnm = (lv_buttonmatrix_t *)obj; in lv_buttonmatrix_set_button_ctrl_all() local
256 for(i = 0; i < btnm->btn_cnt; i++) { in lv_buttonmatrix_set_button_ctrl_all()
265 lv_buttonmatrix_t * btnm = (lv_buttonmatrix_t *)obj; in lv_buttonmatrix_clear_button_ctrl_all() local
267 for(i = 0; i < btnm->btn_cnt; i++) { in lv_buttonmatrix_clear_button_ctrl_all()
276 lv_buttonmatrix_t * btnm = (lv_buttonmatrix_t *)obj; in lv_buttonmatrix_set_button_width() local
277 if(btn_id >= btnm->btn_cnt) return; in lv_buttonmatrix_set_button_width()
278 btnm->ctrl_bits[btn_id] &= (~LV_BUTTONMATRIX_WIDTH_MASK); in lv_buttonmatrix_set_button_width()
279 btnm->ctrl_bits[btn_id] |= (LV_BUTTONMATRIX_WIDTH_MASK & width); in lv_buttonmatrix_set_button_width()
281 lv_buttonmatrix_set_map(obj, btnm->map_p); in lv_buttonmatrix_set_button_width()
288 lv_buttonmatrix_t * btnm = (lv_buttonmatrix_t *)obj; in lv_buttonmatrix_set_one_checked() local
289 btnm->one_check = en; in lv_buttonmatrix_set_one_checked()
303 lv_buttonmatrix_t * btnm = (lv_buttonmatrix_t *)obj; in lv_buttonmatrix_get_map() local
304 return btnm->map_p; in lv_buttonmatrix_get_map()
311 lv_buttonmatrix_t * btnm = (lv_buttonmatrix_t *)obj; in lv_buttonmatrix_get_selected_button() local
312 return btnm->btn_id_sel; in lv_buttonmatrix_get_selected_button()
321 lv_buttonmatrix_t * btnm = (lv_buttonmatrix_t *)obj; in lv_buttonmatrix_get_button_text() local
322 if(btn_id >= btnm->btn_cnt) return NULL; in lv_buttonmatrix_get_button_text()
332 if(lv_strcmp(btnm->map_p[txt_i], "\n") == 0) txt_i++; in lv_buttonmatrix_get_button_text()
335 if(btn_i == btnm->btn_cnt) return NULL; in lv_buttonmatrix_get_button_text()
337 return btnm->map_p[txt_i]; in lv_buttonmatrix_get_button_text()
344 lv_buttonmatrix_t * btnm = (lv_buttonmatrix_t *)obj; in lv_buttonmatrix_has_button_ctrl() local
345 if(btn_id >= btnm->btn_cnt) return false; in lv_buttonmatrix_has_button_ctrl()
347 return (btnm->ctrl_bits[btn_id] & ctrl) == ctrl; in lv_buttonmatrix_has_button_ctrl()
354 lv_buttonmatrix_t * btnm = (lv_buttonmatrix_t *)obj; in lv_buttonmatrix_get_one_checked() local
356 return btnm->one_check; in lv_buttonmatrix_get_one_checked()
367 lv_buttonmatrix_t * btnm = (lv_buttonmatrix_t *)obj; in lv_buttonmatrix_constructor() local
368 btnm->btn_cnt = 0; in lv_buttonmatrix_constructor()
369 btnm->row_cnt = 0; in lv_buttonmatrix_constructor()
370 btnm->btn_id_sel = LV_BUTTONMATRIX_BUTTON_NONE; in lv_buttonmatrix_constructor()
371 btnm->button_areas = NULL; in lv_buttonmatrix_constructor()
372 btnm->ctrl_bits = NULL; in lv_buttonmatrix_constructor()
373 btnm->map_p = NULL; in lv_buttonmatrix_constructor()
374 btnm->one_check = 0; in lv_buttonmatrix_constructor()
387 lv_buttonmatrix_t * btnm = (lv_buttonmatrix_t *)obj; in lv_buttonmatrix_destructor() local
388 lv_free(btnm->button_areas); in lv_buttonmatrix_destructor()
389 lv_free(btnm->ctrl_bits); in lv_buttonmatrix_destructor()
390 btnm->button_areas = NULL; in lv_buttonmatrix_destructor()
391 btnm->ctrl_bits = NULL; in lv_buttonmatrix_destructor()
407 lv_buttonmatrix_t * btnm = (lv_buttonmatrix_t *)obj; in lv_buttonmatrix_event() local
413 int32_t s = btnm->row_cnt > 0 ? lv_obj_get_content_height(obj) / btnm->row_cnt : 0; in lv_buttonmatrix_event()
418 lv_buttonmatrix_set_map(obj, btnm->map_p); in lv_buttonmatrix_event()
421 lv_buttonmatrix_set_map(obj, btnm->map_p); in lv_buttonmatrix_event()
425 invalidate_button_area(obj, btnm->btn_id_sel); in lv_buttonmatrix_event()
434 btnm->btn_id_sel = LV_BUTTONMATRIX_BUTTON_NONE; in lv_buttonmatrix_event()
436 if(button_is_inactive(btnm->ctrl_bits[btn_pr]) == false && in lv_buttonmatrix_event()
437 button_is_hidden(btnm->ctrl_bits[btn_pr]) == false) { in lv_buttonmatrix_event()
438 btnm->btn_id_sel = btn_pr; in lv_buttonmatrix_event()
439 invalidate_button_area(obj, btnm->btn_id_sel); /*Invalidate the new area*/ in lv_buttonmatrix_event()
443 btnm->btn_id_sel = LV_BUTTONMATRIX_BUTTON_NONE; in lv_buttonmatrix_event()
447 if(btnm->btn_id_sel != LV_BUTTONMATRIX_BUTTON_NONE) { in lv_buttonmatrix_event()
448 if(button_is_click_trig(btnm->ctrl_bits[btnm->btn_id_sel]) == false && in lv_buttonmatrix_event()
449 button_is_popover(btnm->ctrl_bits[btnm->btn_id_sel]) == false && in lv_buttonmatrix_event()
450 button_is_inactive(btnm->ctrl_bits[btnm->btn_id_sel]) == false && in lv_buttonmatrix_event()
451 button_is_hidden(btnm->ctrl_bits[btnm->btn_id_sel]) == false) { in lv_buttonmatrix_event()
452 uint32_t b = btnm->btn_id_sel; in lv_buttonmatrix_event()
459 if(btnm->btn_id_sel != LV_BUTTONMATRIX_BUTTON_NONE) { in lv_buttonmatrix_event()
466 if(btn_pr != btnm->btn_id_sel) { in lv_buttonmatrix_event()
467 invalidate_button_area(obj, btnm->btn_id_sel); /*Invalidate the old area*/ in lv_buttonmatrix_event()
468 btnm->btn_id_sel = LV_BUTTONMATRIX_BUTTON_NONE; in lv_buttonmatrix_event()
474 if(btnm->btn_id_sel != LV_BUTTONMATRIX_BUTTON_NONE) { in lv_buttonmatrix_event()
476 if(button_is_checkable(btnm->ctrl_bits[btnm->btn_id_sel]) && in lv_buttonmatrix_event()
477 !button_is_inactive(btnm->ctrl_bits[btnm->btn_id_sel])) { in lv_buttonmatrix_event()
478 if(button_get_checked(btnm->ctrl_bits[btnm->btn_id_sel]) && !btnm->one_check) { in lv_buttonmatrix_event()
479 btnm->ctrl_bits[btnm->btn_id_sel] &= (~LV_BUTTONMATRIX_CTRL_CHECKED); in lv_buttonmatrix_event()
482 btnm->ctrl_bits[btnm->btn_id_sel] |= LV_BUTTONMATRIX_CTRL_CHECKED; in lv_buttonmatrix_event()
484 if(btnm->one_check) make_one_button_checked(obj, btnm->btn_id_sel); in lv_buttonmatrix_event()
487 if((button_is_click_trig(btnm->ctrl_bits[btnm->btn_id_sel]) == true || in lv_buttonmatrix_event()
488 button_is_popover(btnm->ctrl_bits[btnm->btn_id_sel]) == true) && in lv_buttonmatrix_event()
489 button_is_inactive(btnm->ctrl_bits[btnm->btn_id_sel]) == false && in lv_buttonmatrix_event()
490 button_is_hidden(btnm->ctrl_bits[btnm->btn_id_sel]) == false) { in lv_buttonmatrix_event()
491 uint32_t b = btnm->btn_id_sel; in lv_buttonmatrix_event()
498 invalidate_button_area(obj, btnm->btn_id_sel); in lv_buttonmatrix_event()
502 if(btnm->btn_id_sel != LV_BUTTONMATRIX_BUTTON_NONE) { in lv_buttonmatrix_event()
503 if(button_is_repeat_disabled(btnm->ctrl_bits[btnm->btn_id_sel]) == false && in lv_buttonmatrix_event()
504 button_is_inactive(btnm->ctrl_bits[btnm->btn_id_sel]) == false && in lv_buttonmatrix_event()
505 button_is_hidden(btnm->ctrl_bits[btnm->btn_id_sel]) == false) { in lv_buttonmatrix_event()
506 uint32_t b = btnm->btn_id_sel; in lv_buttonmatrix_event()
513 invalidate_button_area(obj, btnm->btn_id_sel); in lv_buttonmatrix_event()
514 btnm->btn_id_sel = LV_BUTTONMATRIX_BUTTON_NONE; in lv_buttonmatrix_event()
517 if(btnm->btn_cnt == 0) return; in lv_buttonmatrix_event()
530 if(btnm->btn_id_sel == LV_BUTTONMATRIX_BUTTON_NONE) { in lv_buttonmatrix_event()
533 if(btnm->one_check) { in lv_buttonmatrix_event()
534 while(b < btnm->btn_cnt && in lv_buttonmatrix_event()
535 (button_is_hidden(btnm->ctrl_bits[b]) || in lv_buttonmatrix_event()
536 button_is_inactive(btnm->ctrl_bits[b]) || in lv_buttonmatrix_event()
537 button_is_checked(btnm->ctrl_bits[b]) == false)) { in lv_buttonmatrix_event()
542 while(b < btnm->btn_cnt && in lv_buttonmatrix_event()
543 (button_is_hidden(btnm->ctrl_bits[b]) || in lv_buttonmatrix_event()
544 button_is_inactive(btnm->ctrl_bits[b]))) { in lv_buttonmatrix_event()
549 btnm->btn_id_sel = b; in lv_buttonmatrix_event()
552 btnm->btn_id_sel = LV_BUTTONMATRIX_BUTTON_NONE; in lv_buttonmatrix_event()
563 invalidate_button_area(obj, btnm->btn_id_sel); in lv_buttonmatrix_event()
567 if(btnm->btn_id_sel == LV_BUTTONMATRIX_BUTTON_NONE) btnm->btn_id_sel = 0; in lv_buttonmatrix_event()
568 else btnm->btn_id_sel++; in lv_buttonmatrix_event()
569 if(btnm->btn_id_sel >= btnm->btn_cnt) btnm->btn_id_sel = 0; in lv_buttonmatrix_event()
571 uint32_t btn_id_start = btnm->btn_id_sel; in lv_buttonmatrix_event()
572 …while(button_is_hidden(btnm->ctrl_bits[btnm->btn_id_sel]) || button_is_inactive(btnm->ctrl_bits[bt… in lv_buttonmatrix_event()
573 btnm->btn_id_sel++; in lv_buttonmatrix_event()
574 if(btnm->btn_id_sel >= btnm->btn_cnt) btnm->btn_id_sel = 0; in lv_buttonmatrix_event()
576 if(btnm->btn_id_sel == btn_id_start) { in lv_buttonmatrix_event()
577 btnm->btn_id_sel = LV_BUTTONMATRIX_BUTTON_NONE; in lv_buttonmatrix_event()
583 if(btnm->btn_id_sel == LV_BUTTONMATRIX_BUTTON_NONE) btnm->btn_id_sel = 0; in lv_buttonmatrix_event()
585 if(btnm->btn_id_sel == 0) btnm->btn_id_sel = btnm->btn_cnt - 1; in lv_buttonmatrix_event()
586 else if(btnm->btn_id_sel > 0) btnm->btn_id_sel--; in lv_buttonmatrix_event()
588 uint32_t btn_id_start = btnm->btn_id_sel; in lv_buttonmatrix_event()
589 …while(button_is_hidden(btnm->ctrl_bits[btnm->btn_id_sel]) || button_is_inactive(btnm->ctrl_bits[bt… in lv_buttonmatrix_event()
590 if(btnm->btn_id_sel > 0) btnm->btn_id_sel--; in lv_buttonmatrix_event()
591 else btnm->btn_id_sel = btnm->btn_cnt - 1; in lv_buttonmatrix_event()
593 if(btnm->btn_id_sel == btn_id_start) { in lv_buttonmatrix_event()
594 btnm->btn_id_sel = LV_BUTTONMATRIX_BUTTON_NONE; in lv_buttonmatrix_event()
602 if(btnm->btn_id_sel == LV_BUTTONMATRIX_BUTTON_NONE) { in lv_buttonmatrix_event()
603 btnm->btn_id_sel = 0; in lv_buttonmatrix_event()
604 …while(button_is_hidden(btnm->ctrl_bits[btnm->btn_id_sel]) || button_is_inactive(btnm->ctrl_bits[bt… in lv_buttonmatrix_event()
605 btnm->btn_id_sel++; in lv_buttonmatrix_event()
606 if(btnm->btn_id_sel >= btnm->btn_cnt) { in lv_buttonmatrix_event()
607 btnm->btn_id_sel = LV_BUTTONMATRIX_BUTTON_NONE; in lv_buttonmatrix_event()
615 …btnm->button_areas[btnm->btn_id_sel].x1 + (lv_area_get_width(&btnm->button_areas[btnm->btn_id_sel]… in lv_buttonmatrix_event()
617 for(area_below = btnm->btn_id_sel; area_below < btnm->btn_cnt; area_below++) { in lv_buttonmatrix_event()
618 … if(btnm->button_areas[area_below].y1 > btnm->button_areas[btnm->btn_id_sel].y1 && in lv_buttonmatrix_event()
619 pr_center >= btnm->button_areas[area_below].x1 && in lv_buttonmatrix_event()
620 pr_center <= btnm->button_areas[area_below].x2 + col_gap && in lv_buttonmatrix_event()
621 button_is_inactive(btnm->ctrl_bits[area_below]) == false && in lv_buttonmatrix_event()
622 button_is_hidden(btnm->ctrl_bits[area_below]) == false) { in lv_buttonmatrix_event()
627 if(area_below < btnm->btn_cnt) btnm->btn_id_sel = area_below; in lv_buttonmatrix_event()
633 if(btnm->btn_id_sel == LV_BUTTONMATRIX_BUTTON_NONE) { in lv_buttonmatrix_event()
634 btnm->btn_id_sel = 0; in lv_buttonmatrix_event()
635 …while(button_is_hidden(btnm->ctrl_bits[btnm->btn_id_sel]) || button_is_inactive(btnm->ctrl_bits[bt… in lv_buttonmatrix_event()
636 btnm->btn_id_sel++; in lv_buttonmatrix_event()
637 if(btnm->btn_id_sel >= btnm->btn_cnt) { in lv_buttonmatrix_event()
638 btnm->btn_id_sel = LV_BUTTONMATRIX_BUTTON_NONE; in lv_buttonmatrix_event()
646 …btnm->button_areas[btnm->btn_id_sel].x1 + (lv_area_get_width(&btnm->button_areas[btnm->btn_id_sel]… in lv_buttonmatrix_event()
648 for(area_above = btnm->btn_id_sel; area_above >= 0; area_above--) { in lv_buttonmatrix_event()
649 … if(btnm->button_areas[area_above].y1 < btnm->button_areas[btnm->btn_id_sel].y1 && in lv_buttonmatrix_event()
650 pr_center >= btnm->button_areas[area_above].x1 - col_gap && in lv_buttonmatrix_event()
651 pr_center <= btnm->button_areas[area_above].x2 && in lv_buttonmatrix_event()
652 button_is_inactive(btnm->ctrl_bits[area_above]) == false && in lv_buttonmatrix_event()
653 button_is_hidden(btnm->ctrl_bits[area_above]) == false) { in lv_buttonmatrix_event()
657 if(area_above >= 0) btnm->btn_id_sel = area_above; in lv_buttonmatrix_event()
661 invalidate_button_area(obj, btnm->btn_id_sel); in lv_buttonmatrix_event()
672 lv_buttonmatrix_t * btnm = (lv_buttonmatrix_t *)obj; in draw_main() local
673 if(btnm->btn_cnt == 0) return; in draw_main()
713 for(btn_i = 0; btn_i < btnm->btn_cnt; btn_i++, txt_i++) { in draw_main()
715 while(lv_strcmp(btnm->map_p[txt_i], "\n") == 0) { in draw_main()
720 if(button_is_hidden(btnm->ctrl_bits[btn_i])) continue; in draw_main()
724 if(button_get_checked(btnm->ctrl_bits[btn_i])) btn_state |= LV_STATE_CHECKED; in draw_main()
726 if(button_is_inactive(btnm->ctrl_bits[btn_i])) btn_state |= LV_STATE_DISABLED; in draw_main()
727 else if(btn_i == btnm->btn_id_sel) { in draw_main()
735 lv_area_copy(&btn_area, &btnm->button_areas[btn_i]); in draw_main()
760 bool recolor = button_is_recolor(btnm->ctrl_bits[btn_i]); in draw_main()
777 … if((btn_state & LV_STATE_PRESSED) && (btnm->ctrl_bits[btn_i] & LV_BUTTONMATRIX_CTRL_POPOVER)) { in draw_main()
789 const char * txt = btnm->map_p[txt_i]; in draw_main()
808 … if((btn_state & LV_STATE_PRESSED) && (btnm->ctrl_bits[btn_i] & LV_BUTTONMATRIX_CTRL_POPOVER)) { in draw_main()
830 lv_buttonmatrix_t * btnm = (lv_buttonmatrix_t *)obj; in allocate_button_areas_and_controls() local
831 btnm->row_cnt = 1; in allocate_button_areas_and_controls()
840 btnm->row_cnt++; in allocate_button_areas_and_controls()
846 if(btn_cnt == btnm->btn_cnt) return; in allocate_button_areas_and_controls()
848 if(btnm->button_areas != NULL) { in allocate_button_areas_and_controls()
849 lv_free(btnm->button_areas); in allocate_button_areas_and_controls()
850 btnm->button_areas = NULL; in allocate_button_areas_and_controls()
852 if(btnm->ctrl_bits != NULL) { in allocate_button_areas_and_controls()
853 lv_free(btnm->ctrl_bits); in allocate_button_areas_and_controls()
854 btnm->ctrl_bits = NULL; in allocate_button_areas_and_controls()
857 btnm->button_areas = lv_malloc(sizeof(lv_area_t) * btn_cnt); in allocate_button_areas_and_controls()
858 LV_ASSERT_MALLOC(btnm->button_areas); in allocate_button_areas_and_controls()
859 btnm->ctrl_bits = lv_malloc(sizeof(lv_buttonmatrix_ctrl_t) * btn_cnt); in allocate_button_areas_and_controls()
860 LV_ASSERT_MALLOC(btnm->ctrl_bits); in allocate_button_areas_and_controls()
861 if(btnm->button_areas == NULL || btnm->ctrl_bits == NULL) btn_cnt = 0; in allocate_button_areas_and_controls()
863 lv_memzero(btnm->ctrl_bits, sizeof(lv_buttonmatrix_ctrl_t) * btn_cnt); in allocate_button_areas_and_controls()
865 btnm->btn_cnt = btn_cnt; in allocate_button_areas_and_controls()
929 lv_buttonmatrix_t * btnm = (lv_buttonmatrix_t *)obj; in get_button_from_point() local
952 for(i = 0; i < btnm->btn_cnt; i++) { in get_button_from_point()
953 lv_area_copy(&btn_area, &btnm->button_areas[i]); in get_button_from_point()
973 if(i == btnm->btn_cnt) i = LV_BUTTONMATRIX_BUTTON_NONE; in get_button_from_point()
985 lv_buttonmatrix_t * btnm = (lv_buttonmatrix_t *)obj; in invalidate_button_area() local
986 if(btn_idx >= btnm->btn_cnt) return; in invalidate_button_area()
988 lv_area_copy(&btn_area, &btnm->button_areas[btn_idx]); in invalidate_button_area()
1007 if((btn_idx == btnm->btn_id_sel) && (btnm->ctrl_bits[btn_idx] & LV_BUTTONMATRIX_CTRL_POPOVER)) { in invalidate_button_area()
1038 lv_buttonmatrix_t * btnm = (lv_buttonmatrix_t *)obj; in has_popovers_in_top_row() local
1040 if(btnm->row_cnt <= 0) { in has_popovers_in_top_row()
1044 const char * const * map_row = btnm->map_p; in has_popovers_in_top_row()
1048 if(button_is_popover(btnm->ctrl_bits[btn_cnt])) { in has_popovers_in_top_row()