tbm_module: make tbm_module_bufmgr_bind_native_display
[platform/core/uifw/libtbm.git] / include / tbm_dummy_display.h
1 /**************************************************************************
2
3 libtbm
4
5 Copyright 2018 Samsung Electronics co., Ltd. All Rights Reserved.
6
7 Contact: SooChan Lim <sc1.lim@samsung.com>,
8                  Changyeon Lee <cyeon.lee@samsung.com>,
9                  Sangjin Lee <lsj119@samsung.com>
10
11 Permission is hereby granted, free of charge, to any person obtaining a
12 copy of this software and associated documentation files (the
13 "Software"), to deal in the Software without restriction, including
14 without limitation the rights to use, copy, modify, merge, publish,
15 distribute, sub license, and/or sell copies of the Software, and to
16 permit persons to whom the Software is furnished to do so, subject to
17 the following conditions:
18
19 The above copyright notice and this permission notice (including the
20 next paragraph) shall be included in all copies or substantial portions
21 of the Software.
22
23 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
24 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
25 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
26 IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
27 ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
28 TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
29 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
30
31 **************************************************************************/
32
33 #ifndef _TBM_DUMMY_DISPLAY_H_
34 #define _TBM_DUMMY_DISPLAY_H_
35
36 /**
37  * \file tbm_dummy_display.h
38  * \brief TBM dummy display
39  */
40
41 #ifdef __cplusplus
42 extern "C" {
43 #endif
44
45 /**
46  * @brief Definition for dummy display
47  */
48 typedef void tbm_dummy_display;
49
50 /**
51  * @brief Create the dummy display.
52  * @details The dummy display usually is used by the native_display for the parameger of the eglGetDisplay()\n
53  * The user uses the dummy display as the native_display for calling eglGetDisplay() when the user want to \n
54  * get EGLDisplay for the offscreen rendering in Tizen.
55  * \n
56  * @return a tbm dummy display
57  * @retval #tbm_dummy_display
58  */
59 tbm_dummy_display *tbm_dummy_display_create(void);
60
61 /**
62  * @brief Destroy the dummy display.
63  * @param[in] dpy : the tbm dummy display
64  */
65 void               tbm_dummy_display_destroy(tbm_dummy_display *dpy);
66
67 /**
68  * @brief Validate the dummy display.
69  * @param[in] dpy : the tbm dummy display
70  * @return 1 if this dpy is valid, otherwise 0.
71  */
72 int                tbm_dummy_display_is_valid(tbm_dummy_display *dpy);
73
74 #ifdef __cplusplus
75 }
76 #endif
77 #endif                                                  /* _TBM_DUMMY_DISPLAY_H_ */