diff --git a/packages/rtl/pas2js_rtl.lpk b/packages/rtl/pas2js_rtl.lpk
index d2ef434..352932b 100644
--- a/packages/rtl/pas2js_rtl.lpk
+++ b/packages/rtl/pas2js_rtl.lpk
@@ -40,7 +40,7 @@
-
+
@@ -122,6 +122,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/rtl/websvg.pas b/packages/rtl/websvg.pas
new file mode 100644
index 0000000..48c5fc1
--- /dev/null
+++ b/packages/rtl/websvg.pas
@@ -0,0 +1,1753 @@
+unit websvg;
+
+{$MODE ObjFPC}
+{$H+}
+{$MODESWITCH externalclass}
+
+interface
+
+uses SysUtils, web, JS;
+
+type
+ // Forward class
+ TJSSVGSVGElement = class;
+ TJSSVGNumberList = class;
+ TJSSVGAngle = class;
+ TJSSVGAnimatedAngle = class;
+ TJSSVGAnimatedBoolean = class;
+ TJSSVGAnimatedEnumeration = class;
+ TJSSVGAnimatedInteger = class;
+ TJSSVGAnimatedLength = class;
+ TJSSVGAnimatedLengthList = class;
+ TJSSVGAnimatedNumber = class;
+ TJSSVGAnimatedNumberList = class;
+ TJSSVGAnimatedPreserveAspectRatio = class;
+ TJSSVGAnimatedRect = class;
+ TJSSVGAnimatedString = class;
+ TJSSVGAnimatedTransformList = class;
+ TJSSVGAnimateElement = class;
+ TJSSVGAnimateMotionElement = class;
+ TJSSVGAnimateTransformElement = class;
+ TJSSVGAnimationElement = class;
+ TJSSVGCircleElement = class;
+ TJSSVGClipPathElement = class;
+ TJSSVGComponentTransferFunctionElement = class;
+ TJSSVGDefsElement = class;
+ TJSSVGDescElement = class;
+ TJSSVGDiscardElement = class;
+ TJSSVGDocument = class;
+ TJSSVGElement = class;
+ TJSSVGEllipseElement = class;
+ TJSSVGFEBlendElement = class;
+ TJSSVGFEColorMatrixElement = class;
+ TJSSVGFEComponentTransferElement = class;
+ TJSSVGFECompositeElement = class;
+ TJSSVGFEConvolveMatrixElement = class;
+ TJSSVGFEDiffuseLightingElement = class;
+ TJSSVGFEDisplacementMapElement = class;
+ TJSSVGFEDistantLightElement = class;
+ TJSSVGFEDropShadowElement = class;
+ TJSSVGFEFloodElement = class;
+ TJSSVGFEFuncAElement = class;
+ TJSSVGFEFuncBElement = class;
+ TJSSVGFEFuncGElement = class;
+ TJSSVGFEFuncRElement = class;
+ TJSSVGFEGaussianBlurElement = class;
+ TJSSVGFEImageElement = class;
+ TJSSVGFEMergeElement = class;
+ TJSSVGFEMergeNodeElement = class;
+ TJSSVGFEMorphologyElement = class;
+ TJSSVGFEOffsetElement = class;
+ TJSSVGFEPointLightElement = class;
+ TJSSVGFESpecularLightingElement = class;
+ TJSSVGFESpotLightElement = class;
+ TJSSVGFETileElement = class;
+ TJSSVGFETurbulenceElement = class;
+ TJSSVGFilterElement = class;
+ TJSSVGFilterPrimitiveStandardAttributes = class;
+ TJSSVGFitToViewBox = class;
+ TJSSVGForeignObjectElement = class;
+ TJSSVGGElement = class;
+ TJSSVGGeometryElement = class;
+ TJSSVGGradientElement = class;
+ TJSSVGGraphicsElement = class;
+ TJSSVGImageElement = class;
+ TJSSVGLength = class;
+ TJSSVGLinearGradientElement = class;
+ TJSSVGLineElement = class;
+ TJSSVGMarkerElement = class;
+ TJSSVGMaskElement = class;
+ TJSSVGMatrix = class;
+ TJSSVGMetadataElement = class;
+ TJSSVGMPathElement = class;
+ TJSSVGNumber = class;
+ TJSSVGPathElement = class;
+ TJSSVGPatternElement = class;
+ TJSSVGPoint = class;
+ TJSSVGPolygonElement = class;
+ TJSSVGPolylineElement = class;
+ TJSSVGPreserveAspectRatio = class;
+ TJSSVGRadialGradientElement = class;
+ TJSSVGRect = class;
+ TJSSVGRectElement = class;
+ TJSSVGScriptElement = class;
+ TJSSVGSetElement = class;
+ TJSSVGStopElement = class;
+ TJSSVGStyleElement = class;
+ TJSSVGSwitchElement = class;
+ TJSSVGSymbolElement = class;
+ TJSSVGTests = class;
+ TJSSVGTextContentElement = class;
+ TJSSVGTextElement = class;
+ TJSSVGTextPathElement = class;
+ TJSSVGTextPositioningElement = class;
+ TJSSVGTitleElement = class;
+ TJSSVGTransform = class;
+ TJSSVGTSpanElement = class;
+ TJSSVGUnitTypes = class;
+ TJSSVGURIReference = class;
+ TJSSVGUseElement = class;
+ TJSSVGViewElement = class;
+ TJSSVGZoomAndPan = class;
+
+type
+ DOMStringMap = class external name 'DOMStringMap'
+ private
+ function GetItem(name: String): String; external name '[]';
+ procedure SetItem(name: String; value: String); external name '[]';
+ public
+ //procedure (name: String);
+ property Items[name: String]: String read GetItem write SetItem; default;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGElement
+ --------------------------------------------------------------------}
+ TJSSVGElement = class external name 'SVGElement'(TJSElement)
+ private
+ FclassName: TJSSVGAnimatedString; external name 'className';
+ Fdataset: DOMStringMap; external name 'dataset';
+ Fstyle: TJSCSSStyleDeclaration; external name 'style';
+ FownerSVGElement: TJSSVGSVGElement; external name 'ownerSVGElement';
+ FviewportElement: TJSSVGElement; external name 'viewportElement';
+ public
+ tabIndex: Integer;
+ procedure focus;
+ procedure blur;
+ property className: TJSSVGAnimatedString read FclassName;
+ property dataset: DOMStringMap read Fdataset;
+ property style: TJSCSSStyleDeclaration read Fstyle;
+ property ownerSVGElement: TJSSVGSVGElement read FownerSVGElement;
+ property viewportElement: TJSSVGElement read FviewportElement;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGGraphicsElement
+ --------------------------------------------------------------------}
+ TJSSVGGraphicsElement = class external name 'SVGGraphicsElement' (TJSSVGElement)
+ private
+ Ftransform: TJSSVGAnimatedTransformList; external name 'transform';
+ FnearestViewportElement: TJSSVGElement; external name 'nearestViewportElement';
+ FfarthestViewportElement: TJSSVGElement; external name
+ 'farthestViewportElement';
+ public
+ function getBBox: TJSSVGRect;
+ function getCTM: TJSSVGMatrix;
+ function getScreenCTM: TJSSVGMatrix;
+ property transform: TJSSVGAnimatedTransformList read Ftransform;
+ property nearestViewportElement: TJSSVGElement read FnearestViewportElement;
+ property farthestViewportElement: TJSSVGElement read FfarthestViewportElement;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGSVGElement
+ --------------------------------------------------------------------}
+ TJSSVGSVGElement = class external name 'SVGSVGElement' (TJSSVGGraphicsElement)
+ private
+ Fx: TJSSVGAnimatedLength; external name 'x';
+ Fy: TJSSVGAnimatedLength; external name 'y';
+ Fwidth: TJSSVGAnimatedLength; external name 'width';
+ Fheight: TJSSVGAnimatedLength; external name 'height';
+ FcurrentTranslate: TJSSVGPoint; external name 'currentTranslate';
+ public
+ currentScale: Double;
+ function getIntersectionList(rect: TJSSVGRect; referenceElement: TJSSVGElement):
+ TJSNodeList;
+ function getEnclosureList(rect: TJSSVGRect; referenceElement: TJSSVGElement):
+ TJSNodeList;
+ function checkIntersection(element: TJSSVGElement; rect: TJSSVGRect): boolean;
+ function checkEnclosure(element: TJSSVGElement; rect: TJSSVGRect): boolean;
+ procedure deselectAll;
+ function createSVGNumber: TJSSVGNumber;
+ function createSVGLength: TJSSVGLength;
+ function createSVGAngle: TJSSVGAngle;
+ function createSVGPoint: TJSSVGPoint;
+ function createSVGMatrix: TJSSVGMatrix;
+ function createSVGRect: TJSSVGRect;
+ function createSVGTransform: TJSSVGTransform;
+ function createSVGTransformFromMatrix(matrix: TJSSVGMatrix): TJSSVGTransform;
+ function getElementById(elementId: string): TJSElement;
+ function suspendRedraw(maxWaitMilliseconds: NativeInt): NativeInt;
+ procedure unsuspendRedraw(suspendHandleId: NativeInt);
+ procedure unsuspendRedrawAll;
+ procedure forceRedraw;
+ procedure pauseAnimations;
+ procedure unpauseAnimations;
+ function animationsPaused: boolean;
+ function getCurrentTime: Double;
+ procedure setCurrentTime(seconds: Double);
+ property x: TJSSVGAnimatedLength read Fx;
+ property y: TJSSVGAnimatedLength read Fy;
+ property width: TJSSVGAnimatedLength read Fwidth;
+ property height: TJSSVGAnimatedLength read Fheight;
+ property currentTranslate: TJSSVGPoint read FcurrentTranslate;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGAElement
+ --------------------------------------------------------------------}
+ TJSSVGAElement = class external name 'SVGAElement' (TJSSVGGraphicsElement)
+ private
+ Ftarget: TJSSVGAnimatedString; external name 'target';
+ public
+ property target: TJSSVGAnimatedString read Ftarget;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGAngle
+ --------------------------------------------------------------------}
+ TJSSVGAngle = class external name 'SVGAngle'
+ private
+ FunitType: Cardinal; external name 'unitType';
+ public
+ const
+ SVG_ANGLETYPE_UNKNOWN = 0;
+ SVG_ANGLETYPE_UNSPECIFIED = 1;
+ SVG_ANGLETYPE_DEG = 2;
+ SVG_ANGLETYPE_RAD = 3;
+ SVG_ANGLETYPE_GRAD = 4;
+ Public
+ value: Double;
+ valueInSpecifiedUnits: Double;
+ valueAsString: string;
+ procedure newValueSpecifiedUnits(unitType: Cardinal; valueInSpecifiedUnits: Double);
+ procedure convertToSpecifiedUnits(unitType: Cardinal);
+ property unitType: Cardinal read FunitType;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGAnimatedAngle
+ --------------------------------------------------------------------}
+ TJSSVGAnimatedAngle = class external name 'SVGAnimatedAngle'
+ private
+ FbaseVal: TJSSVGAngle; external name 'baseVal';
+ FanimVal: TJSSVGAngle; external name 'animVal';
+ public
+ property baseVal: TJSSVGAngle read FbaseVal;
+ property animVal: TJSSVGAngle read FanimVal;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGAnimatedBoolean
+ --------------------------------------------------------------------}
+ TJSSVGAnimatedBoolean = class external name 'SVGAnimatedBoolean'
+ private
+ FanimVal: boolean; external name 'animVal';
+ public
+ baseVal: boolean;
+ property animVal: boolean read FanimVal;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGAnimatedEnumeration
+ --------------------------------------------------------------------}
+ TJSSVGAnimatedEnumeration = class external name 'SVGAnimatedEnumeration'
+ private
+ FanimVal: Cardinal; external name 'animVal';
+ public
+ baseVal: Cardinal;
+ property animVal: Cardinal read FanimVal;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGAnimatedInteger
+ --------------------------------------------------------------------}
+ TJSSVGAnimatedInteger = class external name 'SVGAnimatedInteger'
+ private
+ FanimVal: Integer; external name 'animVal';
+ public
+ baseVal: Integer;
+ property animVal: Integer read FanimVal;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGAnimatedLength
+ --------------------------------------------------------------------}
+ TJSSVGAnimatedLength = class external name 'SVGAnimatedLength'
+ private
+ FbaseVal: TJSSVGLength; external name 'baseVal';
+ FanimVal: TJSSVGLength; external name 'animVal';
+ public
+ property baseVal: TJSSVGLength read FbaseVal;
+ property animVal: TJSSVGLength read FanimVal;
+ end;
+
+{ --------------------------------------------------------------------
+ TJSSVGLengthList
+ --------------------------------------------------------------------}
+ TJSSVGLengthList = class external name 'SVGLengthList'
+ public
+ numberOfItems: Integer;
+ procedure clear;
+ function initialize(newItem: TJSSVGLength): TJSSVGLength;
+ function getItem(&index: Integer): TJSSVGLength;
+ function insertItemBefore(newItem: TJSSVGLength; &index: Integer): TJSSVGLength;
+ function replaceItem(newItem: TJSSVGLength; &index: Integer): TJSSVGLength;
+ function removeItem(&index: Integer): TJSSVGLength;
+ function appendItem(newItem: TJSSVGLength): TJSSVGLength;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGAnimatedLengthList
+ --------------------------------------------------------------------}
+ TJSSVGAnimatedLengthList = class external name 'SVGAnimatedLengthList'
+ private
+ FbaseVal: TJSSVGLengthList; external name 'baseVal';
+ FanimVal: TJSSVGLengthList; external name 'animVal';
+ public
+ property baseVal: TJSSVGLengthList read FbaseVal;
+ property animVal: TJSSVGLengthList read FanimVal;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGAnimatedNumber
+ --------------------------------------------------------------------}
+ TJSSVGAnimatedNumber = class external name 'SVGAnimatedNumber'
+ private
+ FanimVal: Double; external name 'animVal';
+ public
+ baseVal: Double;
+ property animVal: Double read FanimVal;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGNumberList
+ --------------------------------------------------------------------}
+ TJSSVGNumberList = class external name 'SVGNumberList'
+ public
+ numberOfItems: Integer;
+ procedure clear;
+ function initialize(newItem: TJSSVGNumber): TJSSVGNumber;
+ function getItem(&index: Integer): TJSSVGNumber;
+ function insertItemBefore(newItem: TJSSVGNumber; &index: Integer): TJSSVGNumber;
+ function replaceItem(newItem: TJSSVGNumber; &index: Integer): TJSSVGNumber;
+ function removeItem(&index: Integer): TJSSVGNumber;
+ function appendItem(newItem: TJSSVGNumber): TJSSVGNumber;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGAnimatedNumberList
+ --------------------------------------------------------------------}
+ TJSSVGAnimatedNumberList = class external name 'SVGAnimatedNumberList'
+ private
+ FbaseVal: TJSSVGNumberList; external name 'baseVal';
+ FanimVal: TJSSVGNumberList; external name 'animVal';
+ public
+ property baseVal: TJSSVGNumberList read FbaseVal;
+ property animVal: TJSSVGNumberList read FanimVal;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGAnimatedPreserveAspectRatio
+ --------------------------------------------------------------------}
+ TJSSVGAnimatedPreserveAspectRatio = class external name
+ 'SVGAnimatedPreserveAspectRatio'
+ private
+ FbaseVal: TJSSVGPreserveAspectRatio; external name 'baseVal';
+ FanimVal: TJSSVGPreserveAspectRatio; external name 'animVal';
+ public
+ property baseVal: TJSSVGPreserveAspectRatio read FbaseVal;
+ property animVal: TJSSVGPreserveAspectRatio read FanimVal;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGAnimatedRect
+ --------------------------------------------------------------------}
+ TJSSVGAnimatedRect = class external name 'SVGAnimatedRect'
+ private
+ FbaseVal: TJSSVGRect; external name 'baseVal';
+ FanimVal: TJSSVGRect; external name 'animVal';
+ public
+ property baseVal: TJSSVGRect read FbaseVal;
+ property animVal: TJSSVGRect read FanimVal;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGAnimatedString
+ --------------------------------------------------------------------}
+ TJSSVGAnimatedString = class external name 'SVGAnimatedString'
+ private
+ FanimVal: string; external name 'animVal';
+ public
+ baseVal: string;
+ property animVal: string read FanimVal;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGTransformList
+ --------------------------------------------------------------------}
+ TJSSVGTransformList = class external name 'SVGTransformList'
+ public
+ numberOfItems: Integer;
+ procedure clear;
+ function initialize(newItem: TJSSVGTransform): TJSSVGTransform;
+ function getItem(&index: Integer): TJSSVGTransform;
+ function insertItemBefore(newItem: TJSSVGTransform; &index: Integer): TJSSVGTransform;
+ function replaceItem(newItem: TJSSVGTransform; &index: Integer): TJSSVGTransform;
+ function removeItem(&index: Integer): TJSSVGTransform;
+ function appendItem(newItem: TJSSVGTransform): TJSSVGTransform;
+ function createSVGTransformFromMatrix(matrix: TJSSVGMatrix): TJSSVGTransform;
+ function consolidate: TJSSVGTransform;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGAnimatedTransformList
+ --------------------------------------------------------------------}
+ TJSSVGAnimatedTransformList = class external name 'SVGAnimatedTransformList'
+ private
+ FbaseVal: TJSSVGTransformList; external name 'baseVal';
+ FanimVal: TJSSVGTransformList; external name 'animVal';
+ public
+ property baseVal: TJSSVGTransformList read FbaseVal;
+ property animVal: TJSSVGTransformList read FanimVal;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGAnimationElement
+ --------------------------------------------------------------------}
+ TJSSVGAnimationElement = class external name 'SVGAnimationElement' (TJSSVGElement)
+ private
+ FtargetElement: TJSSVGElement; external name 'targetElement';
+ public
+ onbegin: TJSEventHandler;
+ onend: TJSEventHandler;
+ onrepeat: TJSEventHandler;
+ function getStartTime: Double;
+ function getCurrentTime: Double;
+ function getSimpleDuration: Double;
+ procedure beginElement;
+ procedure beginElementAt(offset: Double);
+ procedure endElement;
+ procedure endElementAt(offset: Double);
+ property targetElement: TJSSVGElement read FtargetElement;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGAnimateElement
+ --------------------------------------------------------------------}
+ TJSSVGAnimateElement = class external name 'SVGAnimateElement' (TJSSVGAnimationElement)
+ private
+ public
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGAnimateMotionElement
+ --------------------------------------------------------------------}
+ TJSSVGAnimateMotionElement = class external name 'SVGAnimateMotionElement' (TJSSVGAnimationElement)
+ private
+ public
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGAnimateTransformElement
+ --------------------------------------------------------------------}
+ TJSSVGAnimateTransformElement = class external name
+ 'SVGAnimateTransformElement' (TJSSVGAnimationElement)
+ private
+ public
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGGeometryElement
+ --------------------------------------------------------------------}
+ TJSSVGGeometryElement = class external name 'SVGGeometryElement' (TJSSVGGraphicsElement)
+ private
+ FpathLength: TJSSVGAnimatedNumber; external name 'pathLength';
+ public
+ function isPointInFill(point: TJSSVGPoint): boolean;
+ function isPointInStroke(point: TJSSVGPoint): boolean;
+ function getTotalLength: Double;
+ function getPointAtLength(distance: Double): TJSSVGPoint;
+ property pathLength: TJSSVGAnimatedNumber read FpathLength;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGCircleElement
+ --------------------------------------------------------------------}
+ TJSSVGCircleElement = class external name 'SVGCircleElement' (TJSSVGGeometryElement)
+ private
+ Fcx: TJSSVGAnimatedLength; external name 'cx';
+ Fcy: TJSSVGAnimatedLength; external name 'cy';
+ Fr: TJSSVGAnimatedLength; external name 'r';
+ public
+ property cx: TJSSVGAnimatedLength read Fcx;
+ property cy: TJSSVGAnimatedLength read Fcy;
+ property r: TJSSVGAnimatedLength read Fr;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGClipPathElement
+ --------------------------------------------------------------------}
+ TJSSVGClipPathElement = class external name
+ 'SVGClipPathElement' (TJSSVGGraphicsElement)
+ private
+ FclipPathUnits: TJSSVGAnimatedEnumeration; external name 'clipPathUnits';
+ public
+ property clipPathUnits: TJSSVGAnimatedEnumeration read FclipPathUnits;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGComponentTransferFunctionElement
+ --------------------------------------------------------------------}
+ TJSSVGComponentTransferFunctionElement = class external name
+ 'SVGComponentTransferFunctionElement' (TJSSVGElement)
+ private
+ Ftype_: TJSSVGAnimatedEnumeration; external name 'type';
+ FtableValues: TJSSVGAnimatedNumberList; external name 'tableValues';
+ Fslope: TJSSVGAnimatedNumber; external name 'slope';
+ Fintercept: TJSSVGAnimatedNumber; external name 'intercept';
+ Famplitude: TJSSVGAnimatedNumber; external name 'amplitude';
+ Fexponent: TJSSVGAnimatedNumber; external name 'exponent';
+ Foffset: TJSSVGAnimatedNumber; external name 'offset';
+ public
+ const
+ SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN = 0;
+ SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY = 1;
+ SVG_FECOMPONENTTRANSFER_TYPE_TABLE = 2;
+ SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE = 3;
+ SVG_FECOMPONENTTRANSFER_TYPE_LINEAR = 4;
+ SVG_FECOMPONENTTRANSFER_TYPE_GAMMA = 5;
+ Public
+ property type_: TJSSVGAnimatedEnumeration read Ftype_;
+ property tableValues: TJSSVGAnimatedNumberList read FtableValues;
+ property slope: TJSSVGAnimatedNumber read Fslope;
+ property intercept: TJSSVGAnimatedNumber read Fintercept;
+ property amplitude: TJSSVGAnimatedNumber read Famplitude;
+ property exponent: TJSSVGAnimatedNumber read Fexponent;
+ property offset: TJSSVGAnimatedNumber read Foffset;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGDefsElement
+ --------------------------------------------------------------------}
+ TJSSVGDefsElement = class external name 'SVGDefsElement' (TJSSVGGraphicsElement)
+ private
+ public
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGDescElement
+ --------------------------------------------------------------------}
+ TJSSVGDescElement = class external name 'SVGDescElement' (TJSSVGElement)
+ private
+ public
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGDocument
+ --------------------------------------------------------------------}
+ TJSSVGDocument = class external name 'SVGDocument' (TJSDocument)
+ public
+ Ftitle: String; external name 'tile';
+ Freferrer: String; external name 'referrer';
+ Fdomain: String; external name 'domain';
+ fURL: String; external name 'URL';
+ rootElement: TJSSVGSVGElement;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGDiscardElement
+ --------------------------------------------------------------------}
+ TJSSVGDiscardElement = class external name 'SVGDiscardElement' (TJSSVGElement)
+ private
+ public
+ end;
+
+ { --------------------------------------------------------------------
+ TJSDocument
+ --------------------------------------------------------------------}
+ TJSDocument = class external name 'Document'
+ private
+ FrootElement: TJSSVGSVGElement; external name 'rootElement';
+ public
+ property rootElement: TJSSVGSVGElement read FrootElement;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGEllipseElement
+ --------------------------------------------------------------------}
+ TJSSVGEllipseElement = class external name
+ 'SVGEllipseElement' (TJSSVGGeometryElement)
+ private
+ Fcx: TJSSVGAnimatedLength; external name 'cx';
+ Fcy: TJSSVGAnimatedLength; external name 'cy';
+ Frx: TJSSVGAnimatedLength; external name 'rx';
+ Fry: TJSSVGAnimatedLength; external name 'ry';
+ public
+ property cx: TJSSVGAnimatedLength read Fcx;
+ property cy: TJSSVGAnimatedLength read Fcy;
+ property rx: TJSSVGAnimatedLength read Frx;
+ property ry: TJSSVGAnimatedLength read Fry;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGFEBlendElement
+ --------------------------------------------------------------------}
+ TJSSVGFEBlendElement = class external name 'SVGFEBlendElement' (TJSSVGElement)
+ private
+ Fin1: TJSSVGAnimatedString; external name 'in1';
+ Fin2: TJSSVGAnimatedString; external name 'in2';
+ Fmode: TJSSVGAnimatedEnumeration; external name 'mode';
+ public
+ const
+ SVG_FEBLEND_MODE_UNKNOWN = 0;
+ SVG_FEBLEND_MODE_NORMAL = 1;
+ SVG_FEBLEND_MODE_MULTIPLY = 2;
+ SVG_FEBLEND_MODE_SCREEN = 3;
+ SVG_FEBLEND_MODE_DARKEN = 4;
+ SVG_FEBLEND_MODE_LIGHTEN = 5;
+ Public
+ property in1: TJSSVGAnimatedString read Fin1;
+ property in2: TJSSVGAnimatedString read Fin2;
+ property mode: TJSSVGAnimatedEnumeration read Fmode;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGFEColorMatrixElement
+ --------------------------------------------------------------------}
+ TJSSVGFEColorMatrixElement = class external name
+ 'SVGFEColorMatrixElement' (TJSSVGElement)
+ private
+ Fin1: TJSSVGAnimatedString; external name 'in1';
+ Ftype_: TJSSVGAnimatedEnumeration; external name 'type';
+ Fvalues: TJSSVGAnimatedNumberList; external name 'values';
+ public
+ const
+ SVG_FECOLORMATRIX_TYPE_UNKNOWN = 0;
+ SVG_FECOLORMATRIX_TYPE_MATRIX = 1;
+ SVG_FECOLORMATRIX_TYPE_SATURATE = 2;
+ SVG_FECOLORMATRIX_TYPE_HUEROTATE = 3;
+ SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA = 4;
+ Public
+ property in1: TJSSVGAnimatedString read Fin1;
+ property type_: TJSSVGAnimatedEnumeration read Ftype_;
+ property values: TJSSVGAnimatedNumberList read Fvalues;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGFEComponentTransferElement
+ --------------------------------------------------------------------}
+ TJSSVGFEComponentTransferElement = class external name
+ 'SVGFEComponentTransferElement' (TJSSVGElement)
+ private
+ Fin1: TJSSVGAnimatedString; external name 'in1';
+ public
+ property in1: TJSSVGAnimatedString read Fin1;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGFECompositeElement
+ --------------------------------------------------------------------}
+ TJSSVGFECompositeElement = class external name
+ 'SVGFECompositeElement' (TJSSVGElement)
+ private
+ Fin2: TJSSVGAnimatedString; external name 'in2';
+ Fin1: TJSSVGAnimatedString; external name 'in1';
+ Foperator_: TJSSVGAnimatedEnumeration; external name 'operator';
+ Fk1: TJSSVGAnimatedNumber; external name 'k1';
+ Fk2: TJSSVGAnimatedNumber; external name 'k2';
+ Fk3: TJSSVGAnimatedNumber; external name 'k3';
+ Fk4: TJSSVGAnimatedNumber; external name 'k4';
+ public
+ const
+ SVG_FECOMPOSITE_OPERATOR_UNKNOWN = 0;
+ SVG_FECOMPOSITE_OPERATOR_OVER = 1;
+ SVG_FECOMPOSITE_OPERATOR_IN = 2;
+ SVG_FECOMPOSITE_OPERATOR_OUT = 3;
+ SVG_FECOMPOSITE_OPERATOR_ATOP = 4;
+ SVG_FECOMPOSITE_OPERATOR_XOR = 5;
+ SVG_FECOMPOSITE_OPERATOR_ARITHMETIC = 6;
+ Public
+ property in2: TJSSVGAnimatedString read Fin2;
+ property in1: TJSSVGAnimatedString read Fin1;
+ property operator_: TJSSVGAnimatedEnumeration read Foperator_;
+ property k1: TJSSVGAnimatedNumber read Fk1;
+ property k2: TJSSVGAnimatedNumber read Fk2;
+ property k3: TJSSVGAnimatedNumber read Fk3;
+ property k4: TJSSVGAnimatedNumber read Fk4;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGFEConvolveMatrixElement
+ --------------------------------------------------------------------}
+ TJSSVGFEConvolveMatrixElement = class external name
+ 'SVGFEConvolveMatrixElement' (TJSSVGElement)
+ private
+ Fin1: TJSSVGAnimatedString; external name 'in1';
+ ForderX: TJSSVGAnimatedInteger; external name 'orderX';
+ ForderY: TJSSVGAnimatedInteger; external name 'orderY';
+ FkernelMatrix: TJSSVGAnimatedNumberList; external name 'kernelMatrix';
+ Fdivisor: TJSSVGAnimatedNumber; external name 'divisor';
+ Fbias: TJSSVGAnimatedNumber; external name 'bias';
+ FtargetX: TJSSVGAnimatedInteger; external name 'targetX';
+ FtargetY: TJSSVGAnimatedInteger; external name 'targetY';
+ FedgeMode: TJSSVGAnimatedEnumeration; external name 'edgeMode';
+ FkernelUnitLengthX: TJSSVGAnimatedNumber; external name 'kernelUnitLengthX';
+ FkernelUnitLengthY: TJSSVGAnimatedNumber; external name 'kernelUnitLengthY';
+ FpreserveAlpha: TJSSVGAnimatedBoolean; external name 'preserveAlpha';
+ public
+ const
+ SVG_EDGEMODE_UNKNOWN = 0;
+ SVG_EDGEMODE_DUPLICATE = 1;
+ SVG_EDGEMODE_WRAP = 2;
+ SVG_EDGEMODE_NONE = 3;
+ Public
+ property in1: TJSSVGAnimatedString read Fin1;
+ property orderX: TJSSVGAnimatedInteger read ForderX;
+ property orderY: TJSSVGAnimatedInteger read ForderY;
+ property kernelMatrix: TJSSVGAnimatedNumberList read FkernelMatrix;
+ property divisor: TJSSVGAnimatedNumber read Fdivisor;
+ property bias: TJSSVGAnimatedNumber read Fbias;
+ property targetX: TJSSVGAnimatedInteger read FtargetX;
+ property targetY: TJSSVGAnimatedInteger read FtargetY;
+ property edgeMode: TJSSVGAnimatedEnumeration read FedgeMode;
+ property kernelUnitLengthX: TJSSVGAnimatedNumber read FkernelUnitLengthX;
+ property kernelUnitLengthY: TJSSVGAnimatedNumber read FkernelUnitLengthY;
+ property preserveAlpha: TJSSVGAnimatedBoolean read FpreserveAlpha;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGFEDiffuseLightingElement
+ --------------------------------------------------------------------}
+ TJSSVGFEDiffuseLightingElement = class external name
+ 'SVGFEDiffuseLightingElement' (TJSSVGElement)
+ private
+ Fin1: TJSSVGAnimatedString; external name 'in1';
+ FsurfaceScale: TJSSVGAnimatedNumber; external name 'surfaceScale';
+ FdiffuseConstant: TJSSVGAnimatedNumber; external name 'diffuseConstant';
+ FkernelUnitLengthX: TJSSVGAnimatedNumber; external name 'kernelUnitLengthX';
+ FkernelUnitLengthY: TJSSVGAnimatedNumber; external name 'kernelUnitLengthY';
+ public
+ property in1: TJSSVGAnimatedString read Fin1;
+ property surfaceScale: TJSSVGAnimatedNumber read FsurfaceScale;
+ property diffuseConstant: TJSSVGAnimatedNumber read FdiffuseConstant;
+ property kernelUnitLengthX: TJSSVGAnimatedNumber read FkernelUnitLengthX;
+ property kernelUnitLengthY: TJSSVGAnimatedNumber read FkernelUnitLengthY;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGFEDisplacementMapElement
+ --------------------------------------------------------------------}
+ TJSSVGFEDisplacementMapElement = class external name
+ 'SVGFEDisplacementMapElement' (TJSSVGElement)
+ private
+ Fin1: TJSSVGAnimatedString; external name 'in1';
+ Fin2: TJSSVGAnimatedString; external name 'in2';
+ Fscale: TJSSVGAnimatedNumber; external name 'scale';
+ FxChannelSelector: TJSSVGAnimatedEnumeration; external name 'xChannelSelector';
+ FyChannelSelector: TJSSVGAnimatedEnumeration; external name 'yChannelSelector';
+ public
+ const
+ SVG_CHANNEL_UNKNOWN = 0;
+ SVG_CHANNEL_R = 1;
+ SVG_CHANNEL_G = 2;
+ SVG_CHANNEL_B = 3;
+ SVG_CHANNEL_A = 4;
+ Public
+ property in1: TJSSVGAnimatedString read Fin1;
+ property in2: TJSSVGAnimatedString read Fin2;
+ property scale: TJSSVGAnimatedNumber read Fscale;
+ property xChannelSelector: TJSSVGAnimatedEnumeration read FxChannelSelector;
+ property yChannelSelector: TJSSVGAnimatedEnumeration read FyChannelSelector;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGFEDistantLightElement
+ --------------------------------------------------------------------}
+ TJSSVGFEDistantLightElement = class external name
+ 'SVGFEDistantLightElement' (TJSSVGElement)
+ private
+ Fazimuth: TJSSVGAnimatedNumber; external name 'azimuth';
+ Felevation: TJSSVGAnimatedNumber; external name 'elevation';
+ public
+ property azimuth: TJSSVGAnimatedNumber read Fazimuth;
+ property elevation: TJSSVGAnimatedNumber read Felevation;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGFEDropShadowElement
+ --------------------------------------------------------------------}
+ TJSSVGFEDropShadowElement = class external name
+ 'SVGFEDropShadowElement' (TJSSVGElement)
+ private
+ Fin1: TJSSVGAnimatedString; external name 'in1';
+ Fdx: TJSSVGAnimatedNumber; external name 'dx';
+ Fdy: TJSSVGAnimatedNumber; external name 'dy';
+ FstdDeviationX: TJSSVGAnimatedNumber; external name 'stdDeviationX';
+ FstdDeviationY: TJSSVGAnimatedNumber; external name 'stdDeviationY';
+ public
+ procedure setStdDeviation(stdDeviationX: Double; stdDeviationY: Double);
+ property in1: TJSSVGAnimatedString read Fin1;
+ property dx: TJSSVGAnimatedNumber read Fdx;
+ property dy: TJSSVGAnimatedNumber read Fdy;
+ property stdDeviationX: TJSSVGAnimatedNumber read FstdDeviationX;
+ property stdDeviationY: TJSSVGAnimatedNumber read FstdDeviationY;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGFEFloodElement
+ --------------------------------------------------------------------}
+ TJSSVGFEFloodElement = class external name 'SVGFEFloodElement' (TJSSVGElement)
+ private
+ public
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGFEFuncAElement
+ --------------------------------------------------------------------}
+ TJSSVGFEFuncAElement = class external name
+ 'SVGFEFuncAElement' (TJSSVGComponentTransferFunctionElement)
+ private
+ public
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGFEFuncBElement
+ --------------------------------------------------------------------}
+ TJSSVGFEFuncBElement = class external name
+ 'SVGFEFuncBElement' (TJSSVGComponentTransferFunctionElement)
+ private
+ public
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGFEFuncGElement
+ --------------------------------------------------------------------}
+ TJSSVGFEFuncGElement = class external name
+ 'SVGFEFuncGElement' (TJSSVGComponentTransferFunctionElement)
+ private
+ public
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGFEFuncRElement
+ --------------------------------------------------------------------}
+ TJSSVGFEFuncRElement = class external name
+ 'SVGFEFuncRElement' (TJSSVGComponentTransferFunctionElement)
+ private
+ public
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGFEGaussianBlurElement
+ --------------------------------------------------------------------}
+ TJSSVGFEGaussianBlurElement = class external name
+ 'SVGFEGaussianBlurElement' (TJSSVGElement)
+ private
+ Fin1: TJSSVGAnimatedString; external name 'in1';
+ FstdDeviationX: TJSSVGAnimatedNumber; external name 'stdDeviationX';
+ FstdDeviationY: TJSSVGAnimatedNumber; external name 'stdDeviationY';
+ public
+ procedure setStdDeviation(stdDeviationX: Double; stdDeviationY: Double);
+ property in1: TJSSVGAnimatedString read Fin1;
+ property stdDeviationX: TJSSVGAnimatedNumber read FstdDeviationX;
+ property stdDeviationY: TJSSVGAnimatedNumber read FstdDeviationY;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGFEImageElement
+ --------------------------------------------------------------------}
+ TJSSVGFEImageElement = class external name 'SVGFEImageElement' (TJSSVGElement)
+ private
+ FpreserveAspectRatio: TJSSVGAnimatedPreserveAspectRatio; external name
+ 'preserveAspectRatio';
+ public
+ property preserveAspectRatio: TJSSVGAnimatedPreserveAspectRatio read
+ FpreserveAspectRatio;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGFEMergeElement
+ --------------------------------------------------------------------}
+ TJSSVGFEMergeElement = class external name 'SVGFEMergeElement' (TJSSVGElement)
+ private
+ public
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGFEMergeNodeElement
+ --------------------------------------------------------------------}
+ TJSSVGFEMergeNodeElement = class external name
+ 'SVGFEMergeNodeElement' (TJSSVGElement)
+ private
+ Fin1: TJSSVGAnimatedString; external name 'in1';
+ public
+ property in1: TJSSVGAnimatedString read Fin1;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGFEMorphologyElement
+ --------------------------------------------------------------------}
+ TJSSVGFEMorphologyElement = class external name
+ 'SVGFEMorphologyElement' (TJSSVGElement)
+ private
+ Fin1: TJSSVGAnimatedString; external name 'in1';
+ Foperator_: TJSSVGAnimatedEnumeration; external name 'operator';
+ FradiusX: TJSSVGAnimatedNumber; external name 'radiusX';
+ FradiusY: TJSSVGAnimatedNumber; external name 'radiusY';
+ public
+ const
+ SVG_MORPHOLOGY_OPERATOR_UNKNOWN = 0;
+ SVG_MORPHOLOGY_OPERATOR_ERODE = 1;
+ SVG_MORPHOLOGY_OPERATOR_DILATE = 2;
+ Public
+ property in1: TJSSVGAnimatedString read Fin1;
+ property operator_: TJSSVGAnimatedEnumeration read Foperator_;
+ property radiusX: TJSSVGAnimatedNumber read FradiusX;
+ property radiusY: TJSSVGAnimatedNumber read FradiusY;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGFEOffsetElement
+ --------------------------------------------------------------------}
+ TJSSVGFEOffsetElement = class external name 'SVGFEOffsetElement' (TJSSVGElement)
+ private
+ Fin1: TJSSVGAnimatedString; external name 'in1';
+ Fdx: TJSSVGAnimatedNumber; external name 'dx';
+ Fdy: TJSSVGAnimatedNumber; external name 'dy';
+ public
+ property in1: TJSSVGAnimatedString read Fin1;
+ property dx: TJSSVGAnimatedNumber read Fdx;
+ property dy: TJSSVGAnimatedNumber read Fdy;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGFEPointLightElement
+ --------------------------------------------------------------------}
+ TJSSVGFEPointLightElement = class external name
+ 'SVGFEPointLightElement' (TJSSVGElement)
+ private
+ Fx: TJSSVGAnimatedNumber; external name 'x';
+ Fy: TJSSVGAnimatedNumber; external name 'y';
+ Fz: TJSSVGAnimatedNumber; external name 'z';
+ public
+ property x: TJSSVGAnimatedNumber read Fx;
+ property y: TJSSVGAnimatedNumber read Fy;
+ property z: TJSSVGAnimatedNumber read Fz;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGFESpecularLightingElement
+ --------------------------------------------------------------------}
+ TJSSVGFESpecularLightingElement = class external name
+ 'SVGFESpecularLightingElement' (TJSSVGElement)
+ private
+ Fin1: TJSSVGAnimatedString; external name 'in1';
+ FsurfaceScale: TJSSVGAnimatedNumber; external name 'surfaceScale';
+ FspecularConstant: TJSSVGAnimatedNumber; external name 'specularConstant';
+ FspecularExponent: TJSSVGAnimatedNumber; external name 'specularExponent';
+ FkernelUnitLengthX: TJSSVGAnimatedNumber; external name 'kernelUnitLengthX';
+ FkernelUnitLengthY: TJSSVGAnimatedNumber; external name 'kernelUnitLengthY';
+ public
+ property in1: TJSSVGAnimatedString read Fin1;
+ property surfaceScale: TJSSVGAnimatedNumber read FsurfaceScale;
+ property specularConstant: TJSSVGAnimatedNumber read FspecularConstant;
+ property specularExponent: TJSSVGAnimatedNumber read FspecularExponent;
+ property kernelUnitLengthX: TJSSVGAnimatedNumber read FkernelUnitLengthX;
+ property kernelUnitLengthY: TJSSVGAnimatedNumber read FkernelUnitLengthY;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGFESpotLightElement
+ --------------------------------------------------------------------}
+ TJSSVGFESpotLightElement = class external name
+ 'SVGFESpotLightElement' (TJSSVGElement)
+ private
+ Fx: TJSSVGAnimatedNumber; external name 'x';
+ Fy: TJSSVGAnimatedNumber; external name 'y';
+ Fz: TJSSVGAnimatedNumber; external name 'z';
+ FpointsAtX: TJSSVGAnimatedNumber; external name 'pointsAtX';
+ FpointsAtY: TJSSVGAnimatedNumber; external name 'pointsAtY';
+ FpointsAtZ: TJSSVGAnimatedNumber; external name 'pointsAtZ';
+ FspecularExponent: TJSSVGAnimatedNumber; external name 'specularExponent';
+ FlimitingConeAngle: TJSSVGAnimatedNumber; external name 'limitingConeAngle';
+ public
+ property x: TJSSVGAnimatedNumber read Fx;
+ property y: TJSSVGAnimatedNumber read Fy;
+ property z: TJSSVGAnimatedNumber read Fz;
+ property pointsAtX: TJSSVGAnimatedNumber read FpointsAtX;
+ property pointsAtY: TJSSVGAnimatedNumber read FpointsAtY;
+ property pointsAtZ: TJSSVGAnimatedNumber read FpointsAtZ;
+ property specularExponent: TJSSVGAnimatedNumber read FspecularExponent;
+ property limitingConeAngle: TJSSVGAnimatedNumber read FlimitingConeAngle;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGFETileElement
+ --------------------------------------------------------------------}
+ TJSSVGFETileElement = class external name 'SVGFETileElement' (TJSSVGElement)
+ private
+ Fin1: TJSSVGAnimatedString; external name 'in1';
+ public
+ property in1: TJSSVGAnimatedString read Fin1;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGFETurbulenceElement
+ --------------------------------------------------------------------}
+ TJSSVGFETurbulenceElement = class external name
+ 'SVGFETurbulenceElement' (TJSSVGElement)
+ private
+ FbaseFrequencyX: TJSSVGAnimatedNumber; external name 'baseFrequencyX';
+ FbaseFrequencyY: TJSSVGAnimatedNumber; external name 'baseFrequencyY';
+ FnumOctaves: TJSSVGAnimatedInteger; external name 'numOctaves';
+ Fseed: TJSSVGAnimatedNumber; external name 'seed';
+ FstitchTiles: TJSSVGAnimatedEnumeration; external name 'stitchTiles';
+ Ftype_: TJSSVGAnimatedEnumeration; external name 'type';
+ public
+ const
+ SVG_TURBULENCE_TYPE_UNKNOWN = 0;
+ SVG_TURBULENCE_TYPE_FRACTALNOISE = 1;
+ SVG_TURBULENCE_TYPE_TURBULENCE = 2;
+ SVG_STITCHTYPE_UNKNOWN = 0;
+ SVG_STITCHTYPE_STITCH = 1;
+ SVG_STITCHTYPE_NOSTITCH = 2;
+ Public
+ property baseFrequencyX: TJSSVGAnimatedNumber read FbaseFrequencyX;
+ property baseFrequencyY: TJSSVGAnimatedNumber read FbaseFrequencyY;
+ property numOctaves: TJSSVGAnimatedInteger read FnumOctaves;
+ property seed: TJSSVGAnimatedNumber read Fseed;
+ property stitchTiles: TJSSVGAnimatedEnumeration read FstitchTiles;
+ property type_: TJSSVGAnimatedEnumeration read Ftype_;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGFilterElement
+ --------------------------------------------------------------------}
+ TJSSVGFilterElement = class external name 'SVGFilterElement' (TJSSVGElement)
+ private
+ FfilterUnits: TJSSVGAnimatedEnumeration; external name 'filterUnits';
+ FprimitiveUnits: TJSSVGAnimatedEnumeration; external name 'primitiveUnits';
+ Fx: TJSSVGAnimatedLength; external name 'x';
+ Fy: TJSSVGAnimatedLength; external name 'y';
+ Fwidth: TJSSVGAnimatedLength; external name 'width';
+ Fheight: TJSSVGAnimatedLength; external name 'height';
+ public
+ property filterUnits: TJSSVGAnimatedEnumeration read FfilterUnits;
+ property primitiveUnits: TJSSVGAnimatedEnumeration read FprimitiveUnits;
+ property x: TJSSVGAnimatedLength read Fx;
+ property y: TJSSVGAnimatedLength read Fy;
+ property width: TJSSVGAnimatedLength read Fwidth;
+ property height: TJSSVGAnimatedLength read Fheight;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGFilterPrimitiveStandardAttributes
+ --------------------------------------------------------------------}
+ TJSSVGFilterPrimitiveStandardAttributes = class external name
+ 'SVGFilterPrimitiveStandardAttributes'
+ private
+ Fx: TJSSVGAnimatedLength; external name 'x';
+ Fy: TJSSVGAnimatedLength; external name 'y';
+ Fwidth: TJSSVGAnimatedLength; external name 'width';
+ Fheight: TJSSVGAnimatedLength; external name 'height';
+ Fresult: TJSSVGAnimatedString; external name 'result';
+ public
+ property x: TJSSVGAnimatedLength read Fx;
+ property y: TJSSVGAnimatedLength read Fy;
+ property width: TJSSVGAnimatedLength read Fwidth;
+ property height: TJSSVGAnimatedLength read Fheight;
+ property result: TJSSVGAnimatedString read Fresult;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGFitToViewBox
+ --------------------------------------------------------------------}
+ TJSSVGFitToViewBox = class external name 'SVGFitToViewBox'
+ private
+ FviewBox: TJSSVGAnimatedRect; external name 'viewBox';
+ FpreserveAspectRatio: TJSSVGAnimatedPreserveAspectRatio; external name
+ 'preserveAspectRatio';
+ public
+ property viewBox: TJSSVGAnimatedRect read FviewBox;
+ property preserveAspectRatio: TJSSVGAnimatedPreserveAspectRatio read
+ FpreserveAspectRatio;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGForeignObjectElement
+ --------------------------------------------------------------------}
+ TJSSVGForeignObjectElement = class external name
+ 'SVGForeignObjectElement' (TJSSVGGraphicsElement)
+ private
+ Fx: TJSSVGAnimatedLength; external name 'x';
+ Fy: TJSSVGAnimatedLength; external name 'y';
+ Fwidth: TJSSVGAnimatedLength; external name 'width';
+ Fheight: TJSSVGAnimatedLength; external name 'height';
+ public
+ property x: TJSSVGAnimatedLength read Fx;
+ property y: TJSSVGAnimatedLength read Fy;
+ property width: TJSSVGAnimatedLength read Fwidth;
+ property height: TJSSVGAnimatedLength read Fheight;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGGElement
+ --------------------------------------------------------------------}
+ TJSSVGGElement = class external name 'SVGGElement' (TJSSVGGraphicsElement)
+ private
+ public
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGGradientElement
+ --------------------------------------------------------------------}
+ TJSSVGGradientElement = class external name 'SVGGradientElement' (TJSSVGElement)
+ private
+ FgradientUnits: TJSSVGAnimatedEnumeration; external name 'gradientUnits';
+ FgradientTransform: TJSSVGAnimatedTransformList; external name
+ 'gradientTransform';
+ FspreadMethod: TJSSVGAnimatedEnumeration; external name 'spreadMethod';
+ public
+ const
+ SVG_SPREADMETHOD_UNKNOWN = 0;
+ SVG_SPREADMETHOD_PAD = 1;
+ SVG_SPREADMETHOD_REFLECT = 2;
+ SVG_SPREADMETHOD_REPEAT = 3;
+ Public
+ property gradientUnits: TJSSVGAnimatedEnumeration read FgradientUnits;
+ property gradientTransform: TJSSVGAnimatedTransformList read FgradientTransform;
+ property spreadMethod: TJSSVGAnimatedEnumeration read FspreadMethod;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGImageElement
+ --------------------------------------------------------------------}
+ TJSSVGImageElement = class external name 'SVGImageElement' (TJSSVGGraphicsElement)
+ private
+ Fx: TJSSVGAnimatedLength; external name 'x';
+ Fy: TJSSVGAnimatedLength; external name 'y';
+ Fwidth: TJSSVGAnimatedLength; external name 'width';
+ Fheight: TJSSVGAnimatedLength; external name 'height';
+ FpreserveAspectRatio: TJSSVGAnimatedPreserveAspectRatio; external name
+ 'preserveAspectRatio';
+ public
+ property x: TJSSVGAnimatedLength read Fx;
+ property y: TJSSVGAnimatedLength read Fy;
+ property width: TJSSVGAnimatedLength read Fwidth;
+ property height: TJSSVGAnimatedLength read Fheight;
+ property preserveAspectRatio: TJSSVGAnimatedPreserveAspectRatio read
+ FpreserveAspectRatio;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGLength
+ --------------------------------------------------------------------}
+ TJSSVGLength = class external name 'SVGLength'
+ private
+ FunitType: Cardinal; external name 'unitType';
+ public
+ const
+ SVG_LENGTHTYPE_UNKNOWN = 0;
+ SVG_LENGTHTYPE_NUMBER = 1;
+ SVG_LENGTHTYPE_PERCENTAGE = 2;
+ SVG_LENGTHTYPE_EMS = 3;
+ SVG_LENGTHTYPE_EXS = 4;
+ SVG_LENGTHTYPE_PX = 5;
+ SVG_LENGTHTYPE_CM = 6;
+ SVG_LENGTHTYPE_MM = 7;
+ SVG_LENGTHTYPE_IN = 8;
+ SVG_LENGTHTYPE_PT = 9;
+ SVG_LENGTHTYPE_PC = 10;
+ Public
+ value: Double;
+ valueInSpecifiedUnits: Double;
+ valueAsString: string;
+ procedure newValueSpecifiedUnits(unitType: Cardinal; valueInSpecifiedUnits: Double);
+ procedure convertToSpecifiedUnits(unitType: Cardinal);
+ property unitType: Cardinal read FunitType;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGLinearGradientElement
+ --------------------------------------------------------------------}
+ TJSSVGLinearGradientElement = class external name
+ 'SVGLinearGradientElement' (TJSSVGGradientElement)
+ private
+ Fx1: TJSSVGAnimatedLength; external name 'x1';
+ Fy1: TJSSVGAnimatedLength; external name 'y1';
+ Fx2: TJSSVGAnimatedLength; external name 'x2';
+ Fy2: TJSSVGAnimatedLength; external name 'y2';
+ public
+ property x1: TJSSVGAnimatedLength read Fx1;
+ property y1: TJSSVGAnimatedLength read Fy1;
+ property x2: TJSSVGAnimatedLength read Fx2;
+ property y2: TJSSVGAnimatedLength read Fy2;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGLineElement
+ --------------------------------------------------------------------}
+ TJSSVGLineElement = class external name 'SVGLineElement' (TJSSVGGeometryElement)
+ private
+ Fx1: TJSSVGAnimatedLength; external name 'x1';
+ Fy1: TJSSVGAnimatedLength; external name 'y1';
+ Fx2: TJSSVGAnimatedLength; external name 'x2';
+ Fy2: TJSSVGAnimatedLength; external name 'y2';
+ public
+ property x1: TJSSVGAnimatedLength read Fx1;
+ property y1: TJSSVGAnimatedLength read Fy1;
+ property x2: TJSSVGAnimatedLength read Fx2;
+ property y2: TJSSVGAnimatedLength read Fy2;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGMarkerElement
+ --------------------------------------------------------------------}
+ TJSSVGMarkerElement = class external name 'SVGMarkerElement' (TJSSVGElement)
+ private
+ FrefX: TJSSVGAnimatedLength; external name 'refX';
+ FrefY: TJSSVGAnimatedLength; external name 'refY';
+ FmarkerUnits: TJSSVGAnimatedEnumeration; external name 'markerUnits';
+ FmarkerWidth: TJSSVGAnimatedLength; external name 'markerWidth';
+ FmarkerHeight: TJSSVGAnimatedLength; external name 'markerHeight';
+ ForientType: TJSSVGAnimatedEnumeration; external name 'orientType';
+ ForientAngle: TJSSVGAnimatedAngle; external name 'orientAngle';
+ public
+ const
+ SVG_MARKERUNITS_UNKNOWN = 0;
+ SVG_MARKERUNITS_USERSPACEONUSE = 1;
+ SVG_MARKERUNITS_STROKEWIDTH = 2;
+ SVG_MARKER_ORIENT_UNKNOWN = 0;
+ SVG_MARKER_ORIENT_AUTO = 1;
+ SVG_MARKER_ORIENT_ANGLE = 2;
+ Public
+ procedure setOrientToAuto;
+ procedure setOrientToAngle(angle: TJSSVGAngle);
+ property refX: TJSSVGAnimatedLength read FrefX;
+ property refY: TJSSVGAnimatedLength read FrefY;
+ property markerUnits: TJSSVGAnimatedEnumeration read FmarkerUnits;
+ property markerWidth: TJSSVGAnimatedLength read FmarkerWidth;
+ property markerHeight: TJSSVGAnimatedLength read FmarkerHeight;
+ property orientType: TJSSVGAnimatedEnumeration read ForientType;
+ property orientAngle: TJSSVGAnimatedAngle read ForientAngle;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGMaskElement
+ --------------------------------------------------------------------}
+ TJSSVGMaskElement = class external name 'SVGMaskElement' (TJSSVGElement)
+ private
+ FmaskUnits: TJSSVGAnimatedEnumeration; external name 'maskUnits';
+ FmaskContentUnits: TJSSVGAnimatedEnumeration; external name 'maskContentUnits';
+ Fx: TJSSVGAnimatedLength; external name 'x';
+ Fy: TJSSVGAnimatedLength; external name 'y';
+ Fwidth: TJSSVGAnimatedLength; external name 'width';
+ Fheight: TJSSVGAnimatedLength; external name 'height';
+ public
+ property maskUnits: TJSSVGAnimatedEnumeration read FmaskUnits;
+ property maskContentUnits: TJSSVGAnimatedEnumeration read FmaskContentUnits;
+ property x: TJSSVGAnimatedLength read Fx;
+ property y: TJSSVGAnimatedLength read Fy;
+ property width: TJSSVGAnimatedLength read Fwidth;
+ property height: TJSSVGAnimatedLength read Fheight;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGMatrix
+ --------------------------------------------------------------------}
+ TJSSVGMatrix = class external name 'SVGMatrix'
+ private
+ public
+ a: double;
+ b: double;
+ c: double;
+ d: double;
+ e: double;
+ f: double;
+ function multiply(secondMatrix: TJSSVGMatrix): TJSSVGMatrix;
+ function inverse: TJSSVGMatrix;
+ function translate(x: Double; y: Double): TJSSVGMatrix;
+ function scale(scaleFactor: Double): TJSSVGMatrix;
+ function scaleNonUniform(scaleFactorX: Double; scaleFactorY: Double):
+ TJSSVGMatrix;
+ function rotate(angle: Double): TJSSVGMatrix;
+ function rotateFromVector(x: Double; y: Double): TJSSVGMatrix;
+ function flipX: TJSSVGMatrix;
+ function flipY: TJSSVGMatrix;
+ function skewX(angle: Double): TJSSVGMatrix;
+ function skewY(angle: Double): TJSSVGMatrix;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGMetadataElement
+ --------------------------------------------------------------------}
+ TJSSVGMetadataElement = class external name 'SVGMetadataElement' (TJSSVGElement)
+ private
+ public
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGMPathElement
+ --------------------------------------------------------------------}
+ TJSSVGMPathElement = class external name 'SVGMPathElement' (TJSSVGElement)
+ private
+ public
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGNumber
+ --------------------------------------------------------------------}
+ TJSSVGNumber = class external name 'SVGNumber'
+ private
+ public
+ value: Double;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGPathElement
+ --------------------------------------------------------------------}
+ TJSSVGPathElement = class external name 'SVGPathElement' (TJSSVGGeometryElement)
+ private
+ public
+ function getPathSegAtLength(distance: Double): NativeInt;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGPatternElement
+ --------------------------------------------------------------------}
+ TJSSVGPatternElement = class external name 'SVGPatternElement' (TJSSVGElement)
+ private
+ FpatternUnits: TJSSVGAnimatedEnumeration; external name 'patternUnits';
+ FpatternContentUnits: TJSSVGAnimatedEnumeration; external name
+ 'patternContentUnits';
+ FpatternTransform: TJSSVGAnimatedTransformList; external name
+ 'patternTransform';
+ Fx: TJSSVGAnimatedLength; external name 'x';
+ Fy: TJSSVGAnimatedLength; external name 'y';
+ Fwidth: TJSSVGAnimatedLength; external name 'width';
+ Fheight: TJSSVGAnimatedLength; external name 'height';
+ public
+ property patternUnits: TJSSVGAnimatedEnumeration read FpatternUnits;
+ property patternContentUnits: TJSSVGAnimatedEnumeration read
+ FpatternContentUnits;
+ property patternTransform: TJSSVGAnimatedTransformList read FpatternTransform;
+ property x: TJSSVGAnimatedLength read Fx;
+ property y: TJSSVGAnimatedLength read Fy;
+ property width: TJSSVGAnimatedLength read Fwidth;
+ property height: TJSSVGAnimatedLength read Fheight;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGPoint
+ --------------------------------------------------------------------}
+ TJSSVGPoint = class external name 'SVGPoint'
+ private
+ public
+ x: Double;
+ y: Double;
+ function matrixTransform(matrix: TJSSVGMatrix): TJSSVGPoint;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGPointList
+ --------------------------------------------------------------------}
+ TJSSVGPointList = class external name 'SVGPointList'
+ public
+ numberOfItems: Integer;
+ procedure clear;
+ function initialize(newItem: TJSSVGPoint): TJSSVGPoint;
+ function getItem(&index: Integer): TJSSVGPoint;
+ function insertItemBefore(newItem: TJSSVGPoint; &index: Integer): TJSSVGPoint;
+ function replaceItem(newItem: TJSSVGPoint; &index: Integer): TJSSVGPoint;
+ function removeItem(&index: Integer): TJSSVGPoint;
+ function appendItem(newItem: TJSSVGPoint): TJSSVGPoint;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGPolygonElement
+ --------------------------------------------------------------------}
+ TJSSVGPolygonElement = class external name
+ 'SVGPolygonElement' (TJSSVGGeometryElement)
+ private
+ Fpoints: TJSSVGPointList; external name 'points';
+ FanimatedPoints: TJSSVGPointList; external name 'animatedPoints';
+ public
+ property points: TJSSVGPointList read Fpoints;
+ property animatedPoints: TJSSVGPointList read FanimatedPoints;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGPolylineElement
+ --------------------------------------------------------------------}
+ TJSSVGPolylineElement = class external name
+ 'SVGPolylineElement' (TJSSVGGeometryElement)
+ private
+ Fpoints: TJSSVGPointList; external name 'points';
+ FanimatedPoints: TJSSVGPointList; external name 'animatedPoints';
+ public
+ property points: TJSSVGPointList read Fpoints;
+ property animatedPoints: TJSSVGPointList read FanimatedPoints;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGPreserveAspectRatio
+ --------------------------------------------------------------------}
+ TJSSVGPreserveAspectRatio = class external name 'SVGPreserveAspectRatio'
+ private
+ public
+ const
+ SVG_PRESERVEASPECTRATIO_UNKNOWN = 0;
+ SVG_PRESERVEASPECTRATIO_NONE = 1;
+ SVG_PRESERVEASPECTRATIO_XMINYMIN = 2;
+ SVG_PRESERVEASPECTRATIO_XMIDYMIN = 3;
+ SVG_PRESERVEASPECTRATIO_XMAXYMIN = 4;
+ SVG_PRESERVEASPECTRATIO_XMINYMID = 5;
+ SVG_PRESERVEASPECTRATIO_XMIDYMID = 6;
+ SVG_PRESERVEASPECTRATIO_XMAXYMID = 7;
+ SVG_PRESERVEASPECTRATIO_XMINYMAX = 8;
+ SVG_PRESERVEASPECTRATIO_XMIDYMAX = 9;
+ SVG_PRESERVEASPECTRATIO_XMAXYMAX = 10;
+ SVG_MEETORSLICE_UNKNOWN = 0;
+ SVG_MEETORSLICE_MEET = 1;
+ SVG_MEETORSLICE_SLICE = 2;
+ Public
+ align: Cardinal;
+ meetOrSlice: Cardinal;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGRadialGradientElement
+ --------------------------------------------------------------------}
+ TJSSVGRadialGradientElement = class external name
+ 'SVGRadialGradientElement' (TJSSVGGradientElement)
+ private
+ Fcx: TJSSVGAnimatedLength; external name 'cx';
+ Fcy: TJSSVGAnimatedLength; external name 'cy';
+ rFr: TJSSVGAnimatedLength; external name 'r';
+ Ffx: TJSSVGAnimatedLength; external name 'fx';
+ Ffy: TJSSVGAnimatedLength; external name 'fy';
+ Ffr: TJSSVGAnimatedLength; external name 'fr';
+ public
+ property cx: TJSSVGAnimatedLength read Fcx;
+ property cy: TJSSVGAnimatedLength read Fcy;
+ property r: TJSSVGAnimatedLength read rFr;
+ property fx: TJSSVGAnimatedLength read Ffx;
+ property fy: TJSSVGAnimatedLength read Ffy;
+ property fr: TJSSVGAnimatedLength read Ffr;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGRect
+ --------------------------------------------------------------------}
+ TJSSVGRect = class external name 'SVGRect'
+ private
+ public
+ x: Double;
+ y: Double;
+ width: Double;
+ height: Double;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGRectElement
+ --------------------------------------------------------------------}
+ TJSSVGRectElement = class external name 'SVGRectElement' (TJSSVGGeometryElement)
+ private
+ Fx: TJSSVGAnimatedLength; external name 'x';
+ Fy: TJSSVGAnimatedLength; external name 'y';
+ Fwidth: TJSSVGAnimatedLength; external name 'width';
+ Fheight: TJSSVGAnimatedLength; external name 'height';
+ Frx: TJSSVGAnimatedLength; external name 'rx';
+ Fry: TJSSVGAnimatedLength; external name 'ry';
+ public
+ property x: TJSSVGAnimatedLength read Fx;
+ property y: TJSSVGAnimatedLength read Fy;
+ property width: TJSSVGAnimatedLength read Fwidth;
+ property height: TJSSVGAnimatedLength read Fheight;
+ property rx: TJSSVGAnimatedLength read Frx;
+ property ry: TJSSVGAnimatedLength read Fry;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGScriptElement
+ --------------------------------------------------------------------}
+ TJSSVGScriptElement = class external name 'SVGScriptElement' (TJSSVGElement)
+ private
+ public
+ type_: string; external name 'type';
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGSetElement
+ --------------------------------------------------------------------}
+ TJSSVGSetElement = class external name 'SVGSetElement' (TJSSVGAnimationElement)
+ private
+ public
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGStopElement
+ --------------------------------------------------------------------}
+ TJSSVGStopElement = class external name 'SVGStopElement' (TJSSVGElement)
+ private
+ Foffset: TJSSVGAnimatedNumber; external name 'offset';
+ public
+ property offset: TJSSVGAnimatedNumber read Foffset;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGStyleElement
+ --------------------------------------------------------------------}
+ TJSSVGStyleElement = class external name 'SVGStyleElement' (TJSSVGElement)
+ private
+ Fsheet: TJSStyleSheet; external name 'sheet';
+ public
+ type_: string; external name 'type';
+ media: string;
+ title: string;
+ disabled: boolean;
+ property sheet: TJSStyleSheet read Fsheet;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGSwitchElement
+ --------------------------------------------------------------------}
+ TJSSVGSwitchElement = class external name
+ 'SVGSwitchElement' (TJSSVGGraphicsElement)
+ private
+ public
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGSymbolElement
+ --------------------------------------------------------------------}
+ TJSSVGSymbolElement = class external name 'SVGSymbolElement' (TJSSVGElement)
+ private
+ public
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGStringList
+ --------------------------------------------------------------------}
+ TJSSVGStringList = class external name 'SVGStringList'
+ public
+ numberOfItems: Integer;
+ procedure clear;
+ function initialize(newItem: String): String;
+ function getItem(&index: Integer): String;
+ function insertItemBefore(newItem: String; &index: Integer): String;
+ function replaceItem(newItem: String; &index: Integer): String;
+ function removeItem(&index: Integer): String;
+ function appendItem(newItem: String): String;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGTests
+ --------------------------------------------------------------------}
+ TJSSVGTests = class external name 'SVGTests'
+ private
+ FrequiredExtensions: TJSSVGStringList; external name 'requiredExtensions';
+ FsystemLanguage: TJSSVGStringList; external name 'systemLanguage';
+ public
+ property requiredExtensions: TJSSVGStringList read FrequiredExtensions;
+ property systemLanguage: TJSSVGStringList read FsystemLanguage;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGTextContentElement
+ --------------------------------------------------------------------}
+ TJSSVGTextContentElement = class external name
+ 'SVGTextContentElement' (TJSSVGGraphicsElement)
+ private
+ FtextLength: TJSSVGAnimatedLength; external name 'textLength';
+ FlengthAdjust: TJSSVGAnimatedEnumeration; external name 'lengthAdjust';
+ public
+ const
+ LENGTHADJUST_UNKNOWN = 0;
+ LENGTHADJUST_SPACING = 1;
+ LENGTHADJUST_SPACINGANDGLYPHS = 2;
+ Public
+ function getNumberOfChars: Integer;
+ function getComputedTextLength: Double;
+ function getSubStringLength(charnum: NativeInt; nchars: NativeInt): Double;
+ function getStartPositionOfChar(charnum: NativeInt): TJSSVGPoint;
+ function getEndPositionOfChar(charnum: NativeInt): TJSSVGPoint;
+ function getExtentOfChar(charnum: NativeInt): TJSSVGRect;
+ function getRotationOfChar(charnum: NativeInt): Double;
+ function getCharNumAtPosition(point: TJSSVGPoint): Integer;
+ procedure selectSubString(charnum: NativeInt; nchars: NativeInt);
+ property textLength: TJSSVGAnimatedLength read FtextLength;
+ property lengthAdjust: TJSSVGAnimatedEnumeration read FlengthAdjust;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGTextPositioningElement
+ --------------------------------------------------------------------}
+ TJSSVGTextPositioningElement = class external name
+ 'SVGTextPositioningElement' (TJSSVGTextContentElement)
+ private
+ Fx: TJSSVGAnimatedLengthList; external name 'x';
+ Fy: TJSSVGAnimatedLengthList; external name 'y';
+ Fdx: TJSSVGAnimatedLengthList; external name 'dx';
+ Fdy: TJSSVGAnimatedLengthList; external name 'dy';
+ Frotate: TJSSVGAnimatedNumberList; external name 'rotate';
+ public
+ property x: TJSSVGAnimatedLengthList read Fx;
+ property y: TJSSVGAnimatedLengthList read Fy;
+ property dx: TJSSVGAnimatedLengthList read Fdx;
+ property dy: TJSSVGAnimatedLengthList read Fdy;
+ property rotate: TJSSVGAnimatedNumberList read Frotate;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGTextElement
+ --------------------------------------------------------------------}
+ TJSSVGTextElement = class external name 'SVGTextElement' (TJSSVGTextPositioningElement)
+ private
+ public
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGTextPathElement
+ --------------------------------------------------------------------}
+ TJSSVGTextPathElement = class external name
+ 'SVGTextPathElement' (TJSSVGTextContentElement)
+ private
+ FstartOffset: TJSSVGAnimatedLength; external name 'startOffset';
+ Fmethod: TJSSVGAnimatedEnumeration; external name 'method';
+ Fspacing: TJSSVGAnimatedEnumeration; external name 'spacing';
+ public
+ const
+ TEXTPATH_METHODTYPE_UNKNOWN = 0;
+ TEXTPATH_METHODTYPE_ALIGN = 1;
+ TEXTPATH_METHODTYPE_STRETCH = 2;
+ TEXTPATH_SPACINGTYPE_UNKNOWN = 0;
+ TEXTPATH_SPACINGTYPE_AUTO = 1;
+ TEXTPATH_SPACINGTYPE_EXACT = 2;
+ Public
+ property startOffset: TJSSVGAnimatedLength read FstartOffset;
+ property method: TJSSVGAnimatedEnumeration read Fmethod;
+ property spacing: TJSSVGAnimatedEnumeration read Fspacing;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGTitleElement
+ --------------------------------------------------------------------}
+ TJSSVGTitleElement = class external name 'SVGTitleElement' (TJSSVGElement)
+ private
+ public
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGTransform
+ --------------------------------------------------------------------}
+ TJSSVGTransform = class external name 'SVGTransform'
+ private
+ Ftype_: Cardinal; external name 'type';
+ Fmatrix: TJSSVGMatrix; external name 'matrix';
+ Fangle: Double; external name 'angle';
+ public
+ const
+ SVG_TRANSFORM_UNKNOWN = 0;
+ SVG_TRANSFORM_MATRIX = 1;
+ SVG_TRANSFORM_TRANSLATE = 2;
+ SVG_TRANSFORM_SCALE = 3;
+ SVG_TRANSFORM_ROTATE = 4;
+ SVG_TRANSFORM_SKEWX = 5;
+ SVG_TRANSFORM_SKEWY = 6;
+ Public
+ procedure setMatrix(matrix: TJSSVGMatrix);
+ procedure setTranslate(tx: Double; ty: Double);
+ procedure setScale(sx: Double; sy: Double);
+ procedure setRotate(angle: Double; cx: Double; cy: Double);
+ procedure setSkewX(angle: Double);
+ procedure setSkewY(angle: Double);
+ property type_: Cardinal read Ftype_;
+ property matrix: TJSSVGMatrix read Fmatrix;
+ property angle: Double read Fangle;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGTSpanElement
+ --------------------------------------------------------------------}
+ TJSSVGTSpanElement = class external name
+ 'SVGTSpanElement' (TJSSVGTextPositioningElement)
+ private
+ public
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGUnitTypes
+ --------------------------------------------------------------------}
+ TJSSVGUnitTypes = class external name 'SVGUnitTypes'
+ private
+ public
+ const
+ SVG_UNIT_TYPE_UNKNOWN = 0;
+ SVG_UNIT_TYPE_USERSPACEONUSE = 1;
+ SVG_UNIT_TYPE_OBJECTBOUNDINGBOX = 2;
+ Public
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGURIReference
+ --------------------------------------------------------------------}
+ TJSSVGURIReference = class external name 'SVGURIReference'
+ private
+ Fhref: TJSSVGAnimatedString; external name 'href';
+ public
+ property href: TJSSVGAnimatedString read Fhref;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGUseElement
+ --------------------------------------------------------------------}
+ TJSSVGUseElement = class external name 'SVGUseElement' (TJSSVGGraphicsElement)
+ private
+ Fx: TJSSVGAnimatedLength; external name 'x';
+ Fy: TJSSVGAnimatedLength; external name 'y';
+ Fwidth: TJSSVGAnimatedLength; external name 'width';
+ Fheight: TJSSVGAnimatedLength; external name 'height';
+ public
+ property x: TJSSVGAnimatedLength read Fx;
+ property y: TJSSVGAnimatedLength read Fy;
+ property width: TJSSVGAnimatedLength read Fwidth;
+ property height: TJSSVGAnimatedLength read Fheight;
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGViewElement
+ --------------------------------------------------------------------}
+ TJSSVGViewElement = class external name 'SVGViewElement' (TJSSVGElement)
+ private
+ public
+ end;
+
+ { --------------------------------------------------------------------
+ TJSSVGZoomAndPan
+ --------------------------------------------------------------------}
+ TJSSVGZoomAndPan = class external name 'SVGZoomAndPan'
+ private
+ public
+ const
+ SVG_ZOOMANDPAN_UNKNOWN = 0;
+ SVG_ZOOMANDPAN_DISABLE = 1;
+ SVG_ZOOMANDPAN_MAGNIFY = 2;
+ Public
+ zoomAndPan: Cardinal;
+ end;
+
+implementation
+
+end.
\ No newline at end of file