ivi-layout: extending ivi_layout_interface
[profile/ivi/wayland-ivi-extension.git] / weston-ivi-shell / src / ivi-layout.h
index 94b58be..0af5fe1 100644 (file)
@@ -122,6 +122,12 @@ enum ivi_layout_warning_flag {
     IVI_WARNING_IVI_ID_IN_USE
 };
 
+enum ivi_layout_notification_mask;
+typedef void(*surfacePropertyNotificationFunc)(struct ivi_layout_surface *ivisurf,
+                                               struct ivi_layout_SurfaceProperties *prop,
+                                               enum ivi_layout_notification_mask mask,
+                                               void *userdata);
+
 struct ivi_layout_interface {
        struct weston_view* (*get_weston_view)(struct ivi_layout_surface *surface);
        void (*surfaceConfigure)(struct ivi_layout_surface *ivisurf,
@@ -132,6 +138,12 @@ struct ivi_layout_interface {
                                            uint32_t id_surface);
        struct ivi_layout_surface* (*surfaceCreate)(struct weston_surface *wl_surface,
                                                              uint32_t id_surface);
+       struct ivi_layout_surface* (*surfaceFind)(struct weston_surface *wl_surface);
+       int32_t (*surfaceAddNotification)(struct ivi_layout_surface *ivisurf,
+                                          surfacePropertyNotificationFunc callback,
+                                          void *userdata);
+       int32_t (*surfaceRemoveNotification)(struct ivi_layout_surface *ivisurf);
+
        void (*initWithCompositor)(struct weston_compositor *ec);
        void (*emitWarningSignal)(uint32_t id_surface,
                                enum ivi_layout_warning_flag flag);