add surface destroy callback add/remove api
[platform/core/uifw/libtbm.git] / include / tbm_surface_internal.h
index 9454a36..ef30de5 100644 (file)
@@ -544,6 +544,28 @@ int tbm_surface_internal_set_damage(tbm_surface_h surface, int x, int y, int wid
  */
 int tbm_surface_internal_get_damage(tbm_surface_h surface, int *x, int *y, int *width, int *height);
 
+/**
+ * @brief Definition for the Tizen buffer surface destroy callback function
+ */
+typedef void (*tbm_surface_internal_destroy_handler)(tbm_surface_h surface, void *user_data);
+
+/**
+ * @brief Set destroy callback function of surface
+ * @param[in] surface : a tbm surface
+ * @param[in] func : a destory callback function
+ * @param[in] user_data : a user data
+ * @return 1 if success, otherwise 0.
+ */
+int tbm_surface_internal_add_destroy_handler(tbm_surface_h surface, tbm_surface_internal_destroy_handler func, void *user_data);
+
+/**
+ * @brief Unset destroy callback function of surface
+ * @param[in] surface : a tbm surface
+ * @param[in] func : a destory callback function
+ * @param[in] user_data : a user data
+ */
+void tbm_surface_internal_remove_destroy_handler(tbm_surface_h surface, tbm_surface_internal_destroy_handler func, void *user_data);
+
 #ifdef __cplusplus
 }
 #endif