This commit is contained in:
parent
647b86fd7d
commit
33ea649d18
2 changed files with 21 additions and 21 deletions
|
|
@ -10,8 +10,8 @@ void MwLLWaylandFramebufferSetup(struct _MwLLWayland* wayland) {
|
||||||
memset(wayland->framebuffer.buf_back, 255, wayland->framebuffer.buf_size);
|
memset(wayland->framebuffer.buf_back, 255, wayland->framebuffer.buf_size);
|
||||||
if(wayland->configured)
|
if(wayland->configured)
|
||||||
wl_surface_attach(wayland->framebuffer.surface, wayland->framebuffer.shm_buffer, 0, 0);
|
wl_surface_attach(wayland->framebuffer.surface, wayland->framebuffer.shm_buffer, 0, 0);
|
||||||
if(wayland->framebuffer.fifo)
|
// if(wayland->framebuffer.fifo)
|
||||||
wp_fifo_v1_set_barrier(wayland->framebuffer.fifo);
|
// wp_fifo_v1_set_barrier(wayland->framebuffer.fifo);
|
||||||
|
|
||||||
wl_surface_commit(wayland->framebuffer.surface);
|
wl_surface_commit(wayland->framebuffer.surface);
|
||||||
|
|
||||||
|
|
@ -25,11 +25,13 @@ void MwLLWaylandFramebufferDestroy(struct _MwLLWayland* wayland) {
|
||||||
};
|
};
|
||||||
|
|
||||||
void MwLLWaylandBackbufferSetup(struct _MwLLWayland* wayland) {
|
void MwLLWaylandBackbufferSetup(struct _MwLLWayland* wayland) {
|
||||||
|
MwU32 w = wayland->ww;
|
||||||
|
MwU32 h = wayland->wh;
|
||||||
|
|
||||||
if(wayland->type != MwLL_WAYLAND_TOPLEVEL) {
|
if(wayland->type != MwLL_WAYLAND_TOPLEVEL) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
MwU32 w = wayland->ww;
|
|
||||||
MwU32 h = wayland->wh;
|
|
||||||
if(!wayland->has_decorations && wayland->do_csd) {
|
if(!wayland->has_decorations && wayland->do_csd) {
|
||||||
w += (CSD_BORDER_FRAME_LEFT + CSD_BORDER_FRAME_RIGHT);
|
w += (CSD_BORDER_FRAME_LEFT + CSD_BORDER_FRAME_RIGHT);
|
||||||
h += (CSD_BORDER_FRAME_TOP + CSD_BORDER_FRAME_BOTTOM);
|
h += (CSD_BORDER_FRAME_TOP + CSD_BORDER_FRAME_BOTTOM);
|
||||||
|
|
@ -140,8 +142,8 @@ void MwLLWaylandFramebufferResize(struct _MwLLWayland* wayland) {
|
||||||
|
|
||||||
if(wayland->configured)
|
if(wayland->configured)
|
||||||
wl_surface_attach(wayland->framebuffer.surface, wayland->framebuffer.shm_buffer, 0, 0);
|
wl_surface_attach(wayland->framebuffer.surface, wayland->framebuffer.shm_buffer, 0, 0);
|
||||||
if(wayland->framebuffer.fifo)
|
// if(wayland->framebuffer.fifo)
|
||||||
wp_fifo_v1_set_barrier(wayland->framebuffer.fifo);
|
// wp_fifo_v1_set_barrier(wayland->framebuffer.fifo);
|
||||||
|
|
||||||
wl_surface_commit(wayland->framebuffer.surface);
|
wl_surface_commit(wayland->framebuffer.surface);
|
||||||
|
|
||||||
|
|
@ -183,8 +185,8 @@ void MwLLWaylandBufferUpdate(MwLL self, struct _MwLLWaylandShmBuffer* buffer) {
|
||||||
if(self->wayland.configured) {
|
if(self->wayland.configured) {
|
||||||
wl_surface_attach(buffer->surface, buffer->shm_buffer, 0, 0);
|
wl_surface_attach(buffer->surface, buffer->shm_buffer, 0, 0);
|
||||||
}
|
}
|
||||||
if(buffer->fifo)
|
// if(buffer->fifo)
|
||||||
wp_fifo_v1_wait_barrier(buffer->fifo);
|
// wp_fifo_v1_wait_barrier(buffer->fifo);
|
||||||
wl_surface_commit(buffer->surface);
|
wl_surface_commit(buffer->surface);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -202,21 +202,18 @@ static void xdg_toplevel_configure(void* data,
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
|
||||||
if(self->wayland.resizing == 0) {
|
xdg_surface_set_window_geometry(self->wayland.toplevel->xdg_surface, 0, 0, self->wayland.ww, self->wayland.wh);
|
||||||
xdg_surface_set_window_geometry(self->wayland.toplevel->xdg_surface, 0, 0, self->wayland.ww, self->wayland.wh);
|
MwLLWaylandFramebufferResize(&self->wayland);
|
||||||
|
MwLLWaylandBackbufferResize(&self->wayland);
|
||||||
|
|
||||||
MwLLWaylandFramebufferResize(&self->wayland);
|
MwLLWaylandRegionSetup(self);
|
||||||
|
MwLLDispatch(self, resize, NULL);
|
||||||
|
|
||||||
MwLLWaylandRegionSetup(self);
|
recursive_dispatch_resize(self);
|
||||||
MwLLDispatch(self, resize, NULL);
|
|
||||||
|
|
||||||
recursive_dispatch_resize(self);
|
if(self->wayland.pointer_constrained) {
|
||||||
|
zwp_locked_pointer_v1_set_cursor_position_hint(self->wayland.locked_pointer, 0, CSD_BORDER_FRAME_TOP);
|
||||||
if(self->wayland.pointer_constrained) {
|
wl_surface_commit(self->wayland.framebuffer.surface);
|
||||||
zwp_locked_pointer_v1_set_cursor_position_hint(self->wayland.locked_pointer, 0, CSD_BORDER_FRAME_TOP);
|
|
||||||
wl_surface_commit(self->wayland.framebuffer.surface);
|
|
||||||
}
|
|
||||||
self->wayland.resizing = 1;
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -1414,9 +1411,10 @@ static void MwLLEndDrawImpl(MwLL handle) {
|
||||||
if(handle->wayland.configured) {
|
if(handle->wayland.configured) {
|
||||||
if(handle->wayland.type == MwLL_WAYLAND_TOPLEVEL) {
|
if(handle->wayland.type == MwLL_WAYLAND_TOPLEVEL) {
|
||||||
MwLLWaylandBufferUpdate(handle, &handle->wayland.backbuffer);
|
MwLLWaylandBufferUpdate(handle, &handle->wayland.backbuffer);
|
||||||
|
MwLLWaylandBackbufferResize(&handle->wayland);
|
||||||
}
|
}
|
||||||
|
|
||||||
MwLLWaylandBufferUpdate(handle, &handle->wayland.framebuffer);
|
MwLLWaylandBufferUpdate(handle, &handle->wayland.framebuffer);
|
||||||
|
MwLLWaylandFramebufferResize(&handle->wayland);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue