+ // controller
+ void controller_screen(uint32_t id, struct ivi_controller_screen *screen);
+ void controller_layer(uint32_t id);
+ void controller_surface(uint32_t id);
+ void controller_error(int32_t object_id, int32_t object_type,
+ int32_t error_code, char const *error_text);
+
+ // surface
+ void surface_visibility(struct surface *s, int32_t visibility);
+ void surface_opacity(struct surface *s, float opacity);
+ void surface_source_rectangle(struct surface *s, int32_t x, int32_t y,
+ int32_t width, int32_t height);
+ void surface_destination_rectangle(struct surface *s, int32_t x, int32_t y,
+ int32_t width, int32_t height);
+ void surface_configuration(struct surface *s, int32_t width, int32_t height);
+ void surface_orientation(struct surface *s, int32_t orientation);
+ void surface_pixelformat(struct surface *s, int32_t pixelformat);
+ void surface_layer(struct surface *s, struct ivi_controller_layer *layer);
+ void surface_stats(struct surface *s, uint32_t redraw_count,
+ uint32_t frame_count, uint32_t update_count, uint32_t pid,
+ const char *process_name);
+ void surface_destroyed(struct surface *s);
+ void surface_content(struct surface *s, int32_t content_state);
+
+ // layer
+ void layer_visibility(struct layer *l, int32_t visibility);
+ void layer_opacity(struct layer *l, float opacity);
+ void layer_source_rectangle(struct layer *l, int32_t x, int32_t y,
+ int32_t width, int32_t height);
+ void layer_destination_rectangle(struct layer *l, int32_t x, int32_t y,
+ int32_t width, int32_t height);
+ void layer_configuration(struct layer *l, int32_t width, int32_t height);
+ void layer_orientation(struct layer *l, int32_t orientation);
+ void layer_screen(struct layer *l, struct wl_output *screen);
+ void layer_destroyed(struct layer *l);