add xdg decoration, scene/tree factories, geometry + seat focus

more wrapper soup. xdg decoration manager, scene/tree node factories so
callers stop touching raw wlr_scene_*_create, a box geometry helper, and
seat pointer/keyboard focus clearing. dragging myself through it.
This commit is contained in:
AstralZX
2026-08-29 10:01:39 +02:00
parent d96315ca66
commit 7ad2b0a5fa
9 changed files with 192 additions and 43 deletions
+14
View File
@@ -19,6 +19,11 @@ public:
const char* make() const { return m_output->make; }
const char* model() const { return m_output->model; }
int width() const { return m_output->width; }
int height() const { return m_output->height; }
enum wl_output_transform transform() const { return m_output->transform; }
struct wlr_output_mode* current_mode() const { return m_output->current_mode; }
struct wlr_output_mode* preferred_mode() const {
return wlr_output_preferred_mode(m_output);
}
@@ -32,6 +37,15 @@ public:
wlr_output_state_finish(&state);
return ok;
}
bool set_mode(struct wlr_output_mode* mode) {
if (!mode) return false;
struct wlr_output_state state;
wlr_output_state_init(&state);
wlr_output_state_set_mode(&state, mode);
bool ok = wlr_output_commit_state(m_output, &state);
wlr_output_state_finish(&state);
return ok;
}
private:
struct wlr_output* m_output;