Lines Matching refs:disp
168 lv_disp_t * disp = _lv_ll_ins_head(&LV_GC_ROOT(_lv_disp_ll)); in lv_disp_drv_register() local
169 LV_ASSERT_MALLOC(disp); in lv_disp_drv_register()
170 if(!disp) { in lv_disp_drv_register()
183 lv_memset_00(disp, sizeof(lv_disp_t)); in lv_disp_drv_register()
185 disp->driver = driver; in lv_disp_drv_register()
187 disp->inv_en_cnt = 1; in lv_disp_drv_register()
189 _lv_ll_init(&disp->sync_areas, sizeof(lv_area_t)); in lv_disp_drv_register()
192 …disp_def = disp; /*Temporarily change the default screen to create the default scr… in lv_disp_drv_register()
195 disp->refr_timer = lv_timer_create(_lv_disp_refr_timer, LV_DISP_DEF_REFR_PERIOD, disp); in lv_disp_drv_register()
196 LV_ASSERT_MALLOC(disp->refr_timer); in lv_disp_drv_register()
197 if(disp->refr_timer == NULL) { in lv_disp_drv_register()
198 lv_mem_free(disp); in lv_disp_drv_register()
207 disp->bg_color = lv_color_white(); in lv_disp_drv_register()
209 disp->bg_opa = LV_OPA_TRANSP; in lv_disp_drv_register()
211 disp->bg_opa = LV_OPA_COVER; in lv_disp_drv_register()
216 …disp->theme = lv_theme_default_init(disp, lv_palette_main(LV_PALETTE_BLUE), lv_palette_main(LV_PAL… in lv_disp_drv_register()
220 disp->theme = lv_theme_default_get(); in lv_disp_drv_register()
224 disp->act_scr = lv_obj_create(NULL); /*Create a default screen on the display*/ in lv_disp_drv_register()
225 disp->top_layer = lv_obj_create(NULL); /*Create top layer on the display*/ in lv_disp_drv_register()
226 disp->sys_layer = lv_obj_create(NULL); /*Create sys layer on the display*/ in lv_disp_drv_register()
227 lv_obj_remove_style_all(disp->top_layer); in lv_disp_drv_register()
228 lv_obj_remove_style_all(disp->sys_layer); in lv_disp_drv_register()
229 lv_obj_clear_flag(disp->top_layer, LV_OBJ_FLAG_CLICKABLE); in lv_disp_drv_register()
230 lv_obj_clear_flag(disp->sys_layer, LV_OBJ_FLAG_CLICKABLE); in lv_disp_drv_register()
232 lv_obj_set_scrollbar_mode(disp->top_layer, LV_SCROLLBAR_MODE_OFF); in lv_disp_drv_register()
233 lv_obj_set_scrollbar_mode(disp->sys_layer, LV_SCROLLBAR_MODE_OFF); in lv_disp_drv_register()
235 lv_obj_invalidate(disp->act_scr); in lv_disp_drv_register()
238 if(disp_def == NULL) disp_def = disp; /*Initialize the default display*/ in lv_disp_drv_register()
240 … lv_timer_ready(disp->refr_timer); /*Be sure the screen will be refreshed immediately on start up*/ in lv_disp_drv_register()
242 return disp; in lv_disp_drv_register()
250 void lv_disp_drv_update(lv_disp_t * disp, lv_disp_drv_t * new_drv) in lv_disp_drv_update() argument
252 disp->driver = new_drv; in lv_disp_drv_update()
254 if(disp->driver->full_refresh && in lv_disp_drv_update()
255 disp->driver->draw_buf->size < (uint32_t)disp->driver->hor_res * disp->driver->ver_res) { in lv_disp_drv_update()
256 disp->driver->full_refresh = 0; in lv_disp_drv_update()
260 lv_coord_t w = lv_disp_get_hor_res(disp); in lv_disp_drv_update()
261 lv_coord_t h = lv_disp_get_ver_res(disp); in lv_disp_drv_update()
263 for(i = 0; i < disp->screen_cnt; i++) { in lv_disp_drv_update()
265 lv_obj_get_coords(disp->screens[i], &prev_coords); in lv_disp_drv_update()
266 lv_area_set_width(&disp->screens[i]->coords, w); in lv_disp_drv_update()
267 lv_area_set_height(&disp->screens[i]->coords, h); in lv_disp_drv_update()
268 lv_event_send(disp->screens[i], LV_EVENT_SIZE_CHANGED, &prev_coords); in lv_disp_drv_update()
277 lv_memset_00(disp->inv_areas, sizeof(disp->inv_areas)); in lv_disp_drv_update()
278 lv_memset_00(disp->inv_area_joined, sizeof(disp->inv_area_joined)); in lv_disp_drv_update()
279 disp->inv_p = 0; in lv_disp_drv_update()
280 if(disp->act_scr != NULL) lv_obj_invalidate(disp->act_scr); in lv_disp_drv_update()
284 if(disp->driver->drv_update_cb) disp->driver->drv_update_cb(disp->driver); in lv_disp_drv_update()
291 void lv_disp_remove(lv_disp_t * disp) in lv_disp_remove() argument
294 if(disp == lv_disp_get_default()) was_default = true; in lv_disp_remove()
300 if(indev->driver->disp == disp) { in lv_disp_remove()
301 indev->driver->disp = NULL; in lv_disp_remove()
307 if(disp->sys_layer) { in lv_disp_remove()
308 lv_obj_del(disp->sys_layer); in lv_disp_remove()
309 disp->sys_layer = NULL; in lv_disp_remove()
311 if(disp->top_layer) { in lv_disp_remove()
312 lv_obj_del(disp->top_layer); in lv_disp_remove()
313 disp->top_layer = NULL; in lv_disp_remove()
315 while(disp->screen_cnt != 0) { in lv_disp_remove()
317 lv_obj_del(disp->screens[0]); in lv_disp_remove()
320 _lv_ll_remove(&LV_GC_ROOT(_lv_disp_ll), disp); in lv_disp_remove()
321 _lv_ll_clear(&disp->sync_areas); in lv_disp_remove()
322 if(disp->refr_timer) lv_timer_del(disp->refr_timer); in lv_disp_remove()
323 lv_mem_free(disp); in lv_disp_remove()
332 void lv_disp_set_default(lv_disp_t * disp) in lv_disp_set_default() argument
334 disp_def = disp; in lv_disp_set_default()
351 lv_coord_t lv_disp_get_hor_res(lv_disp_t * disp) in lv_disp_get_hor_res() argument
353 if(disp == NULL) disp = lv_disp_get_default(); in lv_disp_get_hor_res()
355 if(disp == NULL) { in lv_disp_get_hor_res()
359 switch(disp->driver->rotated) { in lv_disp_get_hor_res()
362 return disp->driver->ver_res; in lv_disp_get_hor_res()
364 return disp->driver->hor_res; in lv_disp_get_hor_res()
374 lv_coord_t lv_disp_get_ver_res(lv_disp_t * disp) in lv_disp_get_ver_res() argument
376 if(disp == NULL) disp = lv_disp_get_default(); in lv_disp_get_ver_res()
378 if(disp == NULL) { in lv_disp_get_ver_res()
382 switch(disp->driver->rotated) { in lv_disp_get_ver_res()
385 return disp->driver->hor_res; in lv_disp_get_ver_res()
387 return disp->driver->ver_res; in lv_disp_get_ver_res()
397 lv_coord_t lv_disp_get_physical_hor_res(lv_disp_t * disp) in lv_disp_get_physical_hor_res() argument
399 if(disp == NULL) disp = lv_disp_get_default(); in lv_disp_get_physical_hor_res()
401 if(disp == NULL) { in lv_disp_get_physical_hor_res()
405 switch(disp->driver->rotated) { in lv_disp_get_physical_hor_res()
408 …return disp->driver->physical_ver_res > 0 ? disp->driver->physical_ver_res : disp->driver->ver_res; in lv_disp_get_physical_hor_res()
410 …return disp->driver->physical_hor_res > 0 ? disp->driver->physical_hor_res : disp->driver->hor_res; in lv_disp_get_physical_hor_res()
420 lv_coord_t lv_disp_get_physical_ver_res(lv_disp_t * disp) in lv_disp_get_physical_ver_res() argument
422 if(disp == NULL) disp = lv_disp_get_default(); in lv_disp_get_physical_ver_res()
424 if(disp == NULL) { in lv_disp_get_physical_ver_res()
428 switch(disp->driver->rotated) { in lv_disp_get_physical_ver_res()
431 …return disp->driver->physical_hor_res > 0 ? disp->driver->physical_hor_res : disp->driver->hor_res; in lv_disp_get_physical_ver_res()
433 …return disp->driver->physical_ver_res > 0 ? disp->driver->physical_ver_res : disp->driver->ver_res; in lv_disp_get_physical_ver_res()
443 lv_coord_t lv_disp_get_offset_x(lv_disp_t * disp) in lv_disp_get_offset_x() argument
445 if(disp == NULL) disp = lv_disp_get_default(); in lv_disp_get_offset_x()
447 if(disp == NULL) { in lv_disp_get_offset_x()
451 switch(disp->driver->rotated) { in lv_disp_get_offset_x()
453 return disp->driver->offset_y; in lv_disp_get_offset_x()
455 return lv_disp_get_physical_hor_res(disp) - disp->driver->offset_x; in lv_disp_get_offset_x()
457 return lv_disp_get_physical_hor_res(disp) - disp->driver->offset_y; in lv_disp_get_offset_x()
459 return disp->driver->offset_x; in lv_disp_get_offset_x()
469 lv_coord_t lv_disp_get_offset_y(lv_disp_t * disp) in lv_disp_get_offset_y() argument
471 if(disp == NULL) disp = lv_disp_get_default(); in lv_disp_get_offset_y()
473 if(disp == NULL) { in lv_disp_get_offset_y()
477 switch(disp->driver->rotated) { in lv_disp_get_offset_y()
479 return disp->driver->offset_x; in lv_disp_get_offset_y()
481 return lv_disp_get_physical_ver_res(disp) - disp->driver->offset_y; in lv_disp_get_offset_y()
483 return lv_disp_get_physical_ver_res(disp) - disp->driver->offset_x; in lv_disp_get_offset_y()
485 return disp->driver->offset_y; in lv_disp_get_offset_y()
495 bool lv_disp_get_antialiasing(lv_disp_t * disp) in lv_disp_get_antialiasing() argument
497 if(disp == NULL) disp = lv_disp_get_default(); in lv_disp_get_antialiasing()
498 if(disp == NULL) return false; in lv_disp_get_antialiasing()
500 return disp->driver->antialiasing ? true : false; in lv_disp_get_antialiasing()
508 lv_coord_t lv_disp_get_dpi(const lv_disp_t * disp) in lv_disp_get_dpi() argument
510 if(disp == NULL) disp = lv_disp_get_default(); in lv_disp_get_dpi()
511 if(disp == NULL) return LV_DPI_DEF; /*Do not return 0 because it might be a divider*/ in lv_disp_get_dpi()
512 return disp->driver->dpi; in lv_disp_get_dpi()
541 lv_disp_t * lv_disp_get_next(lv_disp_t * disp) in lv_disp_get_next() argument
543 if(disp == NULL) in lv_disp_get_next()
546 return _lv_ll_get_next(&LV_GC_ROOT(_lv_disp_ll), disp); in lv_disp_get_next()
554 lv_disp_draw_buf_t * lv_disp_get_draw_buf(lv_disp_t * disp) in lv_disp_get_draw_buf() argument
556 return disp->driver->draw_buf; in lv_disp_get_draw_buf()
564 void lv_disp_set_rotation(lv_disp_t * disp, lv_disp_rot_t rotation) in lv_disp_set_rotation() argument
566 if(disp == NULL) disp = lv_disp_get_default(); in lv_disp_set_rotation()
567 if(disp == NULL) return; in lv_disp_set_rotation()
569 disp->driver->rotated = rotation; in lv_disp_set_rotation()
570 lv_disp_drv_update(disp, disp->driver); in lv_disp_set_rotation()
578 lv_disp_rot_t lv_disp_get_rotation(lv_disp_t * disp) in lv_disp_get_rotation() argument
580 if(disp == NULL) disp = lv_disp_get_default(); in lv_disp_get_rotation()
581 if(disp == NULL) return LV_DISP_ROT_NONE; in lv_disp_get_rotation()
582 return disp->driver->rotated; in lv_disp_get_rotation()