2 * GPAC - Multimedia Framework C SDK
\r
4 * Authors: Cyril Concolato - Jean Le Feuvre
\r
5 * Copyright (c) 2004-200X ENST
\r
6 * All rights reserved
\r
8 * This file is part of GPAC / Scene Graph sub-project
\r
10 * GPAC is free software; you can redistribute it and/or modify
\r
11 * it under the terms of the GNU Lesser General Public License as published by
\r
12 * the Free Software Foundation; either version 2, or (at your option)
\r
13 * any later version.
\r
15 * GPAC is distributed in the hope that it will be useful,
\r
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
\r
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
\r
18 * GNU Lesser General Public License for more details.
\r
20 * You should have received a copy of the GNU Lesser General Public
\r
21 * License along with this library; see the file COPYING. If not, write to
\r
22 * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
\r
26 #ifndef _GF_SVG_SVG_TYPES_H_
\r
27 #define _GF_SVG_SVG_TYPES_H_
\r
33 #include <gpac/path2d.h>
\r
37 /* Attributes in SVG can be accessed using a GF_FieldInfo structure
\r
38 like it is done in the BIFS part of the implementation:
\r
40 fieldIndex: attribute tag to identify the attribute in the element in the case of dynamic alloc (default)
\r
41 or index of the attribute in the element in the case of static allocation of attributes
\r
43 fieldType: attribute data type as in the enumeration below
\r
45 name: attribute name (WARNING: this may be NULL)
\r
47 far_ptr: pointer to the actual data with one of the type given in this file
\r
49 NDTType: unused in SVG
\r
50 eventType: unused in SVG
\r
51 on_event_in: unused in SVG
\r
54 /* SVG attribute types */
\r
56 SVG_Unknown_datatype = 0,
\r
58 /* keyword enum types */
\r
60 XMLEV_Propagate_datatype,
\r
61 XMLEV_DefaultAction_datatype,
\r
62 XMLEV_Phase_datatype,
\r
63 SVG_FillRule_datatype,
\r
64 SVG_StrokeLineJoin_datatype,
\r
65 SVG_StrokeLineCap_datatype,
\r
66 SVG_FontStyle_datatype,
\r
67 SVG_FontWeight_datatype,
\r
68 SVG_FontVariant_datatype,
\r
69 SVG_TextAnchor_datatype,
\r
70 SVG_TransformType_datatype,
\r
71 SVG_Display_datatype,
\r
72 SVG_Visibility_datatype,
\r
73 SVG_Overflow_datatype,
\r
74 SVG_ZoomAndPan_datatype,
\r
75 SVG_DisplayAlign_datatype,
\r
76 SVG_PointerEvents_datatype,
\r
77 SVG_RenderingHint_datatype,
\r
78 SVG_VectorEffect_datatype,
\r
79 SVG_PlaybackOrder_datatype,
\r
80 SVG_TimelineBegin_datatype,
\r
81 SVG_GradientUnit_datatype,
\r
82 SVG_InitialVisibility_datatype,
\r
83 SVG_FocusHighlight_datatype,
\r
84 SVG_Overlay_datatype,
\r
85 SVG_TransformBehavior_datatype,
\r
86 SVG_SpreadMethod_datatype,
\r
87 SVG_TextAlign_datatype,
\r
88 SVG_Focusable_datatype,
\r
89 SMIL_SyncBehavior_datatype,
\r
90 SMIL_SyncTolerance_datatype,
\r
91 SMIL_AttributeType_datatype,
\r
92 SMIL_CalcMode_datatype,
\r
93 SMIL_Additive_datatype,
\r
94 SMIL_Accumulate_datatype,
\r
95 SMIL_Restart_datatype,
\r
96 SMIL_Fill_datatype,
\r
98 SVG_LAST_U8_PROPERTY,
\r
100 DOM_String_datatype,
\r
101 DOM_StringList_datatype,
\r
103 XMLEV_Event_datatype,
\r
105 XMLRI_List_datatype,
\r
106 XML_IDREF_datatype,
\r
108 SMIL_KeyTimes_datatype,
\r
109 SMIL_KeySplines_datatype,
\r
110 SMIL_KeyPoints_datatype,
\r
111 SMIL_Times_datatype,
\r
113 /* animated (untyped) value */
\r
114 SMIL_AnimateValue_datatype,
\r
115 SMIL_AnimateValues_datatype,
\r
116 SMIL_Duration_datatype,
\r
117 SMIL_RepeatCount_datatype,
\r
118 SMIL_AttributeName_datatype,
\r
121 SVG_Number_datatype,
\r
122 SVG_FontSize_datatype,
\r
123 SVG_Length_datatype,
\r
124 SVG_Coordinate_datatype,
\r
125 SVG_Rotate_datatype,
\r
128 SVG_Numbers_datatype,
\r
129 SVG_Points_datatype,
\r
130 SVG_Coordinates_datatype,
\r
132 /*all other types*/
\r
133 SVG_Boolean_datatype,
\r
134 SVG_Color_datatype,
\r
135 SVG_Paint_datatype,
\r
136 SVG_PathData_datatype,
\r
137 SVG_FontFamily_datatype,
\r
140 SVG_StrokeDashArray_datatype,
\r
141 SVG_PreserveAspectRatio_datatype,
\r
142 SVG_ViewBox_datatype,
\r
143 SVG_GradientOffset_datatype,
\r
144 SVG_Focus_datatype,
\r
145 SVG_Clock_datatype,
\r
146 SVG_ContentType_datatype,
\r
147 SVG_LanguageID_datatype,
\r
149 /* Matrix related types */
\r
150 SVG_Transform_datatype,
\r
151 SVG_Transform_Translate_datatype,
\r
152 SVG_Transform_Scale_datatype,
\r
153 SVG_Transform_SkewX_datatype,
\r
154 SVG_Transform_SkewY_datatype,
\r
155 SVG_Transform_Rotate_datatype,
\r
156 SVG_Motion_datatype,
\r
159 LASeR_Choice_datatype,
\r
160 LASeR_Size_datatype,
\r
163 /* Definition of SVG base data types */
\r
164 typedef char *DOM_String;
\r
165 typedef DOM_String SVG_String;
\r
166 typedef DOM_String SVG_ContentType;
\r
167 typedef DOM_String SVG_LanguageID;
\r
168 typedef DOM_String SVG_TextContent;
\r
170 /* types not yet handled properly, i.e. for the moment using strings */
\r
171 typedef DOM_String SVG_ID;
\r
172 typedef DOM_String SVG_LinkTarget;
\r
173 typedef DOM_String SVG_GradientOffset;
\r
175 typedef Double SVG_Clock;
\r
177 typedef GF_List *ListOfXXX;
\r
178 typedef GF_List *SVG_Numbers;
\r
179 typedef GF_List *SVG_Coordinates;
\r
180 typedef GF_List *SVG_FeatureList;
\r
181 typedef GF_List *SVG_ExtensionList;
\r
182 typedef GF_List *SVG_FormatList;
\r
183 typedef GF_List *SVG_ListOfIRI;
\r
184 typedef GF_List *SVG_LanguageIDs;
\r
185 typedef GF_List *SVG_FontList;
\r
186 typedef GF_List *SVG_TransformList;
\r
187 typedef GF_List *SVG_Points;
\r
188 typedef GF_List *SMIL_Times;
\r
189 typedef GF_List *SMIL_KeyTimes;
\r
190 typedef GF_List *SMIL_KeyPoints;
\r
191 /* Fixed between 0 and 1 */
\r
192 typedef GF_List *SMIL_KeySplines;
\r
194 typedef GF_Matrix2D SVG_Motion;
\r
196 /* SMIL Anim types */
\r
202 /*attribute name for textual parsing*/
\r
204 /*attribute tag for live transcoding*/
\r
206 } SMIL_AttributeName;
\r
210 GF_SMIL_TIME_CLOCK = 0,
\r
212 GF_SMIL_TIME_WALLCLOCK = 1,
\r
213 /*resolved time of an event, discarded when restarting animation.*/
\r
214 GF_SMIL_TIME_EVENT_RESOLVED = 2,
\r
216 GF_SMIL_TIME_EVENT = 3,
\r
217 /*indefinite time*/
\r
218 GF_SMIL_TIME_INDEFINITE = 4,
\r
221 #define GF_SMIL_TIME_IS_CLOCK(v) (v<=GF_SMIL_TIME_EVENT_RESOLVED)
\r
222 #define GF_SMIL_TIME_IS_SPECIFIED_CLOCK(v) (v<GF_SMIL_TIME_EVENT_RESOLVED)
\r
227 /*for accessKey and mouse button, or repeatCount when the event is a SMIL repeat */
\r
232 /* Type of timing value*/
\r
234 /* in case of syncbase, event, repeat value: this is the pointer to the source of the event */
\r
236 /* id of the element before resolution of the pointer to the element */
\r
238 /* listener associated with event */
\r
239 GF_Node *listener;
\r
241 /* event type and parameter */
\r
242 XMLEV_Event event;
\r
244 begin rather than beginEvent,
\r
245 end rather than endEvent,
\r
246 repeat rather than repeatEvent */
\r
247 Bool is_absolute_event;
\r
248 /*clock offset (absolute or relative to event)*/
\r
254 SMIL_DURATION_AUTO = 0,
\r
255 SMIL_DURATION_INDEFINITE,
\r
256 SMIL_DURATION_MEDIA,
\r
257 SMIL_DURATION_NONE,
\r
258 SMIL_DURATION_DEFINED,
\r
262 Double clock_value;
\r
266 SMIL_RESTART_ALWAYS = 0,
\r
267 SMIL_RESTART_NEVER,
\r
268 SMIL_RESTART_WHENNOTACTIVE,
\r
270 typedef u8 SMIL_Restart;
\r
273 SMIL_FILL_FREEZE=0,
\r
277 typedef u8 SMIL_Fill;
\r
280 SMIL_REPEATCOUNT_INDEFINITE = 0,
\r
281 SMIL_REPEATCOUNT_DEFINED = 1,
\r
282 /* used only for static allocation of SVG attributes */
\r
283 SMIL_REPEATCOUNT_UNSPECIFIED = 2
\r
288 } SMIL_RepeatCount;
\r
293 } SMIL_AnimateValue;
\r
298 } SMIL_AnimateValues;
\r
301 SMIL_ADDITIVE_REPLACE = 0,
\r
304 typedef u8 SMIL_Additive;
\r
307 SMIL_ACCUMULATE_NONE = 0,
\r
308 SMIL_ACCUMULATE_SUM
\r
310 typedef u8 SMIL_Accumulate;
\r
313 /*WARNING: default value is linear, order changed for LASeR coding*/
\r
314 SMIL_CALCMODE_DISCRETE = 0,
\r
315 SMIL_CALCMODE_LINEAR,
\r
316 SMIL_CALCMODE_PACED,
\r
317 SMIL_CALCMODE_SPLINE
\r
319 typedef u8 SMIL_CalcMode;
\r
320 /* end of SMIL Anim types */
\r
323 XMLRI_ELEMENTID = 0,
\r
327 typedef struct __xml_ri {
\r
334 /*the same structure is used to watch for IDREF changes (LASeR node replace)*/
\r
335 typedef struct __xml_ri XML_IDREF;
\r
339 SVG_FOCUS_AUTO = 0,
\r
351 SVG_FONTFAMILY_INHERIT = 0,
\r
352 SVG_FONTFAMILY_VALUE
\r
361 SVG_FONTSTYLE_INHERIT = 0,
\r
362 SVG_FONTSTYLE_ITALIC = 1,
\r
363 SVG_FONTSTYLE_NORMAL = 2,
\r
364 SVG_FONTSTYLE_OBLIQUE = 3
\r
366 typedef u8 SVG_FontStyle;
\r
368 /*the values are chosen to match LASeR code points*/
\r
370 SVG_PATHCOMMAND_M = 3,
\r
371 SVG_PATHCOMMAND_L = 2,
\r
372 SVG_PATHCOMMAND_C = 0,
\r
373 SVG_PATHCOMMAND_S = 5,
\r
374 SVG_PATHCOMMAND_Q = 4,
\r
375 SVG_PATHCOMMAND_T = 6,
\r
376 SVG_PATHCOMMAND_A = 20,
\r
377 SVG_PATHCOMMAND_Z = 8
\r
380 #define USE_GF_PATH 1
\r
383 typedef GF_Path SVG_PathData;
\r
401 Fixed x, y, width, height;
\r
404 typedef Bool SVG_Boolean;
\r
406 /*WARNING - THESE ARE PATH FLAGS, CHECK IF WORKING*/
\r
408 SVG_FILLRULE_EVENODD= 0,
\r
409 SVG_FILLRULE_NONZERO,
\r
410 SVG_FILLRULE_INHERIT
\r
412 typedef u8 SVG_FillRule;
\r
415 SVG_STROKELINEJOIN_MITER = GF_LINE_JOIN_MITER_SVG,
\r
416 SVG_STROKELINEJOIN_ROUND = GF_LINE_JOIN_ROUND,
\r
417 SVG_STROKELINEJOIN_BEVEL = GF_LINE_JOIN_BEVEL,
\r
418 SVG_STROKELINEJOIN_INHERIT = 100
\r
420 typedef u8 SVG_StrokeLineJoin;
\r
422 /* Warning: GPAC naming is not the same as SVG naming for line cap Flat = butt and Butt = square*/
\r
424 SVG_STROKELINECAP_BUTT = GF_LINE_CAP_FLAT,
\r
425 SVG_STROKELINECAP_ROUND = GF_LINE_CAP_ROUND,
\r
426 SVG_STROKELINECAP_SQUARE = GF_LINE_CAP_SQUARE,
\r
427 SVG_STROKELINECAP_INHERIT = 100
\r
429 typedef u8 SVG_StrokeLineCap;
\r
432 SVG_OVERFLOW_INHERIT = 0,
\r
433 SVG_OVERFLOW_VISIBLE = 1,
\r
434 SVG_OVERFLOW_HIDDEN = 2,
\r
435 SVG_OVERFLOW_SCROLL = 3,
\r
436 SVG_OVERFLOW_AUTO = 4
\r
438 typedef u8 SVG_Overflow;
\r
441 SVG_COLOR_RGBCOLOR = 0,
\r
443 SVG_COLOR_CURRENTCOLOR,
\r
444 SVG_COLOR_ACTIVE_BORDER, /*Active window border*/
\r
445 SVG_COLOR_ACTIVE_CAPTION, /*Active window caption. */
\r
446 SVG_COLOR_APP_WORKSPACE, /*Background color of multiple document interface. */
\r
447 SVG_COLOR_BACKGROUND, /*Desktop background. */
\r
448 SVG_COLOR_BUTTON_FACE, /* Face color for three-dimensional display elements. */
\r
449 SVG_COLOR_BUTTON_HIGHLIGHT, /* Dark shadow for three-dimensional display elements (for edges facing away from the light source). */
\r
450 SVG_COLOR_BUTTON_SHADOW, /* Shadow color for three-dimensional display elements. */
\r
451 SVG_COLOR_BUTTON_TEXT, /*Text on push buttons. */
\r
452 SVG_COLOR_CAPTION_TEXT, /* Text in caption, size box, and scrollbar arrow box. */
\r
453 SVG_COLOR_GRAY_TEXT, /* Disabled ('grayed') text. */
\r
454 SVG_COLOR_HIGHLIGHT, /* Item(s) selected in a control. */
\r
455 SVG_COLOR_HIGHLIGHT_TEXT, /*Text of item(s) selected in a control. */
\r
456 SVG_COLOR_INACTIVE_BORDER, /* Inactive window border. */
\r
457 SVG_COLOR_INACTIVE_CAPTION, /* Inactive window caption. */
\r
458 SVG_COLOR_INACTIVE_CAPTION_TEXT, /*Color of text in an inactive caption. */
\r
459 SVG_COLOR_INFO_BACKGROUND, /* Background color for tooltip controls. */
\r
460 SVG_COLOR_INFO_TEXT, /*Text color for tooltip controls. */
\r
461 SVG_COLOR_MENU, /*Menu background. */
\r
462 SVG_COLOR_MENU_TEXT, /* Text in menus. */
\r
463 SVG_COLOR_SCROLLBAR, /* Scroll bar gray area. */
\r
464 SVG_COLOR_3D_DARK_SHADOW, /* Dark shadow for three-dimensional display elements. */
\r
465 SVG_COLOR_3D_FACE, /* Face color for three-dimensional display elements. */
\r
466 SVG_COLOR_3D_HIGHLIGHT, /* Highlight color for three-dimensional display elements. */
\r
467 SVG_COLOR_3D_LIGHT_SHADOW, /* Light color for three-dimensional display elements (for edges facing the light source). */
\r
468 SVG_COLOR_3D_SHADOW, /* Dark shadow for three-dimensional display elements. */
\r
469 SVG_COLOR_WINDOW, /* Window background. */
\r
470 SVG_COLOR_WINDOW_FRAME, /* Window frame. */
\r
471 SVG_COLOR_WINDOW_TEXT /* Text in windows.*/
\r
476 Fixed red, green, blue;
\r
480 SVG_PAINT_NONE = 0,
\r
481 SVG_PAINT_COLOR = 1,
\r
483 SVG_PAINT_INHERIT = 3
\r
490 } SVG_Paint, SVG_SVGColor;
\r
493 SVG_NUMBER_VALUE = 0,
\r
494 SVG_NUMBER_PERCENTAGE = 1,
\r
495 SVG_NUMBER_EMS = 2,
\r
496 SVG_NUMBER_EXS = 3,
\r
503 SVG_NUMBER_INHERIT = 10,
\r
504 SVG_NUMBER_AUTO = 11,
\r
505 SVG_NUMBER_AUTO_REVERSE = 12
\r
523 SVG_TRANSFORM_MATRIX = 0,
\r
524 SVG_TRANSFORM_TRANSLATE = 1,
\r
525 SVG_TRANSFORM_SCALE = 2,
\r
526 SVG_TRANSFORM_ROTATE = 3,
\r
527 SVG_TRANSFORM_SKEWX = 4,
\r
528 SVG_TRANSFORM_SKEWY = 5
\r
531 typedef u8 SVG_TransformType;
\r
534 SVG_FONTWEIGHT_100 = 0,
\r
535 SVG_FONTWEIGHT_200,
\r
536 SVG_FONTWEIGHT_300,
\r
537 SVG_FONTWEIGHT_400,
\r
538 SVG_FONTWEIGHT_500,
\r
539 SVG_FONTWEIGHT_600,
\r
540 SVG_FONTWEIGHT_700,
\r
541 SVG_FONTWEIGHT_800,
\r
542 SVG_FONTWEIGHT_900,
\r
543 SVG_FONTWEIGHT_BOLD,
\r
544 SVG_FONTWEIGHT_BOLDER,
\r
545 SVG_FONTWEIGHT_INHERIT,
\r
546 SVG_FONTWEIGHT_LIGHTER,
\r
547 SVG_FONTWEIGHT_NORMAL
\r
549 typedef u8 SVG_FontWeight;
\r
552 SVG_FONTVARIANT_INHERIT = 0,
\r
553 SVG_FONTVARIANT_NORMAL = 1,
\r
554 SVG_FONTVARIANT_SMALLCAPS = 2
\r
556 typedef u8 SVG_FontVariant;
\r
559 SVG_VISIBILITY_HIDDEN = 0,
\r
560 SVG_VISIBILITY_INHERIT = 1,
\r
561 SVG_VISIBILITY_VISIBLE = 2,
\r
562 SVG_VISIBILITY_COLLAPSE = 3
\r
564 typedef u8 SVG_Visibility;
\r
567 SVG_DISPLAY_INHERIT = 0,
\r
568 SVG_DISPLAY_NONE = 1,
\r
569 SVG_DISPLAY_INLINE = 2,
\r
571 SVG_DISPLAY_LIST_ITEM,
\r
572 SVG_DISPLAY_RUN_IN,
\r
573 SVG_DISPLAY_COMPACT,
\r
574 SVG_DISPLAY_MARKER,
\r
576 SVG_DISPLAY_INLINE_TABLE,
\r
577 SVG_DISPLAY_TABLE_ROW_GROUP,
\r
578 SVG_DISPLAY_TABLE_HEADER_GROUP,
\r
579 SVG_DISPLAY_TABLE_FOOTER_GROUP,
\r
580 SVG_DISPLAY_TABLE_ROW,
\r
581 SVG_DISPLAY_TABLE_COLUMN_GROUP,
\r
582 SVG_DISPLAY_TABLE_COLUMN,
\r
583 SVG_DISPLAY_TABLE_CELL,
\r
584 SVG_DISPLAY_TABLE_CAPTION
\r
586 typedef u8 SVG_Display;
\r
589 SVG_DISPLAYALIGN_INHERIT = 0,
\r
590 SVG_DISPLAYALIGN_AUTO = 1,
\r
591 SVG_DISPLAYALIGN_AFTER = 2,
\r
592 SVG_DISPLAYALIGN_BEFORE = 3,
\r
593 SVG_DISPLAYALIGN_CENTER = 4
\r
595 typedef u8 SVG_DisplayAlign;
\r
598 SVG_TEXTALIGN_INHERIT = 0,
\r
599 SVG_TEXTALIGN_START = 1,
\r
600 SVG_TEXTALIGN_CENTER = 2,
\r
601 SVG_TEXTALIGN_END = 3
\r
603 typedef u8 SVG_TextAlign;
\r
606 SVG_STROKEDASHARRAY_NONE = 0,
\r
607 SVG_STROKEDASHARRAY_INHERIT = 1,
\r
608 SVG_STROKEDASHARRAY_ARRAY = 2
\r
619 } SVG_StrokeDashArray;
\r
622 SVG_TEXTANCHOR_INHERIT = 0,
\r
623 SVG_TEXTANCHOR_END = 1,
\r
624 SVG_TEXTANCHOR_MIDDLE = 2,
\r
625 SVG_TEXTANCHOR_START = 3
\r
627 typedef u8 SVG_TextAnchor;
\r
630 SVG_ANGLETYPE_UNKNOWN = 0,
\r
631 SVG_ANGLETYPE_UNSPECIFIED = 1,
\r
632 SVG_ANGLETYPE_DEG = 2,
\r
633 SVG_ANGLETYPE_RAD = 3,
\r
634 SVG_ANGLETYPE_GRAD = 4
\r
638 SVG_UNIT_TYPE_UNKNOWN = 0,
\r
639 SVG_UNIT_TYPE_USERSPACEONUSE = 1,
\r
640 SVG_UNIT_TYPE_OBJECTBOUNDINGBOX = 2
\r
645 SVG_PRESERVEASPECTRATIO_NONE = 1,
\r
646 SVG_PRESERVEASPECTRATIO_XMINYMIN = 2,
\r
647 SVG_PRESERVEASPECTRATIO_XMIDYMIN = 3,
\r
648 SVG_PRESERVEASPECTRATIO_XMAXYMIN = 4,
\r
649 SVG_PRESERVEASPECTRATIO_XMINYMID = 5,
\r
650 SVG_PRESERVEASPECTRATIO_XMIDYMID = 0, //default
\r
651 SVG_PRESERVEASPECTRATIO_XMAXYMID = 6,
\r
652 SVG_PRESERVEASPECTRATIO_XMINYMAX = 7,
\r
653 SVG_PRESERVEASPECTRATIO_XMIDYMAX = 8,
\r
654 SVG_PRESERVEASPECTRATIO_XMAXYMAX = 9
\r
658 // Meet_or_slice Types
\r
659 SVG_MEETORSLICE_MEET = 0,
\r
660 SVG_MEETORSLICE_SLICE = 1
\r
667 } SVG_PreserveAspectRatio;
\r
670 SVG_ZOOMANDPAN_DISABLE = 0,
\r
671 SVG_ZOOMANDPAN_MAGNIFY,
\r
674 typedef u8 SVG_ZoomAndPan;
\r
677 LENGTHADJUST_UNKNOWN = 0,
\r
678 LENGTHADJUST_SPACING = 1,
\r
679 LENGTHADJUST_SPACINGANDGLYPHS = 2
\r
683 // textPath Method Types
\r
684 TEXTPATH_METHODTYPE_UNKNOWN = 0,
\r
685 TEXTPATH_METHODTYPE_ALIGN = 1,
\r
686 TEXTPATH_METHODTYPE_STRETCH = 2
\r
689 // textPath Spacing Types
\r
690 TEXTPATH_SPACINGTYPE_UNKNOWN = 0,
\r
691 TEXTPATH_SPACINGTYPE_AUTO = 1,
\r
692 TEXTPATH_SPACINGTYPE_EXACT = 2
\r
696 // Marker Unit Types
\r
697 SVG_MARKERUNITS_UNKNOWN = 0,
\r
698 SVG_MARKERUNITS_USERSPACEONUSE = 1,
\r
699 SVG_MARKERUNITS_STROKEWIDTH = 2
\r
702 // Marker Orientation Types
\r
703 SVG_MARKER_ORIENT_UNKNOWN = 0,
\r
704 SVG_MARKER_ORIENT_AUTO = 1,
\r
705 SVG_MARKER_ORIENT_ANGLE = 2
\r
709 // Spread Method Types
\r
710 SVG_SPREADMETHOD_UNKNOWN = 0,
\r
711 SVG_SPREADMETHOD_PAD = 1,
\r
712 SVG_SPREADMETHOD_REFLECT = 2,
\r
713 SVG_SPREADMETHOD_REPEAT = 3
\r
717 SVG_POINTEREVENTS_INHERIT = 0,
\r
718 SVG_POINTEREVENTS_ALL = 1,
\r
719 SVG_POINTEREVENTS_FILL = 2,
\r
720 SVG_POINTEREVENTS_NONE = 3,
\r
721 SVG_POINTEREVENTS_PAINTED = 4,
\r
722 SVG_POINTEREVENTS_STROKE = 5,
\r
723 SVG_POINTEREVENTS_VISIBLE = 6,
\r
724 SVG_POINTEREVENTS_VISIBLEFILL = 7,
\r
725 SVG_POINTEREVENTS_VISIBLEPAINTED = 8,
\r
726 SVG_POINTEREVENTS_VISIBLESTROKE = 9,
\r
727 SVG_POINTEREVENTS_BOUNDINGBOX = 10
\r
729 typedef u8 SVG_PointerEvents;
\r
732 SVG_RENDERINGHINT_INHERIT = 0,
\r
733 SVG_RENDERINGHINT_AUTO = 1,
\r
734 SVG_RENDERINGHINT_OPTIMIZEQUALITY = 2,
\r
735 SVG_RENDERINGHINT_OPTIMIZESPEED = 3,
\r
736 SVG_RENDERINGHINT_OPTIMIZELEGIBILITY = 4,
\r
737 SVG_RENDERINGHINT_CRISPEDGES = 5,
\r
738 SVG_RENDERINGHINT_GEOMETRICPRECISION = 6,
\r
741 typedef u8 SVG_RenderingHint;
\r
744 SVG_VECTOREFFECT_INHERIT = 0,
\r
745 SVG_VECTOREFFECT_NONE = 1,
\r
746 SVG_VECTOREFFECT_NONSCALINGSTROKE = 2,
\r
748 typedef u8 SVG_VectorEffect;
\r
751 XMLEVENT_PROPAGATE_CONTINUE = 0,
\r
752 XMLEVENT_PROPAGATE_STOP = 1
\r
754 typedef u8 XMLEV_Propagate;
\r
757 XMLEVENT_DEFAULTACTION_CANCEL = 0,
\r
758 XMLEVENT_DEFAULTACTION_PERFORM,
\r
761 typedef u8 XMLEV_DefaultAction;
\r
764 XMLEVENT_PHASE_DEFAULT = 0,
\r
765 XMLEVENT_PHASE_CAPTURE = 1
\r
767 typedef u8 XMLEV_Phase;
\r
770 SMIL_SYNCBEHAVIOR_INHERIT = 0,
\r
772 SMIL_SYNCBEHAVIOR_CANSLIP,
\r
773 SMIL_SYNCBEHAVIOR_DEFAULT,
\r
774 SMIL_SYNCBEHAVIOR_INDEPENDENT,
\r
775 SMIL_SYNCBEHAVIOR_LOCKED,
\r
777 typedef u8 SMIL_SyncBehavior;
\r
780 SMIL_SYNCTOLERANCE_INHERIT = 0,
\r
781 SMIL_SYNCTOLERANCE_DEFAULT = 1,
\r
782 SMIL_SYNCTOLERANCE_VALUE = 2
\r
788 } SMIL_SyncTolerance;
\r
791 SMIL_ATTRIBUTETYPE_CSS = 0,
\r
792 SMIL_ATTRIBUTETYPE_XML,
\r
793 SMIL_ATTRIBUTETYPE_AUTO,
\r
795 typedef u8 SMIL_AttributeType;
\r
798 SVG_PLAYBACKORDER_ALL = 0,
\r
799 SVG_PLAYBACKORDER_FORWARDONLY = 1,
\r
801 typedef u8 SVG_PlaybackOrder;
\r
804 SVG_TIMELINEBEGIN_ONLOAD=0,
\r
805 SVG_TIMELINEBEGIN_ONSTART,
\r
807 typedef u8 SVG_TimelineBegin;
\r
810 XML_SPACE_DEFAULT = 0,
\r
811 XML_SPACE_PRESERVE = 1
\r
813 typedef u8 XML_Space;
\r
817 SVG_GRADIENTUNITS_OBJECT = 0,
\r
818 SVG_GRADIENTUNITS_USER = 1
\r
820 typedef u8 SVG_GradientUnit;
\r
823 SVG_FOCUSHIGHLIGHT_AUTO = 0,
\r
824 SVG_FOCUSHIGHLIGHT_NONE = 1
\r
826 typedef u8 SVG_FocusHighlight;
\r
829 SVG_INITIALVISIBILTY_WHENSTARTED = 0,
\r
830 SVG_INITIALVISIBILTY_ALWAYS = 1
\r
832 typedef u8 SVG_InitialVisibility;
\r
835 SVG_TRANSFORMBEHAVIOR_GEOMETRIC = 0,
\r
836 SVG_TRANSFORMBEHAVIOR_PINNED,
\r
837 SVG_TRANSFORMBEHAVIOR_PINNED180,
\r
838 SVG_TRANSFORMBEHAVIOR_PINNED270,
\r
839 SVG_TRANSFORMBEHAVIOR_PINNED90,
\r
841 typedef u8 SVG_TransformBehavior;
\r
844 SVG_OVERLAY_NONE = 0,
\r
847 typedef u8 SVG_Overlay;
\r
850 SVG_FOCUSABLE_AUTO = 0,
\r
851 SVG_FOCUSABLE_TRUE,
\r
852 SVG_FOCUSABLE_FALSE,
\r
854 typedef u8 SVG_Focusable;
\r
858 SVG_SPREAD_PAD = 0,
\r
859 SVG_SPREAD_REFLECT,
\r
862 typedef u8 SVG_SpreadMethod;
\r
865 LASeR_CHOICE_ALL = 0,
\r
866 LASeR_CHOICE_NONE = 1,
\r
869 typedef u8 LASeR_Choice_enum;
\r
877 Fixed width, height;
\r
885 #endif /*_GF_SVG_SVG_TYPES_H_*/
\r