mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
110 lines
5.7 KiB
Plaintext
110 lines
5.7 KiB
Plaintext
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#include "nsIDOMSVGElement.idl"
|
|
|
|
interface nsIDOMSVGAnimatedNumber;
|
|
|
|
[scriptable, uuid(89AF3EAE-1703-461A-A2E0-86D2131C11AC)]
|
|
interface nsIDOMSVGPathElement
|
|
: nsIDOMSVGElement
|
|
/*
|
|
The SVG DOM makes use of multiple interface inheritance.
|
|
Since XPCOM only supports single interface inheritance,
|
|
the best thing that we can do is to promise that whenever
|
|
an object implements _this_ interface it will also
|
|
implement the following interfaces. (We then have to QI to
|
|
hop between them.)
|
|
|
|
nsIDOMSVGTests,
|
|
nsIDOMSVGLangSpace,
|
|
nsIDOMSVGExternalResourcesRequired,
|
|
nsIDOMSVGStylable,
|
|
nsIDOMSVGTransformable,
|
|
events::nsIDOMEventTarget,
|
|
nsIDOMSVGAnimatedPathData
|
|
*/
|
|
{
|
|
readonly attribute nsIDOMSVGAnimatedNumber pathLength;
|
|
|
|
float getTotalLength();
|
|
// SVGPoint
|
|
nsISupports getPointAtLength(in float distance);
|
|
unsigned long getPathSegAtLength(in float distance);
|
|
|
|
// SVGPathSegClosePath
|
|
nsISupports createSVGPathSegClosePath();
|
|
// SVGPathSegMoveToAbs
|
|
nsISupports createSVGPathSegMovetoAbs(in float x, in float y);
|
|
// SVGPathSegMoveToRel
|
|
nsISupports createSVGPathSegMovetoRel(in float x, in float y);
|
|
// SVGPathSegLineToAbs
|
|
nsISupports createSVGPathSegLinetoAbs(in float x, in float y);
|
|
// SVGPathSegLineToRel
|
|
nsISupports createSVGPathSegLinetoRel(in float x, in float y);
|
|
|
|
// SVGPathSegCurveToCubicAbs
|
|
nsISupports createSVGPathSegCurvetoCubicAbs(in float x,
|
|
in float y,
|
|
in float x1,
|
|
in float y1,
|
|
in float x2,
|
|
in float y2);
|
|
// SVGPathSegCurveToCubicRel
|
|
nsISupports createSVGPathSegCurvetoCubicRel(in float x,
|
|
in float y,
|
|
in float x1,
|
|
in float y1,
|
|
in float x2,
|
|
in float y2);
|
|
// SVGPathSegCurveToQuadraticAbs
|
|
nsISupports createSVGPathSegCurvetoQuadraticAbs(in float x,
|
|
in float y,
|
|
in float x1,
|
|
in float y1);
|
|
// SVGPathSegCurveToQuadraticRel
|
|
nsISupports createSVGPathSegCurvetoQuadraticRel(in float x,
|
|
in float y,
|
|
in float x1,
|
|
in float y1);
|
|
|
|
// SVGPathSegArcAbs
|
|
nsISupports createSVGPathSegArcAbs(in float x, in float y, in float r1,
|
|
in float r2, in float angle,
|
|
in boolean largeArcFlag,
|
|
in boolean sweepFlag);
|
|
// SVGPathSegArcRel
|
|
nsISupports createSVGPathSegArcRel(in float x, in float y, in float r1,
|
|
in float r2, in float angle,
|
|
in boolean largeArcFlag,
|
|
in boolean sweepFlag);
|
|
|
|
// SVGPathSegLineToHorizontalAbs
|
|
nsISupports createSVGPathSegLinetoHorizontalAbs(in float x);
|
|
// SVGPathSegLineToHorizontalRel
|
|
nsISupports createSVGPathSegLinetoHorizontalRel(in float x);
|
|
// SVGPathSegLineToVerticalAbs
|
|
nsISupports createSVGPathSegLinetoVerticalAbs(in float y);
|
|
// SVGPathSegLineToVerticalRel
|
|
nsISupports createSVGPathSegLinetoVerticalRel(in float y);
|
|
|
|
// SVGPathSegCurveToCubicSmoothAbs
|
|
nsISupports createSVGPathSegCurvetoCubicSmoothAbs(in float x,
|
|
in float y,
|
|
in float x2,
|
|
in float y2);
|
|
// SVGPathSegCurveToCubicSmoothRel
|
|
nsISupports createSVGPathSegCurvetoCubicSmoothRel(in float x,
|
|
in float y,
|
|
in float x2,
|
|
in float y2);
|
|
// SVGPathSegCurveToQuadraticSmoothAbs
|
|
nsISupports createSVGPathSegCurvetoQuadraticSmoothAbs(in float x,
|
|
in float y);
|
|
// SVGPathSegCurveToQuadraticSmoothRel
|
|
nsISupports createSVGPathSegCurvetoQuadraticSmoothRel(in float x,
|
|
in float y);
|
|
};
|