int32_t x, int32_t y,
int32_t width, int32_t height);
+ /**
+ * remove notification by callback on property changes of ivi_surface
+ */
+ void (*surface_remove_notification_by_callback)(struct ivi_layout_surface *ivisurf,
+ surface_property_notification_func callback,
+ void *userdata);
+
};
#ifdef __cplusplus
void *data;
};
+static void
+remove_notification(struct wl_list *listener_list, void *callback, void *userdata);
+
static struct ivi_layout ivilayout = {0};
struct ivi_layout *
remove_all_notification(&ivisurf->property_changed.listener_list);
}
+static void
+ivi_layout_surface_remove_notification_by_callback(struct ivi_layout_surface *ivisurf,
+ surface_property_notification_func callback,
+ void *userdata)
+{
+ if (ivisurf == NULL) {
+ weston_log("ivi_layout_surface_remove_notification_by_callback: invalid argument\n");
+ return;
+ }
+
+ remove_notification(&ivisurf->property_changed.listener_list, callback, userdata);
+}
+
/**
* Called at destruction of wl_surface/ivi_surface
*/
*/
.surface_get_size = ivi_layout_surface_get_size,
.surface_dump = ivi_layout_surface_dump,
+
+ /**
+ * remove notification by callback on property changes of ivi_surface
+ */
+ .surface_remove_notification_by_callback = ivi_layout_surface_remove_notification_by_callback
};
int