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
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
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