ATS_image.h
8.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
/*
Copyright Wang yong ALL RIGHT RESERVED !
@ file name: ATS_image.h
@ description: 图片绘制接口文件
@ Author: wangyong, doforfaith@gmail.com
@ Modify History:
Date Event Person
10-05-31 Creator wangyong
*/
#if defined(__SKY_3DGUI__)
#ifndef __ATS_IMAGE_H__
#define __ATS_IMAGE_H__
#include "ATS_basic.h"
#include "ATS_adaptation_features.h"
/*Image Type*/
#define ATS_IMG_TYPE_INVALID 0
#define ATS_IMG_TYPE_BMP 1
#define ATS_IMG_TYPE_BMP_SEQUENCE 2
#define ATS_IMG_TYPE_GIF 3
#define ATS_IMG_TYPE_DEVICE_BITMAP 4
#define ATS_IMG_TYPE_DEVICE_BITMAP_SEQUENCE 5
#define ATS_IMG_TYPE_BMP_FILE 6
#define ATS_IMG_TYPE_GIF_FILE 7
#define ATS_IMG_TYPE_WBMP_FILE 8
#define ATS_IMG_TYPE_JPG 9
#define ATS_IMG_TYPE_JPG_FILE 10
#define ATS_IMG_TYPE_WBMP 11
#define ATS_IMG_TYPE_AVI 12
#define ATS_IMG_TYPE_AVI_FILE 13
#define ATS_IMG_TYPE_3GP 14
#define ATS_IMG_TYPE_3GP_FILE 15
#define ATS_IMG_TYPE_MP4 16
#define ATS_IMG_TYPE_MP4_FILE 17
#define ATS_IMG_TYPE_JPG_SEQUENCE 18
#define ATS_IMG_TYPE_PNG 19
#define ATS_IMG_TYPE_PNG_FILE 20
#define ATS_IMG_TYPE_PNG_SEQUENCE 21
#define ATS_IMG_TYPE_DEVICE_BMP_FILE 22
#define ATS_IMG_TYPE_BMP_FILE_OFFSET 23
#define ATS_IMG_TYPE_GIF_FILE_OFFSET 24
#define ATS_IMG_TYPE_M3D 25
#define ATS_IMG_TYPE_M3D_FILE 26
#define ATS_IMG_TYPE_SVG 27
#define ATS_IMG_TYPE_SVG_FILE 28
#define ATS_IMG_TYPE_SWFLASH 29
#define ATS_IMG_TYPE_SWFLASH_FILE 30
typedef signed int ATS_IMG_TYPE;
/*Error Type*/
#define ATS_IMG_SUCCEED 0
#define ATS_IMG_FAILED -1
#define ATS_IMG_NULL_IMG_PTR -1403
#define ATS_IMG_INVALID_IMG_TYPE -1404
#define ATS_IMG_NO_VALID_ANIMATOR -1405
#define ATS_IMG_FILE_EXT_NOT_SUPPOTR -1406
#define ATS_IMG_INVALID_FILE -1407
#define ATS_IMG_DECODE_FAILED -1408
#define ATS_IMG_IMAGE_TOO_LARGE -1409
#define ATS_IMG_OPEN_FILE_FAILED -1410
#define ATS_IMG_NO_DECODER_SUPPORT -1411
#define ATS_IMG_FRAME_BUFFER_NOT_ENOUGH -1412
#define ATS_IMG_FILE_FORMAT_WRONG -1413
#define ATS_IMG_NO_DECODER -1414
#define ATS_IMG_INVALID_IMAGE_SIZE -1415
#define ATS_IMG_DECODE_TIME_OUT -1416
#define ATS_IMG_MEMORY_NOT_AVAILABLE -1417
#define ATS_IMG_RESOURCE_NOT_AVAILABLE -1418
typedef signed int ATS_IMG_RESULT;
/*
@ 获取图片数据的图片类型
@ img_ptr,指系统中图片数据的指针
@ 返回图片类型值,具体见上
*/
extern ATS_IMG_TYPE ATS_img_get_type( ats_uint8* img_ptr );
/*
@ 获取图片文件的图片类型
@ img_full_name,图片文件的全路径
@ 返回图片类型值,具体见上
*/
extern ATS_IMG_TYPE ATS_img_get_type_file(ats_uint8* img_full_name);
/*
@ 获取图片缓存数据的图片类型
@ img_mem,图片缓存的指针
@ 返回图片类型值,具体见上
*/
extern ATS_IMG_TYPE ATS_img_get_type_mem(ats_uint8* img_mem);
/*
@ 获取图片数据的宽高
@ img_ptr,指系统中图片数据的指针
width,宽,返回值
height,高,返回值
@ 返回结果值,具体见上
*/
extern ATS_IMG_RESULT ATS_img_get_dimension( ats_uint8* img_ptr, ats_int32* width, ats_int32* height );
/*
@ 获取图片文件的宽高
@ img_full_name,指图片文件的全路径
width,宽,返回值
height,高,返回值
@ 返回结果值,具体见上
*/
extern ATS_IMG_RESULT ATS_img_get_dimension_file( ats_uint8* img_full_name, ats_int32* width, ats_int32* height );
/*
@ 获取图片缓存数据的宽高
@ img_ptr,指图片缓存的指针
img_type,图片类型
img_size,数据大小
width,宽,返回值
height,高,返回值
@ 返回结果值,具体见上
*/
extern ATS_IMG_RESULT ATS_img_get_dimension_mem( ats_uint8* img_ptr, ats_int32 img_type, ats_int32 img_size, ats_int32* width, ats_int32* height );
/*
@绘制图片数据
@ img_ptr,指系统中图片数据的指针
offset_x, offset_y,位置偏移量
@ 返回结果值,具体见上
*/
extern ATS_IMG_RESULT ATS_img_draw( ats_int32 offset_x, ats_int32 offset_y, ats_uint8* img_ptr );
/*
@ 缩放绘制图片数据
@ img_ptr,指系统中图片数据的指针
offset_x, offset_y,位置偏移量
resized_width, resized_height,缩放后的大小
@ 返回结果值,具体见上
*/
extern ATS_IMG_RESULT ATS_img_draw_resized( ats_int32 offset_x, ats_int32 offset_y, ats_int32 resized_width, ats_int32 resized_height, ats_uint8* img_ptr );
/*
@绘制图片文件
@ img_full_name,指图片文件全路径
offset_x, offset_y,位置偏移量
@ 返回结果值,具体见上
*/
extern ATS_IMG_RESULT ATS_img_draw_file( ats_int32 offset_x, ats_int32 offset_y, ats_uint8* img_full_name );
/*
@ 缩放绘制图片文件
@ img_full_name,指图片文件全路径
offset_x, offset_y,位置偏移量
resized_width, resized_height,缩放后的大小
@ 返回结果值,具体见上
*/
extern ATS_IMG_RESULT ATS_img_draw_file_resized( ats_int32 offset_x, ats_int32 offset_y, ats_int32 resized_width, ats_int32 resized_height, ats_uint8* img_full_name );
/*
@绘制图片缓存数据
@ img_mem,指图片缓存数据指针
img_size,数据大小
offset_x, offset_y,位置偏移量
@ 返回结果值,具体见上
*/
extern ATS_IMG_RESULT ATS_img_draw_mem( ats_int32 offset_x, ats_int32 offset_y, ats_uint8* img_mem, ats_uint32 img_size );
/*
@ 缩放绘制图片缓存数据
@ img_mem,指图片缓存数据指针
img_size,数据大小
offset_x, offset_y,位置偏移量
resized_width, resized_height,缩放后的大小
@ 返回结果值,具体见上
*/
extern ATS_IMG_RESULT ATS_img_draw_mem_resized( ats_int32 offset_x, ats_int32 offset_y, ats_int32 resized_width, ats_int32 resized_height, ats_uint8* img_mem, ats_uint32 img_size );
/*
@绘制动画图片
@ anim_ptr,指图片数据指针
anim_hdl,动画句柄,返回值
offset_x, offset_y,位置偏移量
@ 返回结果值,具体见上
*/
extern ATS_IMG_RESULT ATS_img_draw_anim( ats_int32 offset_x, ats_int32 offset_y, ats_uint8* anim_ptr, ats_uint32* anim_hdl );
/*
@ 缩放绘制动画图片
@ anim_ptr,指图片数据指针
anim_hdl,动画句柄,返回值
offset_x, offset_y,位置偏移量
resized_width, resized_height,缩放后的大小
@ 返回结果值,具体见上
*/
extern ATS_IMG_RESULT ATS_img_draw_anim_resized( ats_int32 offset_x, ats_int32 offset_y, ats_int32 resized_width, ats_int32 resized_height, ats_uint8* anim_ptr, ats_uint32* anim_hdl );
/*
@绘制动画图片文件
@ anim_full_name,指图片文件全路径
anim_hdl,动画句柄,返回值
offset_x, offset_y,位置偏移量
@ 返回结果值,具体见上
*/
extern ATS_IMG_RESULT ATS_img_draw_anim_file( ats_int32 offset_x, ats_int32 offset_y, ats_uint8* anim_full_name, ats_uint32* anim_hdl );
/*
@ 缩放绘制动画图片文件
@ anim_full_name,指图片文件全路径
anim_hdl,动画句柄,返回值
offset_x, offset_y,位置偏移量
resized_width, resized_height,缩放后的大小
@ 返回结果值,具体见上
*/
extern ATS_IMG_RESULT ATS_img_draw_anim_file_resized( ats_int32 offset_x, ats_int32 offset_y, ats_int32 resized_width, ats_int32 resized_height, ats_uint8* anim_full_name, ats_uint32* anim_hdl );
/*
@ 绘制动画图片缓存数据
@ anim_mem,图片缓存数据指针
img_size,数据大小
anim_hdl,动画句柄,返回值
offset_x, offset_y,位置偏移量
@ 返回结果值,具体见上
*/
extern ATS_IMG_RESULT ATS_img_draw_anim_mem( ats_int32 offset_x, ats_int32 offset_y, ats_uint8* anim_mem, ats_uint32 img_size, ats_uint32* anim_hdl );
/*
@ 缩放绘制动画图片缓存数据
@ anim_mem,图片缓存数据指针
img_size,数据大小
anim_hdl,动画句柄,返回值
offset_x, offset_y,位置偏移量
resized_width, resized_height,缩放后的大小
@ 返回结果值,具体见上
*/
extern ATS_IMG_RESULT ATS_img_draw_anim_mem_resized( ats_int32 offset_x, ats_int32 offset_y, ats_int32 resized_width, ats_int32 resized_height, ats_uint8* anim_mem, ats_uint32 img_size, ats_uint32* anim_hdl );
/*
@ 停止动画图片
@ anim_hdl,动画句柄,返回值
@ 返回结果值,具体见上
*/
extern ATS_IMG_RESULT ATS_img_stop_anim(ats_uint32 anim_hdl);
/*
@ 暂停动画图片
@ anim_hdl,动画句柄,返回值
@ 返回结果值,具体见上
*/
extern ATS_IMG_RESULT ATS_img_pause_anim(ats_uint32 anim_hdl);
/*
@ 继续动画图片
@ anim_hdl,动画句柄,返回值
@ 返回结果值,具体见上
*/
extern ATS_IMG_RESULT ATS_img_resume_anim(ats_uint32 anim_hdl);
#endif /*__ATS_IMAGE_H__*/
#endif /*__SKY_3DGUI__*/