Lines Matching refs:window

103 struct window;
139 struct window * window; member
196 struct window { struct
258 static bool resize_window(struct window * window, int width, int height); argument
259 static struct graphic_object * create_graphic_obj(struct application * app, struct window * window,
285 struct window * window; in graphic_obj_frame_done() local
292 window = obj->window; in graphic_obj_frame_done()
293 window->frame_counter++; in graphic_obj_frame_done()
296 window->frame_counter - 1, window->frame_counter); in graphic_obj_frame_done()
298 window->frame_done = true; in graphic_obj_frame_done()
369 if(!app->pointer_obj->window->xdg_toplevel || app->opt_disable_decorations) { in pointer_handle_enter()
373 struct window * window = app->pointer_obj->window; in pointer_handle_enter() local
377 if(window->maximized) { in pointer_handle_enter()
383 else if(pos_x >= (window->width + BORDER_SIZE - (BORDER_SIZE * 5))) { in pointer_handle_enter()
391 if(window->maximized) { in pointer_handle_enter()
397 else if(pos_x >= (window->width + BORDER_SIZE - (BORDER_SIZE * 5))) { in pointer_handle_enter()
405 if(window->maximized) { in pointer_handle_enter()
411 else if(pos_y >= (window->height + BORDER_SIZE - (BORDER_SIZE * 5))) { in pointer_handle_enter()
419 if(window->maximized) { in pointer_handle_enter()
425 else if(pos_y >= (window->height + BORDER_SIZE - (BORDER_SIZE * 5))) { in pointer_handle_enter()
495 struct window * window; in pointer_handle_button() local
496 window = app->pointer_obj->window; in pointer_handle_button()
522 if(window->xdg_toplevel) { in pointer_handle_button()
523 xdg_toplevel_move(window->xdg_toplevel, app->wl_seat, serial); in pointer_handle_button()
524 window->flush_pending = true; in pointer_handle_button()
528 if(window->wl_shell_surface) { in pointer_handle_button()
529 wl_shell_surface_move(window->wl_shell_surface, app->wl_seat, serial); in pointer_handle_button()
530 window->flush_pending = true; in pointer_handle_button()
537 window->shall_close = true; in pointer_handle_button()
543 if(window->xdg_toplevel) { in pointer_handle_button()
544 if(window->maximized) { in pointer_handle_button()
545 xdg_toplevel_unset_maximized(window->xdg_toplevel); in pointer_handle_button()
548 xdg_toplevel_set_maximized(window->xdg_toplevel); in pointer_handle_button()
550 window->maximized ^= true; in pointer_handle_button()
551 window->flush_pending = true; in pointer_handle_button()
557 if(window->xdg_toplevel) { in pointer_handle_button()
558 xdg_toplevel_set_minimized(window->xdg_toplevel); in pointer_handle_button()
559 window->flush_pending = true; in pointer_handle_button()
565 if(window->xdg_toplevel && !window->maximized) { in pointer_handle_button()
570 else if(pos_x >= (window->width + BORDER_SIZE - (BORDER_SIZE * 5))) { in pointer_handle_button()
576 xdg_toplevel_resize(window->xdg_toplevel, in pointer_handle_button()
577 window->application->wl_seat, serial, edge); in pointer_handle_button()
578 window->flush_pending = true; in pointer_handle_button()
584 if(window->xdg_toplevel && !window->maximized) { in pointer_handle_button()
589 else if(pos_x >= (window->width + BORDER_SIZE - (BORDER_SIZE * 5))) { in pointer_handle_button()
595 xdg_toplevel_resize(window->xdg_toplevel, in pointer_handle_button()
596 window->application->wl_seat, serial, edge); in pointer_handle_button()
597 window->flush_pending = true; in pointer_handle_button()
603 if(window->xdg_toplevel && !window->maximized) { in pointer_handle_button()
608 else if(pos_y >= (window->height + BORDER_SIZE - (BORDER_SIZE * 5))) { in pointer_handle_button()
614 xdg_toplevel_resize(window->xdg_toplevel, in pointer_handle_button()
615 window->application->wl_seat, serial, edge); in pointer_handle_button()
616 window->flush_pending = true; in pointer_handle_button()
622 if(window->xdg_toplevel && !window->maximized) { in pointer_handle_button()
627 else if(pos_y >= (window->height + BORDER_SIZE - (BORDER_SIZE * 5))) { in pointer_handle_button()
633 xdg_toplevel_resize(window->xdg_toplevel, in pointer_handle_button()
634 window->application->wl_seat, serial, edge); in pointer_handle_button()
635 window->flush_pending = true; in pointer_handle_button()
912 struct window * window = app->touch_obj->window; in touch_handle_down() local
916 if(window->xdg_toplevel) { in touch_handle_down()
917 xdg_toplevel_move(window->xdg_toplevel, app->wl_seat, serial); in touch_handle_down()
918 window->flush_pending = true; in touch_handle_down()
922 if(window->wl_shell_surface) { in touch_handle_down()
923 wl_shell_surface_move(window->wl_shell_surface, app->wl_seat, serial); in touch_handle_down()
924 window->flush_pending = true; in touch_handle_down()
959 struct window * window = app->touch_obj->window; in touch_handle_up() local
962 window->shall_close = true; in touch_handle_up()
966 if(window->xdg_toplevel) { in touch_handle_up()
967 if(window->maximized) { in touch_handle_up()
968 xdg_toplevel_unset_maximized(window->xdg_toplevel); in touch_handle_up()
971 xdg_toplevel_set_maximized(window->xdg_toplevel); in touch_handle_up()
973 window->maximized ^= true; in touch_handle_up()
977 if(window->xdg_toplevel) { in touch_handle_up()
978 xdg_toplevel_set_minimized(window->xdg_toplevel); in touch_handle_up()
979 window->flush_pending = true; in touch_handle_up()
1102 static void draw_window(struct window * window, uint32_t width, uint32_t height) in draw_window() argument
1109window->decoration[d] = create_graphic_obj(&application, window, (FIRST_DECORATION + d), window->b… in draw_window()
1110 if(!window->decoration[d]) { in draw_window()
1118 if(!resize_window(window, width, height)) { in draw_window()
1121 if(window->xdg_toplevel) { in draw_window()
1122 xdg_toplevel_destroy(window->xdg_toplevel); in draw_window()
1127 lv_refr_now(window->lv_disp); in draw_window()
1140 struct window * window = (struct window *)data; in wl_shell_handle_configure() local
1147 else if((width != window->width) || (height != window->height)) { in wl_shell_handle_configure()
1148 window->resize_width = width; in wl_shell_handle_configure()
1149 window->resize_height = height; in wl_shell_handle_configure()
1150 window->resize_pending = true; in wl_shell_handle_configure()
1163 struct window * window = (struct window *)data; in xdg_surface_handle_configure() local
1167 if(window->body->surface_configured == false) { in xdg_surface_handle_configure()
1169 if(window->resize_pending == false) { in xdg_surface_handle_configure()
1171 draw_window(window, window->width, window->height); in xdg_surface_handle_configure()
1178 draw_window(window, window->resize_width, window->resize_height); in xdg_surface_handle_configure()
1179 window->width = window->resize_width; in xdg_surface_handle_configure()
1180 window->height = window->resize_height; in xdg_surface_handle_configure()
1181 window->resize_pending = false; in xdg_surface_handle_configure()
1184 window->body->surface_configured = true; in xdg_surface_handle_configure()
1194 struct window * window = (struct window *)data; in xdg_toplevel_handle_configure() local
1202 LV_LOG_TRACE("current body w:%d h:%d", window->body->width, window->body->height); in xdg_toplevel_handle_configure()
1203 LV_LOG_TRACE("window w:%d h:%d", window->width, window->height); in xdg_toplevel_handle_configure()
1211 if((width != window->width) || (height != window->height)) { in xdg_toplevel_handle_configure()
1212 window->resize_width = width; in xdg_toplevel_handle_configure()
1213 window->resize_height = height; in xdg_toplevel_handle_configure()
1214 window->resize_pending = true; in xdg_toplevel_handle_configure()
1224 struct window * window = (struct window *)data; in xdg_toplevel_handle_close() local
1225 window->shall_close = true; in xdg_toplevel_handle_close()
1320 struct window * window; in handle_wl_buffer_release() local
1326 window = obj->window; in handle_wl_buffer_release()
1330 obj->height, window->frame_counter); in handle_wl_buffer_release()
1338 static void cache_clear(struct window * window) in cache_clear() argument
1340 window->dmg_cache.start = window->dmg_cache.end; in cache_clear()
1341 window->dmg_cache.size = 0; in cache_clear()
1344 static void cache_purge(struct window * window, smm_buffer_t * buf) in cache_purge() argument
1351 cache_clear(window); in cache_purge()
1355 while((window->dmg_cache.cache + window->dmg_cache.start) != next_dmg) { in cache_purge()
1356 window->dmg_cache.start++; in cache_purge()
1357 window->dmg_cache.start %= DMG_CACHE_CAPACITY; in cache_purge()
1358 window->dmg_cache.size--; in cache_purge()
1363 static void cache_add_area(struct window * window, smm_buffer_t * buf, const lv_area_t * area) in cache_add_area() argument
1370 if((window->dmg_cache.start == window->dmg_cache.end) && in cache_add_area()
1371 (window->dmg_cache.size)) { in cache_add_area()
1375 cache_clear(window); in cache_add_area()
1381 memcpy(window->dmg_cache.cache + window->dmg_cache.end, in cache_add_area()
1384 window->dmg_cache.end++; in cache_add_area()
1385 window->dmg_cache.end %= DMG_CACHE_CAPACITY; in cache_add_area()
1386 window->dmg_cache.size++; in cache_add_area()
1392 static void cache_apply_areas(struct window * window, void * dest, void * src, smm_buffer_t * src_b… in cache_apply_areas() argument
1405 next_dmg = (window->dmg_cache.cache + window->dmg_cache.end); in cache_apply_areas()
1414 …start = ((lv_area_t *)SMM_BUFFER_PROPERTIES(src_buf)->tag[TAG_BUFFER_DAMAGE] - window->dmg_cache.c… in cache_apply_areas()
1415 while((window->dmg_cache.cache + start) != next_dmg) { in cache_apply_areas()
1417 dmg = (window->dmg_cache.cache + start); in cache_apply_areas()
1555 cache_apply_areas(obj->window, buf_base, src_base, src); in sme_init_buffer()
1561 cache_purge(obj->window, src); in sme_init_buffer()
1579 static struct graphic_object * create_graphic_obj(struct application * app, struct window * window, in create_graphic_obj() argument
1607 obj->window = window; in create_graphic_obj()
1638 static bool attach_decoration(struct window * window, struct graphic_object * decoration, in attach_decoration() argument
1701 decoration->subsurface = wl_subcompositor_get_subsurface(window->application->subcompositor, in attach_decoration()
1783 static bool create_decoration(struct window * window, in create_decoration() argument
1917 return attach_decoration(window, decoration, buf, window->body); in create_decoration()
1920 static void detach_decoration(struct window * window, in detach_decoration() argument
1924 LV_UNUSED(window); in detach_decoration()
1933 static bool resize_window(struct window * window, int width, int height) in resize_window() argument
1944 window->width = width; in resize_window()
1945 window->height = height; in resize_window()
1948 if(!window->application->opt_disable_decorations && !window->fullscreen) { in resize_window()
1957 smm_resize(window->body->buffer_group, ((width * bpp) * height) * 2); in resize_window()
1959 window->body->width = width; in resize_window()
1960 window->body->height = height; in resize_window()
1963 body_buf1 = smm_acquire(window->body->buffer_group); in resize_window()
1964 body_buf2 = smm_acquire(window->body->buffer_group); in resize_window()
1968 wl_surface_destroy(window->body->surface); in resize_window()
1978 if(!window->application->opt_disable_decorations && !window->fullscreen) { in resize_window()
1980 if(!create_decoration(window, window->decoration[b], in resize_window()
1981 window->body->width, window->body->height)) { in resize_window()
1987 else if(!window->application->opt_disable_decorations) { in resize_window()
1991 detach_decoration(window, window->decoration[b]); in resize_window()
1998 window->width, window->height, in resize_window()
1999 window->body->width, window->body->height, in resize_window()
2000 window->frame_counter, window->frame_done); in resize_window()
2002 width = window->body->width; in resize_window()
2003 height = window->body->height; in resize_window()
2005 if(window->lv_disp != NULL) { in resize_window()
2008 lv_display_get_color_format(window->lv_disp)); in resize_window()
2010 window->lv_disp_draw_buf = lv_draw_buf_reshape( in resize_window()
2011 window->lv_disp_draw_buf, in resize_window()
2012 lv_display_get_color_format(window->lv_disp), in resize_window()
2015 lv_display_set_resolution(window->lv_disp, width, height); in resize_window()
2017 window->body->input.pointer.x = LV_MIN((int32_t)window->body->input.pointer.x, (width - 1)); in resize_window()
2018window->body->input.pointer.y = LV_MIN((int32_t)window->body->input.pointer.y, (height - 1)); in resize_window()
2030 static struct window * create_window(struct application * app, int width, int height, const char * … in create_window()
2032 struct window * window; in create_window() local
2034 window = lv_ll_ins_tail(&app->window_ll); in create_window()
2035 LV_ASSERT_MALLOC(window); in create_window()
2036 if(!window) { in create_window()
2040 lv_memset(window, 0x00, sizeof(struct window)); in create_window()
2042 window->application = app; in create_window()
2045 window->body = create_graphic_obj(app, window, OBJECT_WINDOW, NULL); in create_window()
2046 window->width = width; in create_window()
2047 window->height = height; in create_window()
2049 if(!window->body) { in create_window()
2060 window->xdg_surface = xdg_wm_base_get_xdg_surface(app->xdg_wm, window->body->surface); in create_window()
2061 if(!window->xdg_surface) { in create_window()
2066 xdg_surface_add_listener(window->xdg_surface, &xdg_surface_listener, window); in create_window()
2068 window->xdg_toplevel = xdg_surface_get_toplevel(window->xdg_surface); in create_window()
2069 if(!window->xdg_toplevel) { in create_window()
2074 xdg_toplevel_add_listener(window->xdg_toplevel, &xdg_toplevel_listener, window); in create_window()
2075 xdg_toplevel_set_title(window->xdg_toplevel, title); in create_window()
2076 xdg_toplevel_set_app_id(window->xdg_toplevel, title); in create_window()
2081 window->body->surface_configured = false; in create_window()
2086 window->wl_shell_surface = wl_shell_get_shell_surface(app->wl_shell, window->body->surface); in create_window()
2087 if(!window->wl_shell_surface) { in create_window()
2092 wl_shell_surface_add_listener(window->wl_shell_surface, &shell_surface_listener, window); in create_window()
2093 wl_shell_surface_set_toplevel(window->wl_shell_surface); in create_window()
2094 wl_shell_surface_set_title(window->wl_shell_surface, title); in create_window()
2097 draw_window(window, window->width, window->height); in create_window()
2106 return window; in create_window()
2110 if(window->wl_shell_surface) { in create_window()
2111 wl_shell_surface_destroy(window->wl_shell_surface); in create_window()
2115 if(window->xdg_surface) { in create_window()
2116 xdg_surface_destroy(window->xdg_surface); in create_window()
2121 wl_surface_destroy(window->body->surface); in create_window()
2124 lv_ll_remove(&app->window_ll, window); in create_window()
2125 lv_free(window); in create_window()
2129 static void destroy_window(struct window * window) in destroy_window() argument
2131 if(!window) { in destroy_window()
2136 if(window->wl_shell_surface) { in destroy_window()
2137 wl_shell_surface_destroy(window->wl_shell_surface); in destroy_window()
2141 if(window->xdg_toplevel) { in destroy_window()
2142 xdg_toplevel_destroy(window->xdg_toplevel); in destroy_window()
2143 xdg_surface_destroy(window->xdg_surface); in destroy_window()
2150 if(window->decoration[b]) { in destroy_window()
2151 destroy_graphic_obj(window->decoration[b]); in destroy_window()
2152 window->decoration[b] = NULL; in destroy_window()
2157 destroy_graphic_obj(window->body); in destroy_window()
2166 struct window * window; in _lv_wayland_flush() local
2179 window = lv_display_get_user_data(disp); in _lv_wayland_flush()
2180 app = window->application; in _lv_wayland_flush()
2181 buf = window->body->pending_buffer; in _lv_wayland_flush()
2195 if(window->closed || window->shall_close) { in _lv_wayland_flush()
2205 buf = smm_acquire(window->body->buffer_group); in _lv_wayland_flush()
2211 window->body->pending_buffer = buf; in _lv_wayland_flush()
2214 window->dmg_cache.cache + window->dmg_cache.end); in _lv_wayland_flush()
2236 wl_surface_damage(window->body->surface, in _lv_wayland_flush()
2242 cache_add_area(window, buf, area); in _lv_wayland_flush()
2248 wl_surface_attach(window->body->surface, wl_buf, 0, 0); in _lv_wayland_flush()
2249 wl_surface_commit(window->body->surface); in _lv_wayland_flush()
2250 window->body->pending_buffer = NULL; in _lv_wayland_flush()
2251 window->frame_done = false; in _lv_wayland_flush()
2253 cb = wl_surface_frame(window->body->surface); in _lv_wayland_flush()
2254 wl_callback_add_listener(cb, &wl_surface_frame_listener, window->body); in _lv_wayland_flush()
2255 LV_LOG_TRACE("last flush frame: %d", window->frame_counter); in _lv_wayland_flush()
2257 window->flush_pending = true; in _lv_wayland_flush()
2267 cache_clear(window); in _lv_wayland_flush()
2270 window->body->pending_buffer = NULL; in _lv_wayland_flush()
2288 struct window * window; in _lv_wayland_handle_output() local
2291 LV_LL_READ(&application.window_ll, window) { in _lv_wayland_handle_output()
2292 if((window->shall_close) && (window->close_cb != NULL)) { in _lv_wayland_handle_output()
2293 window->shall_close = window->close_cb(window->lv_disp); in _lv_wayland_handle_output()
2296 if(window->closed) { in _lv_wayland_handle_output()
2299 else if(window->shall_close) { in _lv_wayland_handle_output()
2300 window->closed = true; in _lv_wayland_handle_output()
2301 window->shall_close = false; in _lv_wayland_handle_output()
2304 window->body->input.pointer.x = 0; in _lv_wayland_handle_output()
2305 window->body->input.pointer.y = 0; in _lv_wayland_handle_output()
2306 window->body->input.pointer.left_button = LV_INDEV_STATE_RELEASED; in _lv_wayland_handle_output()
2307 window->body->input.pointer.right_button = LV_INDEV_STATE_RELEASED; in _lv_wayland_handle_output()
2308 window->body->input.pointer.wheel_button = LV_INDEV_STATE_RELEASED; in _lv_wayland_handle_output()
2309 window->body->input.pointer.wheel_diff = 0; in _lv_wayland_handle_output()
2310 if(window->application->pointer_obj == window->body) { in _lv_wayland_handle_output()
2311 window->application->pointer_obj = NULL; in _lv_wayland_handle_output()
2314 window->body->input.keyboard.key = 0; in _lv_wayland_handle_output()
2315 window->body->input.keyboard.state = LV_INDEV_STATE_RELEASED; in _lv_wayland_handle_output()
2316 if(window->application->keyboard_obj == window->body) { in _lv_wayland_handle_output()
2317 window->application->keyboard_obj = NULL; in _lv_wayland_handle_output()
2319 destroy_window(window); in _lv_wayland_handle_output()
2322 shall_flush |= window->flush_pending; in _lv_wayland_handle_output()
2334 LV_LL_READ(&application.window_ll, window) { in _lv_wayland_handle_output()
2335 window->flush_pending = false; in _lv_wayland_handle_output()
2343 struct window * window = lv_display_get_user_data(lv_indev_get_display(drv)); in _lv_wayland_pointer_read() local
2345 if(!window || window->closed) { in _lv_wayland_pointer_read()
2349 data->point.x = window->body->input.pointer.x; in _lv_wayland_pointer_read()
2350 data->point.y = window->body->input.pointer.y; in _lv_wayland_pointer_read()
2351 data->state = window->body->input.pointer.left_button; in _lv_wayland_pointer_read()
2356 struct window * window = lv_display_get_user_data(lv_indev_get_display(drv)); in _lv_wayland_pointeraxis_read() local
2358 if(!window || window->closed) { in _lv_wayland_pointeraxis_read()
2362 data->state = window->body->input.pointer.wheel_button; in _lv_wayland_pointeraxis_read()
2363 data->enc_diff = window->body->input.pointer.wheel_diff; in _lv_wayland_pointeraxis_read()
2365 window->body->input.pointer.wheel_diff = 0; in _lv_wayland_pointeraxis_read()
2370 struct window * window = lv_display_get_user_data(lv_indev_get_display(drv)); in _lv_wayland_keyboard_read() local
2371 if(!window || window->closed) { in _lv_wayland_keyboard_read()
2375 data->key = window->body->input.keyboard.key; in _lv_wayland_keyboard_read()
2376 data->state = window->body->input.keyboard.state; in _lv_wayland_keyboard_read()
2384 struct window * window = lv_display_get_user_data(lv_indev_get_display(drv)); in _lv_wayland_touch_read() local
2387 if(!window || window->closed) { in _lv_wayland_touch_read()
2392 recognizer = &window->body->input.recognizer; in _lv_wayland_touch_read()
2394 LV_LOG_TRACE("collected touch events: %d", window->body->input.touch_event_cnt); in _lv_wayland_touch_read()
2396 lv_indev_gesture_detect_pinch(recognizer, &window->body->input.touches[0], in _lv_wayland_touch_read()
2397 window->body->input.touch_event_cnt); in _lv_wayland_touch_read()
2399 window->body->input.touch_event_cnt = 0; in _lv_wayland_touch_read()
2476 lv_ll_init(&application.window_ll, sizeof(struct window)); in wayland_init()
2491 struct window * window = NULL; in wayland_deinit() local
2493 LV_LL_READ(&application.window_ll, window) { in wayland_deinit()
2494 if(!window->closed) { in wayland_deinit()
2495 destroy_window(window); in wayland_deinit()
2498 lv_draw_buf_destroy(window->lv_disp_draw_buf); in wayland_deinit()
2499 lv_display_delete(window->lv_disp); in wayland_deinit()
2568 struct window * window; in lv_wayland_window_create() local
2588 window = create_window(&application, window_width, window_height, title); in lv_wayland_window_create()
2589 if(!window) { in lv_wayland_window_create()
2594 window->close_cb = close_cb; in lv_wayland_window_create()
2597 window->lv_disp = lv_display_create(hor_res, ver_res); in lv_wayland_window_create()
2598 if(window->lv_disp == NULL) { in lv_wayland_window_create()
2604 lv_display_get_color_format(window->lv_disp)); in lv_wayland_window_create()
2606 window->lv_disp_draw_buf = lv_draw_buf_create( in lv_wayland_window_create()
2609 lv_display_get_color_format(window->lv_disp), in lv_wayland_window_create()
2613 lv_display_set_draw_buffers(window->lv_disp, window->lv_disp_draw_buf, NULL); in lv_wayland_window_create()
2614 lv_display_set_render_mode(window->lv_disp, LV_DISPLAY_RENDER_MODE_PARTIAL); in lv_wayland_window_create()
2615 lv_display_set_flush_cb(window->lv_disp, _lv_wayland_flush); in lv_wayland_window_create()
2616 lv_display_set_user_data(window->lv_disp, window); in lv_wayland_window_create()
2619 window->lv_indev_pointer = lv_indev_create(); in lv_wayland_window_create()
2620 lv_indev_set_type(window->lv_indev_pointer, LV_INDEV_TYPE_POINTER); in lv_wayland_window_create()
2621 lv_indev_set_read_cb(window->lv_indev_pointer, _lv_wayland_pointer_read); in lv_wayland_window_create()
2622 lv_indev_set_display(window->lv_indev_pointer, window->lv_disp); in lv_wayland_window_create()
2624 if(!window->lv_indev_pointer) { in lv_wayland_window_create()
2628 window->lv_indev_pointeraxis = lv_indev_create(); in lv_wayland_window_create()
2629 lv_indev_set_type(window->lv_indev_pointeraxis, LV_INDEV_TYPE_ENCODER); in lv_wayland_window_create()
2630 lv_indev_set_read_cb(window->lv_indev_pointeraxis, _lv_wayland_pointeraxis_read); in lv_wayland_window_create()
2631 lv_indev_set_display(window->lv_indev_pointeraxis, window->lv_disp); in lv_wayland_window_create()
2633 if(!window->lv_indev_pointeraxis) { in lv_wayland_window_create()
2639 window->lv_indev_touch = lv_indev_create(); in lv_wayland_window_create()
2640 lv_indev_set_type(window->lv_indev_touch, LV_INDEV_TYPE_POINTER); in lv_wayland_window_create()
2641 lv_indev_set_read_cb(window->lv_indev_touch, _lv_wayland_touch_read); in lv_wayland_window_create()
2642 lv_indev_set_display(window->lv_indev_touch, window->lv_disp); in lv_wayland_window_create()
2644 if(!window->lv_indev_touch) { in lv_wayland_window_create()
2650 window->lv_indev_keyboard = lv_indev_create(); in lv_wayland_window_create()
2651 lv_indev_set_type(window->lv_indev_keyboard, LV_INDEV_TYPE_KEYPAD); in lv_wayland_window_create()
2652 lv_indev_set_read_cb(window->lv_indev_keyboard, _lv_wayland_keyboard_read); in lv_wayland_window_create()
2653 lv_indev_set_display(window->lv_indev_keyboard, window->lv_disp); in lv_wayland_window_create()
2655 if(!window->lv_indev_keyboard) { in lv_wayland_window_create()
2659 return window->lv_disp; in lv_wayland_window_create()
2668 struct window * window = lv_display_get_user_data(disp); in lv_wayland_window_close() local
2669 if(!window || window->closed) { in lv_wayland_window_close()
2672 window->shall_close = true; in lv_wayland_window_close()
2673 window->close_cb = NULL; in lv_wayland_window_close()
2684 struct window * window; in lv_wayland_window_is_open() local
2688 LV_LL_READ(&application.window_ll, window) { in lv_wayland_window_is_open()
2689 if(!window->closed) { in lv_wayland_window_is_open()
2696 window = lv_display_get_user_data(disp); in lv_wayland_window_is_open()
2697 open = (!window->closed); in lv_wayland_window_is_open()
2711 struct window * window = lv_display_get_user_data(disp); in lv_wayland_window_set_maximized() local
2712 if(!window || window->closed) { in lv_wayland_window_set_maximized()
2716 if(window->maximized != maximized) { in lv_wayland_window_set_maximized()
2719 if(window->wl_shell_surface) { in lv_wayland_window_set_maximized()
2726 wl_shell_surface_set_toplevel(window->wl_shell_surface); in lv_wayland_window_set_maximized()
2728 window->maximized = maximized; in lv_wayland_window_set_maximized()
2729 window->flush_pending = true; in lv_wayland_window_set_maximized()
2734 if(window->xdg_toplevel) { in lv_wayland_window_set_maximized()
2736 xdg_toplevel_set_maximized(window->xdg_toplevel); in lv_wayland_window_set_maximized()
2739 xdg_toplevel_unset_maximized(window->xdg_toplevel); in lv_wayland_window_set_maximized()
2742 window->maximized = maximized; in lv_wayland_window_set_maximized()
2743 window->flush_pending = true; in lv_wayland_window_set_maximized()
2756 struct window * window = lv_display_get_user_data(disp); in lv_wayland_window_set_fullscreen() local
2757 if(!window || window->closed) { in lv_wayland_window_set_fullscreen()
2761 if(window->fullscreen != fullscreen) { in lv_wayland_window_set_fullscreen()
2766 else if(window->xdg_toplevel) { in lv_wayland_window_set_fullscreen()
2768 xdg_toplevel_set_fullscreen(window->xdg_toplevel, NULL); in lv_wayland_window_set_fullscreen()
2771 xdg_toplevel_unset_fullscreen(window->xdg_toplevel); in lv_wayland_window_set_fullscreen()
2773 window->fullscreen = fullscreen; in lv_wayland_window_set_fullscreen()
2774 window->flush_pending = true; in lv_wayland_window_set_fullscreen()
2778 else if(window->wl_shell_surface) { in lv_wayland_window_set_fullscreen()
2780 wl_shell_surface_set_fullscreen(window->wl_shell_surface, in lv_wayland_window_set_fullscreen()
2785 wl_shell_surface_set_toplevel(window->wl_shell_surface); in lv_wayland_window_set_fullscreen()
2787 window->fullscreen = fullscreen; in lv_wayland_window_set_fullscreen()
2788 window->flush_pending = true; in lv_wayland_window_set_fullscreen()
2804 struct window * window = lv_display_get_user_data(disp); in lv_wayland_get_pointer() local
2805 if(!window) { in lv_wayland_get_pointer()
2808 return window->lv_indev_pointer; in lv_wayland_get_pointer()
2818 struct window * window = lv_display_get_user_data(disp); in lv_wayland_get_pointeraxis() local
2819 if(!window) { in lv_wayland_get_pointeraxis()
2822 return window->lv_indev_pointeraxis; in lv_wayland_get_pointeraxis()
2832 struct window * window = lv_display_get_user_data(disp); in lv_wayland_get_keyboard() local
2833 if(!window) { in lv_wayland_get_keyboard()
2836 return window->lv_indev_keyboard; in lv_wayland_get_keyboard()
2846 struct window * window = lv_display_get_user_data(disp); in lv_wayland_get_touchscreen() local
2847 if(!window) { in lv_wayland_get_touchscreen()
2850 return window->lv_indev_touch; in lv_wayland_get_touchscreen()
2858 struct window * window; in lv_wayland_timer_handler() local
2864 LV_LL_READ(&application.window_ll, window) { in lv_wayland_timer_handler()
2865 LV_LOG_TRACE("handle timer frame: %d", window->frame_counter); in lv_wayland_timer_handler()
2867 if(window != NULL && window->frame_done == false in lv_wayland_timer_handler()
2868 && window->frame_counter > 0) { in lv_wayland_timer_handler()
2879 else if(window != NULL && window->body->surface_configured == false) { in lv_wayland_timer_handler()
2883 wl_surface_commit(window->body->surface); in lv_wayland_timer_handler()
2886 else if(window != NULL && window->resize_pending) { in lv_wayland_timer_handler()
2887 if(resize_window(window, window->resize_width, window->resize_height)) { in lv_wayland_timer_handler()
2888 window->resize_width = window->width; in lv_wayland_timer_handler()
2889 window->resize_height = window->height; in lv_wayland_timer_handler()
2890 window->resize_pending = false; in lv_wayland_timer_handler()
2896 window->frame_counter); in lv_wayland_timer_handler()
2899 else if(window->shall_close == true) { in lv_wayland_timer_handler()
2918 LV_LL_READ(&application.window_ll, window) { in lv_wayland_timer_handler()
2919 if(window->flush_pending) { in lv_wayland_timer_handler()