summaryrefslogtreecommitdiffstats
path: root/src/wayland.hpp
diff options
context:
space:
mode:
authorMarcus Fritzsch <marcus_fritzsch@mentor.com>2017-06-08 15:40:11 +0200
committerMarcus Fritzsch <marcus_fritzsch@mentor.com>2017-08-08 17:24:00 +0200
commit910704d00adeea1b6516e3fd444e5273b8ebbbbb (patch)
tree334fc70bbc928ad6ac0ade80ebd8e1f6306fbc9b /src/wayland.hpp
parent90e562cd013333084f455257edaf43c0b2258e28 (diff)
moved callback thunks to impl, makes classes readable
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Diffstat (limited to 'src/wayland.hpp')
-rw-r--r--src/wayland.hpp198
1 files changed, 39 insertions, 159 deletions
diff --git a/src/wayland.hpp b/src/wayland.hpp
index 54d0bd5..d0d9c90 100644
--- a/src/wayland.hpp
+++ b/src/wayland.hpp
@@ -53,6 +53,7 @@ struct display {
display();
bool ok() const;
void roundtrip();
+ int dispatch();
};
// _ _
@@ -70,16 +71,9 @@ struct registry : public wayland_proxy<wl_registry> {
void add_global_handler(char const *iface, binder bind);
- void event_global(uint32_t name, char const *iface, uint32_t v);
- void event_global_remove(uint32_t name);
-
- static void s_global(void *data, struct wl_registry *r, uint32_t name,
- char const *iface, uint32_t v);
-
- static void s_global_remove(void *data, struct wl_registry *r,
- uint32_t name);
-
- static constexpr wl_registry_listener listener = {s_global, s_global_remove};
+ // Events
+ void global(uint32_t name, char const *iface, uint32_t v);
+ void global_remove(uint32_t name);
};
// _ _
@@ -91,28 +85,12 @@ struct registry : public wayland_proxy<wl_registry> {
struct output : wayland_proxy<wl_output> {
output(wl_registry *registry, uint32_t name, uint32_t version);
- void event_geometry(int32_t x, int32_t y, int32_t pw, int32_t ph,
- int32_t subpel, char const *make, char const *model,
- int32_t tx);
- void event_mode(uint32_t flags, int32_t w, int32_t h, int32_t r);
- void event_done();
- void event_scale(int32_t factor);
-
- static void s_geometry(void *data, struct wl_output *wl_output, int32_t x,
- int32_t y, int32_t physical_width,
- int32_t physical_height, int32_t subpixel,
- const char *make, const char *model,
- int32_t transform);
-
- static void s_mode(void *data, struct wl_output *wl_output, uint32_t flags,
- int32_t width, int32_t height, int32_t refresh);
-
- static void s_done(void *data, struct wl_output *wl_output);
-
- static void s_scale(void *data, struct wl_output *wl_output, int32_t factor);
-
- static constexpr wl_output_listener listener = {s_geometry, s_mode, s_done,
- s_scale};
+ // Events
+ void geometry(int32_t x, int32_t y, int32_t pw, int32_t ph, int32_t subpel,
+ char const *make, char const *model, int32_t tx);
+ void mode(uint32_t flags, int32_t w, int32_t h, int32_t r);
+ void done();
+ void scale(int32_t factor);
};
}
@@ -141,70 +119,20 @@ struct surface : public wayland_proxy<ivi_controller_surface> {
surface(uint32_t i, ivi_controller *c);
~surface() override;
- void event_visibility(int32_t visibility);
- void event_opacity(wl_fixed_t opacity);
- void event_source_rectangle(int32_t x, int32_t y, int32_t width,
- int32_t height);
- void event_destination_rectangle(int32_t x, int32_t y, int32_t width,
- int32_t height);
- void event_configuration(int32_t width, int32_t height);
- void event_orientation(int32_t orientation);
- void event_pixelformat(int32_t pixelformat);
- void event_layer(struct ivi_controller_layer *layer);
- void event_stats(uint32_t redraw_count, uint32_t frame_count,
- uint32_t update_count, uint32_t pid,
- const char *process_name);
- void event_destroyed();
- void event_content(int32_t content_state);
-
- static void s_visibility(
- void *data, struct ivi_controller_surface *ivi_controller_surface,
- int32_t visibility);
- static void s_opacity(void *data,
- struct ivi_controller_surface *ivi_controller_surface,
- wl_fixed_t opacity);
- static void 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 void 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 void s_configuration(
- void *data, struct ivi_controller_surface *ivi_controller_surface,
- int32_t width, int32_t height);
- static void s_orientation(
- void *data, struct ivi_controller_surface *ivi_controller_surface,
- int32_t orientation);
- static void s_pixelformat(
- void *data, struct ivi_controller_surface *ivi_controller_surface,
- int32_t pixelformat);
- static void s_layer(void *data,
- struct ivi_controller_surface *ivi_controller_surface,
- struct ivi_controller_layer *layer);
- static void 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 void s_destroyed(
- void *data, struct ivi_controller_surface *ivi_controller_surface);
- static void s_content(void *data,
- struct ivi_controller_surface *ivi_controller_surface,
- int32_t content_state);
-
- static constexpr ivi_controller_surface_listener listener = {
- s_visibility,
- s_opacity,
- s_source_rectangle,
- s_destination_rectangle,
- s_configuration,
- s_orientation,
- s_pixelformat,
- s_layer,
- s_stats,
- s_destroyed,
- s_content,
- };
+ // Events
+ void visibility(int32_t visibility);
+ void opacity(wl_fixed_t opacity);
+ void source_rectangle(int32_t x, int32_t y, int32_t width, int32_t height);
+ void destination_rectangle(int32_t x, int32_t y, int32_t width,
+ int32_t height);
+ void configuration(int32_t width, int32_t height);
+ void orientation(int32_t orientation);
+ void pixelformat(int32_t pixelformat);
+ void layer(struct ivi_controller_layer *layer);
+ void stats(uint32_t redraw_count, uint32_t frame_count,
+ uint32_t update_count, uint32_t pid, const char *process_name);
+ void destroyed();
+ void content(int32_t content_state);
};
// _
@@ -219,47 +147,16 @@ struct layer : public wayland_proxy<ivi_controller_layer> {
layer(uint32_t i, ivi_controller *c);
~layer() override;
- void event_visibility(int32_t visibility);
- void event_opacity(wl_fixed_t opacity);
- void event_source_rectangle(int32_t x, int32_t y, int32_t width,
- int32_t height);
- void event_destination_rectangle(int32_t x, int32_t y, int32_t width,
- int32_t height);
- void event_configuration(int32_t width, int32_t height);
- void event_orientation(int32_t orientation);
- void event_screen(struct wl_output *screen);
- void event_destroyed();
-
- static void s_visibility(void *data,
- struct ivi_controller_layer *ivi_controller_layer,
- int32_t visibility);
- static void s_opacity(void *data,
- struct ivi_controller_layer *ivi_controller_layer,
- wl_fixed_t opacity);
- static void 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 void 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 void s_configuration(
- void *data, struct ivi_controller_layer *ivi_controller_layer,
- int32_t width, int32_t height);
- static void s_orientation(void *data,
- struct ivi_controller_layer *ivi_controller_layer,
- int32_t orientation);
- static void s_screen(void *data,
- struct ivi_controller_layer *ivi_controller_layer,
- struct wl_output *screen);
- static void s_destroyed(void *data,
- struct ivi_controller_layer *ivi_controller_layer);
-
- static constexpr ivi_controller_layer_listener listener = {
- s_visibility, s_opacity,
- s_source_rectangle, s_destination_rectangle,
- s_configuration, s_orientation,
- s_screen, s_destroyed,
- };
+ // Events
+ void visibility(int32_t visibility);
+ void opacity(wl_fixed_t opacity);
+ void source_rectangle(int32_t x, int32_t y, int32_t width, int32_t height);
+ void destination_rectangle(int32_t x, int32_t y, int32_t width,
+ int32_t height);
+ void configuration(int32_t width, int32_t height);
+ void orientation(int32_t orientation);
+ void screen(struct wl_output *screen);
+ void destroyed();
};
//
@@ -288,28 +185,11 @@ struct controller : public wayland_proxy<ivi_controller> {
controller(wl_registry *r, uint32_t name, uint32_t version);
~controller() override;
- void event_screen(uint32_t id, ivi_controller_screen *screen);
- void event_layer(uint32_t id);
- void event_surface(uint32_t id);
- void event_error(int32_t oid, int32_t otype, int32_t code, char const *text);
-
- // thunks...
- static void s_screen(void *data, struct ivi_controller *ivi_controller,
- uint32_t id_screen,
- struct ivi_controller_screen *screen);
-
- static void s_layer(void *data, struct ivi_controller *ivi_controller,
- uint32_t id_layer);
-
- static void s_surface(void *data, struct ivi_controller *ivi_controller,
- uint32_t id_surface);
-
- static void s_error(void *data, struct ivi_controller *ivi_controller,
- int32_t object_id, int32_t object_type,
- int32_t error_code, const char *error_text);
-
- static constexpr ivi_controller_listener listener = {s_screen, s_layer,
- s_surface, s_error};
+ // Events
+ void screen(uint32_t id, ivi_controller_screen *screen);
+ void layer(uint32_t id);
+ void surface(uint32_t id);
+ void error(int32_t oid, int32_t otype, int32_t code, char const *text);
};
}