hwc_window: added tdm_hwc_window_free_buffer_queue
[platform/core/uifw/libtdm.git] / include / tdm_backend.h
index e9fc70d..52d9056 100644 (file)
@@ -694,15 +694,22 @@ typedef struct _tdm_func_hwc {
        tdm_hwc_window *(*hwc_create_window)(tdm_hwc *hwc, tdm_error *error);
 
        /**
-        * @brief Get the supported format array for the hwc windows of a hwc object.
+        * @brief Get video the supported format array for the hwc windows of a hwc object.
         * @param[in] hwc A hwc object
         * @param[out] formats The available format array
         * @param[out] count The count of formats
         * @return #TDM_ERROR_NONE if success. Otherwise, error value.
         */
-       tdm_error (*hwc_get_supported_formats)(tdm_hwc *hwc, const tbm_format **formats,
+       tdm_error (*hwc_get_video_supported_formats)(tdm_hwc *hwc, const tbm_format **formats,
                                                                                int *count);
-
+       /**
+        * @brief Get the hwc video capability
+        * @param[in] hwc A hwc object
+        * @param[out] video_capability A hwc hwc video capability
+        * @return #TDM_ERROR_NONE if success. Otherwise, error value.
+        */
+       tdm_error (*hwc_get_video_capability)(tdm_hwc *hwc,
+                                                       tdm_hwc_video_capability *video_capability);
 
        /**
         * @brief Get the available property array  of a hwc object.
@@ -865,6 +872,15 @@ typedef struct _tdm_func_hwc_window {
                                                                                                           tdm_error *error);
 
        /**
+        * @brief Free a buffer queue for the window object
+        * @details Free buffer queue when the client no longer uses buferrs of queue.
+        * @param[in] hwc_window A window object
+        * @param[in] A tbm buffer queue
+        */
+       void (*hwc_window_free_buffer_queue)(tdm_hwc_window *hwc_window,
+                                                                                tbm_surface_queue_h queue);
+
+       /**
         * @brief Sets the desired composition type of the given window.
         * @details During hwc_validate(), the device may request changes to
         * the composition types of any of the layers as described in the definition
@@ -953,6 +969,15 @@ typedef struct _tdm_func_hwc_window {
         */
        tdm_error (*hwc_window_get_property)(tdm_hwc_window *hwc_window,
                                                                                 uint32_t id, tdm_value *value);
+
+       /**
+        * @brief Get the preperation type of hwc_window
+        * @param[in] hwc window A hwc window object
+        * @param[out] preperation_types The tdm_hwc_window_preparation types
+        * @return #TDM_ERROR_NONE if success. Otherwise, error value.
+        */
+       tdm_error (*hwc_window_get_preparation_types)(tdm_hwc_window *hwc_window,
+                                                                                               int *preperation_types);
 } tdm_func_hwc_window;
 
 /**