2 * Copyright © 2019 Samsung Electronics co., Ltd. All Rights Reserved.
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:
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.
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
26 #ifndef _LIBPUI_COMMON_H_
27 #define _LIBPUI_COMMON_H_
29 extern int _pui_log_level;
33 PUI_ERROR_INVALID_ANI_HANDLE,
34 PUI_ERROR_INVALID_ANI_CMD,
35 PUI_ERROR_INVALID_ANI_REPEAT,
37 PUI_ERROR_INVALID_HANDLE,
38 PUI_ERROR_INVALID_SURFACE,
39 PUI_ERROR_INVALID_BUFFER,
40 PUI_ERROR_MANUAL_RENDER_ENABLED,
41 PUI_ERROR_UNABLE_SET_MANUAL_RENDER,
45 PUI_ANI_STATUS_INITIAL,
46 PUI_ANI_STATUS_UNKNOWN,
47 PUI_ANI_STATUS_STARTED,
48 PUI_ANI_STATUS_RUNNING,
49 PUI_ANI_STATUS_PAUSED,
50 PUI_ANI_STATUS_STOPPED,
62 PUI_INT_ERROR_INVALID_HANDLE,
63 PUI_INT_ERROR_INVALID_SURFACE,
64 PUI_INT_ERROR_INVALID_BUFFER,
65 PUI_INT_ERROR_ID_NOT_SUPPORTED,
66 PUI_INT_ERROR_INVALID_BACKEND_MGR,
67 PUI_INT_ERROR_NO_ANI_AVAILABLE,
68 PUI_INT_ERROR_BACKEND_FUNC_ERROR,
69 PUI_INT_ERROR_INVALID_RESOURCES,
70 PUI_INT_ERROR_UNKNOWN,
79 typedef unsigned int pui_bool;
81 typedef char* pui_error_string;
82 typedef struct _pui * pui_h;
83 typedef struct _pui pui;
84 typedef struct _pui_ani * pui_ani_h;
85 typedef struct _pui_ani pui_ani;
86 typedef struct _pui_module_data pui_module_data;
87 typedef struct _PUI_Event_Animation_Status PUI_Event_Animation_Status;
89 typedef struct _pui_ani_t pui_ani_t;
90 typedef struct _pui_backend_ani_data pui_backend_ani_data;
91 typedef struct _pui_backend_module_data pui_backend_module_data;
92 typedef struct _pui_backend_module pui_backend_module;
94 typedef struct _pui_ani_control_buffer pui_ani_control_buffer;
95 struct _pui_ani_control_buffer
101 #define pui_err(msg, ...) \
103 if (_pui_log_level <= PUI_LOG_LEVEL_ERROR) \
104 fprintf(stderr, "[ERROR][%s][%d] " msg, __FUNCTION__, __LINE__, ##__VA_ARGS__); \
107 #define pui_debug(msg, ...) \
109 if (_pui_log_level <= PUI_LOG_LEVEL_DEBUG) \
110 fprintf(stdout, "[DEBUG][%s][%d] " msg, __FUNCTION__, __LINE__, ##__VA_ARGS__); \
113 #define pui_info(msg, ...) \
115 if (_pui_log_level <= PUI_LOG_LEVEL_INFO) \
116 fprintf(stdout, "[INFO][%s][%d] " msg, __FUNCTION__, __LINE__, ##__VA_ARGS__); \
119 #endif//_LIBPUI_COMMON_H_