summaryrefslogtreecommitdiffstats
path: root/src/wayland.cpp
diff options
context:
space:
mode:
authorMarcus Fritzsch <marcus_fritzsch@mentor.com>2017-06-08 15:00:55 +0200
committerMarcus Fritzsch <marcus_fritzsch@mentor.com>2017-08-08 17:24:00 +0200
commit90e562cd013333084f455257edaf43c0b2258e28 (patch)
tree5672960243f1d62821bea506a29774bb84d47d21 /src/wayland.cpp
parentdb95653246560c24ad3c8cb224b3d9321b50af0a (diff)
hooked up genivi::surface and layer
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Diffstat (limited to 'src/wayland.cpp')
-rw-r--r--src/wayland.cpp215
1 files changed, 213 insertions, 2 deletions
diff --git a/src/wayland.cpp b/src/wayland.cpp
index c88b5c6..f8db0a6 100644
--- a/src/wayland.cpp
+++ b/src/wayland.cpp
@@ -19,6 +19,10 @@ display::display()
wl_display_connect(NULL), wl_display_disconnect)),
r(std::make_unique<registry>(d.get())) {}
+bool display::ok() const {
+ return d.get() != nullptr && wl_display_get_error(d.get()) == 0;
+}
+
void display::roundtrip() { wl_display_roundtrip(this->d.get()); }
// _ _
@@ -45,8 +49,8 @@ void registry::event_global(uint32_t name, char const *iface, uint32_t v) {
if (b != this->bindings.end())
b->second(this->proxy, name, v);
else
- logdebug("registry @ %p global n %u i %s v %u", this->proxy, name, iface,
- v);
+ logdebug("wl::registry @ %p global n %u i %s v %u", this->proxy, name,
+ iface, v);
}
void registry::event_global_remove(uint32_t name) {}
@@ -210,6 +214,90 @@ layer::~layer() {
this->proxy = nullptr;
}
+void layer::event_visibility(int32_t visibility) {
+ logdebug("genivi::layer %s @ %p v %i", __func__, this->proxy, visibility);
+}
+
+void layer::event_opacity(wl_fixed_t opacity) {
+ logdebug("genivi::layer %s @ %p o %i", __func__, this->proxy, opacity);
+}
+
+void layer::event_source_rectangle(int32_t x, int32_t y, int32_t width,
+ int32_t height) {
+ logdebug("genivi::layer %s @ %p x %i y %i w %i h %i", __func__, this->proxy,
+ x, y, width, height);
+}
+
+void layer::event_destination_rectangle(int32_t x, int32_t y, int32_t width,
+ int32_t height) {
+ logdebug("genivi::layer %s @ %p x %i y %i w %i h %i", __func__, this->proxy,
+ x, y, width, height);
+}
+
+void layer::event_configuration(int32_t width, int32_t height) {
+ logdebug("genivi::layer %s @ %p w %i h %i", __func__, this->proxy, width,
+ height);
+}
+
+void layer::event_orientation(int32_t orientation) {
+ logdebug("genivi::layer %s @ %p o %i", __func__, this->proxy, orientation);
+}
+
+void layer::event_screen(struct wl_output *screen) {
+ logdebug("genivi::layer %s @ %p s %p", __func__, this->proxy, screen);
+}
+
+void layer::event_destroyed() {
+ logdebug("genivi::layer %s @ %p", __func__, this->proxy);
+}
+
+void layer::s_visibility(void *data,
+ struct ivi_controller_layer *ivi_controller_layer,
+ int32_t visibility) {
+ static_cast<layer *>(data)->event_visibility(visibility);
+}
+
+void layer::s_opacity(void *data,
+ struct ivi_controller_layer *ivi_controller_layer,
+ wl_fixed_t opacity) {
+ static_cast<layer *>(data)->event_opacity(opacity);
+}
+
+void layer::s_source_rectangle(
+ void *data, struct ivi_controller_layer *ivi_controller_layer, int32_t x,
+ int32_t y, int32_t width, int32_t height) {
+ static_cast<layer *>(data)->event_source_rectangle(x, y, width, height);
+}
+
+void layer::s_destination_rectangle(
+ void *data, struct ivi_controller_layer *ivi_controller_layer, int32_t x,
+ int32_t y, int32_t width, int32_t height) {
+ static_cast<layer *>(data)->event_destination_rectangle(x, y, width, height);
+}
+
+void layer::s_configuration(void *data,
+ struct ivi_controller_layer *ivi_controller_layer,
+ int32_t width, int32_t height) {
+ static_cast<layer *>(data)->event_configuration(width, height);
+}
+
+void layer::s_orientation(void *data,
+ struct ivi_controller_layer *ivi_controller_layer,
+ int32_t orientation) {
+ static_cast<layer *>(data)->event_orientation(orientation);
+}
+
+void layer::s_screen(void *data,
+ struct ivi_controller_layer *ivi_controller_layer,
+ struct wl_output *screen) {
+ static_cast<layer *>(data)->event_screen(screen);
+}
+
+void layer::s_destroyed(void *data,
+ struct ivi_controller_layer *ivi_controller_layer) {
+ static_cast<layer *>(data)->event_destroyed();
+}
+
constexpr ivi_controller_layer_listener layer::listener;
// __
@@ -229,6 +317,129 @@ surface::~surface() {
this->proxy = nullptr;
}
+void surface::event_visibility(int32_t visibility) {
+ logdebug("genivi::surface %s @ %p v %i", __func__, this->proxy, visibility);
+}
+
+void surface::event_opacity(wl_fixed_t opacity) {
+ logdebug("genivi::surface %s @ %p o %i", __func__, this->proxy, opacity);
+}
+
+void surface::event_source_rectangle(int32_t x, int32_t y, int32_t width,
+ int32_t height) {
+ logdebug("genivi::surface %s @ %p x %i y %i w %i h %i", __func__,
+ this->proxy, x, y, width, height);
+}
+
+void surface::event_destination_rectangle(int32_t x, int32_t y, int32_t width,
+ int32_t height) {
+ logdebug("genivi::surface %s @ %p x %i y %i w %i h %i", __func__,
+ this->proxy, x, y, width, height);
+}
+
+void surface::event_configuration(int32_t width, int32_t height) {
+ logdebug("genivi::surface %s @ %p w %i h %i", __func__, this->proxy, width,
+ height);
+}
+
+void surface::event_orientation(int32_t orientation) {
+ logdebug("genivi::surface %s @ %p o %i", __func__, this->proxy, orientation);
+}
+
+void surface::event_pixelformat(int32_t pixelformat) {
+ logdebug("genivi::surface %s @ %p f %i", __func__, this->proxy, pixelformat);
+}
+
+void surface::event_layer(struct ivi_controller_layer *layer) {
+ logdebug("genivi::surface %s @ %p l @ %p", __func__, this->proxy, layer);
+}
+
+void surface::event_stats(uint32_t redraw_count, uint32_t frame_count,
+ uint32_t update_count, uint32_t pid,
+ const char *process_name) {
+ logdebug("genivi::surface %s @ %p r %u f %u u %u pid %u p %s", __func__,
+ this->proxy, redraw_count, frame_count, update_count, pid,
+ process_name);
+}
+
+void surface::event_destroyed() {
+ logdebug("genivi::surface %s @ %p", __func__, this->proxy);
+}
+
+void surface::event_content(int32_t content_state) {
+ logdebug("genivi::surface %s @ %p s %i", __func__, this->proxy,
+ content_state);
+}
+
+void surface::s_visibility(
+ void *data, struct ivi_controller_surface *ivi_controller_surface,
+ int32_t visibility) {
+ static_cast<surface *>(data)->event_visibility(visibility);
+}
+
+void surface::s_opacity(void *data,
+ struct ivi_controller_surface *ivi_controller_surface,
+ wl_fixed_t opacity) {
+ static_cast<surface *>(data)->event_opacity(opacity);
+}
+
+void surface::s_source_rectangle(
+ void *data, struct ivi_controller_surface *ivi_controller_surface, int32_t x,
+ int32_t y, int32_t width, int32_t height) {
+ static_cast<surface *>(data)->event_source_rectangle(x, y, width, height);
+}
+
+void surface::s_destination_rectangle(
+ void *data, struct ivi_controller_surface *ivi_controller_surface, int32_t x,
+ int32_t y, int32_t width, int32_t height) {
+ static_cast<surface *>(data)->event_destination_rectangle(x, y, width,
+ height);
+}
+
+void surface::s_configuration(
+ void *data, struct ivi_controller_surface *ivi_controller_surface,
+ int32_t width, int32_t height) {
+ static_cast<surface *>(data)->event_configuration(width, height);
+}
+
+void surface::s_orientation(
+ void *data, struct ivi_controller_surface *ivi_controller_surface,
+ int32_t orientation) {
+ static_cast<surface *>(data)->event_orientation(orientation);
+}
+
+void surface::s_pixelformat(
+ void *data, struct ivi_controller_surface *ivi_controller_surface,
+ int32_t pixelformat) {
+ static_cast<surface *>(data)->event_pixelformat(pixelformat);
+}
+
+void surface::s_layer(void *data,
+ struct ivi_controller_surface *ivi_controller_surface,
+ struct ivi_controller_layer *layer) {
+ static_cast<surface *>(data)->event_layer(layer);
+}
+
+void surface::s_stats(void *data,
+ struct ivi_controller_surface *ivi_controller_surface,
+ uint32_t redraw_count, uint32_t frame_count,
+ uint32_t update_count, uint32_t pid,
+ const char *process_name) {
+ static_cast<surface *>(data)->event_stats(redraw_count, frame_count,
+ update_count, pid, process_name);
+}
+
+void surface::s_destroyed(
+ void *data, struct ivi_controller_surface *ivi_controller_surface) {
+ static_cast<surface *>(data)->event_destroyed();
+}
+
+void surface::s_content(void *data,
+ struct ivi_controller_surface *ivi_controller_surface,
+ int32_t content_state) {
+ static_cast<surface *>(data)->event_content(content_state);
+}
+
constexpr ivi_controller_surface_listener surface::listener;
//