1/*
2 * Copyright (C) 2006, 2008 Apple Inc. All rights reserved.
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 * Library General Public License for more details.
13 *
14 * You should have received a copy of the GNU Library General Public License
15 * along with this library; see the file COPYING.LIB.  If not, write to
16 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301, USA.
18 */
19
20[
21    ImplementationLacksVTable
22] interface CSSPrimitiveValue : CSSValue {
23
24    // UnitTypes
25    const unsigned short CSS_UNKNOWN    = 0;
26    const unsigned short CSS_NUMBER     = 1;
27    const unsigned short CSS_PERCENTAGE = 2;
28    const unsigned short CSS_EMS        = 3;
29    const unsigned short CSS_EXS        = 4;
30    const unsigned short CSS_PX         = 5;
31    const unsigned short CSS_CM         = 6;
32    const unsigned short CSS_MM         = 7;
33    const unsigned short CSS_IN         = 8;
34    const unsigned short CSS_PT         = 9;
35    const unsigned short CSS_PC         = 10;
36    const unsigned short CSS_DEG        = 11;
37    const unsigned short CSS_RAD        = 12;
38    const unsigned short CSS_GRAD       = 13;
39    const unsigned short CSS_MS         = 14;
40    const unsigned short CSS_S          = 15;
41    const unsigned short CSS_HZ         = 16;
42    const unsigned short CSS_KHZ        = 17;
43    const unsigned short CSS_DIMENSION  = 18;
44    const unsigned short CSS_STRING     = 19;
45    const unsigned short CSS_URI        = 20;
46    const unsigned short CSS_IDENT      = 21;
47    const unsigned short CSS_ATTR       = 22;
48    const unsigned short CSS_COUNTER    = 23;
49    const unsigned short CSS_RECT       = 24;
50    const unsigned short CSS_RGBCOLOR   = 25;
51    const unsigned short CSS_VW         = 26;
52    const unsigned short CSS_VH         = 27;
53    const unsigned short CSS_VMIN       = 28;
54    const unsigned short CSS_VMAX       = 29;
55
56    readonly attribute unsigned short primitiveType;
57
58    [ObjCLegacyUnnamedParameters, RaisesException] void setFloatValue([Default=Undefined] optional unsigned short unitType,
59                                      [Default=Undefined] optional float floatValue);
60    [RaisesException] float getFloatValue([Default=Undefined] optional unsigned short unitType);
61    [ObjCLegacyUnnamedParameters, RaisesException] void setStringValue([Default=Undefined] optional unsigned short stringType,
62                                       [Default=Undefined] optional DOMString stringValue);
63    [RaisesException] DOMString getStringValue();
64    [RaisesException] Counter getCounterValue();
65    [RaisesException] Rect getRectValue();
66    [RaisesException] RGBColor getRGBColorValue();
67};
68
69