X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fwayland.cpp;h=52b2371e805e5ae40641d9790cb3e668cd17bab1;hb=7a222198086e2c2ce7a19a989d1feee0cd31d8ab;hp=b63d961d433f5a45be499781f992838f0685c296;hpb=e066b091da80364a84905c3d8fc37ebc6d7e849d;p=staging%2Fwindowmanager.git 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); }