1 /*************************************************************************
2  * WARNING! This file was automatically generated by cpp-to-c (2009/03/08)
3  * Avoid editing it since it is likely going to be overwritten.
4  *************************************************************************/
5 
6 /* include/sswf/libsswf_c.h -- written by Alexis WILKE for Made to Order Software Corp. (c) 2006-2009 */
7 
8 /*
9 
10 Copyright (c) 2006-2009 Made to Order Software Corp.
11 
12 Permission is hereby granted, free of charge, to any
13 person obtaining a copy of this software and
14 associated documentation files (the "Software"), to
15 deal in the Software without restriction, including
16 without limitation the rights to use, copy, modify,
17 merge, publish, distribute, sublicense, and/or sell
18 copies of the Software, and to permit persons to whom
19 the Software is furnished to do so, subject to the
20 following conditions:
21 
22 The above copyright notice and this permission notice
23 shall be included in all copies or substantial
24 portions of the Software.
25 
26 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
27 ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
28 LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
29 FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
30 EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
31 LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
32 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
33 ARISING FROM, OUT OF OR IN CONNECTION WITH THE
34 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
35 SOFTWARE.
36 
37 */
38 
39 #include <stdlib.h>
40 #include <stdarg.h>
41 #if IRIX
42 #include <inttypes.h>
43 #endif
44 #include <sswf/libsswf-config.h>
45 
46 #if defined(__cplusplus)
47 extern "C" {
48 #endif
49 /* Typedef's */
50 typedef signed long		sswf_ucs4_t;
51 typedef unsigned short		sswf_id_t;
52 typedef long			swf_type_t;
53 typedef unsigned short		sswf_frame_t;
54 
55 #ifndef	M_PI
56 #define	M_PI		3.14159265358979323846
57 #endif
58 
59 /* Objects */
60 struct SSWF_ErrorManager;
61 struct SSWF_ItemBase;
62 struct SSWF_Vectors;
63 struct SSWF_Data;
64 struct SSWF_SRectangle;
65 struct SSWF_Color;
66 struct SSWF_ColorTransform;
67 struct SSWF_Matrix;
68 struct SSWF_Envelope;
69 struct SSWF_SoundInfo;
70 struct SSWF_BlendMode;
71 struct SSWF_State;
72 struct SSWF_Event;
73 struct SSWF_Style;
74 struct SSWF_Edges;
75 struct SSWF_TagBase;
76 struct SSWF_TagHeader;
77 struct SSWF_Action;
78 struct SSWF_ActionBranch;
79 struct SSWF_ActionCallFrame;
80 struct SSWF_ActionDictionary;
81 struct SSWF_ActionFunction;
82 struct SSWF_ActionGoto;
83 struct SSWF_ActionLabel;
84 struct SSWF_ActionPushData;
85 struct SSWF_ActionSetTarget;
86 struct SSWF_ActionStoreRegister;
87 struct SSWF_ActionStrictMode;
88 struct SSWF_ActionTry;
89 struct SSWF_ActionURL;
90 struct SSWF_ActionWaitForFrame;
91 struct SSWF_ActionWith;
92 struct SSWF_TagDoAction;
93 struct SSWF_TagMetadata;
94 struct SSWF_TagPlace;
95 struct SSWF_TagRemove;
96 struct SSWF_TagSceneFrameData;
97 struct SSWF_TagScriptLimits;
98 struct SSWF_TagSetTabIndex;
99 struct SSWF_TagSetBackgroundColor;
100 struct SSWF_TagShowFrame;
101 struct SSWF_TagEnd;
102 struct SSWF_TagFrameLabel;
103 struct SSWF_TagExport;
104 struct SSWF_TagImport;
105 struct SSWF_TagProtect;
106 struct SSWF_TagProductInfo;
107 struct SSWF_TagInfo;
108 struct SSWF_TagStartSound;
109 struct SSWF_TagScalingGrid;
110 struct SSWF_TagBaseID;
111 struct SSWF_TagBinaryData;
112 struct SSWF_TagButton;
113 struct SSWF_TagCSMTextSettings;
114 struct SSWF_TagFont;
115 struct SSWF_TagEditText;
116 struct SSWF_TagImage;
117 struct SSWF_TagShape;
118 struct SSWF_TagSound;
119 struct SSWF_TagSprite;
120 struct SSWF_TagText;
121 
122 /* Enumerations */
123   /* ErrorManager */
124 enum sswf_error_code_t
125 {
126 	ERROR_CODE_NONE = 0,
127 	ERROR_CODE_ACTION_OVERFLOW,
128 	ERROR_CODE_ALPHA_MISMATCH,
129 	ERROR_CODE_BAD_STATE_FLAGS,
130 	ERROR_CODE_BUTTON_MISSING_STATE,
131 	ERROR_CODE_CANNOT_CHANGE_STYLE,
132 	ERROR_CODE_CHILDREN_NOT_SUPPORTED,
133 	ERROR_CODE_COMPRESSED_SOUND_8BITS,
134 	ERROR_CODE_EMPTY_POSITION_RANGE,
135 	ERROR_CODE_ENDED_ACTION_SCRIPT,
136 	ERROR_CODE_ENHANCED_LINE_REQUIRES_ALPHA,
137 	ERROR_CODE_ENVELOPE_EXISTS,
138 	ERROR_CODE_ENVELOPE_OVERFLOW,
139 	ERROR_CODE_FILE_NOT_FOUND,
140 	ERROR_CODE_FORMAT_LOCKED,
141 	ERROR_CODE_GLYPH_DEFINED_TWICE,
142 	ERROR_CODE_ICONV_ENCODER_NOT_AVAILABLE,
143 	ERROR_CODE_ICONV_FAILED,
144 	ERROR_CODE_IO,
145 	ERROR_CODE_INCOMPATIBLE_CHILD,
146 	ERROR_CODE_INCOMPATIBLE_MORPH,
147 	ERROR_CODE_INTERNAL_ERROR,
148 	ERROR_CODE_INVALID_DEPTH,
149 	ERROR_CODE_INVALID_EM_SQUARE,
150 	ERROR_CODE_INVALID_FILL_PARAMETER,
151 	ERROR_CODE_INVALID_FOCAL,
152 	ERROR_CODE_INVALID_GLYPH,
153 	ERROR_CODE_INVALID_IDENTIFIER,
154 	ERROR_CODE_INVALID_IMAGE,
155 	ERROR_CODE_INVALID_INTERPOLATION_MODE,
156 	ERROR_CODE_INVALID_LINE_INFO,
157 	ERROR_CODE_INVALID_MORPH_INDEX,
158 	ERROR_CODE_INVALID_OBJECT_EXPORTED,
159 	ERROR_CODE_INVALID_POSITION,
160 	ERROR_CODE_INVALID_SHAPE,
161 	ERROR_CODE_INVALID_SPREAD_MODE,
162 	ERROR_CODE_INVALID_STYLE,
163 	ERROR_CODE_INVALID_TEXT_SETUP,
164 	ERROR_CODE_JPEG,
165 	ERROR_CODE_LOOP_ZERO,
166 	ERROR_CODE_MISSING_FRAME_NAME,
167 	ERROR_CODE_MISSING_SHAPE,
168 	ERROR_CODE_MORPH_GRADIENT_LIMIT,
169 	ERROR_CODE_MORPH_REQUIRES_ALPHA,
170 	ERROR_CODE_NAME_TOO_LONG,
171 	ERROR_CODE_NEGATIVE_MITER,
172 	ERROR_CODE_NO_FOCAL_WITH_MORPH,
173 	ERROR_CODE_NO_HEADER,
174 	ERROR_CODE_NO_STATES,
175 	ERROR_CODE_NO_SUCH_GLYPH,
176 	ERROR_CODE_LABEL_NOT_FOUND,
177 	ERROR_CODE_LABEL_OVERFLOW,
178 	ERROR_CODE_MORPH_MISMATCH,
179 	ERROR_CODE_OBJECT_NOT_FOUND,
180 	ERROR_CODE_REGISTER_OVERFLOW,
181 	ERROR_CODE_SIZE_MISMATCH,
182 	ERROR_CODE_START_SOUND_NO_INFO,
183 	ERROR_CODE_TOO_MANY_STYLES,
184 	ERROR_CODE_TWO_OR_MORE_JPEGTABLES,
185 	ERROR_CODE_TWO_OR_MORE_METADATA,
186 	ERROR_CODE_UNEXPECTED_EVENT_FLAG,
187 	ERROR_CODE_UNKNOWN_FORMAT,
188 	ERROR_CODE_UNKNOWN_OBJECT_EXPORTED,
189 	ERROR_CODE_UNSUPPORTED_IMAGE_FORMAT,
190 	ERROR_CODE_UNSUPPORTED_SOUND_FORMAT,
191 	ERROR_CODE_VERSION_UNSATISFIED,
192 	ERROR_CODE_VOLUME_OUT_OF_RANGE,
193 	ERROR_CODE_max
194 };
195   /* BlendMode */
196 enum sswf_blend_mode_t
197 {
198 	BLEND_MODE_UNDEFINED	= -1,
199 	BLEND_MODE_NORMAL	= 1,
200 	BLEND_MODE_LAYER	= 2,
201 	BLEND_MODE_MULTIPLY	= 3,
202 	BLEND_MODE_SCREEN	= 4,
203 	BLEND_MODE_LIGHTEN	= 5,
204 	BLEND_MODE_DARKEN	= 6,
205 	BLEND_MODE_DIFFERENCE	= 7,
206 	BLEND_MODE_ADD		= 8,
207 	BLEND_MODE_SUBTRACT	= 9,
208 	BLEND_MODE_INVERT	= 10,
209 	BLEND_MODE_ALPHA	= 11,
210 	BLEND_MODE_ERASE	= 12,
211 	BLEND_MODE_OVERLAY	= 13,
212 	BLEND_MODE_HARDLIGHT	= 14
213 };
214   /* State */
215 enum sswf_state_flags_t
216 {
217 	STATE_FLAG_UP		= 0x01,
218 	STATE_FLAG_OVER		= 0x02,
219 	STATE_FLAG_DOWN		= 0x04,
220 	STATE_FLAG_HIT_TEST	= 0x08,
221 	STATE_ALL_FLAGS		= 0x0F
222 };
223   /* Event */
224 enum sswf_event_flag_t
225 {
226 	EVENT_COND_MENU_LEAVE		= 0x80000000,
227 	EVENT_COND_MENU_ENTER		= 0x40000000,
228 	EVENT_CONSTRUCT			= 0x00040000,
229 	EVENT_KEY_PRESS			= 0x00020000,
230 	EVENT_POINTER_DRAG_LEAVE	= 0x00010000,
231 	EVENT_POINTER_DRAG_ENTER	= 0x00008000,
232 	EVENT_POINTER_LEAVE		= 0x00004000,
233 	EVENT_POINTER_ENTER		= 0x00002000,
234 	EVENT_POINTER_RELEASE_OUTSIDE	= 0x00001000,
235 	EVENT_POINTER_RELEASE_INSIDE	= 0x00000800,
236 	EVENT_POINTER_PUSH		= 0x00000400,
237 	EVENT_INITIALIZE		= 0x00000200,
238 	EVENT_DATA			= 0x00000100,
239 	EVENT_KEY_UP			= 0x00000080,
240 	EVENT_KEY_DOWN			= 0x00000040,
241 	EVENT_POINTER_UP		= 0x00000020,
242 	EVENT_POINTER_DOWN		= 0x00000010,
243 	EVENT_POINTER_MOVE		= 0x00000008,
244 	EVENT_UNLOAD			= 0x00000004,
245 	EVENT_ENTER_FRAME		= 0x00000002,
246 	EVENT_ONLOAD			= 0x00000001
247 };
248 enum sswf_condition_flag_t
249 {
250 	CONDITION_KEY_MASK			= 0xFE00,
251 	CONDITION_KEY_SHIFT			= 9,
252 	CONDITION_MENU_LEAVE			= 0x0100,
253 	CONDITION_MENU_ENTER			= 0x0080,
254 	CONDITION_POINTER_RELEASE_OUTSIDE	= 0x0040,
255 	CONDITION_POINTER_DRAG_ENTER		= 0x0020,
256 	CONDITION_POINTER_DRAG_LEAVE		= 0x0010,
257 	CONDITION_POINTER_RELEASE_INSIDE	= 0x0008,
258 	CONDITION_POINTER_PUSH			= 0x0004,
259 	CONDITION_POINTER_LEAVE			= 0x0002,
260 	CONDITION_POINTER_ENTER			= 0x0001
261 };
262 enum sswf_key_code_t
263 {
264 	KEY_CODE_NONE		= 0,
265 	KEY_CODE_LEFT_ARROW	= 1,
266 	KEY_CODE_RIGHT_ARROW	= 2,
267 	KEY_CODE_HOME		= 3,
268 	KEY_CODE_END		= 4,
269 	KEY_CODE_INSERT		= 5,
270 	KEY_CODE_DELETE		= 6,
271 	KEY_CODE_BACKSPACE	= 8,
272 	KEY_CODE_ENTER		= 13,
273 	KEY_CODE_UP_ARROW	= 14,
274 	KEY_CODE_DOWN_ARROW	= 15,
275 	KEY_CODE_PAGE_UP	= 16,
276 	KEY_CODE_PAGE_DOWN	= 17,
277 	KEY_CODE_TAB		= 18,
278 	KEY_CODE_ESCAPE		= 19,
279 	KEY_CODE_SPACE		= 20
280 };
281   /* Style */
282 enum sswf_style_t
283 {
284 	STYLE_TYPE_UNKNOWN = 0,
285 	STYLE_TYPE_NO_LINE,
286 	STYLE_TYPE_NO_FILL,
287 	STYLE_TYPE_LINE,
288 	STYLE_TYPE_ENHANCED_LINE,
289 	STYLE_TYPE_SOLID,
290 	STYLE_TYPE_GRADIENT_LINEAR,
291 	STYLE_TYPE_GRADIENT_RADIAL,
292 	STYLE_TYPE_GRADIENT_FOCAL,
293 	STYLE_TYPE_BITMAP_TILLED,
294 	STYLE_TYPE_BITMAP_CLIPPED,
295 	STYLE_TYPE_BITMAP_HARDEDGE_TILLED,
296 	STYLE_TYPE_BITMAP_HARDEDGE_CLIPPED,
297 	STYLE_TYPE_MATRIX,
298 	STYLE_TYPE_max
299 };
300 enum sswf_cap_t
301 {
302 	STYLE_LINE_CAP_SAME	= -1,
303 	STYLE_LINE_CAP_ROUND	= 0,
304 	STYLE_LINE_CAP_NONE	= 1,
305 	STYLE_LINE_CAP_SQUARE	= 2
306 };
307 enum sswf_join_t
308 {
309 	STYLE_LINE_JOIN_UNKNOWN	= -1,
310 	STYLE_LINE_JOIN_ROUND	= 0,
311 	STYLE_LINE_JOIN_BEVEL	= 1,
312 	STYLE_LINE_JOIN_MITER	= 2
313 };
314 enum sswf_spread_t
315 {
316 	STYLE_GRADIENT_SPREAD_PAD	= 0,
317 	STYLE_GRADIENT_SPREAD_REFLECT	= 1,
318 	STYLE_GRADIENT_SPREAD_REPEAT	= 2
319 };
320 enum sswf_interpolation_t
321 {
322 	STYLE_GRADIENT_INTERPOLATION_NORMAL	= 0,
323 	STYLE_GRADIENT_INTERPOLATION_LINEAR	= 1
324 };
325   /* Edges */
326   /* TagBase */
327 enum sswf_swf_tag_t
328 {
329 	SWF_TAG_UNKNOWN				= -1,
330 	SWF_TAG_END				= 0,
331 	SWF_TAG_SHOW_FRAME			= 1,
332 	SWF_TAG_DEFINE_SHAPE			= 2,
333 	SWF_TAG_PLACE_OBJECT			= 4,
334 	SWF_TAG_REMOVE_OBJECT			= 5,
335 	SWF_TAG_DEFINE_BITS			= 6,
336 	SWF_TAG_DEFINE_BITS_JPEG		= 6,
337 	SWF_TAG_DEFINE_BUTTON			= 7,
338 	SWF_TAG_JPEG_TABLES			= 8,
339 	SWF_TAG_SET_BACKGROUND_COLOR		= 9,
340 	SWF_TAG_DEFINE_FONT			= 10,
341 	SWF_TAG_DEFINE_TEXT			= 11,
342 	SWF_TAG_DO_ACTION			= 12,
343 	SWF_TAG_DEFINE_FONT_INFO		= 13,
344 	SWF_TAG_DEFINE_SOUND			= 14,
345 	SWF_TAG_START_SOUND			= 15,
346 	SWF_TAG_STOP_SOUND			= 16,
347 	SWF_TAG_DEFINE_BUTTON_SOUND		= 17,
348 	SWF_TAG_SOUND_STREAM_HEAD		= 18,
349 	SWF_TAG_SOUND_STREAM_BLOCK		= 19,
350 	SWF_TAG_DEFINE_BITS_LOSSLESS		= 20,
351 	SWF_TAG_DEFINE_BITS_JPEG2		= 21,
352 	SWF_TAG_DEFINE_SHAPE2			= 22,
353 	SWF_TAG_DEFINE_BUTTON_COLOR_TRANSFORM	= 23,
354 	SWF_TAG_PROTECT				= 24,
355 	SWF_TAG_PLACE_OBJECT2			= 26,
356 	SWF_TAG_REMOVE_OBJECT2			= 28,
357 	SWF_TAG_DEFINE_SHAPE3			= 32,
358 	SWF_TAG_DEFINE_TEXT2			= 33,
359 	SWF_TAG_DEFINE_BUTTON2			= 34,
360 	SWF_TAG_DEFINE_BITS_JPEG3		= 35,
361 	SWF_TAG_DEFINE_BITS_LOSSLESS2		= 36,
362 	SWF_TAG_DEFINE_SPRITE			= 39,
363 	SWF_TAG_PRODUCT_INFO			= 41,
364 	SWF_TAG_FRAME_LABEL			= 43,
365 	SWF_TAG_DEFINE_BEHAVIOR			= 44,
366 	SWF_TAG_SOUND_STREAM_HEAD2		= 45,
367 	SWF_TAG_DEFINE_MORPH_SHAPE		= 46,
368 	SWF_TAG_DEFINE_FONT2			= 48,
369 	SWF_TAG_DEFINE_INFO			= 49,
370 	SWF_TAG_TEXT_FIELD			= 37,
371 	SWF_TAG_DEFINE_FUNCTION			= 53,
372 	SWF_TAG_PLACE_FUNCTION			= 54,
373 	SWF_TAG_GENERATE_TAG_OBJECT		= 55,
374 	SWF_TAG_EXPORT				= 56,
375 	SWF_TAG_IMPORT				= 57,
376 	SWF_TAG_PROTECT_DEBUG			= 58,
377 	SWF_TAG_DO_INIT_ACTION			= 59,
378 	SWF_TAG_DEFINE_VIDEO_STREAM		= 60,
379 	SWF_TAG_VIDEO_FRAME			= 61,
380 	SWF_TAG_DEFINE_FONT_INFO2		= 62,
381 	SWF_TAG_DEBUG_ID			= 63,
382 	SWF_TAG_PROTECT_DEBUG2			= 64,
383 	SWF_TAG_SCRIPT_LIMITS			= 65,
384 	SWF_TAG_SET_TAB_INDEX			= 66,
385 	SWF_TAG_FILE_ATTRIBUTES			= 69,
386 	SWF_TAG_PLACE_OBJECT3			= 70,
387 	SWF_TAG_IMPORT2				= 71,
388 	SWF_TAG_DEFINE_FONT_ALIGN_ZONES		= 73,
389 	SWF_TAG_CSM_TEXT_SETTINGS		= 74,
390 	SWF_TAG_DEFINE_FONT3			= 75,
391 	SWF_TAG_METADATA			= 77,
392 	SWF_TAG_DEFINE_SCALING_GRID		= 78,
393 	SWF_TAG_DEFINE_SHAPE4			= 83,
394 	SWF_TAG_DEFINE_MORPH_SHAPE2		= 84,
395 	SWF_TAG_ACTIONSCRIPT2			= 72,
396 	SWF_TAG_ACTIONSCRIPT2_INSTANTIATE	= 76,
397 	SWF_TAG_ACTIONSCRIPT2_DEFINE		= 82,
398 	SWF_TAG_SCENE_FRAME_DATA		= 86,
399 	SWF_TAG_DEFINE_BINARY_DATA		= 87,
400 	SWF_TAG_DEFINE_FONT_NAME		= 88,
401 	SWF_TAG_max
402 };
403   /* Action */
404 enum sswf_action_t
405 {
406 	ACTION_UNKNOWN			= -1,
407 	ACTION_LABEL			= -2,
408 	ACTION_min			= 0x00,
409 	ACTION_END			= 0x00,
410 	ACTION_NEXT_FRAME		= 0x04,
411 	ACTION_PREVIOUS_FRAME		= 0x05,
412 	ACTION_PLAY			= 0x06,
413 	ACTION_STOP			= 0x07,
414 	ACTION_TOGGLE_QUALITY		= 0x08,
415 	ACTION_STOP_SOUND		= 0x09,
416 	ACTION_ADD			= 0x0A,
417 	ACTION_SUBTRACT			= 0x0B,
418 	ACTION_MULTIPLY			= 0x0C,
419 	ACTION_DIVIDE			= 0x0D,
420 	ACTION_EQUAL			= 0x0E,
421 	ACTION_LESS_THAN		= 0x0F,
422 	ACTION_LOGICAL_AND		= 0x10,
423 	ACTION_LOGICAL_OR		= 0x11,
424 	ACTION_LOGICAL_NOT		= 0x12,
425 	ACTION_STRING_EQUAL		= 0x13,
426 	ACTION_STRING_LENGTH		= 0x14,
427 	ACTION_SUB_STRING		= 0x15,
428 	ACTION_POP			= 0x17,
429 	ACTION_INTEGRAL_PART		= 0x18,
430 	ACTION_GET_VARIABLE		= 0x1C,
431 	ACTION_SET_VARIABLE		= 0x1D,
432 	ACTION_SET_TARGET2		= 0x20,
433 	ACTION_CONCATENATE		= 0x21,
434 	ACTION_GET_PROPERTY		= 0x22,
435 	ACTION_SET_PROPERTY		= 0x23,
436 	ACTION_DUPLICATE_SPRITE		= 0x24,
437 	ACTION_REMOVE_SPRITE		= 0x25,
438 	ACTION_TRACE			= 0x26,
439 	ACTION_START_DRAG		= 0x27,
440 	ACTION_STOP_DRAG		= 0x28,
441 	ACTION_STRING_LESS_THAN		= 0x29,
442 	ACTION_THROW			= 0x2A,
443 	ACTION_CAST_OBJECT		= 0x2B,
444 	ACTION_IMPLEMENTS		= 0x2C,
445 	ACTION_FSCOMMAND2		= 0x2D,
446 	ACTION_RANDOM			= 0x30,
447 	ACTION_MBSTRING_LENGTH		= 0x31,
448 	ACTION_ORD			= 0x32,
449 	ACTION_CHR			= 0x33,
450 	ACTION_GET_TIMER		= 0x34,
451 	ACTION_SUB_MBSTRING		= 0x35,
452 	ACTION_MBORD			= 0x36,
453 	ACTION_MBCHR			= 0x37,
454 	ACTION_DELETE			= 0x3A,
455 	ACTION_SET_LOCAL_VAR		= 0x3C,
456 	ACTION_SET_LOCAL_VARIABLE	= 0x3C,
457 	ACTION_CALL_FUNCTION		= 0x3D,
458 	ACTION_RETURN			= 0x3E,
459 	ACTION_MODULO			= 0x3F,
460 	ACTION_NEW			= 0x40,
461 	ACTION_DECLARE_LOCAL_VAR	= 0x41,
462 	ACTION_DECLARE_LOCAL_VARIABLE	= 0x41,
463 	ACTION_DECLARE_ARRAY		= 0x42,
464 	ACTION_DECLARE_OBJECT		= 0x43,
465 	ACTION_TYPE_OF			= 0x44,
466 	ACTION_GET_TARGET		= 0x45,
467 	ACTION_ENUMERATE		= 0x46,
468 	ACTION_ADD_TYPED		= 0x47,
469 	ACTION_LESS_THAN_TYPED		= 0x48,
470 	ACTION_EQUAL_TYPED		= 0x49,
471 	ACTION_NUMBER			= 0x4A,
472 	ACTION_STRING			= 0x4B,
473 	ACTION_DUPLICATE		= 0x4C,
474 	ACTION_SWAP			= 0x4D,
475 	ACTION_GET_MEMBER		= 0x4E,
476 	ACTION_SET_MEMBER		= 0x4F,
477 	ACTION_INCREMENT		= 0x50,
478 	ACTION_DECREMENT		= 0x51,
479 	ACTION_CALL_METHOD		= 0x52,
480 	ACTION_NEW_METHOD		= 0x53,
481 	ACTION_INSTANCE_OF		= 0x54,
482 	ACTION_ENUMERATE_OBJECT		= 0x55,
483 	ACTION_AND			= 0x60,
484 	ACTION_OR			= 0x61,
485 	ACTION_XOR			= 0x62,
486 	ACTION_SHIFT_LEFT		= 0x63,
487 	ACTION_SHIFT_RIGHT		= 0x64,
488 	ACTION_SHIFT_RIGHT_UNSIGNED	= 0x65,
489 	ACTION_STRICT_EQUAL		= 0x66,
490 	ACTION_GREATER_THAN_TYPED	= 0x67,
491 	ACTION_STRING_GREATER_THAN	= 0x68,
492 	ACTION_EXTENDS			= 0x69,
493 	ACTION_GOTO_FRAME		= 0x81,
494 	ACTION_URL			= 0x83,
495 	ACTION_STORE_REGISTER		= 0x87,
496 	ACTION_DECLARE_DICTIONARY	= 0x88,
497 	ACTION_STRICT_MODE		= 0x89,
498 	ACTION_WAIT_FOR_FRAME		= 0x8A,
499 	ACTION_SET_TARGET		= 0x8B,
500 	ACTION_GOTO_LABEL		= 0x8C,
501 	ACTION_WAIT_FOR_FRAME2		= 0x8D,
502 	ACTION_DECLARE_FUNCTION2	= 0x8E,
503 	ACTION_TRY			= 0x8F,
504 	ACTION_WITH			= 0x94,
505 	ACTION_PUSH_DATA		= 0x96,
506 	ACTION_BRANCH_ALWAYS		= 0x99,
507 	ACTION_URL2			= 0x9A,
508 	ACTION_DECLARE_FUNCTION		= 0x9B,
509 	ACTION_BRANCH_IF_TRUE		= 0x9D,
510 	ACTION_CALL_FRAME		= 0x9E,
511 	ACTION_GOTO_EXPRESSION		= 0x9F,
512 	ACTION_max			= 0xFF
513 };
514   /* ActionFunction */
515 enum sswf_action_function_t
516 {
517 	ACTION_FUNCTION_LOAD_THIS		= 0x0001,
518 	ACTION_FUNCTION_SUPPRESS_THIS		= 0x0002,
519 	ACTION_FUNCTION_LOAD_ARGUMENTS		= 0x0004,
520 	ACTION_FUNCTION_SUPPRESS_ARGUMENTS	= 0x0008,
521 	ACTION_FUNCTION_LOAD_SUPER		= 0x0010,
522 	ACTION_FUNCTION_SUPPRESS_SUPER		= 0x0020,
523 	ACTION_FUNCTION_LOAD_ROOT		= 0x0040,
524 	ACTION_FUNCTION_LOAD_PARENT		= 0x0080,
525 	ACTION_FUNCTION_LOAD_GLOBAL		= 0x0100
526 };
527 enum sswf_as_set_prop_flags_t
528 {
529 	PROP_FLAG_IS_HIDDEN	= 1,
530 	PROP_FLAG_CAN_DELETE	= 2,
531 	PROP_FLAG_CAN_OVERWRITE	= 4
532 };
533   /* ActionURL */
534 enum sswf_url_method_t
535 {
536 	URL_METHOD_UNDEFINED	= -1,
537 	URL_METHOD_NOVARIABLE	= 0,
538 	URL_METHOD_NOVARIABLES	= URL_METHOD_NOVARIABLE,
539 	URL_METHOD_GET		= 1,
540 	URL_METHOD_POST		= 2
541 };
542   /* TagCSMTextSettings */
543 enum sswf_csm_text_renderer_t
544 {
545 	CSM_TEXT_RENDERER_NORMAL	= 0,
546 	CSM_TEXT_RENDERER_FLASH		= 1
547 };
548 enum sswf_csm_text_gridfit_t
549 {
550 	CSM_TEXT_GRIDFIT_NO_GRID	= 0,
551 	CSM_TEXT_GRIDFIT_PIXEL		= 1,
552 	CSM_TEXT_GRIDFIT_SUBPIXEL	= 2
553 };
554   /* TagFont */
555 enum sswf_font_type_t
556 {
557 	FONT_TYPE_BEST = 0,
558 	FONT_TYPE_ASCII,
559 	FONT_TYPE_UNICODE,
560 	FONT_TYPE_SHIFTJIS
561 };
562 enum sswf_font_language_t
563 {
564 	FONT_LANGUAGE_UNKNOWN			= -1,
565 	FONT_LANGUAGE_LOCALE			= 0,
566 	FONT_LANGUAGE_LATIN			= 1,
567 	FONT_LANGUAGE_JAPANESE			= 2,
568 	FONT_LANGUAGE_KOREAN			= 3,
569 	FONT_LANGUAGE_SIMPLIFIED_CHINESE	= 4,
570 	FONT_LANGUAGE_TRADITIONAL_CHINESE	= 5,
571 	FONT_LANGUAGE_max			= 6
572 };
573 enum sswf_font_thickness_t
574 {
575 	FONT_THICKNESS_UNKNOWN	= -1,
576 	FONT_THICKNESS_THIN	= 0,
577 	FONT_THICKNESS_MEDIUM	= 1,
578 	FONT_THICKNESS_THICK	= 2,
579 	FONT_THICKNESS_max	= 3
580 };
581 enum sswf_font_em_size_t
582 {
583 	FONT_EM_SMALL	= 0,
584 	FONT_EM_LARGE	= 1
585 };
586   /* TagEditText */
587 enum sswf_edit_text_alignment_t
588 {
589 	EDIT_TEXT_ALIGNMENT_LEFT	= 0,
590 	EDIT_TEXT_ALIGNMENT_RIGHT	= 1,
591 	EDIT_TEXT_ALIGNMENT_CENTER	= 2,
592 	EDIT_TEXT_ALIGNMENT_JUSTIFY	= 3
593 };
594   /* TagImage */
595 enum sswf_image_format_t
596 {
597 	IMAGE_FORMAT_UNKNOWN = 0,
598 	IMAGE_FORMAT_LOSSLESS_BEST,
599 	IMAGE_FORMAT_LOSSLESS_8,
600 	IMAGE_FORMAT_LOSSLESS_16,
601 	IMAGE_FORMAT_LOSSLESS_32,
602 	IMAGE_FORMAT_JPEG,
603 	IMAGE_FORMAT_max
604 };
605   /* TagShape */
606 enum sswf_morph_t
607 {
608 	MORPH_MODE_SHAPE0	= 0,
609 	MORPH_MODE_SHAPE1	= 1,
610 	MORPH_MODE_BOTH_SHAPES	= 2
611 };
612 enum sswf_fill_t
613 {
614 	SHAPE_FILL_EVEN	= 0,
615 	SHAPE_FILL_ODD	= 1
616 };
617   /* TagSound */
618 enum sswf_sound_format_t
619 {
620 	SOUND_FORMAT_UNKNOWN		= -1,
621 	SOUND_FORMAT_RAW		= 0,
622 	SOUND_FORMAT_ADPCM		= 1,
623 	SOUND_FORMAT_MP3		= 2,
624 	SOUND_FORMAT_UNCOMPRESSED	= 3,
625 	SOUND_FORMAT_NELLYMOSER		= 6
626 };
627 enum sswf_sound_endian_t
628 {
629 	SOUND_ENDIAN_LITTLE = 0,
630 	SOUND_ENDIAN_BIG,
631 	SOUND_ENDIAN_SAME,
632 	SOUND_ENDIAN_DONTUSE,
633 	SOUND_ENDIAN_UNKNOWN
634 };
635 
636 /* Structures */
637 struct sswf_event_names_t
638 {
639 	enum sswf_event_flag_t	f_flag;
640 	const char *	f_name;
641 };
642 struct sswf_key_names_t
643 {
644 	enum sswf_key_code_t	f_code;
645 	const char *	f_name;
646 };
647 struct sswf_font_info_t
648 {
649 	sswf_ucs4_t	f_glyph;
650 	unsigned short	f_saved_index;
651 	unsigned long	f_index;
652 	unsigned long	f_position;
653 	long		f_advance;
654 	int		f_is_empty;
655 };
656 struct sswf_image_t
657 {
658 	int		f_alpha;
659 	long		f_width;
660 	long		f_height;
661 	unsigned char *	f_data;
662 };
663 
664 /* Functions */
665   /* Object: ErrorManager */
666 extern void sswf_error_manager_destroy(struct SSWF_ErrorManager *error_manager);
667 extern struct SSWF_ErrorManager *sswf_error_manager_create();
668 extern void sswf_error_manager_reset(struct SSWF_ErrorManager *error_manager);
669 extern int sswf_error_manager_count(struct SSWF_ErrorManager *error_manager);
670 extern enum sswf_error_code_t sswf_error_manager_keep_first(enum sswf_error_code_t a, enum sswf_error_code_t b);
671 extern enum sswf_error_code_t sswf_error_manager_on_error(struct SSWF_ErrorManager *error_manager, enum sswf_error_code_t errcode, const char * message, va_list ap);
672   /* Object: Vectors */
673 extern void sswf_vectors_destroy(struct SSWF_Vectors *vectors);
674 extern struct SSWF_Vectors *sswf_vectors_create1();
675 extern struct SSWF_Vectors *sswf_vectors_create2(const struct SSWF_Vectors * vector);
676 extern struct SSWF_ItemBase * sswf_vectors_get(struct SSWF_Vectors *vectors, int index);
677 extern void sswf_vectors_set(struct SSWF_Vectors *vectors, int index, struct SSWF_ItemBase * vector);
678 extern void sswf_vectors_insert(struct SSWF_Vectors *vectors, int index, struct SSWF_ItemBase * vector);
679 extern void sswf_vectors_set_size(struct SSWF_Vectors *vectors, int size);
680 extern int sswf_vectors_count(struct SSWF_Vectors *vectors);
681 extern void sswf_vectors_empty(struct SSWF_Vectors *vectors);
682   /* Object: Data */
683 extern void sswf_data_destroy(struct SSWF_Data *data);
684 extern struct SSWF_Data *sswf_data_create();
685 extern void sswf_data_empty(struct SSWF_Data *data);
686 extern void sswf_data_align(struct SSWF_Data *data);
687 extern void sswf_data_overwrite(struct SSWF_Data *data, size_t offset, const void * ptr, size_t size);
688 extern void sswf_data_overwrite_byte(struct SSWF_Data *data, size_t offset, char c);
689 extern void sswf_data_overwrite_short(struct SSWF_Data *data, size_t offset, short s);
690 extern void sswf_data_overwrite_long(struct SSWF_Data *data, size_t offset, long l);
691 extern void sswf_data_write(struct SSWF_Data *data, const void * ptr, size_t size);
692 extern void sswf_data_write_bits(struct SSWF_Data *data, long value, size_t bits);
693 extern void sswf_data_put_byte(struct SSWF_Data *data, char c);
694 extern void sswf_data_put_short(struct SSWF_Data *data, short s);
695 extern void sswf_data_put_long(struct SSWF_Data *data, long l);
696 extern void sswf_data_put_dlong(struct SSWF_Data *data, int64_t ll);
697 extern void sswf_data_put_short_float(struct SSWF_Data *data, float f);
698 extern void sswf_data_put_long_float(struct SSWF_Data *data, float f);
699 extern void sswf_data_put_double_float(struct SSWF_Data *data, double f);
700 extern void sswf_data_put_string(struct SSWF_Data *data, const char * string);
701 extern void sswf_data_append(struct SSWF_Data *data, const struct SSWF_Data * append);
702 extern void sswf_data_read(struct SSWF_Data *data, void ** ptr, size_t * size);
703 extern unsigned long sswf_data_byte_size(struct SSWF_Data *data);
704 extern unsigned long sswf_data_get_size(struct SSWF_Data *data);
705 extern void sswf_data_set_size(struct SSWF_Data *data, unsigned long size);
706   /* Object: SRectangle */
707 extern void sswf_srectangle_destroy(struct SSWF_SRectangle *srectangle);
708 extern struct SSWF_SRectangle *sswf_srectangle_create();
709 extern void sswf_srectangle_reset(struct SSWF_SRectangle *srectangle);
710 extern void sswf_srectangle_set(struct SSWF_SRectangle *srectangle, long xmin, long xmax, long ymin, long ymax);
711 extern void sswf_srectangle_set_reorder(struct SSWF_SRectangle *srectangle, long xmin, long xmax, long ymin, long ymax);
712 extern long sswf_srectangle_xmin(struct SSWF_SRectangle *srectangle);
713 extern long sswf_srectangle_xmax(struct SSWF_SRectangle *srectangle);
714 extern long sswf_srectangle_ymin(struct SSWF_SRectangle *srectangle);
715 extern long sswf_srectangle_ymax(struct SSWF_SRectangle *srectangle);
716 extern int sswf_srectangle_is_empty(struct SSWF_SRectangle *srectangle);
717 extern void sswf_srectangle_save(struct SSWF_SRectangle *srectangle, struct SSWF_Data * data);
718   /* Object: Color */
719 extern void sswf_color_destroy(struct SSWF_Color *color);
720 extern struct SSWF_Color *sswf_color_create();
721 extern void sswf_color_reset(struct SSWF_Color *color);
722 extern void sswf_color_set(struct SSWF_Color *color, unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha);
723 extern unsigned char sswf_color_red(struct SSWF_Color *color);
724 extern unsigned char sswf_color_green(struct SSWF_Color *color);
725 extern unsigned char sswf_color_blue(struct SSWF_Color *color);
726 extern unsigned char sswf_color_alpha(struct SSWF_Color *color);
727 extern void sswf_color_save(struct SSWF_Color *color, struct SSWF_Data * data, int save_alpha);
728 extern int sswf_color_is_solid(struct SSWF_Color *color);
729 extern int sswf_color_is_invisible(struct SSWF_Color *color);
730   /* Object: ColorTransform */
731 extern void sswf_color_transform_destroy(struct SSWF_ColorTransform *color_transform);
732 extern struct SSWF_ColorTransform *sswf_color_transform_create();
733 extern void sswf_color_transform_reset(struct SSWF_ColorTransform *color_transform);
734 extern void sswf_color_transform_set_add(struct SSWF_ColorTransform *color_transform, double red, double green, double blue, double alpha);
735 extern void sswf_color_transform_set_mult(struct SSWF_ColorTransform *color_transform, double red, double green, double blue, double alpha);
736 extern double sswf_color_transform_add_red(struct SSWF_ColorTransform *color_transform);
737 extern double sswf_color_transform_add_green(struct SSWF_ColorTransform *color_transform);
738 extern double sswf_color_transform_add_blue(struct SSWF_ColorTransform *color_transform);
739 extern double sswf_color_transform_add_alpha(struct SSWF_ColorTransform *color_transform);
740 extern double sswf_color_transform_mult_red(struct SSWF_ColorTransform *color_transform);
741 extern double sswf_color_transform_mult_green(struct SSWF_ColorTransform *color_transform);
742 extern double sswf_color_transform_mult_blue(struct SSWF_ColorTransform *color_transform);
743 extern double sswf_color_transform_mult_alpha(struct SSWF_ColorTransform *color_transform);
744 extern void sswf_color_transform_save(struct SSWF_ColorTransform *color_transform, struct SSWF_Data * data, int save_alpha);
745 extern int sswf_color_transform_is_null(struct SSWF_ColorTransform *color_transform, int with_alpha);
746 extern int sswf_color_transform_is_solid_compatible(struct SSWF_ColorTransform *color_transform);
747   /* Object: Matrix */
748 extern void sswf_matrix_destroy(struct SSWF_Matrix *matrix);
749 extern struct SSWF_Matrix *sswf_matrix_create();
750 extern void sswf_matrix_reset(struct SSWF_Matrix *matrix);
751 extern void sswf_matrix_set_scale1(struct SSWF_Matrix *matrix, double x, double y);
752 extern void sswf_matrix_set_scale2(struct SSWF_Matrix *matrix, double scale);
753 extern void sswf_matrix_set_rotate(struct SSWF_Matrix *matrix, double rotate);
754 extern void sswf_matrix_set_skew(struct SSWF_Matrix *matrix, double skew0, double skew1);
755 extern void sswf_matrix_set_translate(struct SSWF_Matrix *matrix, long x, long y);
756 extern void sswf_matrix_save(struct SSWF_Matrix *matrix, struct SSWF_Data * data);
757 extern int sswf_matrix_is_null(struct SSWF_Matrix *matrix);
758   /* Object: Envelope */
759 extern struct SSWF_ItemBase *sswf_envelope_cast_item_base(struct SSWF_Envelope *envelope);
760 extern void sswf_envelope_destroy(struct SSWF_Envelope *envelope);
761 extern struct SSWF_Envelope *sswf_envelope_create1(unsigned long p, unsigned short l, unsigned short r);
762 extern struct SSWF_Envelope *sswf_envelope_create2(const struct SSWF_Envelope * envelope);
763 extern unsigned long sswf_envelope_position(struct SSWF_Envelope *envelope);
764 extern unsigned short sswf_envelope_left(struct SSWF_Envelope *envelope);
765 extern unsigned short sswf_envelope_right(struct SSWF_Envelope *envelope);
766 extern void sswf_envelope_save(struct SSWF_Envelope *envelope, struct SSWF_Data * data);
767   /* Object: SoundInfo */
768 extern void sswf_sound_info_destroy(struct SSWF_SoundInfo *sound_info);
769 extern struct SSWF_SoundInfo *sswf_sound_info_create(struct SSWF_ErrorManager * error_manager);
770 extern void sswf_sound_info_set_sound_id(struct SSWF_SoundInfo *sound_info, sswf_id_t id);
771 extern void sswf_sound_info_stop_sound(struct SSWF_SoundInfo *sound_info, int stop);
772 extern void sswf_sound_info_no_multiple(struct SSWF_SoundInfo *sound_info, int no_multiple);
773 extern void sswf_sound_info_set_range(struct SSWF_SoundInfo *sound_info, unsigned long start, unsigned long end);
774 extern void sswf_sound_info_set_loop(struct SSWF_SoundInfo *sound_info, unsigned short loop);
775 extern void sswf_sound_info_add_envelope(struct SSWF_SoundInfo *sound_info, const struct SSWF_Envelope * envelope);
776 extern enum sswf_error_code_t sswf_sound_info_pre_save(struct SSWF_SoundInfo *sound_info);
777 extern void sswf_sound_info_save(struct SSWF_SoundInfo *sound_info, struct SSWF_Data * data);
778   /* Object: BlendMode */
779 extern void sswf_blend_mode_destroy(struct SSWF_BlendMode *blend_mode);
780 extern struct SSWF_BlendMode *sswf_blend_mode_create();
781 extern int sswf_blend_mode_has_blend_mode(struct SSWF_BlendMode *blend_mode);
782 extern void sswf_blend_mode_set_blend_mode(struct SSWF_BlendMode *blend_mode, enum sswf_blend_mode_t blend_mode_value);
783 extern int sswf_blend_mode_set_blend_mode_by_name(struct SSWF_BlendMode *blend_mode, const char * blend_mode_name);
784 extern enum sswf_blend_mode_t sswf_blend_mode_get_blend_mode(struct SSWF_BlendMode *blend_mode);
785 extern void sswf_blend_mode_save(struct SSWF_BlendMode *blend_mode, struct SSWF_Data * data);
786   /* Object: State */
787 extern struct SSWF_ItemBase *sswf_state_cast_item_base(struct SSWF_State *state);
788 extern void sswf_state_destroy(struct SSWF_State *state);
789 extern struct SSWF_State *sswf_state_create(struct SSWF_ErrorManager * error_manager);
790 extern void sswf_state_reset(struct SSWF_State *state);
791 extern void sswf_state_set_object_id(struct SSWF_State *state, sswf_id_t id);
792 extern int sswf_state_set_flags(struct SSWF_State *state, unsigned char flags);
793 extern void sswf_state_set_layer(struct SSWF_State *state, unsigned short layer);
794 extern void sswf_state_set_matrix(struct SSWF_State *state, const struct SSWF_Matrix * matrix);
795 extern void sswf_state_set_color_transform(struct SSWF_State *state, const struct SSWF_ColorTransform * color_transform);
796 extern int sswf_state_has_color_transform(struct SSWF_State *state);
797 extern void sswf_state_set_blend_mode(struct SSWF_State *state, const struct SSWF_BlendMode * blend_mode);
798 extern enum sswf_error_code_t sswf_state_save(struct SSWF_State *state, struct SSWF_Data * data, int color_transform);
799 extern unsigned char sswf_state_get_flags(struct SSWF_State *state);
800   /* Object: Event */
801 extern struct SSWF_ItemBase *sswf_event_cast_item_base(struct SSWF_Event *event);
802 extern void sswf_event_destroy(struct SSWF_Event *event);
803 extern struct SSWF_Event *sswf_event_create();
804 extern void sswf_event_reset(struct SSWF_Event *event);
805 extern void sswf_event_set_events(struct SSWF_Event *event, unsigned long events);
806 extern void sswf_event_set_key(struct SSWF_Event *event, unsigned char key);
807 extern unsigned long sswf_event_events(struct SSWF_Event *event);
808 extern unsigned long sswf_event_conditions(struct SSWF_Event *event);
809 extern unsigned char sswf_event_key(struct SSWF_Event *event);
810 extern struct SSWF_Vectors * sswf_event_actions(struct SSWF_Event *event);
811 extern unsigned long sswf_event_string_to_events(const char * s);
812 extern unsigned char sswf_event_string_to_key_code(const char * s);
813   /* Object: Style */
814 extern struct SSWF_ItemBase *sswf_style_cast_item_base(struct SSWF_Style *style);
815 extern void sswf_style_destroy(struct SSWF_Style *style);
816 extern struct SSWF_Style *sswf_style_create(struct SSWF_ErrorManager * error_manager);
817 extern void sswf_style_reset(struct SSWF_Style *style);
818 extern enum sswf_style_t sswf_style_type(struct SSWF_Style *style);
819 extern signed char sswf_style_gradients(struct SSWF_Style *style);
820 extern int sswf_style_has_morph(struct SSWF_Style *style);
821 extern int sswf_style_has_alpha(struct SSWF_Style *style);
822 extern int sswf_style_has_hard_edges(struct SSWF_Style *style);
823 extern int sswf_style_set_type(struct SSWF_Style *style, enum sswf_style_t style_type);
824 extern int sswf_style_set_line(struct SSWF_Style *style, int index, unsigned short width, const struct SSWF_Color * color);
825 extern int sswf_style_set_line_caps(struct SSWF_Style *style, enum sswf_cap_t start, enum sswf_cap_t end);
826 extern int sswf_style_set_line_join(struct SSWF_Style *style, enum sswf_join_t join, float miter_limit_factor);
827 extern int sswf_style_set_line_scale(struct SSWF_Style *style, int horiz, int vert);
828 extern int sswf_style_set_line_pixel_hinting(struct SSWF_Style *style, int pixel_hinting);
829 extern int sswf_style_set_line_no_close(struct SSWF_Style *style, int no_close);
830 extern int sswf_style_set_line_fill_style(struct SSWF_Style *style, const struct SSWF_Style * fill_style);
831 extern int sswf_style_set_color(struct SSWF_Style *style, int index, const struct SSWF_Color * color);
832 extern int sswf_style_set_gradient(struct SSWF_Style *style, int index, int pos, const struct SSWF_Color * color);
833 extern int sswf_style_set_gradient_modes(struct SSWF_Style *style, enum sswf_spread_t spread, enum sswf_interpolation_t interpolation);
834 extern int sswf_style_set_gradient_focal(struct SSWF_Style *style, float focal);
835 extern int sswf_style_set_matrix(struct SSWF_Style *style, int index, const struct SSWF_Matrix * matrix);
836 extern int sswf_style_set_bitmap(struct SSWF_Style *style, sswf_id_t id_ref);
837 extern int sswf_style_set_clipping(struct SSWF_Style *style);
838 extern enum sswf_error_code_t sswf_style_save(struct SSWF_Style *style, struct SSWF_Data * data, int save_alpha, int save_morph);
839   /* Object: Edges */
840 extern struct SSWF_ItemBase *sswf_edges_cast_item_base(struct SSWF_Edges *edges);
841 extern void sswf_edges_destroy(struct SSWF_Edges *edges);
842 extern struct SSWF_Edges *sswf_edges_create();
843 extern void sswf_edges_set1(struct SSWF_Edges *edges, long x, long y);
844 extern void sswf_edges_set2(struct SSWF_Edges *edges, long x, long y, long ctrl_x, long ctrl_y);
845 extern void sswf_edges_set3(struct SSWF_Edges *edges, int index, long x, long y, long ctrl_x, long ctrl_y);
846 extern void sswf_edges_save(struct SSWF_Edges *edges, struct SSWF_Data * data, long * x, long * y);
847   /* Object: TagBase */
848 extern void sswf_tag_base_destroy(struct SSWF_TagBase *tag_base);
849 extern enum sswf_error_code_t sswf_tag_base_save_string(struct SSWF_TagBase *tag_base, struct SSWF_Data * data, const char * string);
850 extern int sswf_tag_base_save_tag(struct SSWF_Data * data, enum sswf_swf_tag_t tag, size_t size);
851 extern long sswf_tag_base_sibit_size(long value);
852 extern long sswf_tag_base_uibit_size(unsigned long value);
853 extern long sswf_tag_base_double2_signed16(double value);
854 extern long sswf_tag_base_double2_signed(double value);
855 extern double sswf_tag_base_signed2_double(long value);
856 extern void sswf_tag_base_minimum_version(struct SSWF_TagBase *tag_base, unsigned char version);
857 extern unsigned char sswf_tag_base_version(struct SSWF_TagBase *tag_base);
858 extern const char * sswf_tag_base_name(struct SSWF_TagBase *tag_base);
859 extern const char * sswf_tag_base_label(struct SSWF_TagBase *tag_base);
860 extern void sswf_tag_base_reset_frames(struct SSWF_TagBase *tag_base);
861 extern void sswf_tag_base_show_frame(struct SSWF_TagBase *tag_base);
862 extern sswf_frame_t sswf_tag_base_frame_count(struct SSWF_TagBase *tag_base);
863 extern sswf_frame_t sswf_tag_base_which_frame(struct SSWF_TagBase *tag_base);
864 extern void sswf_tag_base_set_label(struct SSWF_TagBase *tag_base, const char * label);
865 extern struct SSWF_TagBase * sswf_tag_base_find_labelled_tag(struct SSWF_TagBase *tag_base, const char * label);
866 extern struct SSWF_TagBase * sswf_tag_base_find_tag_with_id(struct SSWF_TagBase *tag_base, sswf_id_t id, int search_import);
867 extern struct SSWF_TagBase * sswf_tag_base_children(struct SSWF_TagBase *tag_base);
868 extern struct SSWF_TagBase * sswf_tag_base_next(struct SSWF_TagBase *tag_base);
869 extern struct SSWF_TagBase * sswf_tag_base_previous(struct SSWF_TagBase *tag_base);
870 extern struct SSWF_TagBase * sswf_tag_base_parent(struct SSWF_TagBase *tag_base);
871 extern struct SSWF_TagHeader * sswf_tag_base_header(struct SSWF_TagBase *tag_base);
872 extern enum sswf_error_code_t sswf_tag_base_on_error(struct SSWF_TagBase *tag_base, enum sswf_error_code_t errcode, const char * message, va_list ap);
873   /* Object: TagHeader */
874 extern struct SSWF_TagBase *sswf_tag_header_cast_tag_base(struct SSWF_TagHeader *tag_header);
875 extern struct SSWF_ErrorManager *sswf_tag_header_cast_error_manager(struct SSWF_TagHeader *tag_header);
876 extern void sswf_tag_header_destroy(struct SSWF_TagHeader *tag_header);
877 extern struct SSWF_TagHeader *sswf_tag_header_create();
878 extern enum sswf_error_code_t sswf_tag_header_save(struct SSWF_TagHeader *tag_header, struct SSWF_Data * data);
879 extern enum sswf_error_code_t sswf_tag_header_save_encoded_string(struct SSWF_TagHeader *tag_header, struct SSWF_Data * data, const char * string);
880 extern swf_type_t sswf_tag_header_type_flags(struct SSWF_TagHeader *tag_header);
881 extern enum sswf_error_code_t sswf_tag_header_on_error(struct SSWF_TagHeader *tag_header, enum sswf_error_code_t errcode, const char * message, va_list ap);
882 extern sswf_id_t sswf_tag_header_next_id(struct SSWF_TagHeader *tag_header);
883 extern void sswf_tag_header_remove_id(struct SSWF_TagHeader *tag_header, sswf_id_t id);
884 extern unsigned char sswf_tag_header_version(struct SSWF_TagHeader *tag_header);
885 extern void sswf_tag_header_set_version(struct SSWF_TagHeader *tag_header, unsigned char version);
886 extern void sswf_tag_header_set_minimum_version(struct SSWF_TagHeader *tag_header, unsigned char version);
887 extern void sswf_tag_header_set_maximum_version(struct SSWF_TagHeader *tag_header, unsigned char version);
888 extern void sswf_tag_header_set_compress(struct SSWF_TagHeader *tag_header, int compress);
889 extern void sswf_tag_header_set_auto_order(struct SSWF_TagHeader *tag_header, int auto_order);
890 extern void sswf_tag_header_set_use_network(struct SSWF_TagHeader *tag_header, int use_network);
891 extern void sswf_tag_header_set_frame(struct SSWF_TagHeader *tag_header, const struct SSWF_SRectangle * rect);
892 extern const struct SSWF_SRectangle * sswf_tag_header_frame(struct SSWF_TagHeader *tag_header);
893 extern void sswf_tag_header_set_output_encoding(struct SSWF_TagHeader *tag_header, const char * encoding);
894 extern void sswf_tag_header_set_rate(struct SSWF_TagHeader *tag_header, float rate);
895 extern float sswf_tag_header_rate(struct SSWF_TagHeader *tag_header);
896   /* Object: Action */
897 extern struct SSWF_ItemBase *sswf_action_cast_item_base(struct SSWF_Action *action);
898 extern void sswf_action_destroy(struct SSWF_Action *action);
899 extern struct SSWF_Action *sswf_action_create(struct SSWF_TagBase * tag, enum sswf_action_t action);
900 extern struct SSWF_Action * sswf_action_duplicate(struct SSWF_Action *action);
901 extern unsigned long sswf_action_offset(struct SSWF_Action *action);
902 extern unsigned char sswf_action_version(struct SSWF_Action *action);
903 extern enum sswf_error_code_t sswf_action_save(struct SSWF_Action *action, struct SSWF_Data * data);
904 extern struct SSWF_Vectors * sswf_action_sub_list(struct SSWF_Action *action);
905 extern enum sswf_error_code_t sswf_action_save_list(struct SSWF_Action *action, const struct SSWF_Vectors * list, struct SSWF_Data * data, const struct SSWF_Vectors * extra);
906 extern int sswf_action_minimum_list_version(const struct SSWF_Vectors * list);
907 extern int sswf_action_get_maximum_register(const struct SSWF_Vectors * list);
908 extern struct SSWF_ActionLabel * sswf_action_find_label(const struct SSWF_Vectors * list, const char * label);
909   /* Object: ActionBranch */
910 extern struct SSWF_Action *sswf_action_branch_cast_action(struct SSWF_ActionBranch *action_branch);
911 extern struct SSWF_ItemBase *sswf_action_branch_cast_item_base(struct SSWF_ActionBranch *action_branch);
912 extern void sswf_action_branch_destroy(struct SSWF_ActionBranch *action_branch);
913 extern struct SSWF_ActionBranch *sswf_action_branch_create(struct SSWF_TagBase * tag, enum sswf_action_t action);
914 extern void sswf_action_branch_set_label(struct SSWF_ActionBranch *action_branch, const char * label);
915   /* Object: ActionCallFrame */
916 extern struct SSWF_Action *sswf_action_call_frame_cast_action(struct SSWF_ActionCallFrame *action_call_frame);
917 extern struct SSWF_ItemBase *sswf_action_call_frame_cast_item_base(struct SSWF_ActionCallFrame *action_call_frame);
918 extern void sswf_action_call_frame_destroy(struct SSWF_ActionCallFrame *action_call_frame);
919 extern struct SSWF_ActionCallFrame *sswf_action_call_frame_create(struct SSWF_TagBase * tag);
920   /* Object: ActionDictionary */
921 extern struct SSWF_Action *sswf_action_dictionary_cast_action(struct SSWF_ActionDictionary *action_dictionary);
922 extern struct SSWF_ItemBase *sswf_action_dictionary_cast_item_base(struct SSWF_ActionDictionary *action_dictionary);
923 extern void sswf_action_dictionary_destroy(struct SSWF_ActionDictionary *action_dictionary);
924 extern struct SSWF_ActionDictionary *sswf_action_dictionary_create(struct SSWF_TagBase * tag);
925 extern void sswf_action_dictionary_add_string(struct SSWF_ActionDictionary *action_dictionary, const char * string);
926   /* Object: ActionFunction */
927 extern struct SSWF_Action *sswf_action_function_cast_action(struct SSWF_ActionFunction *action_function);
928 extern struct SSWF_ItemBase *sswf_action_function_cast_item_base(struct SSWF_ActionFunction *action_function);
929 extern void sswf_action_function_destroy(struct SSWF_ActionFunction *action_function);
930 extern struct SSWF_ActionFunction *sswf_action_function_create(struct SSWF_TagBase * tag, enum sswf_action_t action);
931 extern void sswf_action_function_set_name(struct SSWF_ActionFunction *action_function, const char * name);
932 extern void sswf_action_function_set_registers_count(struct SSWF_ActionFunction *action_function, unsigned int count);
933 extern void sswf_action_function_add_parameter(struct SSWF_ActionFunction *action_function, const char * name, int register_number);
934 extern void sswf_action_function_add_action(struct SSWF_ActionFunction *action_function, struct SSWF_Action * action);
935 extern struct SSWF_Vectors * sswf_action_function_sub_list(struct SSWF_ActionFunction *action_function);
936   /* Object: ActionGoto */
937 extern struct SSWF_Action *sswf_action_goto_cast_action(struct SSWF_ActionGoto *action_goto);
938 extern struct SSWF_ItemBase *sswf_action_goto_cast_item_base(struct SSWF_ActionGoto *action_goto);
939 extern void sswf_action_goto_destroy(struct SSWF_ActionGoto *action_goto);
940 extern struct SSWF_ActionGoto *sswf_action_goto_create(struct SSWF_TagBase * tag, enum sswf_action_t action);
941 extern void sswf_action_goto_set_frame_name(struct SSWF_ActionGoto *action_goto, const char * frame_name);
942 extern void sswf_action_goto_set_play(struct SSWF_ActionGoto *action_goto, int play);
943   /* Object: ActionLabel */
944 extern struct SSWF_Action *sswf_action_label_cast_action(struct SSWF_ActionLabel *action_label);
945 extern struct SSWF_ItemBase *sswf_action_label_cast_item_base(struct SSWF_ActionLabel *action_label);
946 extern void sswf_action_label_destroy(struct SSWF_ActionLabel *action_label);
947 extern struct SSWF_ActionLabel *sswf_action_label_create(struct SSWF_TagBase * tag);
948 extern void sswf_action_label_set_label(struct SSWF_ActionLabel *action_label, const char * label);
949 extern const char * sswf_action_label_get_label(struct SSWF_ActionLabel *action_label);
950   /* Object: ActionPushData */
951 extern struct SSWF_Action *sswf_action_push_data_cast_action(struct SSWF_ActionPushData *action_push_data);
952 extern struct SSWF_ItemBase *sswf_action_push_data_cast_item_base(struct SSWF_ActionPushData *action_push_data);
953 extern void sswf_action_push_data_destroy(struct SSWF_ActionPushData *action_push_data);
954 extern struct SSWF_ActionPushData *sswf_action_push_data_create(struct SSWF_TagBase * tag);
955 extern void sswf_action_push_data_add_empty_string(struct SSWF_ActionPushData *action_push_data);
956 extern void sswf_action_push_data_add_string(struct SSWF_ActionPushData *action_push_data, const char * string);
957 extern void sswf_action_push_data_add_true(struct SSWF_ActionPushData *action_push_data);
958 extern void sswf_action_push_data_add_false(struct SSWF_ActionPushData *action_push_data);
959 extern void sswf_action_push_data_add_boolean(struct SSWF_ActionPushData *action_push_data, int value);
960 extern void sswf_action_push_data_add_integer(struct SSWF_ActionPushData *action_push_data, long value);
961 extern void sswf_action_push_data_add_float(struct SSWF_ActionPushData *action_push_data, float value);
962 extern void sswf_action_push_data_add_double(struct SSWF_ActionPushData *action_push_data, double value);
963 extern void sswf_action_push_data_add_null(struct SSWF_ActionPushData *action_push_data);
964 extern void sswf_action_push_data_add_lookup(struct SSWF_ActionPushData *action_push_data, unsigned short index);
965 extern void sswf_action_push_data_add_register(struct SSWF_ActionPushData *action_push_data, unsigned char reg_index);
966 extern void sswf_action_push_data_add_undefined(struct SSWF_ActionPushData *action_push_data);
967   /* Object: ActionSetTarget */
968 extern struct SSWF_Action *sswf_action_set_target_cast_action(struct SSWF_ActionSetTarget *action_set_target);
969 extern struct SSWF_ItemBase *sswf_action_set_target_cast_item_base(struct SSWF_ActionSetTarget *action_set_target);
970 extern void sswf_action_set_target_destroy(struct SSWF_ActionSetTarget *action_set_target);
971 extern struct SSWF_ActionSetTarget *sswf_action_set_target_create(struct SSWF_TagBase * tag);
972 extern void sswf_action_set_target_set_target(struct SSWF_ActionSetTarget *action_set_target, const char * target);
973   /* Object: ActionStoreRegister */
974 extern struct SSWF_Action *sswf_action_store_register_cast_action(struct SSWF_ActionStoreRegister *action_store_register);
975 extern struct SSWF_ItemBase *sswf_action_store_register_cast_item_base(struct SSWF_ActionStoreRegister *action_store_register);
976 extern void sswf_action_store_register_destroy(struct SSWF_ActionStoreRegister *action_store_register);
977 extern struct SSWF_ActionStoreRegister *sswf_action_store_register_create(struct SSWF_TagBase * tag);
978 extern void sswf_action_store_register_set_register(struct SSWF_ActionStoreRegister *action_store_register, unsigned char reg);
979   /* Object: ActionStrictMode */
980 extern struct SSWF_Action *sswf_action_strict_mode_cast_action(struct SSWF_ActionStrictMode *action_strict_mode);
981 extern struct SSWF_ItemBase *sswf_action_strict_mode_cast_item_base(struct SSWF_ActionStrictMode *action_strict_mode);
982 extern void sswf_action_strict_mode_destroy(struct SSWF_ActionStrictMode *action_strict_mode);
983 extern struct SSWF_ActionStrictMode *sswf_action_strict_mode_create(struct SSWF_TagBase * tag);
984 extern void sswf_action_strict_mode_set_strict(struct SSWF_ActionStrictMode *action_strict_mode, int strict);
985   /* Object: ActionTry */
986 extern struct SSWF_Action *sswf_action_try_cast_action(struct SSWF_ActionTry *action_try);
987 extern struct SSWF_ItemBase *sswf_action_try_cast_item_base(struct SSWF_ActionTry *action_try);
988 extern void sswf_action_try_destroy(struct SSWF_ActionTry *action_try);
989 extern struct SSWF_ActionTry *sswf_action_try_create(struct SSWF_TagBase * tag);
990 extern void sswf_action_try_add_try_action(struct SSWF_ActionTry *action_try, struct SSWF_Action * action);
991 extern void sswf_action_try_add_catch_action(struct SSWF_ActionTry *action_try, struct SSWF_Action * action);
992 extern void sswf_action_try_add_finally_action(struct SSWF_ActionTry *action_try, struct SSWF_Action * action);
993 extern void sswf_action_try_set_identifier1(struct SSWF_ActionTry *action_try, int register_number);
994 extern void sswf_action_try_set_identifier2(struct SSWF_ActionTry *action_try, const char * variable_name);
995 extern struct SSWF_Vectors * sswf_action_try_sub_list_try(struct SSWF_ActionTry *action_try);
996 extern struct SSWF_Vectors * sswf_action_try_sub_list_catch(struct SSWF_ActionTry *action_try);
997 extern struct SSWF_Vectors * sswf_action_try_sub_list_finally(struct SSWF_ActionTry *action_try);
998   /* Object: ActionURL */
999 extern struct SSWF_Action *sswf_action_url_cast_action(struct SSWF_ActionURL *action_url);
1000 extern struct SSWF_ItemBase *sswf_action_url_cast_item_base(struct SSWF_ActionURL *action_url);
1001 extern void sswf_action_url_destroy(struct SSWF_ActionURL *action_url);
1002 extern struct SSWF_ActionURL *sswf_action_url_create(struct SSWF_TagBase * tag, enum sswf_action_t action);
1003 extern void sswf_action_url_set_url(struct SSWF_ActionURL *action_url, const char * url, const char * target);
1004 extern void sswf_action_url_set_method(struct SSWF_ActionURL *action_url, enum sswf_url_method_t method);
1005   /* Object: ActionWaitForFrame */
1006 extern struct SSWF_Action *sswf_action_wait_for_frame_cast_action(struct SSWF_ActionWaitForFrame *action_wait_for_frame);
1007 extern struct SSWF_ItemBase *sswf_action_wait_for_frame_cast_item_base(struct SSWF_ActionWaitForFrame *action_wait_for_frame);
1008 extern void sswf_action_wait_for_frame_destroy(struct SSWF_ActionWaitForFrame *action_wait_for_frame);
1009 extern struct SSWF_ActionWaitForFrame *sswf_action_wait_for_frame_create(struct SSWF_TagBase * tag, enum sswf_action_t action);
1010 extern void sswf_action_wait_for_frame_set_frame_name(struct SSWF_ActionWaitForFrame *action_wait_for_frame, const char * name);
1011 extern void sswf_action_wait_for_frame_add_action(struct SSWF_ActionWaitForFrame *action_wait_for_frame, struct SSWF_Action * action);
1012 extern struct SSWF_Vectors * sswf_action_wait_for_frame_sub_list(struct SSWF_ActionWaitForFrame *action_wait_for_frame);
1013   /* Object: ActionWith */
1014 extern struct SSWF_Action *sswf_action_with_cast_action(struct SSWF_ActionWith *action_with);
1015 extern struct SSWF_ItemBase *sswf_action_with_cast_item_base(struct SSWF_ActionWith *action_with);
1016 extern void sswf_action_with_destroy(struct SSWF_ActionWith *action_with);
1017 extern struct SSWF_ActionWith *sswf_action_with_create(struct SSWF_TagBase * tag);
1018 extern void sswf_action_with_add_action(struct SSWF_ActionWith *action_with, struct SSWF_Action * action);
1019 extern struct SSWF_Vectors * sswf_action_with_sub_list(struct SSWF_ActionWith *action_with);
1020   /* Object: TagDoAction */
1021 extern struct SSWF_TagBase *sswf_tag_do_action_cast_tag_base(struct SSWF_TagDoAction *tag_do_action);
1022 extern void sswf_tag_do_action_destroy(struct SSWF_TagDoAction *tag_do_action);
1023 extern struct SSWF_TagDoAction *sswf_tag_do_action_create(struct SSWF_TagBase * parent);
1024 extern enum sswf_error_code_t sswf_tag_do_action_save(struct SSWF_TagDoAction *tag_do_action, struct SSWF_Data * data);
1025 extern swf_type_t sswf_tag_do_action_type_flags(struct SSWF_TagDoAction *tag_do_action);
1026 extern void sswf_tag_do_action_set_action(struct SSWF_TagDoAction *tag_do_action, const struct SSWF_Action * action);
1027 extern void sswf_tag_do_action_set_sprite(struct SSWF_TagDoAction *tag_do_action, sswf_id_t sprite);
1028 extern struct SSWF_Vectors * sswf_tag_do_action_actions(struct SSWF_TagDoAction *tag_do_action);
1029   /* Object: TagMetadata */
1030 extern struct SSWF_TagBase *sswf_tag_metadata_cast_tag_base(struct SSWF_TagMetadata *tag_metadata);
1031 extern void sswf_tag_metadata_destroy(struct SSWF_TagMetadata *tag_metadata);
1032 extern struct SSWF_TagMetadata *sswf_tag_metadata_create(struct SSWF_TagBase * parent);
1033 extern enum sswf_error_code_t sswf_tag_metadata_save(struct SSWF_TagMetadata *tag_metadata, struct SSWF_Data * data);
1034 extern swf_type_t sswf_tag_metadata_type_flags(struct SSWF_TagMetadata *tag_metadata);
1035 extern void sswf_tag_metadata_set_filename(struct SSWF_TagMetadata *tag_metadata, const char * filename);
1036 extern void sswf_tag_metadata_set_metadata(struct SSWF_TagMetadata *tag_metadata, const char * xml);
1037 extern void sswf_tag_metadata_set_title(struct SSWF_TagMetadata *tag_metadata, const char * title);
1038 extern void sswf_tag_metadata_set_description(struct SSWF_TagMetadata *tag_metadata, const char * description);
1039 extern void sswf_tag_metadata_set_author(struct SSWF_TagMetadata *tag_metadata, const char * description);
1040 extern void sswf_tag_metadata_set_publisher(struct SSWF_TagMetadata *tag_metadata, const char * publisher);
1041 extern void sswf_tag_metadata_set_copyright(struct SSWF_TagMetadata *tag_metadata, const char * copyright);
1042 extern void sswf_tag_metadata_set_url(struct SSWF_TagMetadata *tag_metadata, const char * url);
1043   /* Object: TagPlace */
1044 extern struct SSWF_TagBase *sswf_tag_place_cast_tag_base(struct SSWF_TagPlace *tag_place);
1045 extern void sswf_tag_place_destroy(struct SSWF_TagPlace *tag_place);
1046 extern struct SSWF_TagPlace *sswf_tag_place_create(struct SSWF_TagBase * parent);
1047 extern enum sswf_error_code_t sswf_tag_place_save(struct SSWF_TagPlace *tag_place, struct SSWF_Data * data);
1048 extern swf_type_t sswf_tag_place_type_flags(struct SSWF_TagPlace *tag_place);
1049 extern void sswf_tag_place_set_object_id(struct SSWF_TagPlace *tag_place, sswf_id_t id);
1050 extern void sswf_tag_place_set_depth(struct SSWF_TagPlace *tag_place, int depth);
1051 extern void sswf_tag_place_set_clip(struct SSWF_TagPlace *tag_place, int depth);
1052 extern void sswf_tag_place_set_matrix(struct SSWF_TagPlace *tag_place, const struct SSWF_Matrix * matrix);
1053 extern void sswf_tag_place_set_color_transform(struct SSWF_TagPlace *tag_place, const struct SSWF_ColorTransform * color_transform);
1054 extern void sswf_tag_place_set_name(struct SSWF_TagPlace *tag_place, const char * name);
1055 extern void sswf_tag_place_set_morph_position(struct SSWF_TagPlace *tag_place, int position);
1056 extern void sswf_tag_place_set_blend_mode(struct SSWF_TagPlace *tag_place, const struct SSWF_BlendMode * blend_mode);
1057 extern void sswf_tag_place_set_bitmap_caching(struct SSWF_TagPlace *tag_place, int bitmap_caching);
1058 extern void sswf_tag_place_replace(struct SSWF_TagPlace *tag_place);
1059 extern void sswf_tag_place_place(struct SSWF_TagPlace *tag_place);
1060 extern int sswf_tag_place_add_event(struct SSWF_TagPlace *tag_place, struct SSWF_Event * event);
1061   /* Object: TagRemove */
1062 extern struct SSWF_TagBase *sswf_tag_remove_cast_tag_base(struct SSWF_TagRemove *tag_remove);
1063 extern void sswf_tag_remove_destroy(struct SSWF_TagRemove *tag_remove);
1064 extern struct SSWF_TagRemove *sswf_tag_remove_create(struct SSWF_TagBase * parent);
1065 extern enum sswf_error_code_t sswf_tag_remove_save(struct SSWF_TagRemove *tag_remove, struct SSWF_Data * data);
1066 extern swf_type_t sswf_tag_remove_type_flags(struct SSWF_TagRemove *tag_remove);
1067 extern void sswf_tag_remove_set_depth(struct SSWF_TagRemove *tag_remove, int depth);
1068 extern void sswf_tag_remove_set_object_id(struct SSWF_TagRemove *tag_remove, sswf_id_t id);
1069   /* Object: TagSceneFrameData */
1070 extern struct SSWF_TagBase *sswf_tag_scene_frame_data_cast_tag_base(struct SSWF_TagSceneFrameData *tag_scene_frame_data);
1071 extern void sswf_tag_scene_frame_data_destroy(struct SSWF_TagSceneFrameData *tag_scene_frame_data);
1072 extern struct SSWF_TagSceneFrameData *sswf_tag_scene_frame_data_create(struct SSWF_TagBase * parent);
1073 extern enum sswf_error_code_t sswf_tag_scene_frame_data_save(struct SSWF_TagSceneFrameData *tag_scene_frame_data, struct SSWF_Data * data);
1074 extern swf_type_t sswf_tag_scene_frame_data_type_flags(struct SSWF_TagSceneFrameData *tag_scene_frame_data);
1075 extern int sswf_tag_scene_frame_data_set_file_data(struct SSWF_TagSceneFrameData *tag_scene_frame_data, const char * filename);
1076 extern void sswf_tag_scene_frame_data_set_scene_frame_data(struct SSWF_TagSceneFrameData *tag_scene_frame_data, const char * data, size_t size);
1077   /* Object: TagScriptLimits */
1078 extern struct SSWF_TagBase *sswf_tag_script_limits_cast_tag_base(struct SSWF_TagScriptLimits *tag_script_limits);
1079 extern void sswf_tag_script_limits_destroy(struct SSWF_TagScriptLimits *tag_script_limits);
1080 extern struct SSWF_TagScriptLimits *sswf_tag_script_limits_create(struct SSWF_TagBase * parent);
1081 extern enum sswf_error_code_t sswf_tag_script_limits_save(struct SSWF_TagScriptLimits *tag_script_limits, struct SSWF_Data * data);
1082 extern swf_type_t sswf_tag_script_limits_type_flags(struct SSWF_TagScriptLimits *tag_script_limits);
1083 extern void sswf_tag_script_limits_set_max_recursion_depth(struct SSWF_TagScriptLimits *tag_script_limits, int depth);
1084 extern void sswf_tag_script_limits_set_timeout_seconds(struct SSWF_TagScriptLimits *tag_script_limits, int timeout);
1085 extern int sswf_tag_script_limits_get_max_recursion_depth(struct SSWF_TagScriptLimits *tag_script_limits);
1086 extern int sswf_tag_script_limits_get_timeout_seconds(struct SSWF_TagScriptLimits *tag_script_limits);
1087   /* Object: TagSetTabIndex */
1088 extern struct SSWF_TagBase *sswf_tag_set_tab_index_cast_tag_base(struct SSWF_TagSetTabIndex *tag_set_tab_index);
1089 extern void sswf_tag_set_tab_index_destroy(struct SSWF_TagSetTabIndex *tag_set_tab_index);
1090 extern struct SSWF_TagSetTabIndex *sswf_tag_set_tab_index_create(struct SSWF_TagBase * parent);
1091 extern enum sswf_error_code_t sswf_tag_set_tab_index_save(struct SSWF_TagSetTabIndex *tag_set_tab_index, struct SSWF_Data * data);
1092 extern swf_type_t sswf_tag_set_tab_index_type_flags(struct SSWF_TagSetTabIndex *tag_set_tab_index);
1093 extern void sswf_tag_set_tab_index_set_depth(struct SSWF_TagSetTabIndex *tag_set_tab_index, int depth);
1094 extern void sswf_tag_set_tab_index_set_index(struct SSWF_TagSetTabIndex *tag_set_tab_index, int timeout);
1095 extern int sswf_tag_set_tab_index_get_depth(struct SSWF_TagSetTabIndex *tag_set_tab_index);
1096 extern int sswf_tag_set_tab_index_get_index(struct SSWF_TagSetTabIndex *tag_set_tab_index);
1097   /* Object: TagSetBackgroundColor */
1098 extern struct SSWF_TagBase *sswf_tag_set_background_color_cast_tag_base(struct SSWF_TagSetBackgroundColor *tag_set_background_color);
1099 extern void sswf_tag_set_background_color_destroy(struct SSWF_TagSetBackgroundColor *tag_set_background_color);
1100 extern struct SSWF_TagSetBackgroundColor *sswf_tag_set_background_color_create(struct SSWF_TagBase * parent);
1101 extern enum sswf_error_code_t sswf_tag_set_background_color_save(struct SSWF_TagSetBackgroundColor *tag_set_background_color, struct SSWF_Data * data);
1102 extern swf_type_t sswf_tag_set_background_color_type_flags(struct SSWF_TagSetBackgroundColor *tag_set_background_color);
1103 extern void sswf_tag_set_background_color_set_color(struct SSWF_TagSetBackgroundColor *tag_set_background_color, struct SSWF_Color * color);
1104 extern struct SSWF_Color * sswf_tag_set_background_color_get_color(struct SSWF_TagSetBackgroundColor *tag_set_background_color);
1105   /* Object: TagShowFrame */
1106 extern struct SSWF_TagBase *sswf_tag_show_frame_cast_tag_base(struct SSWF_TagShowFrame *tag_show_frame);
1107 extern void sswf_tag_show_frame_destroy(struct SSWF_TagShowFrame *tag_show_frame);
1108 extern struct SSWF_TagShowFrame *sswf_tag_show_frame_create(struct SSWF_TagBase * parent);
1109 extern enum sswf_error_code_t sswf_tag_show_frame_save(struct SSWF_TagShowFrame *tag_show_frame, struct SSWF_Data * data);
1110 extern swf_type_t sswf_tag_show_frame_type_flags(struct SSWF_TagShowFrame *tag_show_frame);
1111   /* Object: TagEnd */
1112 extern struct SSWF_TagBase *sswf_tag_end_cast_tag_base(struct SSWF_TagEnd *tag_end);
1113 extern void sswf_tag_end_destroy(struct SSWF_TagEnd *tag_end);
1114 extern struct SSWF_TagEnd *sswf_tag_end_create(struct SSWF_TagBase * parent);
1115 extern enum sswf_error_code_t sswf_tag_end_save(struct SSWF_TagEnd *tag_end, struct SSWF_Data * data);
1116 extern swf_type_t sswf_tag_end_type_flags(struct SSWF_TagEnd *tag_end);
1117   /* Object: TagFrameLabel */
1118 extern struct SSWF_TagBase *sswf_tag_frame_label_cast_tag_base(struct SSWF_TagFrameLabel *tag_frame_label);
1119 extern void sswf_tag_frame_label_destroy(struct SSWF_TagFrameLabel *tag_frame_label);
1120 extern struct SSWF_TagFrameLabel *sswf_tag_frame_label_create(struct SSWF_TagBase * parent);
1121 extern enum sswf_error_code_t sswf_tag_frame_label_save(struct SSWF_TagFrameLabel *tag_frame_label, struct SSWF_Data * data);
1122 extern swf_type_t sswf_tag_frame_label_type_flags(struct SSWF_TagFrameLabel *tag_frame_label);
1123 extern void sswf_tag_frame_label_set_frame_label(struct SSWF_TagFrameLabel *tag_frame_label, const char * label);
1124   /* Object: TagExport */
1125 extern struct SSWF_TagBase *sswf_tag_export_cast_tag_base(struct SSWF_TagExport *tag_export);
1126 extern void sswf_tag_export_destroy(struct SSWF_TagExport *tag_export);
1127 extern struct SSWF_TagExport *sswf_tag_export_create(struct SSWF_TagBase * parent);
1128 extern enum sswf_error_code_t sswf_tag_export_save(struct SSWF_TagExport *tag_export, struct SSWF_Data * data);
1129 extern swf_type_t sswf_tag_export_type_flags(struct SSWF_TagExport *tag_export);
1130 extern void sswf_tag_export_set_object(struct SSWF_TagExport *tag_export, sswf_id_t id, const char * name, const char * used_glyphs);
1131   /* Object: TagImport */
1132 extern struct SSWF_TagBase *sswf_tag_import_cast_tag_base(struct SSWF_TagImport *tag_import);
1133 extern void sswf_tag_import_destroy(struct SSWF_TagImport *tag_import);
1134 extern struct SSWF_TagImport *sswf_tag_import_create(struct SSWF_TagBase * parent);
1135 extern enum sswf_error_code_t sswf_tag_import_save(struct SSWF_TagImport *tag_import, struct SSWF_Data * data);
1136 extern swf_type_t sswf_tag_import_type_flags(struct SSWF_TagImport *tag_import);
1137 extern const char * sswf_tag_import_has_id(struct SSWF_TagImport *tag_import, sswf_id_t id);
1138 extern sswf_id_t sswf_tag_import_has_name(struct SSWF_TagImport *tag_import, const char * name);
1139 extern void sswf_tag_import_set_url(struct SSWF_TagImport *tag_import, const char * url);
1140 extern void sswf_tag_import_set_filename(struct SSWF_TagImport *tag_import, const char * filename);
1141 extern void sswf_tag_import_add_name(struct SSWF_TagImport *tag_import, const char * name, const char * type);
1142   /* Object: TagProtect */
1143 extern struct SSWF_TagBase *sswf_tag_protect_cast_tag_base(struct SSWF_TagProtect *tag_protect);
1144 extern void sswf_tag_protect_destroy(struct SSWF_TagProtect *tag_protect);
1145 extern struct SSWF_TagProtect *sswf_tag_protect_create(struct SSWF_TagBase * parent);
1146 extern enum sswf_error_code_t sswf_tag_protect_save(struct SSWF_TagProtect *tag_protect, struct SSWF_Data * data);
1147 extern swf_type_t sswf_tag_protect_type_flags(struct SSWF_TagProtect *tag_protect);
1148 extern void sswf_tag_protect_set_password(struct SSWF_TagProtect *tag_protect, const char * password);
1149 extern void sswf_tag_protect_set_encoded_password(struct SSWF_TagProtect *tag_protect, const char * password);
1150   /* Object: TagProductInfo */
1151 extern struct SSWF_TagBase *sswf_tag_product_info_cast_tag_base(struct SSWF_TagProductInfo *tag_product_info);
1152 extern void sswf_tag_product_info_destroy(struct SSWF_TagProductInfo *tag_product_info);
1153 extern struct SSWF_TagProductInfo *sswf_tag_product_info_create(struct SSWF_TagBase * parent);
1154 extern enum sswf_error_code_t sswf_tag_product_info_save(struct SSWF_TagProductInfo *tag_product_info, struct SSWF_Data * data);
1155 extern swf_type_t sswf_tag_product_info_type_flags(struct SSWF_TagProductInfo *tag_product_info);
1156 extern void sswf_tag_product_info_set_product(struct SSWF_TagProductInfo *tag_product_info, long product_id);
1157 extern void sswf_tag_product_info_set_edition(struct SSWF_TagProductInfo *tag_product_info, long edition);
1158 extern void sswf_tag_product_info_set_version(struct SSWF_TagProductInfo *tag_product_info, int major, int minor);
1159 extern void sswf_tag_product_info_set_build(struct SSWF_TagProductInfo *tag_product_info, int64_t build_number);
1160 extern void sswf_tag_product_info_set_compile_date(struct SSWF_TagProductInfo *tag_product_info, int64_t date);
1161   /* Object: TagInfo */
1162 extern struct SSWF_TagBase *sswf_tag_info_cast_tag_base(struct SSWF_TagInfo *tag_info);
1163 extern void sswf_tag_info_destroy(struct SSWF_TagInfo *tag_info);
1164 extern struct SSWF_TagInfo *sswf_tag_info_create(struct SSWF_TagBase * parent);
1165 extern enum sswf_error_code_t sswf_tag_info_save(struct SSWF_TagInfo *tag_info, struct SSWF_Data * data);
1166 extern swf_type_t sswf_tag_info_type_flags(struct SSWF_TagInfo *tag_info);
1167 extern void sswf_tag_info_set_info(struct SSWF_TagInfo *tag_info, const char * info);
1168 extern void sswf_tag_info_set_version(struct SSWF_TagInfo *tag_info, long version);
1169   /* Object: TagStartSound */
1170 extern struct SSWF_TagBase *sswf_tag_start_sound_cast_tag_base(struct SSWF_TagStartSound *tag_start_sound);
1171 extern void sswf_tag_start_sound_destroy(struct SSWF_TagStartSound *tag_start_sound);
1172 extern struct SSWF_TagStartSound *sswf_tag_start_sound_create(struct SSWF_TagBase * parent);
1173 extern enum sswf_error_code_t sswf_tag_start_sound_save(struct SSWF_TagStartSound *tag_start_sound, struct SSWF_Data * data);
1174 extern swf_type_t sswf_tag_start_sound_type_flags(struct SSWF_TagStartSound *tag_start_sound);
1175 extern void sswf_tag_start_sound_set_info(struct SSWF_TagStartSound *tag_start_sound, struct SSWF_SoundInfo * sound_info);
1176   /* Object: TagScalingGrid */
1177 extern void sswf_tag_scaling_grid_destroy(struct SSWF_TagScalingGrid *tag_scaling_grid);
1178 extern enum sswf_error_code_t sswf_tag_scaling_grid_grid_save(struct SSWF_TagScalingGrid *tag_scaling_grid, struct SSWF_Data * data, sswf_id_t id);
1179 extern enum sswf_error_code_t sswf_tag_scaling_grid_grid_pre_save(struct SSWF_TagScalingGrid *tag_scaling_grid);
1180 extern const struct SSWF_SRectangle * sswf_tag_scaling_grid_grid(struct SSWF_TagScalingGrid *tag_scaling_grid);
1181 extern void sswf_tag_scaling_grid_set_grid(struct SSWF_TagScalingGrid *tag_scaling_grid, const struct SSWF_SRectangle * rect);
1182   /* Object: TagBaseID */
1183 extern struct SSWF_TagBase *sswf_tag_base_id_cast_tag_base(struct SSWF_TagBaseID *tag_base_id);
1184 extern void sswf_tag_base_id_destroy(struct SSWF_TagBaseID *tag_base_id);
1185 extern sswf_id_t sswf_tag_base_id_identification(struct SSWF_TagBaseID *tag_base_id);
1186 extern void sswf_tag_base_id_no_identification(struct SSWF_TagBaseID *tag_base_id);
1187 extern int sswf_tag_base_id_has_identification(struct SSWF_TagBaseID *tag_base_id);
1188 extern int sswf_tag_base_id_save_id(struct SSWF_TagBaseID *tag_base_id, struct SSWF_Data * data);
1189   /* Object: TagBinaryData */
1190 extern struct SSWF_TagBaseID *sswf_tag_binary_data_cast_tag_base_id(struct SSWF_TagBinaryData *tag_binary_data);
1191 extern struct SSWF_TagBase *sswf_tag_binary_data_cast_tag_base(struct SSWF_TagBinaryData *tag_binary_data);
1192 extern void sswf_tag_binary_data_destroy(struct SSWF_TagBinaryData *tag_binary_data);
1193 extern struct SSWF_TagBinaryData *sswf_tag_binary_data_create(struct SSWF_TagBase * parent);
1194 extern enum sswf_error_code_t sswf_tag_binary_data_save(struct SSWF_TagBinaryData *tag_binary_data, struct SSWF_Data * data);
1195 extern swf_type_t sswf_tag_binary_data_type_flags(struct SSWF_TagBinaryData *tag_binary_data);
1196 extern void sswf_tag_binary_data_get_data(struct SSWF_TagBinaryData *tag_binary_data, const char ** data, size_t * size);
1197 extern void sswf_tag_binary_data_set_data(struct SSWF_TagBinaryData *tag_binary_data, const char * data, size_t size);
1198   /* Object: TagButton */
1199 extern struct SSWF_TagBaseID *sswf_tag_button_cast_tag_base_id(struct SSWF_TagButton *tag_button);
1200 extern struct SSWF_TagBase *sswf_tag_button_cast_tag_base(struct SSWF_TagButton *tag_button);
1201 extern struct SSWF_TagScalingGrid *sswf_tag_button_cast_tag_scaling_grid(struct SSWF_TagButton *tag_button);
1202 extern void sswf_tag_button_destroy(struct SSWF_TagButton *tag_button);
1203 extern struct SSWF_TagButton *sswf_tag_button_create(struct SSWF_TagBase * parent);
1204 extern enum sswf_error_code_t sswf_tag_button_save(struct SSWF_TagButton *tag_button, struct SSWF_Data * data);
1205 extern swf_type_t sswf_tag_button_type_flags(struct SSWF_TagButton *tag_button);
1206 extern int sswf_tag_button_set_state(struct SSWF_TagButton *tag_button, const struct SSWF_State * state);
1207 extern void sswf_tag_button_set_action(struct SSWF_TagButton *tag_button, const struct SSWF_Action * action);
1208 extern void sswf_tag_button_set_menu(struct SSWF_TagButton *tag_button, int menu);
1209 extern struct SSWF_Vectors * sswf_tag_button_actions(struct SSWF_TagButton *tag_button);
1210 extern int sswf_tag_button_add_event(struct SSWF_TagButton *tag_button, struct SSWF_Event * event);
1211   /* Object: TagCSMTextSettings */
1212 extern void sswf_tag_csmtext_settings_destroy(struct SSWF_TagCSMTextSettings *tag_csmtext_settings);
1213 extern struct SSWF_TagCSMTextSettings *sswf_tag_csmtext_settings_create();
1214 extern int sswf_tag_csmtext_settings_is_csmtext_settings_defined(struct SSWF_TagCSMTextSettings *tag_csmtext_settings);
1215 extern void sswf_tag_csmtext_settings_set_renderer(struct SSWF_TagCSMTextSettings *tag_csmtext_settings, enum sswf_csm_text_renderer_t csm_text_renderer);
1216 extern void sswf_tag_csmtext_settings_set_grid_fit(struct SSWF_TagCSMTextSettings *tag_csmtext_settings, enum sswf_csm_text_gridfit_t csm_text_gridfit);
1217 extern void sswf_tag_csmtext_settings_set_thickness(struct SSWF_TagCSMTextSettings *tag_csmtext_settings, float thickness);
1218 extern void sswf_tag_csmtext_settings_set_sharpness(struct SSWF_TagCSMTextSettings *tag_csmtext_settings, float sharpness);
1219   /* Object: TagFont */
1220 extern struct SSWF_TagBaseID *sswf_tag_font_cast_tag_base_id(struct SSWF_TagFont *tag_font);
1221 extern struct SSWF_TagBase *sswf_tag_font_cast_tag_base(struct SSWF_TagFont *tag_font);
1222 extern void sswf_tag_font_destroy(struct SSWF_TagFont *tag_font);
1223 extern struct SSWF_TagFont *sswf_tag_font_create(struct SSWF_TagBase * parent);
1224 extern enum sswf_error_code_t sswf_tag_font_save(struct SSWF_TagFont *tag_font, struct SSWF_Data * data);
1225 extern swf_type_t sswf_tag_font_type_flags(struct SSWF_TagFont *tag_font);
1226 extern enum sswf_error_code_t sswf_tag_font_glyph_info(struct SSWF_TagFont *tag_font, struct sswf_font_info_t * info);
1227 extern int sswf_tag_font_has_glyph(struct SSWF_TagFont *tag_font);
1228 extern int sswf_tag_font_find_glyph(struct SSWF_TagFont *tag_font, struct sswf_font_info_t * info, int mark_empty_in_use);
1229 extern const char * sswf_tag_font_font_name(struct SSWF_TagFont *tag_font);
1230 extern long sswf_tag_font_default_ascent(struct SSWF_TagFont *tag_font);
1231 extern long sswf_tag_font_default_descent(struct SSWF_TagFont *tag_font);
1232 extern long sswf_tag_font_default_leading_height(struct SSWF_TagFont *tag_font);
1233 extern enum sswf_font_language_t sswf_tag_font_string_to_language(const char * language);
1234 extern const char * sswf_tag_font_language_to_string(enum sswf_font_language_t language);
1235 extern enum sswf_error_code_t sswf_tag_font_add_glyph(struct SSWF_TagFont *tag_font, sswf_ucs4_t name, const struct SSWF_TagBase * ref, long advance);
1236 extern void sswf_tag_font_set_name(struct SSWF_TagFont *tag_font, const char * font_name);
1237 extern void sswf_tag_font_set_display_name(struct SSWF_TagFont *tag_font, const char * display_name);
1238 extern void sswf_tag_font_set_copyright(struct SSWF_TagFont *tag_font, const char * copyright);
1239 extern void sswf_tag_font_set_layout(struct SSWF_TagFont *tag_font, long ascent, long descent, long leading_height);
1240 extern void sswf_tag_font_set_default_advance(struct SSWF_TagFont *tag_font, long advance);
1241 extern void sswf_tag_font_set_space_advance(struct SSWF_TagFont *tag_font, long advance);
1242 extern void sswf_tag_font_set_type(struct SSWF_TagFont *tag_font, enum sswf_font_type_t type);
1243 extern void sswf_tag_font_set_language(struct SSWF_TagFont *tag_font, enum sswf_font_language_t language);
1244 extern void sswf_tag_font_set_bold(struct SSWF_TagFont *tag_font, int bold);
1245 extern void sswf_tag_font_set_italic(struct SSWF_TagFont *tag_font, int italic);
1246 extern void sswf_tag_font_set_small_text(struct SSWF_TagFont *tag_font, int small_text);
1247 extern void sswf_tag_font_set_thickness(struct SSWF_TagFont *tag_font, enum sswf_font_thickness_t thickness);
1248 extern void sswf_tag_font_set_emsize(struct SSWF_TagFont *tag_font, enum sswf_font_em_size_t font_em_size);
1249 extern void sswf_tag_font_set_wide(struct SSWF_TagFont *tag_font, int wide);
1250 extern enum sswf_error_code_t sswf_tag_font_set_used_glyphs1(struct SSWF_TagFont *tag_font, const char * used_glyphs, int mark_empty_in_use);
1251 extern enum sswf_error_code_t sswf_tag_font_set_used_glyphs2(struct SSWF_TagFont *tag_font, const sswf_ucs4_t * used_glyphs, int mark_empty_in_use);
1252 extern void sswf_tag_font_set_used_by_edit_text(struct SSWF_TagFont *tag_font, int used);
1253 extern void sswf_tag_font_add_kern(struct SSWF_TagFont *tag_font, sswf_ucs4_t code0, sswf_ucs4_t code1, long advance);
1254   /* Object: TagEditText */
1255 extern struct SSWF_TagBaseID *sswf_tag_edit_text_cast_tag_base_id(struct SSWF_TagEditText *tag_edit_text);
1256 extern struct SSWF_TagBase *sswf_tag_edit_text_cast_tag_base(struct SSWF_TagEditText *tag_edit_text);
1257 extern struct SSWF_TagCSMTextSettings *sswf_tag_edit_text_cast_tag_csmtext_settings(struct SSWF_TagEditText *tag_edit_text);
1258 extern void sswf_tag_edit_text_destroy(struct SSWF_TagEditText *tag_edit_text);
1259 extern struct SSWF_TagEditText *sswf_tag_edit_text_create(struct SSWF_TagBase * parent);
1260 extern enum sswf_error_code_t sswf_tag_edit_text_save(struct SSWF_TagEditText *tag_edit_text, struct SSWF_Data * data);
1261 extern swf_type_t sswf_tag_edit_text_type_flags(struct SSWF_TagEditText *tag_edit_text);
1262 extern void sswf_tag_edit_text_set_text(struct SSWF_TagEditText *tag_edit_text, const char * text);
1263 extern void sswf_tag_edit_text_set_variable_name(struct SSWF_TagEditText *tag_edit_text, const char * name);
1264 extern void sswf_tag_edit_text_set_font(struct SSWF_TagEditText *tag_edit_text, const struct SSWF_TagFont * font, long height);
1265 extern void sswf_tag_edit_text_set_margins(struct SSWF_TagEditText *tag_edit_text, long left, long right);
1266 extern void sswf_tag_edit_text_set_bounds(struct SSWF_TagEditText *tag_edit_text, const struct SSWF_SRectangle * bounds);
1267 extern void sswf_tag_edit_text_set_align(struct SSWF_TagEditText *tag_edit_text, enum sswf_edit_text_alignment_t align);
1268 extern void sswf_tag_edit_text_set_indent(struct SSWF_TagEditText *tag_edit_text, long indent);
1269 extern void sswf_tag_edit_text_set_leading(struct SSWF_TagEditText *tag_edit_text, long leading);
1270 extern void sswf_tag_edit_text_set_color(struct SSWF_TagEditText *tag_edit_text, struct SSWF_Color * color);
1271 extern void sswf_tag_edit_text_set_max_length(struct SSWF_TagEditText *tag_edit_text, long length);
1272 extern void sswf_tag_edit_text_set_word_wrap(struct SSWF_TagEditText *tag_edit_text, int status);
1273 extern void sswf_tag_edit_text_set_multiline(struct SSWF_TagEditText *tag_edit_text, int status);
1274 extern void sswf_tag_edit_text_set_password(struct SSWF_TagEditText *tag_edit_text, int status);
1275 extern void sswf_tag_edit_text_set_read_only(struct SSWF_TagEditText *tag_edit_text, int status);
1276 extern void sswf_tag_edit_text_set_no_select(struct SSWF_TagEditText *tag_edit_text, int status);
1277 extern void sswf_tag_edit_text_set_border(struct SSWF_TagEditText *tag_edit_text, int status);
1278 extern void sswf_tag_edit_text_set_outline(struct SSWF_TagEditText *tag_edit_text, int status);
1279 extern void sswf_tag_edit_text_set_html(struct SSWF_TagEditText *tag_edit_text, int status);
1280 extern void sswf_tag_edit_text_set_auto_size(struct SSWF_TagEditText *tag_edit_text, int status);
1281 extern void sswf_tag_edit_text_set_used_glyphs(struct SSWF_TagEditText *tag_edit_text, const char * lists);
1282 extern void sswf_tag_edit_text_add_used_string(struct SSWF_TagEditText *tag_edit_text, const char * string);
1283   /* Object: TagImage */
1284 extern struct SSWF_TagBaseID *sswf_tag_image_cast_tag_base_id(struct SSWF_TagImage *tag_image);
1285 extern struct SSWF_TagBase *sswf_tag_image_cast_tag_base(struct SSWF_TagImage *tag_image);
1286 extern void sswf_tag_image_destroy(struct SSWF_TagImage *tag_image);
1287 extern struct SSWF_TagImage *sswf_tag_image_create(struct SSWF_TagBase * parent);
1288 extern enum sswf_error_code_t sswf_tag_image_save(struct SSWF_TagImage *tag_image, struct SSWF_Data * data);
1289 extern swf_type_t sswf_tag_image_type_flags(struct SSWF_TagImage *tag_image);
1290 extern void sswf_tag_image_get_image_data(struct SSWF_TagImage *tag_image, struct sswf_image_t * image_data);
1291 extern void sswf_tag_image_set_format(struct SSWF_TagImage *tag_image, enum sswf_image_format_t format);
1292 extern void sswf_tag_image_set_quality(struct SSWF_TagImage *tag_image, int quality);
1293 extern enum sswf_error_code_t sswf_tag_image_set_filename(struct SSWF_TagImage *tag_image, const char * image, const char * mask);
1294 extern void sswf_tag_image_set_image(struct SSWF_TagImage *tag_image, long width, long height, unsigned char * data, int alpha, long count, unsigned char * colormap);
1295 extern enum sswf_error_code_t sswf_tag_image_load_tga(struct SSWF_TagImage *tag_image, const char * filename, struct sswf_image_t * im);
1296 extern enum sswf_error_code_t sswf_tag_image_load_jpeg(struct SSWF_TagImage *tag_image, const char * filename, struct sswf_image_t * im);
1297 extern enum sswf_error_code_t sswf_tag_image_save_jpeg(struct SSWF_TagImage *tag_image, struct SSWF_Data * encoding, struct SSWF_Data * image);
1298 extern enum sswf_error_code_t sswf_tag_image_set_alpha(struct SSWF_TagImage *tag_image, struct sswf_image_t * im, const struct sswf_image_t * mask);
1299   /* Object: TagShape */
1300 extern struct SSWF_TagBaseID *sswf_tag_shape_cast_tag_base_id(struct SSWF_TagShape *tag_shape);
1301 extern struct SSWF_TagBase *sswf_tag_shape_cast_tag_base(struct SSWF_TagShape *tag_shape);
1302 extern void sswf_tag_shape_destroy(struct SSWF_TagShape *tag_shape);
1303 extern struct SSWF_TagShape *sswf_tag_shape_create(struct SSWF_TagBase * parent);
1304 extern enum sswf_error_code_t sswf_tag_shape_save(struct SSWF_TagShape *tag_shape, struct SSWF_Data * data);
1305 extern swf_type_t sswf_tag_shape_type_flags(struct SSWF_TagShape *tag_shape);
1306 extern enum sswf_error_code_t sswf_tag_shape_save_without_styles(struct SSWF_TagShape *tag_shape, struct SSWF_Data * data);
1307 extern void sswf_tag_shape_save_align_zone(struct SSWF_TagShape *tag_shape, struct SSWF_Data * data);
1308 extern int sswf_tag_shape_has_align_zone(struct SSWF_TagShape *tag_shape);
1309 extern int sswf_tag_shape_has_bounds(struct SSWF_TagShape *tag_shape);
1310 extern const struct SSWF_SRectangle * sswf_tag_shape_bounds(struct SSWF_TagShape *tag_shape, int index);
1311 extern int sswf_tag_shape_is_glyph(struct SSWF_TagShape *tag_shape);
1312 extern int sswf_tag_shape_is_empty(struct SSWF_TagShape *tag_shape);
1313 extern enum sswf_error_code_t sswf_tag_shape_add_move(struct SSWF_TagShape *tag_shape, enum sswf_morph_t morph_mode, long x, long y);
1314 extern enum sswf_error_code_t sswf_tag_shape_add_edge1(struct SSWF_TagShape *tag_shape, enum sswf_morph_t morph_mode, long x, long y);
1315 extern enum sswf_error_code_t sswf_tag_shape_add_edge2(struct SSWF_TagShape *tag_shape, enum sswf_morph_t morph_mode, long x, long y, long ctrl_x, long ctrl_y);
1316 extern void sswf_tag_shape_new_styles(struct SSWF_TagShape *tag_shape);
1317 extern enum sswf_error_code_t sswf_tag_shape_add_style(struct SSWF_TagShape *tag_shape, const struct SSWF_Style * style, enum sswf_fill_t fill);
1318 extern void sswf_tag_shape_set_align_zone(struct SSWF_TagShape *tag_shape, const struct SSWF_SRectangle * zone);
1319 extern enum sswf_error_code_t sswf_tag_shape_set_bounds(struct SSWF_TagShape *tag_shape, int index, const struct SSWF_SRectangle * rect, int show);
1320 extern enum sswf_error_code_t sswf_tag_shape_set_strokes_bounds(struct SSWF_TagShape *tag_shape, int index, const struct SSWF_SRectangle * rect);
1321 extern void sswf_tag_shape_show_bounds(struct SSWF_TagShape *tag_shape, int show);
1322 extern void sswf_tag_shape_show_origin(struct SSWF_TagShape *tag_shape, int show);
1323 extern void sswf_tag_shape_set_non_scaling_strokes(struct SSWF_TagShape *tag_shape, int has_non_scaling_strokes);
1324 extern void sswf_tag_shape_set_scaling_strokes(struct SSWF_TagShape *tag_shape, int has_scaling_strokes);
1325 extern void sswf_tag_shape_glyph(struct SSWF_TagShape *tag_shape);
1326 extern int sswf_tag_shape_has_show_bounds(struct SSWF_TagShape *tag_shape);
1327   /* Object: TagSound */
1328 extern struct SSWF_TagBaseID *sswf_tag_sound_cast_tag_base_id(struct SSWF_TagSound *tag_sound);
1329 extern struct SSWF_TagBase *sswf_tag_sound_cast_tag_base(struct SSWF_TagSound *tag_sound);
1330 extern void sswf_tag_sound_destroy(struct SSWF_TagSound *tag_sound);
1331 extern struct SSWF_TagSound *sswf_tag_sound_create(struct SSWF_TagBase * parent);
1332 extern enum sswf_error_code_t sswf_tag_sound_save(struct SSWF_TagSound *tag_sound, struct SSWF_Data * data);
1333 extern swf_type_t sswf_tag_sound_type_flags(struct SSWF_TagSound *tag_sound);
1334 extern size_t sswf_tag_sound_get_samples_count(struct SSWF_TagSound *tag_sound);
1335 extern enum sswf_error_code_t sswf_tag_sound_set_filename(struct SSWF_TagSound *tag_sound, const char * filename);
1336 extern void sswf_tag_sound_set_format(struct SSWF_TagSound *tag_sound, enum sswf_sound_format_t format);
1337 extern int sswf_tag_sound_set_data(struct SSWF_TagSound *tag_sound, const void * data, size_t size, enum sswf_sound_endian_t endian, int width, unsigned int rate, int stereo);
1338 extern void sswf_tag_sound_set_mono(struct SSWF_TagSound *tag_sound);
1339 extern void sswf_tag_sound_set8_bits(struct SSWF_TagSound *tag_sound);
1340   /* Object: TagSprite */
1341 extern struct SSWF_TagBaseID *sswf_tag_sprite_cast_tag_base_id(struct SSWF_TagSprite *tag_sprite);
1342 extern struct SSWF_TagBase *sswf_tag_sprite_cast_tag_base(struct SSWF_TagSprite *tag_sprite);
1343 extern struct SSWF_TagScalingGrid *sswf_tag_sprite_cast_tag_scaling_grid(struct SSWF_TagSprite *tag_sprite);
1344 extern void sswf_tag_sprite_destroy(struct SSWF_TagSprite *tag_sprite);
1345 extern struct SSWF_TagSprite *sswf_tag_sprite_create(struct SSWF_TagBase * parent);
1346 extern enum sswf_error_code_t sswf_tag_sprite_save(struct SSWF_TagSprite *tag_sprite, struct SSWF_Data * data);
1347 extern swf_type_t sswf_tag_sprite_type_flags(struct SSWF_TagSprite *tag_sprite);
1348   /* Object: TagText */
1349 extern struct SSWF_TagBaseID *sswf_tag_text_cast_tag_base_id(struct SSWF_TagText *tag_text);
1350 extern struct SSWF_TagBase *sswf_tag_text_cast_tag_base(struct SSWF_TagText *tag_text);
1351 extern struct SSWF_TagCSMTextSettings *sswf_tag_text_cast_tag_csmtext_settings(struct SSWF_TagText *tag_text);
1352 extern void sswf_tag_text_destroy(struct SSWF_TagText *tag_text);
1353 extern struct SSWF_TagText *sswf_tag_text_create(struct SSWF_TagBase * parent);
1354 extern enum sswf_error_code_t sswf_tag_text_save(struct SSWF_TagText *tag_text, struct SSWF_Data * data);
1355 extern swf_type_t sswf_tag_text_type_flags(struct SSWF_TagText *tag_text);
1356 extern void sswf_tag_text_set_matrix(struct SSWF_TagText *tag_text, const struct SSWF_Matrix * matrix);
1357 extern void sswf_tag_text_set_bounds(struct SSWF_TagText *tag_text, const struct SSWF_SRectangle * bounds);
1358 extern enum sswf_error_code_t sswf_tag_text_add_text(struct SSWF_TagText *tag_text, const char * string, long advance);
1359 extern void sswf_tag_text_add_font(struct SSWF_TagText *tag_text, const struct SSWF_TagFont * font, long height);
1360 extern void sswf_tag_text_add_offsets(struct SSWF_TagText *tag_text, long x, long y);
1361 extern void sswf_tag_text_add_color(struct SSWF_TagText *tag_text, struct SSWF_Color * color);
1362 
1363 typedef enum sswf_error_code_t (*sswf_error_manager_on_error_callback)(enum sswf_error_code_t errcode, const char *msg);
1364 extern void sswf_error_manager_set_callback(struct SSWF_ErrorManager *error_manager, sswf_error_manager_on_error_callback callback);
1365 #if defined(__cplusplus)
1366 }; // extern "C"
1367 #endif
1368