hooked up genivi::surface and layer
[staging/windowmanager.git] / src / wayland.cpp
index c88b5c6..f8db0a6 100644 (file)
@@ -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;
 
 //