X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;ds=inline;f=src%2Fwayland.cpp;h=4f1dbd1eebcaa254c10f54d78cb8307c6717ac2a;hb=72ca2b377687ef63ad223ab1b55cf6bc3af24062;hp=98c4270fdebca50a9f9d3c654237f888487bd16f;hpb=910704d00adeea1b6516e3fd444e5273b8ebbbbb;p=staging%2Fwindowmanager.git diff --git a/src/wayland.cpp b/src/wayland.cpp index 98c4270..4f1dbd1 100644 --- a/src/wayland.cpp +++ b/src/wayland.cpp @@ -16,9 +16,15 @@ namespace wl { // |_| |___/ display::display() : d(std::unique_ptr( - wl_display_connect(NULL), wl_display_disconnect)), + wl_display_connect(NULL), + [](wl_display *d) { + logdebug("wl::display %s @ %p", __func__, d); + wl_display_disconnect(d); + })), r(std::make_unique(d.get())) {} +display::~display() {} + bool display::ok() const { return d.get() != nullptr && wl_display_get_error(d.get()) == 0; } @@ -52,8 +58,7 @@ registry::registry(wl_display *d) : wayland_proxy(wl_display_get_registry(d)) { } registry::~registry() { - wl_registry_destroy(this->proxy); - this->proxy = nullptr; + logdebug("wl::registry %s @ %p", __func__, this->proxy); } void registry::add_global_handler(char const *iface, binder bind) { @@ -223,7 +228,7 @@ void layer_visibility(void *data, void layer_opacity(void *data, struct ivi_controller_layer *ivi_controller_layer, wl_fixed_t opacity) { - static_cast(data)->opacity(opacity); + static_cast(data)->opacity(wl_fixed_to_double(opacity)); } void layer_source_rectangle(void *data, @@ -284,8 +289,8 @@ void layer::visibility(int32_t visibility) { logdebug("genivi::layer %s @ %p v %i", __func__, this->proxy, visibility); } -void layer::opacity(wl_fixed_t opacity) { - logdebug("genivi::layer %s @ %p o %i", __func__, this->proxy, opacity); +void layer::opacity(float opacity) { + logdebug("genivi::layer %s @ %p o %f", __func__, this->proxy, opacity); } void layer::source_rectangle(int32_t x, int32_t y, int32_t width, @@ -334,7 +339,7 @@ void surface_visibility(void *data, void surface_opacity(void *data, struct ivi_controller_surface *ivi_controller_surface, wl_fixed_t opacity) { - static_cast(data)->opacity(opacity); + static_cast(data)->opacity(wl_fixed_to_double(opacity)); } void surface_source_rectangle( @@ -423,8 +428,8 @@ void surface::visibility(int32_t visibility) { logdebug("genivi::surface %s @ %p v %i", __func__, this->proxy, visibility); } -void surface::opacity(wl_fixed_t opacity) { - logdebug("genivi::surface %s @ %p o %i", __func__, this->proxy, opacity); +void surface::opacity(float opacity) { + logdebug("genivi::surface %s @ %p o %f", __func__, this->proxy, opacity); } void surface::source_rectangle(int32_t x, int32_t y, int32_t width,