Skip to content

finite_overlay_set_size_and_position

The finite_overlay_set_size_and_position function sets the size and anchor of the active layer-shell window.

void finite_overlay_set_size_and_position(FiniteShell *shell, int width, int height, uint32_t anchor)
TypeDescription
FiniteShell *shellThe FiniteShell to create a window for.
int widthThe width of the window in pixels
int heightThe height of the window in pixels
uint32_t anchorThe zwlr_layer_shell_v1_anchor to snap to. Use the provided enum values.
finite_log_init(stdout, LOG_LEVEL_DEBUG, true);
shell = finite_shell_init("wayland-0"); // get the device
finite_overlay_init(shell, 3, "overlay");
finite_overlay_set_size_and_position(shell, 200, 100, ZWLR_LAYER_SURFACE_V1_ANCHOR_BOTTOM | ZWLR_LAYER_SURFACE_V1_ANCHOR_RIGHT);
// try and draw
finite_shm_alloc(shell, false);
FiniteColorGroup test = { 0.827, 0.247, 0.286 };
finite_draw_rect(shell, 0,0, 200, 100, &test, NULL);
finite_draw_finish(shell, 200, 100, shell->stride, false);
int state = wl_display_dispatch(shell->display);
while (state != -1) {}
FINITE_LOG("Done.");
finite_draw_cleanup(shell);

When creating an overlay Developers should not attempt to set the shared memory buffer (shm) until AFTER calling finite_overlay_set_size_and_position