Package version up to 2.9.6
[platform/core/uifw/libtdm.git] / include / tdm_backend.h
index e89cd91..f8ddd85 100644 (file)
@@ -344,7 +344,7 @@ typedef struct _tdm_func_display {
         * @remark
         * A backend module doesn't need to implement this function if doesn't support virtual output.
         */
-       tdm_voutput *(*voutput_create)(tdm_backend_data *bdata, const char *name, tdm_error *error);
+       tdm_voutput *(*display_voutput_create)(tdm_backend_data *bdata, const char *name, tdm_error *error);
 
        void (*reserved2)(void);
        void (*reserved3)(void);
@@ -544,11 +544,12 @@ typedef struct _tdm_func_output {
         * #output_set_dpms_handler, a backend module needs to call the output dpms handler
         * to let the TDM frontend know the output DPMS change indeed.
         * @param[in] dpms_value DPMS value
+        * @param[out] sync A flag for sync call
         * @return #TDM_ERROR_NONE if success. Otherwise, error value.
         * @see #output_set_dpms_handler, #TDM_OUTPUT_CAPABILITY_ASYNC_DPMS
         * @since 1.7.0
         */
-       tdm_error (*output_set_dpms_async)(tdm_output *output, tdm_output_dpms dpms_value);
+       tdm_error (*output_set_dpms_async)(tdm_output *output, tdm_output_dpms dpms_value, int *sync);
 
        /**
         * @brief Get a hwc object of a output object
@@ -558,7 +559,31 @@ 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 #output_set_mirror, #TDM_OUTPUT_CAPABILITY_MIRROR
+        */
+       tdm_error (*output_set_mirror)(tdm_output *output,
+                                                                       tdm_output *src_output,
+                                                                       tdm_transform transform);
+       /**
+        * @brief Unset the mirror image
+        * @details This function unset the mirro image of the output.
+        * @param[in] output A output object to display the src_output image
+        * @return #TDM_ERROR_NONE if success. Otherwise, error value.
+        * @see #output_set_mirror, #TDM_OUTPUT_CAPABILITY_MIRROR
+        */
+       tdm_error (*output_unset_mirror)(tdm_output *output);
+
        void (*reserved4)(void);
        void (*reserved5)(void);
        void (*reserved6)(void);
@@ -571,7 +596,7 @@ typedef struct _tdm_func_voutput {
         * @brief Destroy a virtual output object of a backend module
         * @param[in] voutput The voutput object
         * @return #TDM_ERROR_NONE if success. Otherwise, error value.
-        * @see voutput_create() function
+        * @see display_voutput_create() function
         * @remark
         * A backend module doesn't need to implement this function if doesn't support virtual output.
         */
@@ -937,6 +962,15 @@ typedef struct _tdm_func_hwc {
         * @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;
 
 /**