tbm_module: make tbm_module_bufmgr_bind_native_display
[platform/core/uifw/libtbm.git] / include / tbm_surface_internal.h
index 0ada9c0..bd1813e 100644 (file)
@@ -522,6 +522,65 @@ int tbm_surface_internal_capture_buffer(tbm_surface_h surface, const char *path,
 int tbm_surface_internal_capture_shm_buffer(void *ptr, int w, int h, int stride,
                                       const char *path, const char *name, const char *type);
 
+/**
+ * @brief Set damage to surface
+ * @param[in] surface : a tbm surface
+ * @param[in] x : a x coordinate of damage
+ * @param[in] y : a y coordinate of damage
+ * @param[in] with : a width of damage rectangle
+ * @param[in] height : a height of damage rectangle
+ * @return 1 if success, otherwise 0.
+ */
+int tbm_surface_internal_set_damage(tbm_surface_h surface, int x, int y, int width, int height);
+
+/**
+ * @brief Get damage of surface
+ * @param[in] surface : a tbm surface
+ * @param[out] x : a x coordinate of damage
+ * @param[out] y : a y coordinate of damage
+ * @param[out] with : a width of damage rectangle
+ * @param[out] height : a height of damage rectangle
+ * @return 1 if success, otherwise 0.
+ */
+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);
+
+/**
+ * @brief Export a tbm_surface_buffer_data of surface
+ * @param[in] surface : a tbm surface
+ * @param[out] error : an error type
+ */
+tbm_surface_buffer_data *tbm_surface_internal_export(tbm_surface_h surface, tbm_error_e *error);
+
+/**
+ * @brief Import a surface object
+ * @param[in] surface_info : an information fo surface
+ * @param[in] buffer_data : a buffer data of surface
+ * @param[out] error : an error type
+ */
+tbm_surface_h tbm_surface_internal_import(tbm_surface_info_s *surface_info, tbm_surface_buffer_data *buffer_data, tbm_error_e *error);
+
 #ifdef __cplusplus
 }
 #endif