mirror of
https://gitlab.com/freepascal.org/fpc/pas2js.git
synced 2025-05-14 05:52:26 +02:00
1753 lines
69 KiB
ObjectPascal
1753 lines
69 KiB
ObjectPascal
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. |