/* -*- 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 "domstubs.idl"

[scriptable, uuid(ec2da3ef-5a99-49ed-aaef-b5af916c14ac)]
interface nsIDOMSVGMatrix : nsISupports
{ 
  attribute float a;
      // raises DOMException on setting
  attribute float b;
      // raises DOMException on setting
  attribute float c;
      // raises DOMException on setting
  attribute float d;
      // raises DOMException on setting
  attribute float e;
      // raises DOMException on setting
  attribute float f;
      // raises DOMException on setting

  nsIDOMSVGMatrix multiply(in nsIDOMSVGMatrix secondMatrix);
  nsIDOMSVGMatrix inverse();
      // raises( SVGException );
  nsIDOMSVGMatrix translate(in float x, in float y);
  nsIDOMSVGMatrix scale(in float scaleFactor);
  nsIDOMSVGMatrix scaleNonUniform(in float scaleFactorX, in float scaleFactorY);
  nsIDOMSVGMatrix rotate(in float angle);
  nsIDOMSVGMatrix rotateFromVector(in float x, in float y);
      // raises( SVGException );
  nsIDOMSVGMatrix flipX();
  nsIDOMSVGMatrix flipY();
  nsIDOMSVGMatrix skewX(in float angle);
  nsIDOMSVGMatrix skewY(in float angle);
};
