* @param[in] func A user commit handler
* @param[in] user_data The user data
* @return #TDM_ERROR_NONE if success. Otherwise, error value.
+ * @see #tdm_layer_commit
*/
tdm_error
tdm_output_commit(tdm_output *output, int sync, tdm_output_commit_handler func,
* @param[in] layer A layer object
* @param[in] info The geometry information
* @return #TDM_ERROR_NONE if success. Otherwise, error value.
- * @see tdm_output_commit
+ * @see tdm_layer_commit
*/
tdm_error
tdm_layer_set_info(tdm_layer *layer, tdm_info_layer *info);
* @param[in] layer A layer object
* @param[in] buffer A TDM buffer
* @return #TDM_ERROR_NONE if success. Otherwise, error value.
- * @see tdm_output_commit
+ * @see tdm_layer_commit
*/
tdm_error
tdm_layer_set_buffer(tdm_layer *layer, tbm_surface_h buffer);
tdm_layer_unset_buffer(tdm_layer *layer);
/**
+ * @brief Commit changes for a layer object
+ * @details After all change of a layer object are applied, a user commit handler
+ * will be called.
+ * @param[in] layer A layer object
+ * @param[in] func A user commit handler
+ * @param[in] user_data The user data
+ * @return #TDM_ERROR_NONE if success. Otherwise, error value.
+ */
+tdm_error
+tdm_layer_commit(tdm_layer *layer, tdm_layer_commit_handler func, void *user_data);
+
+tdm_error
+tdm_layer_is_committing(tdm_layer *layer, unsigned int *committing);
+
+/**
* @brief Get a displaying TDM buffer from a layer object
* @details A displaying TDM buffer is a current showing buffer on screen
* that is set to layer object and applied output object of a layer object.
* @param[in] layer A layer object
* @param[in] buffer_queue A TBM surface_queue
* @return #TDM_ERROR_NONE if success. Otherwise, error value.
- * @see tdm_output_commit
+ * @see tdm_layer_commit
*/
tdm_error
tdm_layer_set_buffer_queue(tdm_layer *layer, tbm_surface_queue_h buffer_queue);