PUI: add manual render set/get APIs and move ani get/set/update APIs to PUI from...
[platform/core/uifw/libpui.git] / include / PUI.h
1 /*
2  * Copyright © 2019 Samsung Electronics co., Ltd. All Rights Reserved.
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining
5  * a copy of this software and associated documentation files (the
6  * "Software"), to deal in the Software without restriction, including
7  * without limitation the rights to use, copy, modify, merge, publish,
8  * distribute, sublicense, and/or sell copies of the Software, and to
9  * permit persons to whom the Software is furnished to do so, subject to
10  * the following conditions:
11  *
12  * The above copyright notice and this permission notice (including the
13  * next paragraph) shall be included in all copies or substantial
14  * portions of the Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19  * NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
20  * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
21  * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
22  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23  * SOFTWARE.
24  */
25
26 #ifndef _LIBPUI_H_
27 #define _LIBPUI_H_
28
29 #include "PUI_common.h"
30
31 #define EFL_BETA_API_SUPPORT
32 #include <Ecore_Wl2.h>
33
34 #define PUI_API __attribute__ ((visibility("default")))
35
36 extern PUI_API int PUI_EVENT_ANI_STARTED;
37 extern PUI_API int PUI_EVENT_ANI_STOPPED;
38 extern PUI_API int PUI_EVENT_ANI_PAUSED;
39 extern PUI_API int PUI_EVENT_ANI_READY_TO_START;
40 extern PUI_API int PUI_EVENT_ANI_READY_TO_RESUME;
41
42 struct _PUI_Event_Animation_Status
43 {
44         pui_ani_h ani_h;
45         unsigned int win;
46         pui_ani_status status;
47 };
48
49 #ifdef __cplusplus
50 extern "C" {
51 #endif
52
53 PUI_API int
54 pui_init(void);
55
56 PUI_API int
57 pui_shutdown(void);
58
59 PUI_API pui_h
60 pui_create(Ecore_Wl2_Window *win);
61
62 PUI_API void
63 pui_destroy(pui_h handle);
64
65 PUI_API pui_error_string
66 pui_error_to_string(pui_error e);
67
68 PUI_API pui_ani_h
69 pui_ani_create(pui_h handle, pui_id id);
70
71 PUI_API pui_error
72 pui_ani_control(pui_ani_h handle, pui_ani_cmd cmd, int repeat);
73
74 PUI_API void
75 pui_ani_destroy(pui_ani_h ani_h);
76
77 PUI_API pui_id
78 pui_ani_get_id(pui_ani_h ani_h);
79
80 PUI_API pui_ani_cmd
81 pui_ani_get_cmd(pui_ani_h ani_h);
82
83 PUI_API int
84 pui_ani_get_repeat(pui_ani_h ani_h);
85
86 PUI_API pui_ani_control_buffer *
87 pui_display_get_buffer(pui_h handle);
88
89 PUI_API pui_error
90 pui_display_set_buffer(pui_h handle, pui_ani_control_buffer *buffer);
91
92 PUI_API pui_error
93 pui_display_update(pui_h handle);
94
95 PUI_API pui_error
96 pui_display_manual_render_set(pui_h handle, pui_bool set);
97
98 PUI_API pui_bool
99 pui_display_manual_render_get(pui_h handle);
100
101 PUI_API pui_bool
102 pui_display_geometry_get(pui_h handle, int *width, int *height);
103
104 #ifdef __cplusplus
105 }
106 #endif
107
108 #endif//_LIBPUI_H_