virtual: define functions and structure for supporting virtual output
[platform/core/uifw/libtdm.git] / include / tdm_types.h
index b87fc18..24423d3 100644 (file)
@@ -238,6 +238,11 @@ typedef void tdm_module;
 typedef void tdm_output;
 
 /**
+ * @brief The tdm voutput object
+ */
+typedef void tdm_voutput;
+
+/**
  * @brief The tdm layer object
  */
 typedef void tdm_layer;
@@ -270,6 +275,20 @@ typedef void tdm_pp;
 typedef void tdm_vblank;
 
 /**
+ * @brief The output create handler
+ * @details This handler will be called when the output object is
+ * createed in runtime.
+ */
+typedef void (*tdm_output_create_handler)(tdm_display *dpy, tdm_output *output, void *user_data);
+
+/**
+ * @brief The output destroy handler
+ * @details This handler will be called when the output object is
+ * destroied in runtime.
+ */
+typedef void (*tdm_output_destroy_handler)(tdm_output *output, void *user_data);
+
+/**
  * @brief The output change handler
  * @details This handler will be called when the status of a output object is
  * changed in runtime.
@@ -296,6 +315,12 @@ typedef void (*tdm_output_commit_handler)(tdm_output *output, unsigned int seque
                                                                                  void *user_data);
 
 /**
+ * @brief The output mode change request handler
+ */
+typedef void (*tdm_output_mode_change_request_handler)(tdm_output *output,
+                                                                                                          unsigned int index, void *user_data);
+
+/**
  * @brief The layer commit handler
  */
 typedef void (*tdm_layer_commit_handler)(tdm_layer *layer, unsigned int sequence,
@@ -327,6 +352,11 @@ typedef void (*tdm_hwc_commit_handler)(tdm_hwc *hwc, unsigned int sequence,
                                                                          unsigned int tv_sec, unsigned int tv_usec,
                                                                          void *user_data);
 
+typedef void (*tdm_voutput_commit_handler)(tdm_voutput *voutput, unsigned int sequence,
+                                                                                  unsigned int tv_sec, unsigned int tv_usec,
+                                                                                  void *user_data);
+
+typedef void (*tdm_voutput_commit_func)(tdm_voutput *voutput, tbm_surface_h buffer);
 #ifdef __cplusplus
 }
 #endif