Lines Matching refs:disp_refr
33 #define disp_refr LV_GLOBAL_DEFAULT()->disp_refresh macro
341 return disp_refr; in lv_refr_get_disp_refreshing()
350 disp_refr = disp; in lv_refr_set_disp_refreshing()
359 disp_refr = tmr->user_data; in lv_display_refr_timer()
368 disp_refr = lv_display_get_default(); in lv_display_refr_timer()
371 if(disp_refr == NULL) { in lv_display_refr_timer()
377 lv_draw_buf_t * buf_act = disp_refr->buf_act; in lv_display_refr_timer()
384 lv_display_send_event(disp_refr, LV_EVENT_REFR_START, NULL); in lv_display_refr_timer()
388 lv_obj_update_layout(disp_refr->act_scr); in lv_display_refr_timer()
389 if(disp_refr->prev_scr) lv_obj_update_layout(disp_refr->prev_scr); in lv_display_refr_timer()
391 lv_obj_update_layout(disp_refr->bottom_layer); in lv_display_refr_timer()
392 lv_obj_update_layout(disp_refr->top_layer); in lv_display_refr_timer()
393 lv_obj_update_layout(disp_refr->sys_layer); in lv_display_refr_timer()
397 if(disp_refr->act_scr == NULL) { in lv_display_refr_timer()
398 disp_refr->inv_p = 0; in lv_display_refr_timer()
407 if(disp_refr->inv_p == 0) goto refr_finish; in lv_display_refr_timer()
410 …if(lv_display_is_double_buffered(disp_refr) && disp_refr->render_mode == LV_DISPLAY_RENDER_MODE_DI… in lv_display_refr_timer()
412 for(i = 0; i < disp_refr->inv_p; i++) { in lv_display_refr_timer()
413 if(disp_refr->inv_area_joined[i]) in lv_display_refr_timer()
416 lv_area_t * sync_area = lv_ll_ins_tail(&disp_refr->sync_areas); in lv_display_refr_timer()
417 *sync_area = disp_refr->inv_areas[i]; in lv_display_refr_timer()
421 lv_memzero(disp_refr->inv_areas, sizeof(disp_refr->inv_areas)); in lv_display_refr_timer()
422 lv_memzero(disp_refr->inv_area_joined, sizeof(disp_refr->inv_area_joined)); in lv_display_refr_timer()
423 disp_refr->inv_p = 0; in lv_display_refr_timer()
431 lv_display_send_event(disp_refr, LV_EVENT_REFR_READY, NULL); in lv_display_refr_timer()
450 for(join_in = 0; join_in < disp_refr->inv_p; join_in++) { in lv_refr_join_area()
451 if(disp_refr->inv_area_joined[join_in] != 0) continue; in lv_refr_join_area()
454 for(join_from = 0; join_from < disp_refr->inv_p; join_from++) { in lv_refr_join_area()
456 if(disp_refr->inv_area_joined[join_from] != 0 || join_in == join_from) { in lv_refr_join_area()
461 … if(lv_area_is_on(&disp_refr->inv_areas[join_in], &disp_refr->inv_areas[join_from]) == false) { in lv_refr_join_area()
465 … lv_area_join(&joined_area, &disp_refr->inv_areas[join_in], &disp_refr->inv_areas[join_from]); in lv_refr_join_area()
468 if(lv_area_get_size(&joined_area) < (lv_area_get_size(&disp_refr->inv_areas[join_in]) + in lv_refr_join_area()
469 … lv_area_get_size(&disp_refr->inv_areas[join_from]))) { in lv_refr_join_area()
470 lv_area_copy(&disp_refr->inv_areas[join_in], &joined_area); in lv_refr_join_area()
473 disp_refr->inv_area_joined[join_from] = 1; in lv_refr_join_area()
486 if(disp_refr->render_mode != LV_DISPLAY_RENDER_MODE_DIRECT) return; in refr_sync_areas()
489 if(!lv_display_is_double_buffered(disp_refr)) return; in refr_sync_areas()
492 if(lv_ll_is_empty(&disp_refr->sync_areas)) return; in refr_sync_areas()
497 wait_for_flushing(disp_refr); in refr_sync_areas()
501 lv_draw_buf_t * off_screen = disp_refr->buf_act; in refr_sync_areas()
502 …lv_draw_buf_t * on_screen = disp_refr->buf_act == disp_refr->buf_1 ? disp_refr->buf_2 : disp_refr-… in refr_sync_areas()
504 uint32_t hor_res = lv_display_get_horizontal_resolution(disp_refr); in refr_sync_areas()
505 uint32_t ver_res = lv_display_get_vertical_resolution(disp_refr); in refr_sync_areas()
513 for(i = 0; i < disp_refr->inv_p; i++) { in refr_sync_areas()
515 if(disp_refr->inv_area_joined[i]) continue; in refr_sync_areas()
518 sync_area = lv_ll_get_head(&disp_refr->sync_areas); in refr_sync_areas()
521 next_area = lv_ll_get_next(&disp_refr->sync_areas, sync_area); in refr_sync_areas()
524 res_c = lv_area_diff(res, sync_area, &disp_refr->inv_areas[i]); in refr_sync_areas()
530 new_area = lv_ll_ins_prev(&disp_refr->sync_areas, sync_area); in refr_sync_areas()
533 lv_ll_remove(&disp_refr->sync_areas, sync_area); in refr_sync_areas()
544 for(sync_area = lv_ll_get_head(&disp_refr->sync_areas); sync_area != NULL; in refr_sync_areas()
545 sync_area = lv_ll_get_next(&disp_refr->sync_areas, sync_area)) { in refr_sync_areas()
554 lv_ll_clear(&disp_refr->sync_areas); in refr_sync_areas()
563 if(disp_refr->inv_p == 0) return; in refr_invalid_areas()
569 for(i = disp_refr->inv_p - 1; i >= 0; i--) { in refr_invalid_areas()
570 if(disp_refr->inv_area_joined[i] == 0) { in refr_invalid_areas()
577 lv_display_send_event(disp_refr, LV_EVENT_RENDER_START, NULL); in refr_invalid_areas()
579 disp_refr->last_area = 0; in refr_invalid_areas()
580 disp_refr->last_part = 0; in refr_invalid_areas()
581 disp_refr->rendering_in_progress = true; in refr_invalid_areas()
583 for(i = 0; i < (int32_t)disp_refr->inv_p; i++) { in refr_invalid_areas()
585 if(disp_refr->inv_area_joined[i]) continue; in refr_invalid_areas()
587 if(i == last_i) disp_refr->last_area = 1; in refr_invalid_areas()
588 disp_refr->last_part = 0; in refr_invalid_areas()
590 lv_area_t inv_a = disp_refr->inv_areas[i]; in refr_invalid_areas()
591 if(disp_refr->render_mode == LV_DISPLAY_RENDER_MODE_PARTIAL) { in refr_invalid_areas()
596 int32_t max_row = get_max_row(disp_refr, w, h); in refr_invalid_areas()
609 if(inv_a.y2 == row_last) disp_refr->last_part = 1; in refr_invalid_areas()
611 draw_buf_flush(disp_refr); in refr_invalid_areas()
619 disp_refr->last_part = 1; in refr_invalid_areas()
621 draw_buf_flush(disp_refr); in refr_invalid_areas()
624 else if(disp_refr->render_mode == LV_DISPLAY_RENDER_MODE_FULL || in refr_invalid_areas()
625 disp_refr->render_mode == LV_DISPLAY_RENDER_MODE_DIRECT) { in refr_invalid_areas()
626 disp_refr->last_part = 1; in refr_invalid_areas()
627 refr_area(&disp_refr->inv_areas[i]); in refr_invalid_areas()
628 draw_buf_flush(disp_refr); in refr_invalid_areas()
632 lv_display_send_event(disp_refr, LV_EVENT_RENDER_READY, NULL); in refr_invalid_areas()
633 disp_refr->rendering_in_progress = false; in refr_invalid_areas()
660 lv_layer_t * layer = disp_refr->layer_head; in refr_area()
661 layer->draw_buf = disp_refr->buf_act; in refr_area()
665 if(disp_refr->render_mode == LV_DISPLAY_RENDER_MODE_FULL) { in refr_area()
671 else if(disp_refr->render_mode == LV_DISPLAY_RENDER_MODE_PARTIAL) { in refr_area()
676 else if(disp_refr->render_mode == LV_DISPLAY_RENDER_MODE_DIRECT) { in refr_area()
680 layer->buf_area.x2 = lv_display_get_horizontal_resolution(disp_refr) - 1; in refr_area()
681 layer->buf_area.y2 = lv_display_get_vertical_resolution(disp_refr) - 1; in refr_area()
693 uint32_t max_tile_cnt = disp_refr->tile_cnt; in refr_area()
712 disp_refr->refreshed_area = *area_p; in refr_area()
742 lv_layer_t * layer_i = disp_refr->layer_head; in refr_area()
751 if(disp_refr->layer_deinit) disp_refr->layer_deinit(disp_refr, tile_layer); in refr_area()
756 disp_refr->refreshed_area = *area_p; in refr_area()
768 if(!lv_display_is_double_buffered(disp_refr)) { in refr_configured_layer()
769 wait_for_flushing(disp_refr); in refr_configured_layer()
772 if(lv_color_format_has_alpha(disp_refr->color_format)) { in refr_configured_layer()
782 top_act_scr = lv_refr_get_top_obj(&layer->_clip_area, lv_display_get_screen_active(disp_refr)); in refr_configured_layer()
783 if(disp_refr->prev_scr) { in refr_configured_layer()
784 top_prev_scr = lv_refr_get_top_obj(&layer->_clip_area, disp_refr->prev_scr); in refr_configured_layer()
789 refr_obj_and_children(layer, lv_display_get_layer_bottom(disp_refr)); in refr_configured_layer()
792 if(disp_refr->draw_prev_over_act) { in refr_configured_layer()
793 if(top_act_scr == NULL) top_act_scr = disp_refr->act_scr; in refr_configured_layer()
797 if(disp_refr->prev_scr) { in refr_configured_layer()
798 if(top_prev_scr == NULL) top_prev_scr = disp_refr->prev_scr; in refr_configured_layer()
804 if(disp_refr->prev_scr) { in refr_configured_layer()
805 if(top_prev_scr == NULL) top_prev_scr = disp_refr->prev_scr; in refr_configured_layer()
809 if(top_act_scr == NULL) top_act_scr = disp_refr->act_scr; in refr_configured_layer()
814 refr_obj_and_children(layer, lv_display_get_layer_top(disp_refr)); in refr_configured_layer()
815 refr_obj_and_children(layer, lv_display_get_layer_sys(disp_refr)); in refr_configured_layer()
872 if(top_obj == NULL) top_obj = lv_display_get_screen_active(disp_refr); in refr_obj_and_children()
1135 uint8_t px_size = lv_color_format_get_size(disp_refr->color_format); in refr_obj()
1190 layer_draw_dsc.antialias = disp_refr->antialiasing; in refr_obj()
1229 lv_display_send_event(disp_refr, LV_EVENT_INVALIDATE_AREA, &tmp); in get_max_row()
1268 wait_for_flushing(disp_refr); in draw_buf_flush()