add tdm_output_set_mirror
[platform/core/uifw/libtdm.git] / include / tdm_backend.h
index 1b73ba9..4075f7b 100644 (file)
@@ -558,7 +558,23 @@ typedef struct _tdm_func_output {
         */
        tdm_hwc *(*output_get_hwc)(tdm_output *output, tdm_error *error);
 
-       void (*reserved3)(void);
+       /**
+        * @brief Set the mirror image of the src_output to the output
+        * @details This function set the mirro image of the src_output to the output.
+        * If there is the hardware or the implementation to display the mirror image
+        * of the src_output to the output, the backend does it in this function.
+        * If the backend output gets the ability of the mirror displaying, it has to
+        * set the TDM_OUTPUT_CAPABILITY_MIRROR on the output capability.
+        * @param[in] output A output object to display the src_output image
+        * @param[in] src_output A src output object of which image is displayed on the output
+        * @param[in] transform A transform value
+        * @return #TDM_ERROR_NONE if success. Otherwise, error value.
+        * @see #TDM_OUTPUT_CAPABILITY_MIRROR
+        */
+       tdm_error (*output_set_mirror)(tdm_output *output,
+                                                                       tdm_output *src_output,
+                                                                       tdm_transform transform);
+
        void (*reserved4)(void);
        void (*reserved5)(void);
        void (*reserved6)(void);
@@ -813,13 +829,12 @@ typedef struct _tdm_func_hwc {
                                                                                int *count);
 
        /**
-        * @brief Get the hwc video capability
+        * @brief Get the hwc capabilities
         * @param[in] hwc A hwc object
-        * @param[out] video_capability A hwc hwc video capability
+        * @param[out] capabilities A hwc hwc 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);
+       tdm_error (*hwc_get_capabilities)(tdm_hwc *hwc, tdm_hwc_capability *capabilities);
 
        /**
         * @brief Get the available property array  of a hwc object.
@@ -929,6 +944,24 @@ typedef struct _tdm_func_hwc {
         * @return #TDM_ERROR_NONE if success. Otherwise, error value.
         */
        tdm_error (*hwc_set_commit_handler)(tdm_hwc *hwc, tdm_hwc_commit_handler func);
+
+       /**
+        * @brief Set the property which has a given id on the hwc object.
+        * @param[in] hwc A hwc object
+        * @param[in] id The property id
+        * @param[in] value The value of the propery id
+        * @return #TDM_ERROR_NONE if success. Otherwise, error value.
+        */
+       tdm_error (*hwc_set_property)(tdm_hwc *hwc, uint32_t id, tdm_value value);
+
+       /**
+        * @brief Get the property which has a given id on the hwc object.
+        * @param[in] hwc A hwc object
+        * @param[in] id The property id
+        * @param[in] value The value of the propery id
+        * @return #TDM_ERROR_NONE if success. Otherwise, error value.
+        */
+       tdm_error (*hwc_get_property)(tdm_hwc *hwc, uint32_t id, tdm_value *value);
 } tdm_func_hwc;
 
 /**
@@ -1056,6 +1089,18 @@ typedef struct _tdm_func_hwc_window {
         */
        tdm_error (*hwc_window_set_name)(tdm_hwc_window *hwc_window,
                                                                                                const char *name);
+
+       /**
+        * @brief Get buffer flags of cursor hwc_window
+        * @param[in] hwc_window A hwc window object
+        * @param[in] width of the cursor image
+        * @param[in] height of the cursor image
+        * @param[in] stride of the cursor image
+        * @param[in] virtual address of the cursor image
+        * @return #TDM_ERROR_NONE if success. Otherwise, error value.
+        */
+       tdm_error (*hwc_window_set_cursor_image)(tdm_hwc_window *hwc_window,
+                                                               int width, int height, int stride, void *ptr);
 } tdm_func_hwc_window;
 
 /**