From e41991b36d60e5a79b7703c3cb1f2753dc6478ea Mon Sep 17 00:00:00 2001 From: Boram Park Date: Tue, 10 May 2016 11:58:39 +0900 Subject: [PATCH] doxygen update Change-Id: I285ea555ae3dc43fd007f926001b9d205c12b751 --- doc/tdm_doc.h | 31 ++++++++++++++-------------- include/tdm_backend.h | 56 +++++++++++++++++++++++++++++++++++++++++++++------ 2 files changed, 66 insertions(+), 21 deletions(-) diff --git a/doc/tdm_doc.h b/doc/tdm_doc.h index 7d4c856..54711d7 100644 --- a/doc/tdm_doc.h +++ b/doc/tdm_doc.h @@ -76,35 +76,36 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * @code #include - static tdm_func_display drm_func_display = { - drm_display_get_capabilitiy, - ... - }; - - static tdm_func_output drm_func_output = { - drm_output_get_capability, - ... - }; - - static tdm_func_layer drm_func_layer = { - drm_layer_get_capability, - ... - }; - static tdm_drm_data *drm_data; tdm_backend_data* tdm_drm_init(tdm_display *dpy, tdm_error *error) { + tdm_func_display drm_func_display; + tdm_func_output drm_func_output; + tdm_func_layer drm_func_layer; + ... drm_data = calloc(1, sizeof(tdm_drm_data)); ... + + memset(&drm_func_display, 0, sizeof(drm_func_display)); + drm_func_display.display_get_capabilitiy = drm_display_get_capabilitiy; + ... ret = tdm_backend_register_func_display(dpy, &drm_func_display); if (ret != TDM_ERROR_NONE) goto failed; + + memset(&drm_func_output, 0, sizeof(drm_func_output)); + drm_func_output.output_get_capability = drm_output_get_capability; + ... ret = tdm_backend_register_func_output(dpy, &drm_func_output); if (ret != TDM_ERROR_NONE) goto failed; + + memset(&drm_func_layer, 0, sizeof(drm_func_layer)); + drm_func_layer.layer_get_capability = drm_layer_get_capability; + ... ret = tdm_backend_register_func_layer(dpy, &drm_func_layer); if (ret != TDM_ERROR_NONE) goto failed; diff --git a/include/tdm_backend.h b/include/tdm_backend.h index ca4c420..e74a7ed 100644 --- a/include/tdm_backend.h +++ b/include/tdm_backend.h @@ -388,7 +388,9 @@ typedef struct _tdm_func_output { * @return #TDM_ERROR_NONE if success. Otherwise, error value. * @see output_set_vblank_handler, tdm_output_vblank_handler * @remark - * A backend module @b SHOULD call a user vblank handler after interval vblanks. + * If this function returns TDM_ERROR_NONE, a backend module @b SHOULD call + * a user vblank handler with the user data of this function after interval + * vblanks. */ tdm_error (*output_wait_vblank)(tdm_output *output, int interval, int sync, void *user_data); @@ -410,8 +412,12 @@ typedef struct _tdm_func_output { * @return #TDM_ERROR_NONE if success. Otherwise, error value. * @see output_set_commit_handler, tdm_output_commit_handler * @remark - * A backend module @b SHOULD call a user commit handler after all change of - * a output object are applied. + * When this function is called, a backend module @b SHOULD apply the all + * changes of the given output object to screen as well as the layer changes + * of this output. + * If this function returns TDM_ERROR_NONE, a backend module @b SHOULD call + * a user commit handler with the user data of this function after all + * changes of the given output object are applied. */ tdm_error (*output_commit)(tdm_output *output, int sync, void *user_data); @@ -470,12 +476,14 @@ typedef struct _tdm_func_output { /** * @brief Set a output connection status handler - * @details The handler will be called when the connection status of a - * output object is changed. + * @details A backend module need to call the output status handler when the + * output connection status has been changed to let the TDM frontend know + * the change. * @param[in] output A output object * @param[in] func A output status handler * @param[in] user_data The user data * @return #TDM_ERROR_NONE if success. Otherwise, error value. + * @since 1.1.0 */ tdm_error (*output_set_status_handler)(tdm_output *output, tdm_output_status_handler func, @@ -938,22 +946,58 @@ void tdm_buffer_remove_destroy_handler(tbm_surface_h buffer, tdm_buffer_destroy_handler func, void *user_data); - +/** + * @brief Add a FD handler for activity on the given file descriptor + * @param[in] dpy A display object + * @param[in] fd A file descriptor + * @param[in] mask to monitor FD + * @param[in] func A FD handler function + * @param[in] user_data user data + * @param[out] error #TDM_ERROR_NONE if success. Otherwise, error value. + * @return A FD event source + * @see #tdm_event_loop_source_fd_update, #tdm_event_loop_source_remove + */ tdm_event_loop_source* tdm_event_loop_add_fd_handler(tdm_display *dpy, int fd, tdm_event_loop_mask mask, tdm_event_loop_fd_handler func, void *user_data, tdm_error *error); +/** + * @brief Update the mask of the given FD event source + * @param[in] source The given FD event source + * @param[in] mask to monitor FD + * @return #TDM_ERROR_NONE if success. Otherwise, error value. + */ tdm_error tdm_event_loop_source_fd_update(tdm_event_loop_source *source, tdm_event_loop_mask mask); +/** + * @brief Add a timer handler + * @param[in] dpy A display object + * @param[in] func A timer handler function + * @param[in] user_data user data + * @param[out] error #TDM_ERROR_NONE if success. Otherwise, error value. + * @return A timer event source + * @see #tdm_event_loop_source_timer_update, #tdm_event_loop_source_remove + */ tdm_event_loop_source* tdm_event_loop_add_timer_handler(tdm_display *dpy, tdm_event_loop_timer_handler func, void *user_data, tdm_error *error); +/** + * @brief Update the millisecond delay time of the given timer event source. + * @param[in] source The given timer event source + * @param[in] ms_delay The millisecond delay time. zero "0" disarms the timer. + * @return #TDM_ERROR_NONE if success. Otherwise, error value. + */ tdm_error tdm_event_loop_source_timer_update(tdm_event_loop_source *source, int ms_delay); +/** + * @brief Remove the given event source + * @param[in] source The given event source + * @see #tdm_event_loop_add_fd_handler, #tdm_event_loop_add_timer_handler + */ void tdm_event_loop_source_remove(tdm_event_loop_source *source); -- 2.7.4