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
*/
tdm_error (*layer_get_buffer_flags)(tdm_layer *layer, unsigned int *flags);
+ /**
+ * @brief Get buffer queue which the layer offers.
+ * @param[in] layer A layer object
+ * @param[out] buffer_queue The buffer queue
+ * @return #TDM_ERROR_NONE if success. Otherwise, error value.
+ * @since 2.0.0
+ */
+ tdm_error (*layer_get_buffer_queue)(tdm_layer *layer, tbm_surface_queue_h *buffer_queue);
+
void (*reserved1)(void);
void (*reserved2)(void);
void (*reserved3)(void);
TDM_LAYER_CAPABILITY_SCANOUT = (1 << 10), /**< if a layer allows a scanout buffer only */
TDM_LAYER_CAPABILITY_RESEVED_MEMORY = (1 << 11), /**< if a layer allows a reserved buffer only */
TDM_LAYER_CAPABILITY_NO_CROP = (1 << 12), /**< if a layer has no cropping capability */
+ TDM_LAYER_CAPABILITY_BUFFER_QUEUE = (1 << 13), /**< if a layer has an own buffer queue */
} tdm_layer_capability;
/**