- 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
+ // controller
+ void screen(uint32_t id, struct 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);
+
+ // surface
+ void surface_visibility(uint32_t id, int32_t visibility);
+ void surface_opacity(uint32_t id, float opacity);
+ void surface_source_rectangle(uint32_t id, int32_t x, int32_t y,
+ int32_t width, int32_t height);
+ void surface_destination_rectangle(uint32_t id, int32_t x, int32_t y,
+ int32_t width, int32_t height);
+ void surface_configuration(uint32_t id, int32_t width, int32_t height);
+ void surface_orientation(uint32_t id, int32_t orientation);
+ void surface_pixelformat(uint32_t id, int32_t pixelformat);
+ void surface_layer(uint32_t id, struct ivi_controller_layer *layer);
+ void surface_stats(uint32_t id, uint32_t redraw_count, uint32_t frame_count,
+ uint32_t update_count, uint32_t pid,
+ const char *process_name);
+ void surface_destroyed(uint32_t id);
+ void surface_content(uint32_t id, int32_t content_state);
+
+ // layer
+ void layer_visibility(uint32_t id, int32_t visibility);
+ void layer_opacity(uint32_t id, float opacity);
+ void layer_source_rectangle(uint32_t id, int32_t x, int32_t y, int32_t width,
+ int32_t height);
+ void layer_destination_rectangle(uint32_t id, int32_t x, int32_t y,
+ int32_t width, int32_t height);
+ void layer_configuration(uint32_t id, int32_t width, int32_t height);
+ void layer_orientation(uint32_t id, int32_t orientation);
+ void layer_screen(uint32_t id, struct wl_output *screen);
+ void layer_destroyed(uint32_t id);