From: Marcus Fritzsch Date: Fri, 23 Jun 2017 10:23:36 +0000 (+0200) Subject: wayland: add missing controller requests X-Git-Tag: 4.99.1~340 X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=commitdiff_plain;h=342cead0ff9a95479270de381c3cd14ea7a95c0b;p=staging%2Fwindowmanager.git wayland: add missing controller requests * Added layer_create and surface_create to genivi::controller. Signed-off-by: Marcus Fritzsch --- diff --git a/src/wayland.cpp b/src/wayland.cpp index b63d961..52b2371 100644 --- a/src/wayland.cpp +++ b/src/wayland.cpp @@ -200,6 +200,14 @@ controller::controller(struct wl_registry *r, uint32_t name, uint32_t version) controller::~controller() {} +void controller::layer_create(uint32_t id, int32_t w, int32_t h) { + this->layers[id] = std::make_unique(id, w, h, this); +} + +void controller::surface_create(uint32_t id) { + this->surfaces[id] = std::make_unique(id, this); +} + void controller::controller_screen(uint32_t id, struct ivi_controller_screen *screen) { logdebug("genivi::controller @ %p screen %u (%x) @ %p", this->proxy, id, id, @@ -294,7 +302,11 @@ constexpr struct ivi_controller_layer_listener layer_listener = { } layer::layer(uint32_t i, struct controller *c) - : wayland_proxy(ivi_controller_layer_create(c->proxy, i, 0, 0)), + : layer(i, 0, 0, c) { +} + +layer::layer(uint32_t i, int32_t w, int32_t h, struct controller *c) + : wayland_proxy(ivi_controller_layer_create(c->proxy, i, w, h)), controlled_entity(c, i) { ivi_controller_layer_add_listener(this->proxy, &layer_listener, this); } diff --git a/src/wayland.hpp b/src/wayland.hpp index 20e88c5..58c63b1 100644 --- a/src/wayland.hpp +++ b/src/wayland.hpp @@ -202,6 +202,7 @@ struct surface : public wayland_proxy, struct layer : public wayland_proxy, controlled_entity { layer(uint32_t i, struct controller *c); + layer(uint32_t i, int32_t w, int32_t h, struct controller *c); ~layer() override; // Requests @@ -299,6 +300,11 @@ struct controller : public wayland_proxy { controller(struct wl_registry *r, uint32_t name, uint32_t version); ~controller() override; + // Requests + void commit_changes() const { ivi_controller_commit_changes(this->proxy); } + void layer_create(uint32_t id, int32_t w, int32_t h); + void surface_create(uint32_t id); + // Events // controller void controller_screen(uint32_t id, struct ivi_controller_screen *screen);