diff options
author | Marcus Fritzsch <marcus_fritzsch@mentor.com> | 2017-06-23 12:23:36 +0200 |
---|---|---|
committer | Marcus Fritzsch <marcus_fritzsch@mentor.com> | 2017-08-08 17:24:00 +0200 |
commit | 342cead0ff9a95479270de381c3cd14ea7a95c0b (patch) | |
tree | f2655501c7df7622101047c833cd5865b662b5fd /src/wayland.cpp | |
parent | e066b091da80364a84905c3d8fc37ebc6d7e849d (diff) |
wayland: add missing controller requests
* Added layer_create and surface_create to genivi::controller.
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Diffstat (limited to 'src/wayland.cpp')
-rw-r--r-- | src/wayland.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
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<layer>(id, w, h, this); +} + +void controller::surface_create(uint32_t id) { + this->surfaces[id] = std::make_unique<surface>(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); } |