allocate the tbm_surface when it has hal_tbm.
[platform/core/uifw/libtbm.git] / src / tbm_bufmgr_int.h
index 85a9be1..b6c97c7 100644 (file)
@@ -246,16 +246,20 @@ struct _tbm_surface {
 
        struct list_head item_link; /* link of surface */
 
-       struct list_head user_data_list;        /* list of the user_date in surface */
+       struct list_head user_data_list;        /* list of the user_data in surface */
 
        struct list_head debug_data_list;       /* list of debug data */
 
+       struct list_head destroy_funcs; /* list of destory callback function */
+
        struct {
                int x;
                int y;
                int width;
                int height;
        } damage;
+
+       hal_tbm_surface *hal_surface; // hal_tbm_surface
 };
 
 typedef struct {
@@ -275,6 +279,13 @@ typedef struct {
        struct list_head item_link;
 } tbm_surface_debug_data;
 
+typedef struct _tbm_surface_destroy_func_info {
+       tbm_surface_internal_destroy_handler destroy_func;
+       void *user_data;
+
+       struct list_head item_link;
+} tbm_surface_destroy_func_info;
+
 tbm_bufmgr _tbm_bufmgr_get_bufmgr(void);
 int _tbm_bo_set_surface(tbm_bo bo, tbm_surface_h surface);
 int _tbm_surface_is_valid(tbm_surface_h surface);
@@ -305,10 +316,11 @@ void _tbm_set_last_result(tbm_error_e err);
 void _tbm_bufmgr_mutex_lock(void);
 void _tbm_bufmgr_mutex_unlock(void);
 
-tbm_bo tbm_bo_alloc_with_format(tbm_bufmgr bufmgr, int format, int bo_idx, int width,
+tbm_bo tbm_bo_alloc_with_format(tbm_bufmgr bufmgr, int format, int bo_idx, int width, int bpp,
                                                int height, tbm_bo_memory_type flags, tbm_error_e *error);
 tbm_bo tbm_bo_alloc_with_tiled_format(tbm_bufmgr bufmgr, int width, int height, int bpp, int format,
                                                        tbm_bo_memory_type flags, int bo_idx, tbm_error_e *error);
 tbm_bo tbm_bo_alloc_with_surface(tbm_bufmgr bufmgr, int width, int height, int format, int flags, int bo_idx);
+tbm_bo tbm_bo_alloc_with_bo_data(tbm_bufmgr bufmgr, tbm_backend_bo_data *bo_data, int flags);
 
 #endif                                                 /* _TBM_BUFMGR_INT_H_ */