virtual: add output create/destroy interface
[platform/core/uifw/libtdm.git] / include / tdm.h
index 7beccd0..979c35e 100644 (file)
@@ -206,6 +206,16 @@ tdm_display_get_output_count(tdm_display *dpy, int *count);
 tdm_output *
 tdm_display_get_output(tdm_display *dpy, int index, tdm_error *error);
 
+tdm_error
+tdm_display_add_output_create_handler(tdm_display *dpy,
+                                                                         tdm_output_create_handler func,
+                                                                         void *user_data);
+
+void
+tdm_display_remove_output_create_handler(tdm_display *dpy,
+                                                                                tdm_output_create_handler func,
+                                                                                void *user_data);
+
 /**
  * @brief Find a output object which has the given name.
  * @param[in] dpy A display object
@@ -238,6 +248,16 @@ tdm_error
 tdm_module_get_info(tdm_module *module, const char **name,
                                        const char **vendor, int *major, int *minor);
 
+tdm_error
+tdm_output_add_destroy_handler(tdm_output *output,
+                                                          tdm_output_destroy_handler func,
+                                                          void *user_data);
+
+void
+tdm_output_remove_destroy_handler(tdm_output *output,
+                                                                 tdm_output_destroy_handler func,
+                                                                 void *user_data);
+
 /**
  * @brief Get a backend module object of the given output.
  * @param[in] output A output object
@@ -761,6 +781,9 @@ tdm_layer_get_displaying_buffer(tdm_layer *layer, tdm_error *error);
 tdm_error
 tdm_layer_set_buffer_queue(tdm_layer *layer, tbm_surface_queue_h buffer_queue);
 
+tdm_error
+tdm_layer_get_own_buffer_queue(tdm_layer *layer, tbm_surface_queue_h *buffer_queue);
+
 /**
  * @brief Unset a TBM surface_queue from a layer object
  * @details When this function is called, a current surface_queue will be