/* -*- 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(2596325c-aed0-487e-96a1-0a6d589b9c6b)]
interface nsIDOMSVGLength : nsISupports
{ 
  // Length Unit Types
  const unsigned short SVG_LENGTHTYPE_UNKNOWN    = 0;
  const unsigned short SVG_LENGTHTYPE_NUMBER     = 1;
  const unsigned short SVG_LENGTHTYPE_PERCENTAGE = 2;
  const unsigned short SVG_LENGTHTYPE_EMS        = 3;
  const unsigned short SVG_LENGTHTYPE_EXS        = 4;
  const unsigned short SVG_LENGTHTYPE_PX         = 5;
  const unsigned short SVG_LENGTHTYPE_CM         = 6;
  const unsigned short SVG_LENGTHTYPE_MM         = 7;
  const unsigned short SVG_LENGTHTYPE_IN         = 8;
  const unsigned short SVG_LENGTHTYPE_PT         = 9;
  const unsigned short SVG_LENGTHTYPE_PC         = 10;

  readonly attribute unsigned short unitType;
  attribute float          value;
  // raises DOMException on setting
  attribute float          valueInSpecifiedUnits;
  // raises DOMException on setting
  attribute DOMString      valueAsString;
  // raises DOMException on setting
  
  void newValueSpecifiedUnits(in unsigned short unitType, in float valueInSpecifiedUnits);
  void convertToSpecifiedUnits(in unsigned short unitType);
};




