/* -*- 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"

interface nsIDOMSVGTransform;
interface nsIDOMSVGMatrix;

[scriptable, uuid(e6ea8113-ccd8-4084-a15f-07ca7db1d3fe)]
interface nsIDOMSVGTransformList : nsISupports
{ 
  readonly attribute unsigned long numberOfItems;
  readonly attribute unsigned long length; // synonym for numberOfItems

  void clear();
      // raises( DOMException );
  nsIDOMSVGTransform initialize(in nsIDOMSVGTransform newItem);
      // raises( DOMException, SVGException );
  nsIDOMSVGTransform getItem(in unsigned long index);
      // raises( DOMException );
  nsIDOMSVGTransform insertItemBefore(in nsIDOMSVGTransform newItem,
                                      in unsigned long index);
      //  raises( DOMException, SVGException );
  nsIDOMSVGTransform replaceItem(in nsIDOMSVGTransform newItem,
                                 in unsigned long index);
      // raises( DOMException, SVGException );
  nsIDOMSVGTransform removeItem(in unsigned long index);
      //  raises( DOMException );
  nsIDOMSVGTransform appendItem(in nsIDOMSVGTransform newItem);
      // raises( DOMException, SVGException );
  nsIDOMSVGTransform createSVGTransformFromMatrix(in nsIDOMSVGMatrix matrix);
  nsIDOMSVGTransform consolidate();
};
