X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=doc%2Ftdm_doc.h;h=1d83a7dc0ecda30c2bc0d20485f6b9e6e7a2880a;hb=83f2396f960f101e9d1ae8c1f787125afc30c655;hp=3bdc3e3c02cef0a5b70b370c2d759841b7d50870;hpb=a82fd8f1bd857ca77d455da096af8adbb9f9f7aa;p=platform%2Fcore%2Fuifw%2Flibtdm.git diff --git a/doc/tdm_doc.h b/doc/tdm_doc.h index 3bdc3e3..1d83a7d 100644 --- a/doc/tdm_doc.h +++ b/doc/tdm_doc.h @@ -1,36 +1,36 @@ /************************************************************************** - -libtdm - -Copyright 2015 Samsung Electronics co., Ltd. All Rights Reserved. - -Contact: Eunchul Kim , - JinYoung Jeon , - Taeheon Kim , - YoungJun Cho , - SooChan Lim , - Boram Park - -Permission is hereby granted, free of charge, to any person obtaining a -copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sub license, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice (including the -next paragraph) shall be included in all copies or substantial portions -of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. -IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR -ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - + * + * libtdm + * + * Copyright 2015 Samsung Electronics co., Ltd. All Rights Reserved. + * + * Contact: Eunchul Kim , + * JinYoung Jeon , + * Taeheon Kim , + * YoungJun Cho , + * SooChan Lim , + * Boram Park + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sub license, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice (including the + * next paragraph) shall be included in all copies or substantial portions + * of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. + * IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR + * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * **************************************************************************/ #ifndef _TDM_DOC_H_ @@ -39,8 +39,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. /** * @mainpage TDM * @author Boram Park, boram1288.park@samsung.com - * @date Dec 30, 2015 - * @version 1.0.0 + * @version 1.16.0 * @par Introduction * TDM stands for Tizen Display Manager. It's the display HAL layer for tizen * display server. It offers the frontend APIs(@ref tdm.h) for a frontend user @@ -57,7 +56,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * and #tdm_layer_create_capture if available.\n * \n * All changes of output/layer/pp/capture objects are applied when committed. - * See #tdm_output_commit, #tdm_pp_commit and #tdm_capture_commit. + * See #tdm_output_commit, #tdm_layer_commit, #tdm_pp_commit and #tdm_capture_commit. * \n * @par Buffer management * TDM has its own buffer release mechanism to let an user know when a TDM buffer @@ -69,54 +68,65 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * A backend module @b SHOULD define the global data symbol of which name is * @b "tdm_backend_module_data". TDM will read this symbol, @b "tdm_backend_module_data", * at the initial time and call init() function of #tdm_backend_module. - * A backend module at least @b SHOULD register the #tdm_func_display functions - * to a display object with #tdm_backend_register_func_display() function in initial time.\n + * A backend module at least @b SHOULD register the #tdm_func_display, + * #tdm_func_output, #tdm_func_layer functions to a display object via + * #tdm_backend_register_func_display(), #tdm_backend_register_func_output(), + * #tdm_backend_register_func_layer() functions in initial time.\n * @code - #include - - static tdm_func_display drm_func_display = - { - drm_display_get_capabilitiy, - ... - drm_display_get_outputs, - ... - drm_output_get_capability, - drm_output_get_layers, - ... - drm_layer_get_capability, - ... - }; - - static tdm_drm_data *drm_data; - - tdm_backend_data* - tdm_drm_init(tdm_display *dpy, tdm_error *error) - { - ... - drm_data = calloc(1, sizeof(tdm_drm_data)); - ... - ret = tdm_backend_register_func_display(dpy, &drm_func_display); - if (ret != TDM_ERROR_NONE) - goto failed; - ... - return (tdm_backend_data*)drm_data; - } - - void - tdm_drm_deinit(tdm_backend_data *bdata) - { - ... - free(bdata); - } - - tdm_backend_module tdm_backend_module_data = - { - "drm", - "Samsung", - TDM_BACKEND_ABI_VERSION, - tdm_drm_init, - tdm_drm_deinit - }; + * #include + * + * 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_capability = drm_display_get_capability; + * ... + * 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; + * ... + * return (tdm_backend_data*)drm_data; + * } + * + * void + * tdm_drm_deinit(tdm_backend_data *bdata) + * { + * ... + * free(bdata); + * } + * + * tdm_backend_module tdm_backend_module_data = + * { + * "drm", + * "Samsung", + * TDM_BACKEND_SET_ABI_VERSION(1,2), + * tdm_drm_init, + * tdm_drm_deinit + * }; * @endcode * \n * A sample backend source code can be downloaded. @@ -124,7 +134,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. $ git clone ssh://{user_id}@review.tizen.org:29418/platform/core/uifw/libtdm-drm * @endcode * \n - * After loading a TDM backend module, TDM will call @b display_get_capabilitiy(), + * After loading a TDM backend module, TDM will call @b display_get_capability(), * @b display_get_outputs(), @b output_get_capability(), @b output_get_layers(), * @b layer_get_capability() functions to get the hardware information. That is, * a TDM backend module @b SHOULD implement these 5 functions basically.\n