javauis/m2g_qt/javasrc/com/nokia/microedition/m2g/M2GSVGConstants.java
author hgs
Fri, 29 Oct 2010 11:49:32 +0300
changeset 87 1627c337e51e
parent 56 abc41079b313
permissions -rw-r--r--
v2.2.21_1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
56
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
     1
/*
87
1627c337e51e v2.2.21_1
hgs
parents: 56
diff changeset
     2
* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
56
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
     3
* All rights reserved.
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
     8
*
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
     9
* Initial Contributors:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    11
*
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    12
* Contributors:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    13
*
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    14
* Description:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    15
*
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    16
*/
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    17
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    18
package com.nokia.microedition.m2g;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    19
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    20
import java.util.Hashtable;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    21
import java.util.Enumeration;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    22
import java.util.Vector;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    23
import org.w3c.dom.svg.SVGPath;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    24
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    25
/*
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    26
 * General constants
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    27
 */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    28
public class M2GSVGConstants
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    29
{
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    30
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    31
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    32
    // STATIC CONSTANTS - General exception messages
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    33
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    34
    public static final String ACCESS_RIGHTS_ESTR =
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    35
        "Not necessary privilege rights to access this (SVG) content.";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    36
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    37
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    38
    // STATIC CONSTANTS
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    39
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    40
    static final String SVG_NAMESPACE_URI =
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    41
        "http://www.w3.org/2000/svg";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    42
    static final String XLINK_NAMESPACE_URI =
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    43
        "http://www.w3.org/1999/xlink";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    44
    static final String ROOT_SVG_ELEMENT_NAME =
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    45
        "svg";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    46
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    47
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    48
    // STATIC CONSTANTS - Supported event types
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    49
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    50
    static final String EVENT_ACTIVATE = "DOMActivate";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    51
    static final String EVENT_CLICK = "click";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    52
    static final String EVENT_FOCUS_IN = "DOMFocusIn";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    53
    static final String EVENT_FOCUS_OUT = "DOMFocusOut";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    54
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    55
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    56
    // STATIC CONSTANTS - SVGT element ids
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    57
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    58
    static final short EL_UNDEFINED = -1;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    59
    static final short EL_A = 0;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    60
    static final short EL_ANIMATE = 1;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    61
    static final short EL_ANIMATECOLOR = 2;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    62
    static final short EL_ANIMATEMOTION = 3;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    63
    static final short EL_ANIMATETRANSFORM = 4;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    64
    static final short EL_CIRCLE = 5;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    65
    static final short EL_DEFS = 6;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    66
    static final short EL_DESC = 7;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    67
    static final short EL_ELLIPSE = 8;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    68
    static final short EL_FONT = 9;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    69
    static final short EL_FONTFACE = 10;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    70
    static final short EL_FONTFACENAME = 11;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    71
    static final short EL_FONTFACESRC = 12;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    72
    static final short EL_FOREIGNOBJECT = 13;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    73
    static final short EL_G = 14;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    74
    static final short EL_GLYPH = 15;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    75
    static final short EL_HKERN = 16;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    76
    static final short EL_IMAGE = 17;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    77
    static final short EL_LINE = 18;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    78
    static final short EL_METADATA = 19;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    79
    static final short EL_MISSINGGLYPH = 20;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    80
    static final short EL_MPATH = 21;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    81
    static final short EL_PATH = 22;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    82
    static final short EL_POLYGON = 23;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    83
    static final short EL_POLYLINE = 24;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    84
    static final short EL_RECT = 25;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    85
    static final short EL_SET = 26;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    86
    static final short EL_SVG = 27;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    87
    static final short EL_SWITCH = 28;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    88
    static final short EL_TEXT = 29;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    89
    static final short EL_TITLE = 30;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    90
    static final short EL_USE = 31;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    91
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    92
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    93
    // STATIC CONSTANTS - SVGT Attribute ids
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    94
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    95
    static final short AT_UNDEFINED = -1;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    96
    static final short AT_ACCENTHEIGHT = 50;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    97
    static final short AT_ACCUMULATE = 51;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    98
    static final short AT_ADDITIVE = 52;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
    99
    static final short AT_ALPHABETIC = 53;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   100
    static final short AT_ARABICFORM = 54;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   101
    static final short AT_ASCENT = 55;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   102
    static final short AT_ATTRIBUTENAME = 56;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   103
    static final short AT_ATTRIBUTETYPE = 57;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   104
    static final short AT_BASEPROFILE = 58;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   105
    static final short AT_BBOX = 59;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   106
    static final short AT_BEGIN = 60;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   107
    static final short AT_BY = 61;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   108
    static final short AT_CALCMODE = 62;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   109
    static final short AT_CAPHEIGHT = 63;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   110
    static final short AT_COLOR = 64;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   111
    static final short AT_COLORRENDERING = 65;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   112
    // static final short AT_CONTENT = 66;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   113
    static final short AT_CX = 67;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   114
    static final short AT_CY = 68;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   115
    static final short AT_D = 69;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   116
    static final short AT_DESCENT = 70;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   117
    static final short AT_DISPLAY = 71;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   118
    static final short AT_DUR = 72;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   119
    static final short AT_END = 73;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   120
    static final short AT_FILL = 74;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   121
    static final short AT_FILLRULE = 75;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   122
    static final short AT_FONTFAMILY = 76;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   123
    static final short AT_FONTSIZE = 77;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   124
    static final short AT_FONTSTRETCH = 78;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   125
    static final short AT_FONTSTYLE = 79;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   126
    static final short AT_FONTVARIANT = 80;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   127
    static final short AT_FONTWEIGHT = 81;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   128
    static final short AT_FROM = 82;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   129
    static final short AT_G1 = 83;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   130
    static final short AT_G2 = 84;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   131
    static final short AT_GLYPHNAME = 85;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   132
    static final short AT_HANGING = 86;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   133
    static final short AT_HEIGHT = 87;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   134
    static final short AT_HORIZADVX = 88;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   135
    static final short AT_HORIZORIGINX = 89;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   136
    static final short AT_ID = 90;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   137
    static final short AT_IDEOGRAPHIC = 91;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   138
    static final short AT_K = 92;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   139
    static final short AT_KEYPOINTS = 93;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   140
    static final short AT_KEYSPLINES = 94;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   141
    static final short AT_KEYTIMES = 95;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   142
    static final short AT_LANG = 96;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   143
    static final short AT_MATHEMATICAL = 97;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   144
    static final short AT_MAX = 98;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   145
    static final short AT_MIN = 99;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   146
    static final short AT_NAME = 100;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   147
    static final short AT_ORIGIN = 101;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   148
    static final short AT_OVERLINEPOSITION = 102;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   149
    static final short AT_OVERLINETHICKNESS = 103;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   150
    static final short AT_PANOSE1 = 104;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   151
    static final short AT_PATH = 105;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   152
    static final short AT_PATHLENGTH = 106;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   153
    static final short AT_POINTS = 107;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   154
    static final short AT_PRESERVEASPECTRATIO = 108;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   155
    static final short AT_R = 109;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   156
    static final short AT_REPEATCOUNT = 110;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   157
    static final short AT_REPEATDUR = 111;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   158
    static final short AT_REQUIREDEXTENSIONS = 112;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   159
    static final short AT_REQUIREDFEATURES = 113;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   160
    static final short AT_RESTART = 114;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   161
    static final short AT_ROTATE = 115;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   162
    static final short AT_RX = 116;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   163
    static final short AT_RY = 117;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   164
    static final short AT_SLOPE = 118;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   165
    static final short AT_STEMH = 119;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   166
    static final short AT_STEMV = 120;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   167
    static final short AT_STRIKETHROUGHPOSITION = 121;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   168
    static final short AT_STRIKETHROUGHTHICKNESS = 122;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   169
    static final short AT_STROKE = 123;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   170
    static final short AT_STROKEDASHARRAY = 124;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   171
    static final short AT_STROKEDASHOFFSET = 125;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   172
    static final short AT_STROKELINECAP = 126;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   173
    static final short AT_STROKELINEJOIN = 127;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   174
    static final short AT_STROKEMITERLIMIT = 128;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   175
    static final short AT_STROKEWIDTH = 129;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   176
    static final short AT_STYLE = 130;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   177
    static final short AT_SYSTEMLANGUAGE = 131;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   178
    static final short AT_TARGET = 132;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   179
    static final short AT_TEXTANCHOR = 133;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   180
    static final short AT_TO = 134;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   181
    static final short AT_TRANSFORM = 135;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   182
    static final short AT_TYPE = 136;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   183
    static final short AT_U1 = 137;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   184
    static final short AT_U2 = 138;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   185
    static final short AT_UNDERLINEPOSITION = 139;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   186
    static final short AT_UNDERLINETHICKNESS = 140;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   187
    static final short AT_UNICODE = 141;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   188
    static final short AT_UNICODERANGE = 142;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   189
    static final short AT_UNITSPEREM = 143;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   190
    static final short AT_VALUES = 144;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   191
    static final short AT_VERSION = 145;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   192
    static final short AT_VIEWBOX = 146;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   193
    static final short AT_VISIBILITY = 147;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   194
    static final short AT_WIDTH = 148;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   195
    static final short AT_WIDTHS = 149;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   196
    static final short AT_X = 150;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   197
    static final short AT_XHEIGHT = 151;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   198
    static final short AT_X1 = 152;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   199
    static final short AT_X2 = 153;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   200
    static final short AT_XLINKACTUATE = 154;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   201
    static final short AT_XLINKARCROLE = 155;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   202
    static final short AT_XLINKHREF = 156;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   203
    static final short AT_XLINKROLE = 157;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   204
    static final short AT_XLINKSHOW = 158;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   205
    static final short AT_XLINKTITLE = 159;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   206
    static final short AT_XLINKTYPE = 160;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   207
    static final short AT_XMLBASE = 161;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   208
    static final short AT_XMLLANG = 162;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   209
    static final short AT_XMLSPACE = 163;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   210
    static final short AT_Y = 164;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   211
    static final short AT_Y1 = 165;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   212
    static final short AT_Y2 = 166;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   213
    static final short AT_ZOOMANDPAN = 167;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   214
    // not in the spec but used to correctly implement animateMotion
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   215
    static final short AT_MOTIONTRANSFORM = 168;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   216
    // not actually an attribute, but needed for desc, title, and text
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   217
    static final short AT_STRING = 169;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   218
    static final short AT_TEXTDECORATION = 170;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   219
    static final short AT_HORIZORIGINY = 171;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   220
    static final short AT_MOUSEEVENT = 172;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   221
    static final short AT_USERBBOX = 173;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   222
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   223
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   224
    // STATIC CONSTANTS - Error flags
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   225
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   226
    static final short DEFAULT_INHERIT = -2; // = null on native engine;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   227
    static final short SVG_ERROR = -1;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   228
    static final short TEXT_NOT_SHORT = -3;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   229
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   230
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   231
    // STATIC CONSTANTS - A constant for each type of value
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   232
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   233
    static final short VAL_EVENT = 200;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   234
    static final short VAL_INTEGER = 201;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   235
    static final short VAL_PAINT = 202;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   236
    static final short VAL_POINT = 203;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   237
    static final short VAL_REAL = 204;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   238
    static final short VAL_STRING = 205;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   239
    static final short VAL_TIME = 206;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   240
    static final short VAL_TRANSFORM = 207;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   241
    static final short VAL_VECTOR = 208;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   242
    // These are used for animation purposes
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   243
    static final short VAL_VECTOR_POINT = 215;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   244
    static final short VAL_VECTOR_REAL = 216;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   245
    static final short VAL_VECTOR_STRING = 217;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   246
    static final short VAL_VECTOR_PATH = 218;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   247
    // VAL_VECTOR_X + VECTOR_TO_VAL = VAL_X
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   248
    static final short VECTOR_TO_VAL = -12;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   249
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   250
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   251
    // STATIC CONSTANTS - Constants for "choices"
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   252
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   253
    // Preserve aspect ratio constants
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   254
    static final short PAR_NONE = 310;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   255
    static final short PAR_XMIDYMID = 311;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   256
    // Zoom and pan constants
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   257
    static final short ZPN_MAGNIFY = 320;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   258
    static final short ZPN_DISABLE = 321;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   259
    // Paint
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   260
    static final short PAINT_NONE = 325;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   261
    static final short PAINT_CURRENT = 326;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   262
    static final short PAINT_COLOR = 327;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   263
    static final short PAINT_INHERIT = 328;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   264
    // Fonts
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   265
    static final short FONT_ALL = 330;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   266
    static final short FONT_NORMAL = 331;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   267
    static final short FONT_STYLE_ITALIC = 332;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   268
    static final short FONT_STYLE_OBLIQUE = 333;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   269
    static final short FONT_VARIANT_SMALLCAPS = 334;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   270
    static final short FONT_WEIGHT_BOLD = 335;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   271
    static final short FONT_WEIGHT_BOLDER = 336;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   272
    static final short FONT_WEIGHT_LIGHTER = 337;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   273
    static final short FONT_WEIGHT_100 = 338;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   274
    static final short FONT_WEIGHT_200 = 339;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   275
    static final short FONT_WEIGHT_300 = 340;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   276
    static final short FONT_WEIGHT_400 = 341;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   277
    static final short FONT_WEIGHT_500 = 342;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   278
    static final short FONT_WEIGHT_600 = 343;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   279
    static final short FONT_WEIGHT_700 = 344;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   280
    static final short FONT_WEIGHT_800 = 345;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   281
    static final short FONT_WEIGHT_900 = 346;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   282
    static final short FONT_STRETCH_WIDER = 347;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   283
    static final short FONT_STRETCH_NARROWER = 348;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   284
    static final short FONT_STRETCH_ULTRA_COND = 349;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   285
    static final short FONT_STRETCH_EXTRA_COND = 350;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   286
    static final short FONT_STRETCH_COND = 351;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   287
    static final short FONT_STRETCH_SEMI_COND = 352;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   288
    static final short FONT_STRETCH_SEMI_EXPD = 353;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   289
    static final short FONT_STRETCH_EXPD = 354;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   290
    static final short FONT_STRETCH_EXTRA_EXPD = 355;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   291
    static final short FONT_STRETCH_ULTRA_EXPD = 356;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   292
    // Text
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   293
    static final short TEXT_ANCHOR_START = 360;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   294
    static final short TEXT_ANCHOR_MIDDLE = 361;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   295
    static final short TEXT_ANCHOR_END = 362;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   296
    static final short TEXT_UNDER_LINE = 363;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   297
    static final short TEXT_OVER_LINE = 364;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   298
    static final short TEXT_LINE_THROUGH = 365;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   299
    // These are actual sizes in 8:8 fixed point, not "choices"
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   300
    static final int FONT_SIZE_XXSMALL = 0x20000;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   301
    static final int FONT_SIZE_XSMALL = 0x40000;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   302
    static final int FONT_SIZE_SMALL = 0x60000;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   303
    static final int FONT_SIZE_MEDIUM = 0xa0000;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   304
    static final int FONT_SIZE_LARGE = 0x100000;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   305
    static final int FONT_SIZE_XLARGE = 0x140000;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   306
    static final int FONT_SIZE_XXLARGE = 0x180000;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   307
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   308
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   309
    // STATIC CONSTANTS - Styles
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   310
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   311
    // Fill
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   312
    static final short FILL_RULE_EVENODD = 375;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   313
    static final short FILL_RULE_NONZERO = 376;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   314
    // Display
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   315
    static final short DISPLAY_NONE = 380;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   316
    static final short DISPLAY_OTHER = 381;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   317
    // Visibility
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   318
    static final short VISIBILITY_VISIBLE = 385;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   319
    static final short VISIBILITY_OTHER = 386;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   320
    // Color-rendering
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   321
    static final short COLOR_RENDERING_AUTO = 390;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   322
    static final short COLOR_RENDERING_SPEED = 391;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   323
    static final short COLOR_RENDERING_QUALITY = 392;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   324
    // Strokes
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   325
    // MUST PRESERVE ORDER!!
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   326
    static final short STROKE_LINECAP_BUTT = 395;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   327
    static final short STROKE_LINECAP_ROUND = 396;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   328
    static final short STROKE_LINECAP_SQUARE = 397;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   329
    static final short STROKE_LINEJOIN_MITER = 400;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   330
    static final short STROKE_LINEJOIN_ROUND = 401;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   331
    static final short STROKE_LINEJOIN_BEVEL = 402;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   332
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   333
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   334
    // STATIC CONSTANTS - Animation
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   335
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   336
    static final short ANIM_INDEFINITE = 445;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   337
    static final short ACCUMULATE_NONE = 450;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   338
    static final short ACCUMULATE_SUM = 451;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   339
    static final short ADDITIVE_REPLACE = 455;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   340
    static final short ADDITIVE_SUM = 456;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   341
    static final short CALC_MODE_DISCRETE = 460;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   342
    static final short CALC_MODE_LINEAR = 461;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   343
    static final short CALC_MODE_PACED = 462;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   344
    static final short CALC_MODE_SPLINE = 463;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   345
    static final short FILL_REMOVE = 465;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   346
    static final short FILL_FREEZE = 466;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   347
    static final short RESTART_ALWAYS = 470;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   348
    static final short RESTART_NEVER = 471;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   349
    static final short RESTART_WHENNOTACTIVE = 472;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   350
    static final short TYPE_TRANSLATE = 475;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   351
    static final short TYPE_SCALE = 476;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   352
    static final short TYPE_ROTATE = 477;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   353
    static final short TYPE_SKEWX = 478;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   354
    static final short TYPE_SKEWY = 479;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   355
    static final short ATTR_TYPE_CSS = 485;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   356
    static final short ATTR_TYPE_XML = 486;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   357
    static final short ATTR_TYPE_AUTO = 487;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   358
    static final short ROTATE_AUTO = 490;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   359
    static final short ROTATE_AUTOREVERSE = 491;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   360
    static final short ANIM_FROM_TO = 500;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   361
    static final short ANIM_FROM_BY = 501;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   362
    static final short ANIM_BY = 502;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   363
    static final short ANIM_TO = 503;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   364
    static final short ANIM_VALUES = 504;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   365
    static final short ANIM_PATH = 505;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   366
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   367
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   368
    // STATIC CONSTANTS - Path Commands
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   369
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   370
    static final short PATH_COMMAND_M = 600;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   371
    static final short PATH_COMMAND_m = 601;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   372
    static final short PATH_COMMAND_Z = 602;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   373
    static final short PATH_COMMAND_L = 603;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   374
    static final short PATH_COMMAND_l = 604;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   375
    static final short PATH_COMMAND_H = 605;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   376
    static final short PATH_COMMAND_h = 606;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   377
    static final short PATH_COMMAND_V = 607;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   378
    static final short PATH_COMMAND_v = 608;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   379
    static final short PATH_COMMAND_C = 609;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   380
    static final short PATH_COMMAND_c = 610;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   381
    static final short PATH_COMMAND_S = 611;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   382
    static final short PATH_COMMAND_s = 612;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   383
    static final short PATH_COMMAND_Q = 613;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   384
    static final short PATH_COMMAND_q = 614;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   385
    static final short PATH_COMMAND_T = 615;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   386
    static final short PATH_COMMAND_t = 616;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   387
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   388
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   389
    // STATIC CONSTANTS - Events
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   390
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   391
    // Indicates that the animation has started
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   392
    static final short EVENT_BEGIN = 650;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   393
    // Indicates that the animation has finished
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   394
    static final short EVENT_END = 651;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   395
    // Indicates that the animation has repeated
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   396
    static final short EVENT_REPEAT = 652;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   397
    static final short EVENT_BEGIN_EL = 653;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   398
    static final short EVENT_END_EL = 654;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   399
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   400
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   401
    // VARIABLES
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   402
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   403
    private static M2GSVGConstants sInstance = null;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   404
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   405
    String iEmptySvgDocument = null;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   406
    String iSvgBaseProfileName = null;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   407
    String iSvgBaseProfileVersion = null;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   408
    Hashtable iAllElements = null;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   409
    Hashtable iAllAttributes = null;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   410
    Vector iQualifiedElements = null;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   411
    Vector iAnimatableElements = null;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   412
    Vector iReadOnlyElements = null;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   413
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   414
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   415
    // METHODS
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   416
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   417
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   418
     * Constructor
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   419
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   420
    private M2GSVGConstants()
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   421
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   422
        // Profile name
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   423
        iSvgBaseProfileName = System.getProperty("microedition.m2g.svg.baseProfile");
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   424
        // Profile version
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   425
        iSvgBaseProfileVersion = System.getProperty("microedition.m2g.svg.version");
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   426
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   427
        // Empty svg document
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   428
        // "<svg version=\"1.1\" baseProfile=\"tiny\" width=\"100\" height=\"100\"></svg>";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   429
        StringBuffer buf = new StringBuffer();
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   430
        buf.append("<svg version=\"").append(iSvgBaseProfileVersion);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   431
        buf.append("\" baseProfile=\"").append(iSvgBaseProfileName);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   432
        buf.append("\" width=\"100\" height=\"100\"></svg>");
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   433
        iEmptySvgDocument = buf.toString();
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   434
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   435
        // Elements
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   436
        iAllElements = new Hashtable(32);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   437
        iAllElements.put(new Short(EL_A), "a"); // 1
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   438
        iAllElements.put(new Short(EL_ANIMATE), "animate"); // 2
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   439
        iAllElements.put(new Short(EL_ANIMATECOLOR), "animateColor"); // 3
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   440
        iAllElements.put(new Short(EL_ANIMATEMOTION), "animateMotion"); // 4
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   441
        iAllElements.put(new Short(EL_ANIMATETRANSFORM), "animateTransform"); // 5
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   442
        iAllElements.put(new Short(EL_CIRCLE), "circle"); // 6
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   443
        iAllElements.put(new Short(EL_DEFS), "defs"); // 7
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   444
        iAllElements.put(new Short(EL_DESC), "desc"); // 8
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   445
        iAllElements.put(new Short(EL_ELLIPSE), "ellipse"); // 9
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   446
        iAllElements.put(new Short(EL_FONT), "font"); // 10
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   447
        iAllElements.put(new Short(EL_FONTFACE), "font-face"); // 11
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   448
        iAllElements.put(new Short(EL_FONTFACENAME), "font-face-name"); // 12
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   449
        iAllElements.put(new Short(EL_FONTFACESRC), "font-face-src"); // 13
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   450
        iAllElements.put(new Short(EL_FOREIGNOBJECT), "foreignObject"); // 14
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   451
        iAllElements.put(new Short(EL_G), "g"); // 15
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   452
        iAllElements.put(new Short(EL_GLYPH), "glyph"); // 16
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   453
        iAllElements.put(new Short(EL_HKERN), "hkern"); // 17
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   454
        iAllElements.put(new Short(EL_IMAGE), "image"); // 18
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   455
        iAllElements.put(new Short(EL_LINE), "line"); // 19
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   456
        iAllElements.put(new Short(EL_METADATA), "metadata"); // 20
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   457
        iAllElements.put(new Short(EL_MISSINGGLYPH), "missing-glyph"); // 21
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   458
        iAllElements.put(new Short(EL_MPATH), "mpath"); // 22
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   459
        iAllElements.put(new Short(EL_PATH), "path"); // 23
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   460
        iAllElements.put(new Short(EL_POLYGON), "polygon"); // 24
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   461
        iAllElements.put(new Short(EL_POLYLINE), "polyline"); // 25
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   462
        iAllElements.put(new Short(EL_RECT), "rect"); // 26
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   463
        iAllElements.put(new Short(EL_SET), "set"); // 27
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   464
        iAllElements.put(new Short(EL_SVG), "svg"); // 28
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   465
        iAllElements.put(new Short(EL_SWITCH), "switch"); // 29
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   466
        iAllElements.put(new Short(EL_TEXT), "text"); // 30
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   467
        iAllElements.put(new Short(EL_TITLE), "title"); // 31
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   468
        iAllElements.put(new Short(EL_USE), "use"); // 32
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   469
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   470
        // Attributes
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   471
        iAllAttributes = new Hashtable(118);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   472
        iAllAttributes.put(new Short(AT_STRING), "#text"); // 1
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   473
        iAllAttributes.put(new Short(AT_ACCENTHEIGHT), "accent-heigh"); // 2
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   474
        iAllAttributes.put(new Short(AT_ACCUMULATE), "accumulate"); // 3
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   475
        iAllAttributes.put(new Short(AT_ADDITIVE), "additive"); // 4
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   476
        iAllAttributes.put(new Short(AT_ALPHABETIC), "alphabetic"); // 5
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   477
        iAllAttributes.put(new Short(AT_ARABICFORM), "arabic-form"); // 6
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   478
        iAllAttributes.put(new Short(AT_ASCENT), "ascent"); // 7
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   479
        iAllAttributes.put(new Short(AT_ATTRIBUTENAME), "attributeName"); // 8
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   480
        iAllAttributes.put(new Short(AT_ATTRIBUTETYPE), "attributeType"); // 9
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   481
        iAllAttributes.put(new Short(AT_BASEPROFILE), "baseProfile"); // 10
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   482
        iAllAttributes.put(new Short(AT_BBOX), "bbox"); // 11
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   483
        iAllAttributes.put(new Short(AT_BEGIN), "begin"); // 12
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   484
        iAllAttributes.put(new Short(AT_BY), "by"); // 13
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   485
        iAllAttributes.put(new Short(AT_CALCMODE), "calcMode"); // 14
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   486
        iAllAttributes.put(new Short(AT_CAPHEIGHT), "cap-height"); // 15
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   487
        iAllAttributes.put(new Short(AT_COLOR), "color"); // 16
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   488
        iAllAttributes.put(new Short(AT_COLORRENDERING), "color-rendering"); // 17
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   489
        iAllAttributes.put(new Short(AT_CX), "cx"); // 18
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   490
        iAllAttributes.put(new Short(AT_CY), "cy"); // 19
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   491
        iAllAttributes.put(new Short(AT_D), "d"); // 20
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   492
        iAllAttributes.put(new Short(AT_DESCENT), "descent"); // 21
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   493
        iAllAttributes.put(new Short(AT_DISPLAY), "display"); // 22
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   494
        iAllAttributes.put(new Short(AT_DUR), "dur"); // 23
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   495
        iAllAttributes.put(new Short(AT_END), "end"); // 24
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   496
        iAllAttributes.put(new Short(AT_FILL), "fill"); // 25
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   497
        iAllAttributes.put(new Short(AT_FILLRULE), "fill-rule"); // 26
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   498
        iAllAttributes.put(new Short(AT_FONTFAMILY), "font-family"); // 27
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   499
        iAllAttributes.put(new Short(AT_FONTSIZE), "font-size"); // 28
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   500
        iAllAttributes.put(new Short(AT_FONTSTRETCH), "font-stretch"); // 29
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   501
        iAllAttributes.put(new Short(AT_FONTSTYLE), "font-style"); // 30
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   502
        iAllAttributes.put(new Short(AT_FONTVARIANT), "font-variant"); // 31
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   503
        iAllAttributes.put(new Short(AT_FONTWEIGHT), "font-weight"); // 32
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   504
        iAllAttributes.put(new Short(AT_FROM), "from"); // 33
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   505
        iAllAttributes.put(new Short(AT_G1), "g1"); // 34
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   506
        iAllAttributes.put(new Short(AT_G2), "g2"); // 35
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   507
        iAllAttributes.put(new Short(AT_GLYPHNAME), "glyph-name"); // 36
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   508
        iAllAttributes.put(new Short(AT_HANGING), "hanging"); // 37
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   509
        iAllAttributes.put(new Short(AT_HEIGHT), "height"); // 38
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   510
        iAllAttributes.put(new Short(AT_HORIZADVX), "horiz-adv-x"); // 39
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   511
        iAllAttributes.put(new Short(AT_HORIZORIGINX), "horiz-origin-x"); // 40
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   512
        iAllAttributes.put(new Short(AT_ID), "id"); // 41
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   513
        iAllAttributes.put(new Short(AT_IDEOGRAPHIC), "ideographic"); // 42
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   514
        iAllAttributes.put(new Short(AT_K), "k"); // 43
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   515
        iAllAttributes.put(new Short(AT_KEYPOINTS), "keyPoints"); // 44
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   516
        iAllAttributes.put(new Short(AT_KEYSPLINES), "keySplines"); // 45
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   517
        iAllAttributes.put(new Short(AT_KEYTIMES), "keyTimes"); // 46
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   518
        iAllAttributes.put(new Short(AT_LANG), "lang"); // 47
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   519
        iAllAttributes.put(new Short(AT_MATHEMATICAL), "mathematical"); // 48
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   520
        iAllAttributes.put(new Short(AT_MAX), "max"); // 49
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   521
        iAllAttributes.put(new Short(AT_MIN), "min"); // 50
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   522
        iAllAttributes.put(new Short(AT_NAME), "name"); // 51
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   523
        iAllAttributes.put(new Short(AT_ORIGIN), "origin"); // 52
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   524
        iAllAttributes.put(new Short(AT_OVERLINEPOSITION), "overline-position"); // 53
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   525
        iAllAttributes.put(new Short(AT_OVERLINETHICKNESS), "overline-thickness"); // 54
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   526
        iAllAttributes.put(new Short(AT_PANOSE1), "panose-1"); // 55
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   527
        iAllAttributes.put(new Short(AT_PATH), "path"); // 56
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   528
        iAllAttributes.put(new Short(AT_PATHLENGTH), "pathLength"); // 57
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   529
        iAllAttributes.put(new Short(AT_POINTS), "points"); // 58
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   530
        iAllAttributes.put(new Short(AT_PRESERVEASPECTRATIO), "preserveAspectRatio"); // 59
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   531
        iAllAttributes.put(new Short(AT_R), "r"); // 60
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   532
        iAllAttributes.put(new Short(AT_REPEATCOUNT), "repeatCount"); // 61
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   533
        iAllAttributes.put(new Short(AT_REPEATDUR), "repeatDur"); // 62
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   534
        iAllAttributes.put(new Short(AT_REQUIREDEXTENSIONS), "requiredExtensions"); // 63
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   535
        iAllAttributes.put(new Short(AT_REQUIREDFEATURES), "requiredFeatures"); // 64
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   536
        iAllAttributes.put(new Short(AT_RESTART), "restart"); // 65
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   537
        iAllAttributes.put(new Short(AT_ROTATE), "rotate"); // 66
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   538
        iAllAttributes.put(new Short(AT_RX), "rx"); // 67
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   539
        iAllAttributes.put(new Short(AT_RY), "ry"); // 68
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   540
        iAllAttributes.put(new Short(AT_SLOPE), "slope"); // 69
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   541
        iAllAttributes.put(new Short(AT_STEMH), "stemh"); // 70
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   542
        iAllAttributes.put(new Short(AT_STEMV), "stemv"); // 71
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   543
        iAllAttributes.put(new Short(AT_STRIKETHROUGHPOSITION), "strikethrough-position"); // 72
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   544
        iAllAttributes.put(new Short(AT_STRIKETHROUGHTHICKNESS), "strikethrough-thickness"); // 73
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   545
        iAllAttributes.put(new Short(AT_STROKE), "stroke"); // 74
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   546
        iAllAttributes.put(new Short(AT_STROKEDASHARRAY), "stroke-dasharray"); // 75
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   547
        iAllAttributes.put(new Short(AT_STROKEDASHOFFSET), "stroke-dashoffset"); // 76
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   548
        iAllAttributes.put(new Short(AT_STROKELINECAP), "stroke-linecap"); // 77
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   549
        iAllAttributes.put(new Short(AT_STROKELINEJOIN), "stroke-linejoin"); // 78
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   550
        iAllAttributes.put(new Short(AT_STROKEMITERLIMIT), "stroke-miterlimit"); // 79
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   551
        iAllAttributes.put(new Short(AT_STROKEWIDTH), "stroke-width"); // 80
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   552
        iAllAttributes.put(new Short(AT_STYLE), "style"); // 81
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   553
        iAllAttributes.put(new Short(AT_SYSTEMLANGUAGE), "systemLanguage"); // 82
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   554
        iAllAttributes.put(new Short(AT_TARGET), "target"); // 83
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   555
        iAllAttributes.put(new Short(AT_TEXTANCHOR), "text-anchor"); // 84
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   556
        iAllAttributes.put(new Short(AT_TO), "to"); // 85
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   557
        iAllAttributes.put(new Short(AT_TRANSFORM), "transform"); // 86
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   558
        iAllAttributes.put(new Short(AT_TYPE), "type"); // 87
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   559
        iAllAttributes.put(new Short(AT_U1), "u1"); // 88
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   560
        iAllAttributes.put(new Short(AT_U2), "u2"); // 89
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   561
        iAllAttributes.put(new Short(AT_UNDERLINEPOSITION), "underline-position"); // 90
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   562
        iAllAttributes.put(new Short(AT_UNDERLINETHICKNESS), "underline-thickness"); // 91
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   563
        iAllAttributes.put(new Short(AT_UNICODE), "unicode"); // 92
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   564
        iAllAttributes.put(new Short(AT_UNICODERANGE), "unicode-range"); // 93
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   565
        iAllAttributes.put(new Short(AT_UNITSPEREM), "units-per-em"); // 94
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   566
        iAllAttributes.put(new Short(AT_VALUES), "values"); // 95
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   567
        iAllAttributes.put(new Short(AT_VERSION), "version"); // 96
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   568
        iAllAttributes.put(new Short(AT_VIEWBOX), "viewBox"); // 97
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   569
        iAllAttributes.put(new Short(AT_VISIBILITY), "visibility"); // 98
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   570
        iAllAttributes.put(new Short(AT_WIDTH), "width"); // 99
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   571
        iAllAttributes.put(new Short(AT_WIDTHS), "widths"); // 100
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   572
        iAllAttributes.put(new Short(AT_X), "x"); // 101
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   573
        iAllAttributes.put(new Short(AT_XHEIGHT), "xheight"); // 102
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   574
        iAllAttributes.put(new Short(AT_X1), "x1"); // 103
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   575
        iAllAttributes.put(new Short(AT_X2), "x2"); // 104
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   576
        iAllAttributes.put(new Short(AT_XLINKACTUATE), "xlink:actuate"); // 105
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   577
        iAllAttributes.put(new Short(AT_XLINKARCROLE), "xlink:arcrole"); // 106
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   578
        iAllAttributes.put(new Short(AT_XMLBASE), "xlink:base"); // 107
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   579
        iAllAttributes.put(new Short(AT_XLINKHREF), "xlink:href"); // 108
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   580
        iAllAttributes.put(new Short(AT_XLINKROLE), "xlink:role"); // 109
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   581
        iAllAttributes.put(new Short(AT_XLINKSHOW), "xlink:show"); // 110
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   582
        iAllAttributes.put(new Short(AT_XLINKTITLE), "xlink:title"); // 111
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   583
        iAllAttributes.put(new Short(AT_XLINKTYPE), "xlink:type"); // 112
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   584
        iAllAttributes.put(new Short(AT_XMLLANG), "xml:lang"); // 113
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   585
        iAllAttributes.put(new Short(AT_XMLSPACE), "xml:space"); // 114
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   586
        iAllAttributes.put(new Short(AT_Y), "y"); // 115
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   587
        iAllAttributes.put(new Short(AT_Y1), "y1"); // 116
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   588
        iAllAttributes.put(new Short(AT_Y2), "y2"); // 117
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   589
        iAllAttributes.put(new Short(AT_ZOOMANDPAN), "zoomAndPan"); // 118
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   590
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   591
        // Qualified elements
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   592
        iQualifiedElements = new Vector(10);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   593
        iQualifiedElements.addElement("a"); // 1
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   594
        iQualifiedElements.addElement("circle"); // 2
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   595
        iQualifiedElements.addElement("ellipse"); // 3
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   596
        iQualifiedElements.addElement("g"); // 4
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   597
        iQualifiedElements.addElement("image"); // 5
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   598
        iQualifiedElements.addElement("line"); // 6
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   599
        iQualifiedElements.addElement("path"); // 7
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   600
        iQualifiedElements.addElement("rect"); // 8
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   601
        iQualifiedElements.addElement("text"); // 9
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   602
        iQualifiedElements.addElement("use"); // 10
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   603
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   604
        // Animatable elements
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   605
        iAnimatableElements = new Vector(6);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   606
        iAnimatableElements.addElement("animate"); // 1
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   607
        iAnimatableElements.addElement("animateColor"); // 2
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   608
        iAnimatableElements.addElement("animateMotion"); // 3
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   609
        iAnimatableElements.addElement("animateTransform"); // 4
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   610
        iAnimatableElements.addElement("mpath"); // 5
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   611
        iAnimatableElements.addElement("set"); // 6
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   612
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   613
        // Read only elements
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   614
        iReadOnlyElements = new Vector(19);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   615
        iReadOnlyElements.addElement("animateColor"); // 1
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   616
        iReadOnlyElements.addElement("animateMotion"); // 2
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   617
        iReadOnlyElements.addElement("animateTransform"); // 3
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   618
        iReadOnlyElements.addElement("defs"); // 4
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   619
        iReadOnlyElements.addElement("desc"); // 5
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   620
        iReadOnlyElements.addElement("font"); // 6
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   621
        iReadOnlyElements.addElement("font-face"); // 7
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   622
        iReadOnlyElements.addElement("font-face-name"); // 8
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   623
        iReadOnlyElements.addElement("font-face-src"); // 9
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   624
        iReadOnlyElements.addElement("foreignObject"); // 10
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   625
        iReadOnlyElements.addElement("glyph"); // 11
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   626
        iReadOnlyElements.addElement("hkern"); // 12
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   627
        iReadOnlyElements.addElement("metadata"); // 13
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   628
        iReadOnlyElements.addElement("missing-glyph"); // 14
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   629
        iReadOnlyElements.addElement("mpath"); // 15
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   630
        iReadOnlyElements.addElement("polygon"); // 16
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   631
        iReadOnlyElements.addElement("polyline"); // 17
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   632
        iReadOnlyElements.addElement("set"); // 18
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   633
        iReadOnlyElements.addElement("switch"); // 19
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   634
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   635
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   636
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   637
    // STATIC METHODS
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   638
    //--------------------------------------------------
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   639
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   640
     * Determines if the specified parentElement can have the specified childElement.
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   641
     * This method works for only the element types that can be added in JSR-226.
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   642
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   643
    static final boolean checkElementAsChild(short aParentElement, short aChildElement)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   644
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   645
        switch (aParentElement)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   646
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   647
        case EL_A:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   648
            switch (aChildElement)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   649
            {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   650
            case EL_A:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   651
            case EL_CIRCLE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   652
            case EL_ELLIPSE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   653
            case EL_G:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   654
            case EL_IMAGE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   655
            case EL_LINE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   656
            case EL_PATH:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   657
            case EL_RECT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   658
            case EL_TEXT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   659
            case EL_USE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   660
                return true;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   661
            default:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   662
                return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   663
            }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   664
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   665
        case EL_ANIMATE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   666
        case EL_ANIMATECOLOR:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   667
        case EL_ANIMATEMOTION:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   668
        case EL_ANIMATETRANSFORM:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   669
        case EL_CIRCLE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   670
            return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   671
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   672
        case EL_DEFS:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   673
            switch (aChildElement)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   674
            {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   675
            case EL_A:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   676
            case EL_CIRCLE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   677
            case EL_ELLIPSE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   678
            case EL_G:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   679
            case EL_IMAGE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   680
            case EL_LINE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   681
            case EL_PATH:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   682
            case EL_RECT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   683
            case EL_TEXT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   684
            case EL_USE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   685
                return true;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   686
            default:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   687
                return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   688
            }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   689
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   690
        case EL_DESC:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   691
        case EL_ELLIPSE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   692
        case EL_FONT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   693
        case EL_FONTFACE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   694
        case EL_FONTFACENAME:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   695
        case EL_FONTFACESRC:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   696
        case EL_FOREIGNOBJECT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   697
            return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   698
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   699
        case EL_G:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   700
            switch (aChildElement)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   701
            {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   702
            case EL_A:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   703
            case EL_CIRCLE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   704
            case EL_ELLIPSE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   705
            case EL_G:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   706
            case EL_IMAGE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   707
            case EL_LINE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   708
            case EL_PATH:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   709
            case EL_RECT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   710
            case EL_TEXT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   711
            case EL_USE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   712
                return true;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   713
            default:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   714
                return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   715
            }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   716
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   717
        case EL_GLYPH:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   718
        case EL_HKERN:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   719
        case EL_IMAGE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   720
        case EL_LINE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   721
        case EL_METADATA:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   722
        case EL_MISSINGGLYPH:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   723
        case EL_MPATH:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   724
        case EL_PATH:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   725
        case EL_POLYGON:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   726
        case EL_POLYLINE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   727
        case EL_RECT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   728
        case EL_SET:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   729
            return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   730
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   731
        case EL_SVG:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   732
        case EL_SWITCH:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   733
            switch (aChildElement)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   734
            {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   735
            case EL_A:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   736
            case EL_CIRCLE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   737
            case EL_ELLIPSE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   738
            case EL_G:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   739
            case EL_IMAGE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   740
            case EL_LINE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   741
            case EL_PATH:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   742
            case EL_RECT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   743
            case EL_TEXT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   744
            case EL_USE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   745
                return true;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   746
            default:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   747
                return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   748
            }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   749
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   750
        case EL_TEXT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   751
            switch (aChildElement)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   752
            {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   753
            case EL_A:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   754
                return true;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   755
            default:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   756
                return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   757
            }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   758
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   759
        case EL_TITLE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   760
        case EL_USE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   761
        default:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   762
            return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   763
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   764
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   765
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   766
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   767
     * Determines if the specified attribute type can be set on the specified element type.
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   768
     * @param aAttribute
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   769
     * @param aElement
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   770
     * @return true if ok
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   771
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   772
    static final boolean checkElementAttribute(short aAttribute, short aElement)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   773
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   774
        switch (aElement)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   775
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   776
        case EL_A:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   777
            switch (aAttribute)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   778
            {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   779
            case AT_COLOR:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   780
            case AT_DISPLAY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   781
            case AT_FILL:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   782
            case AT_FILLRULE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   783
            case AT_STROKE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   784
            case AT_STROKEDASHOFFSET:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   785
            case AT_STROKELINECAP:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   786
            case AT_STROKELINEJOIN:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   787
            case AT_STROKEMITERLIMIT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   788
            case AT_STROKEWIDTH:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   789
            case AT_VISIBILITY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   790
            case AT_FONTFAMILY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   791
            case AT_FONTSIZE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   792
            case AT_FONTSTYLE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   793
            case AT_FONTWEIGHT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   794
            case AT_TEXTANCHOR:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   795
            case AT_TRANSFORM:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   796
            case AT_TARGET:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   797
            case AT_XLINKHREF:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   798
                return true;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   799
            default:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   800
                return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   801
            }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   802
        case EL_CIRCLE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   803
            switch (aAttribute)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   804
            {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   805
            case AT_COLOR:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   806
            case AT_DISPLAY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   807
            case AT_FILL:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   808
            case AT_FILLRULE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   809
            case AT_STROKE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   810
            case AT_STROKEDASHOFFSET:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   811
            case AT_STROKELINECAP:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   812
            case AT_STROKELINEJOIN:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   813
            case AT_STROKEMITERLIMIT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   814
            case AT_STROKEWIDTH:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   815
            case AT_VISIBILITY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   816
            case AT_TRANSFORM:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   817
            case AT_CX:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   818
            case AT_CY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   819
            case AT_R:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   820
                return true;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   821
            default:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   822
                return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   823
            }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   824
        case EL_ELLIPSE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   825
            switch (aAttribute)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   826
            {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   827
            case AT_COLOR:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   828
            case AT_DISPLAY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   829
            case AT_FILL:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   830
            case AT_FILLRULE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   831
            case AT_STROKE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   832
            case AT_STROKEDASHOFFSET:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   833
            case AT_STROKELINECAP:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   834
            case AT_STROKELINEJOIN:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   835
            case AT_STROKEMITERLIMIT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   836
            case AT_STROKEWIDTH:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   837
            case AT_VISIBILITY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   838
            case AT_TRANSFORM:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   839
            case AT_CX:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   840
            case AT_CY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   841
            case AT_RX:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   842
            case AT_RY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   843
                return true;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   844
            default:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   845
                return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   846
            }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   847
        case EL_G:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   848
            switch (aAttribute)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   849
            {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   850
            case AT_COLOR:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   851
            case AT_DISPLAY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   852
            case AT_FILL:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   853
            case AT_FILLRULE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   854
            case AT_STROKE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   855
            case AT_STROKEDASHOFFSET:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   856
            case AT_STROKELINECAP:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   857
            case AT_STROKELINEJOIN:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   858
            case AT_STROKEMITERLIMIT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   859
            case AT_STROKEWIDTH:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   860
            case AT_VISIBILITY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   861
            case AT_FONTFAMILY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   862
            case AT_FONTSIZE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   863
            case AT_FONTSTYLE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   864
            case AT_FONTWEIGHT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   865
            case AT_TEXTANCHOR:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   866
            case AT_TRANSFORM:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   867
                return true;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   868
            default:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   869
                return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   870
            }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   871
        case EL_IMAGE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   872
            switch (aAttribute)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   873
            {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   874
            case AT_COLOR:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   875
            case AT_DISPLAY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   876
            case AT_FILL:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   877
            case AT_FILLRULE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   878
            case AT_STROKE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   879
            case AT_STROKEDASHOFFSET:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   880
            case AT_STROKELINECAP:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   881
            case AT_STROKELINEJOIN:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   882
            case AT_STROKEMITERLIMIT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   883
            case AT_STROKEWIDTH:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   884
            case AT_VISIBILITY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   885
            case AT_TRANSFORM:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   886
            case AT_X:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   887
            case AT_Y:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   888
            case AT_WIDTH:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   889
            case AT_HEIGHT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   890
            case AT_XLINKHREF:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   891
                return true;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   892
            default:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   893
                return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   894
            }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   895
        case EL_LINE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   896
            switch (aAttribute)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   897
            {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   898
            case AT_COLOR:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   899
            case AT_DISPLAY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   900
            case AT_FILL:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   901
            case AT_FILLRULE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   902
            case AT_STROKE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   903
            case AT_STROKEDASHOFFSET:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   904
            case AT_STROKELINECAP:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   905
            case AT_STROKELINEJOIN:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   906
            case AT_STROKEMITERLIMIT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   907
            case AT_STROKEWIDTH:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   908
            case AT_VISIBILITY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   909
            case AT_TRANSFORM:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   910
            case AT_X1:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   911
            case AT_X2:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   912
            case AT_Y1:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   913
            case AT_Y2:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   914
                return true;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   915
            default:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   916
                return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   917
            }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   918
        case EL_PATH:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   919
            switch (aAttribute)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   920
            {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   921
            case AT_COLOR:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   922
            case AT_DISPLAY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   923
            case AT_FILL:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   924
            case AT_FILLRULE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   925
            case AT_STROKE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   926
            case AT_STROKEDASHOFFSET:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   927
            case AT_STROKELINECAP:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   928
            case AT_STROKELINEJOIN:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   929
            case AT_STROKEMITERLIMIT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   930
            case AT_STROKEWIDTH:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   931
            case AT_VISIBILITY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   932
            case AT_TRANSFORM:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   933
            case AT_D:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   934
                return true;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   935
            default:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   936
                return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   937
            }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   938
        case EL_RECT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   939
            switch (aAttribute)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   940
            {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   941
            case AT_COLOR:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   942
            case AT_DISPLAY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   943
            case AT_FILL:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   944
            case AT_FILLRULE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   945
            case AT_STROKE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   946
            case AT_STROKEDASHOFFSET:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   947
            case AT_STROKELINECAP:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   948
            case AT_STROKELINEJOIN:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   949
            case AT_STROKEMITERLIMIT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   950
            case AT_STROKEWIDTH:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   951
            case AT_VISIBILITY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   952
            case AT_TRANSFORM:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   953
            case AT_HEIGHT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   954
            case AT_WIDTH:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   955
            case AT_X:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   956
            case AT_Y:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   957
            case AT_RX:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   958
            case AT_RY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   959
                return true;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   960
            default:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   961
                return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   962
            }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   963
        case EL_SVG:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   964
            switch (aAttribute)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   965
            {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   966
            case AT_COLOR:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   967
            case AT_DISPLAY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   968
            case AT_FILL:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   969
            case AT_FILLRULE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   970
            case AT_STROKE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   971
            case AT_STROKEDASHOFFSET:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   972
            case AT_STROKELINECAP:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   973
            case AT_STROKELINEJOIN:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   974
            case AT_STROKEMITERLIMIT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   975
            case AT_STROKEWIDTH:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   976
            case AT_VISIBILITY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   977
            case AT_FONTFAMILY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   978
            case AT_FONTSIZE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   979
            case AT_FONTSTYLE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   980
            case AT_FONTWEIGHT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   981
            case AT_TEXTANCHOR:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   982
            case AT_VERSION:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   983
            case AT_BASEPROFILE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   984
            case AT_VIEWBOX:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   985
            case AT_ZOOMANDPAN:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   986
                return true;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   987
            default:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   988
                return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   989
            }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   990
        case EL_TEXT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   991
            switch (aAttribute)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   992
            {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   993
            case AT_COLOR:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   994
            case AT_DISPLAY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   995
            case AT_FILL:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   996
            case AT_FILLRULE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   997
            case AT_STROKE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   998
            case AT_STROKEDASHOFFSET:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
   999
            case AT_STROKELINECAP:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1000
            case AT_STROKELINEJOIN:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1001
            case AT_STROKEMITERLIMIT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1002
            case AT_STROKEWIDTH:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1003
            case AT_VISIBILITY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1004
            case AT_FONTFAMILY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1005
            case AT_FONTSIZE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1006
            case AT_FONTSTYLE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1007
            case AT_FONTWEIGHT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1008
            case AT_TEXTANCHOR:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1009
            case AT_TRANSFORM:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1010
            case AT_X:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1011
            case AT_Y:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1012
            case AT_STRING:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1013
                return true;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1014
            default:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1015
                return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1016
            }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1017
        case EL_USE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1018
            switch (aAttribute)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1019
            {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1020
            case AT_COLOR:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1021
            case AT_DISPLAY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1022
            case AT_FILL:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1023
            case AT_FILLRULE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1024
            case AT_STROKE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1025
            case AT_STROKEDASHOFFSET:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1026
            case AT_STROKELINECAP:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1027
            case AT_STROKELINEJOIN:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1028
            case AT_STROKEMITERLIMIT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1029
            case AT_STROKEWIDTH:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1030
            case AT_VISIBILITY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1031
            case AT_FONTFAMILY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1032
            case AT_FONTSIZE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1033
            case AT_FONTSTYLE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1034
            case AT_FONTWEIGHT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1035
            case AT_TEXTANCHOR:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1036
            case AT_TRANSFORM:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1037
            case AT_X:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1038
            case AT_Y:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1039
            case AT_XLINKHREF:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1040
                return true;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1041
            default:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1042
                return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1043
            }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1044
        default:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1045
            return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1046
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1047
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1048
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1049
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1050
     * Checks if the attribute name needs prefix
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1051
     * @param aAttributeTypeName
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1052
     * @return Attribute name
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1053
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1054
    static final String checkPrefixNeed(String aAttributeTypeName)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1055
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1056
        if (aAttributeTypeName.equals("actuate")) return  "xlink:actuate";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1057
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1058
        else if (aAttributeTypeName.equals("arcrole")) return  "xlink:arcrole";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1059
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1060
        else if (aAttributeTypeName.equals("href")) return  "xlink:href";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1061
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1062
        else if (aAttributeTypeName.equals("role")) return  "xlink:role";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1063
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1064
        else if (aAttributeTypeName.equals("show")) return  "xlink:show";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1065
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1066
        else if (aAttributeTypeName.equals("title")) return  "xlink:title";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1067
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1068
        else if (aAttributeTypeName.equals("type")) return  "xlink:type";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1069
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1070
        else if (aAttributeTypeName.equals("base")) return  "xml:base";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1071
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1072
        else if (aAttributeTypeName.equals("lang")) return  "xml:lang";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1073
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1074
        else if (aAttributeTypeName.equals("space")) return  "xml:space";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1075
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1076
        else return aAttributeTypeName;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1077
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1078
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1079
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1080
     * Get internal data containers
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1081
     * @return Data containers
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1082
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1083
    static M2GSVGConstants getInstance()
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1084
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1085
        if (sInstance == null)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1086
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1087
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1088
            sInstance = new M2GSVGConstants();
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1089
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1090
        return sInstance;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1091
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1092
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1093
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1094
     * Checks if element can be inserted.
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1095
     * @param aElementTypeId -
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1096
     * @return true if ok
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1097
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1098
    static final boolean isAllowedToInsertElement(short aElementTypeId)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1099
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1100
        switch (aElementTypeId)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1101
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1102
        case EL_A:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1103
        case EL_CIRCLE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1104
        case EL_ELLIPSE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1105
        case EL_G:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1106
        case EL_IMAGE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1107
        case EL_LINE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1108
        case EL_PATH:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1109
        case EL_RECT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1110
        case EL_TEXT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1111
        case EL_USE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1112
            return true;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1113
        default:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1114
            return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1115
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1116
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1117
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1118
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1119
     * Checks if element can be removed.
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1120
     * @param aElementTypeId -
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1121
     * @return true if ok
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1122
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1123
    static final boolean isAllowedToRemoveElement(short aElementTypeId)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1124
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1125
        switch (aElementTypeId)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1126
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1127
        case EL_A:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1128
        case EL_CIRCLE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1129
        case EL_ELLIPSE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1130
        case EL_G:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1131
        case EL_IMAGE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1132
        case EL_LINE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1133
        case EL_PATH:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1134
        case EL_RECT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1135
        case EL_TEXT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1136
        case EL_USE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1137
            return true;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1138
        default:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1139
            return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1140
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1141
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1142
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1143
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1144
       * Checks if element is animatable
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1145
       * @param aElementTypeName
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1146
       * @return true if element is animatable
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1147
       */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1148
    static boolean isAnimatableElement(String aElementTypeName)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1149
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1150
        if (getInstance().iAnimatableElements.contains(
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1151
                    aElementTypeName))
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1152
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1153
            return true;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1154
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1155
        return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1156
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1157
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1158
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1159
     * Checks that float trait is allowed to get
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1160
     * @param aAttributeTypeId
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1161
     * @return true if float trait is allowed to get
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1162
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1163
    static final boolean isGetFloatTraitAllowed(short aAttributeTypeId)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1164
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1165
        switch (aAttributeTypeId)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1166
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1167
        case AT_STROKEDASHOFFSET:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1168
        case AT_STROKEMITERLIMIT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1169
        case AT_STROKEWIDTH:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1170
        case AT_FONTSIZE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1171
        case AT_HEIGHT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1172
        case AT_WIDTH:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1173
        case AT_X:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1174
        case AT_Y:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1175
        case AT_RX:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1176
        case AT_RY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1177
        case AT_CX:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1178
        case AT_CY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1179
        case AT_R:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1180
        case AT_X1:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1181
        case AT_X2:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1182
        case AT_Y1:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1183
        case AT_Y2:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1184
            return true;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1185
        default:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1186
            return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1187
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1188
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1189
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1190
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1191
     * Checks that matrix trait is allowed to set
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1192
     * @param aAttributeTypeId
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1193
     * @return true if matrix trait is allowed to set
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1194
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1195
    static final boolean isGetMatrixTraitAllowed(short aAttributeTypeId)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1196
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1197
        switch (aAttributeTypeId)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1198
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1199
        case AT_TRANSFORM:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1200
            return true;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1201
        default:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1202
            return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1203
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1204
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1205
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1206
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1207
     * Checks that path trait is allowed to get
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1208
     * @param aAttributeTypeId
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1209
     * @return true if path trait is allowed to get
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1210
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1211
    static final boolean isGetPathTraitAllowed(short aAttributeTypeId)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1212
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1213
        switch (aAttributeTypeId)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1214
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1215
        case AT_D:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1216
            return true;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1217
        default:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1218
            return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1219
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1220
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1221
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1222
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1223
     * Checks that rect trait is allowed to get
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1224
     * @param aAttributeTypeId
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1225
     * @return true if rect trait is allowed to get
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1226
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1227
    static final boolean isGetRectTraitAllowed(short aAttributeTypeId)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1228
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1229
        switch (aAttributeTypeId)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1230
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1231
        case AT_VIEWBOX:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1232
            return true;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1233
        default:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1234
            return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1235
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1236
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1237
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1238
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1239
     * Checks that RGB trait is allowed to get.
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1240
     * @param aAttributeTypeId
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1241
     * @return true if RGB trait is allowed to get.
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1242
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1243
    static final boolean isGetRgbColorTraitAllowed(short aAttributeTypeId)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1244
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1245
        switch (aAttributeTypeId)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1246
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1247
        case AT_COLOR:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1248
        case AT_FILL:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1249
        case AT_STROKE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1250
            return true;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1251
        default:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1252
            return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1253
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1254
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1255
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1256
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1257
     * Checks that trait that can be obtained as a string is allowed to get.
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1258
     * In SVG Tiny only certain traits can be obtained as a String value.
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1259
     * @param aAttributeTypeId
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1260
     * @return true if ok
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1261
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1262
    static final boolean isGetTraitNSStringAllowed(short aAttributeTypeId)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1263
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1264
        switch (aAttributeTypeId)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1265
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1266
        case AT_DISPLAY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1267
        case AT_FILLRULE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1268
        case AT_STROKELINECAP:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1269
        case AT_STROKELINEJOIN:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1270
        case AT_VISIBILITY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1271
        case AT_FONTFAMILY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1272
        case AT_FONTSTYLE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1273
        case AT_FONTWEIGHT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1274
        case AT_TEXTANCHOR:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1275
        case AT_TARGET:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1276
        case AT_STRING: // not an SVG aTrait, but represents the contents of <text>
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1277
        case AT_VERSION:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1278
        case AT_BASEPROFILE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1279
        case AT_XLINKHREF:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1280
        case AT_ZOOMANDPAN:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1281
            return true;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1282
        default:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1283
            return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1284
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1285
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1286
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1287
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1288
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1289
     * Check trait
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1290
     * @param aAttributeTypeId
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1291
     * @return
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1292
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1293
    static final boolean isGetTraitNSAllowed(short aAttributeTypeId)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1294
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1295
        switch (aAttributeTypeId)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1296
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1297
        case AT_XLINKHREF:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1298
            return true;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1299
        default:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1300
            return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1301
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1302
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1303
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1304
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1305
     * Checks that an element is locatable
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1306
     * @param aElementTypeName
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1307
     * @return true if the element is locatable
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1308
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1309
    static boolean isLocatableElement(String aElementTypeName)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1310
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1311
        if (isRootElement(aElementTypeName))
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1312
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1313
            return true;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1314
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1315
        if (getInstance().iQualifiedElements.contains(
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1316
                    aElementTypeName))
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1317
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1318
            return true;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1319
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1320
        return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1321
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1322
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1323
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1324
     * Checks that an element is qualified
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1325
     * @param aElementTypeName
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1326
     * @return true if the element is qualified
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1327
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1328
    static boolean isQualifiedElement(String aElementTypeName)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1329
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1330
        if (getInstance().iQualifiedElements.contains(
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1331
                    aElementTypeName))
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1332
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1333
            return true;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1334
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1335
        return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1336
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1337
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1338
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1339
     * Checks if element is read only
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1340
     * @param aElementTypeName
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1341
     * @return true if the element is read only
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1342
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1343
    static boolean isElementReadOnly(String aElementTypeName)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1344
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1345
        if (aElementTypeName != null)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1346
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1347
            return getInstance().iReadOnlyElements.contains(
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1348
                       aElementTypeName);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1349
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1350
        return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1351
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1352
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1353
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1354
     * Checks that an element is a root element
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1355
     * @param aElementTypeName
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1356
     * @return true if the element is a root element
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1357
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1358
    static boolean isRootElement(String aElementTypeName)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1359
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1360
        return ROOT_SVG_ELEMENT_NAME.equals(aElementTypeName);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1361
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1362
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1363
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1364
     * Checks that float trait is allowed to set
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1365
     * @param aAttributeTypeId
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1366
     * @return true if float trait is allowed to set
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1367
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1368
    static final boolean isSetFloatTraitAllowed(short aAttributeTypeId)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1369
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1370
        return isGetFloatTraitAllowed(aAttributeTypeId);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1371
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1372
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1373
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1374
     * Checks that matrix trait is allowed to set
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1375
     * @param aAttributeTypeId
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1376
     * @return true if matrix trait is allowed to set
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1377
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1378
    static final boolean isSetMatrixTraitAllowed(short aAttributeTypeId)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1379
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1380
        return isGetMatrixTraitAllowed(aAttributeTypeId);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1381
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1382
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1383
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1384
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1385
     * Checks that path trait is allowed to set
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1386
     * @param aAttributeTypeId
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1387
     * @return true if path trait is allowed to set
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1388
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1389
    static final boolean isSetPathTraitAllowed(short aAttributeTypeId)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1390
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1391
        return isGetPathTraitAllowed(aAttributeTypeId);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1392
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1393
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1394
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1395
     * Checks that rect trait is allowed to set
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1396
     * @param aAttributeTypeId
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1397
     * @return true if rect trait is allowed to set
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1398
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1399
    static final boolean isSetRectTraitAllowed(short aAttributeTypeId)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1400
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1401
        switch (aAttributeTypeId)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1402
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1403
        case AT_VIEWBOX:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1404
            return true;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1405
        default:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1406
            return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1407
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1408
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1409
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1410
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1411
     * Checks that RGB trait is allowed to set.
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1412
     * @param aAttributeTypeId
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1413
     * @return true if RGB trait is allowed to set.
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1414
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1415
    static final boolean isSetRgbColorTraitAllowed(short aAttributeTypeId)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1416
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1417
        switch (aAttributeTypeId)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1418
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1419
        case AT_COLOR:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1420
        case AT_FILL:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1421
        case AT_STROKE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1422
            return true;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1423
        default:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1424
            return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1425
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1426
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1427
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1428
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1429
     * Checks that trait that can be obtained as a string is allowed to set.
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1430
     * In SVG Tiny only certain traits can be obtained as a String value.
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1431
     * @param aAttributeTypeId
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1432
     * @return true if ok
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1433
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1434
    static final boolean isSetTraitNSStringAllowed(short aAttributeTypeId)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1435
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1436
        switch (aAttributeTypeId)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1437
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1438
        case AT_COLOR:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1439
        case AT_DISPLAY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1440
        case AT_FILL:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1441
        case AT_FILLRULE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1442
        case AT_STROKE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1443
        case AT_STROKEDASHOFFSET:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1444
        case AT_STROKELINECAP:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1445
        case AT_STROKELINEJOIN:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1446
        case AT_STROKEMITERLIMIT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1447
        case AT_STROKEWIDTH:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1448
        case AT_VISIBILITY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1449
        case AT_FONTFAMILY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1450
        case AT_FONTSIZE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1451
        case AT_FONTSTYLE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1452
        case AT_FONTWEIGHT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1453
        case AT_TEXTANCHOR:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1454
        case AT_TARGET:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1455
        case AT_STRING: // not an SVG trait, but represents the contents of <text>
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1456
        case AT_XLINKHREF:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1457
        case AT_ZOOMANDPAN:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1458
            return true;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1459
        default:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1460
            return false;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1461
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1462
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1463
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1464
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1465
     * Check trait
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1466
     * @param aAttributeTypeId
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1467
     * @return
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1468
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1469
    static final boolean isSetTraitNSAllowed(short aAttributeTypeId)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1470
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1471
        return isGetTraitNSAllowed(aAttributeTypeId);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1472
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1473
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1474
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1475
     * Converts a string trait name to the appropriate short constant.
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1476
       * This method covers all of SVGT 1.1 and not just JSR-226.
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1477
       * @param aAttributeTypeName
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1478
       * @return Attribute's type id
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1479
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1480
    static final short parseAttributeTypeId(String aAttributeTypeName)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1481
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1482
        String name = checkPrefixNeed(aAttributeTypeName);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1483
        Enumeration keys = getInstance().iAllAttributes.keys();
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1484
        while (keys.hasMoreElements())
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1485
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1486
            Object id = keys.nextElement();
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1487
            try
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1488
            {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1489
                if (((String)getInstance().iAllAttributes.get(
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1490
                            id)).equals(name))
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1491
                {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1492
                    return ((Short)id).shortValue();
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1493
                }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1494
            }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1495
            catch (Exception e)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1496
            {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1497
            }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1498
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1499
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1500
        return SVG_ERROR;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1501
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1502
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1503
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1504
     * Converts a short constant to the string representation of a SVGT 1.1 trait name.
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1505
       * This method covers all of SVGT 1.1 and not just JSR-226.
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1506
       * @param aAttributeTypeId
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1507
       * @return Attribute's type name
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1508
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1509
    static final String parseAttributeTypeName(short aAttributeTypeId)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1510
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1511
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1512
        Object attributeName = getInstance().iAllAttributes.get(
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1513
                                   new Short(aAttributeTypeId));
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1514
        if (attributeName != null)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1515
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1516
            return (String)attributeName;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1517
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1518
        return "";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1519
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1520
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1521
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1522
     * Converts a string element name to the appropriate short constant.
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1523
       * This method covers all of SVGT 1.1 and not just JSR-226.
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1524
       * @param aElementTypeName
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1525
       * @return Element's type id
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1526
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1527
    static final short parseElementTypeId(String aElementTypeName)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1528
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1529
        Enumeration keys = getInstance().iAllElements.keys();
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1530
        while (keys.hasMoreElements())
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1531
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1532
            Object id = keys.nextElement();
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1533
            try
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1534
            {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1535
                if (((String)getInstance().iAllElements.get(
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1536
                            id)).equals(aElementTypeName))
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1537
                {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1538
                    return ((Short)id).shortValue();
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1539
                }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1540
            }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1541
            catch (Exception e)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1542
            {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1543
            }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1544
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1545
        return SVG_ERROR;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1546
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1547
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1548
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1549
     * Converts a short constant to the string representation of a SVGT 1.1 element name.
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1550
       * This method covers all of SVGT 1.1 and not just JSR-226.
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1551
       * @param aElementTypeId
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1552
       * @return Element's type name
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1553
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1554
    static final String parseElementTypeName(short aElementTypeId)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1555
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1556
        Object elementName = getInstance().iAllElements.get(
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1557
                                 new Short(aElementTypeId));
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1558
        if (elementName != null)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1559
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1560
            return (String)elementName;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1561
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1562
        return "";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1563
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1564
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1565
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1566
     * Converts a string trait value to the appropriate short constant.
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1567
     * NOTE: This method only handles traits that can be set as a string in JSR-226.
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1568
     * @param aAttributeTypeId
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1569
     * @param aValue
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1570
     * @return Value's id
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1571
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1572
    static final short parseAttributeValueNameId(short aAttributeTypeId, String aValue)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1573
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1574
        switch (aAttributeTypeId)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1575
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1576
        case AT_STRING: // element content (i.e. <text>, etc.)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1577
            return TEXT_NOT_SHORT;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1578
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1579
        case AT_COLOR: // inherit
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1580
            if (aValue.equals("inherit")) return PAINT_INHERIT;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1581
            else return SVG_ERROR;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1582
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1583
        case AT_DISPLAY: // inline | none | inherit
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1584
            if (aValue.equals("none")) return DISPLAY_NONE;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1585
            else if (aValue.equals("inline")) return DISPLAY_OTHER;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1586
            else if (aValue.equals("inherit")) return DEFAULT_INHERIT;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1587
            else return SVG_ERROR;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1588
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1589
        case AT_FILL: // none | currentColor | inherit
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1590
            if (aValue.equals("none")) return  PAINT_NONE;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1591
            else if (aValue.equals("currentColor")) return PAINT_CURRENT;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1592
            else if (aValue.equals("inherit")) return PAINT_INHERIT;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1593
            else return SVG_ERROR;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1594
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1595
        case AT_FILLRULE: // nonzero | evenodd | inherit
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1596
            if (aValue.equals("evenodd")) return  FILL_RULE_EVENODD;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1597
            else if (aValue.equals("nonzero")) return FILL_RULE_NONZERO;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1598
            else if (aValue.equals("inherit")) return DEFAULT_INHERIT;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1599
            else return SVG_ERROR;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1600
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1601
        case AT_FONTFAMILY: // same syntax as font-family attribute
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1602
            if (aValue.equals("inherit")) return DEFAULT_INHERIT;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1603
            else return TEXT_NOT_SHORT;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1604
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1605
        case AT_FONTSIZE: // inherit
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1606
            if (aValue.equals("inherit")) return DEFAULT_INHERIT;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1607
            else return SVG_ERROR;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1608
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1609
        case AT_FONTSTYLE: // normal | italic | oblique | inherit
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1610
            if (aValue.equals("normal")) return  FONT_NORMAL;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1611
            else if (aValue.equals("italic")) return  FONT_STYLE_ITALIC;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1612
            else if (aValue.equals("oblique")) return  FONT_STYLE_OBLIQUE;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1613
            else if (aValue.equals("inherit")) return DEFAULT_INHERIT;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1614
            else return SVG_ERROR;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1615
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1616
        case AT_FONTWEIGHT: // normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1617
            if (aValue.equals("normal")) return FONT_NORMAL;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1618
            else if (aValue.equals("bold")) return  FONT_WEIGHT_BOLD;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1619
            else if (aValue.equals("bolder")) return  FONT_WEIGHT_BOLDER;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1620
            else if (aValue.equals("lighter")) return  FONT_WEIGHT_LIGHTER;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1621
            else if (aValue.equals("100")) return  FONT_WEIGHT_100;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1622
            else if (aValue.equals("200")) return  FONT_WEIGHT_200;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1623
            else if (aValue.equals("300")) return  FONT_WEIGHT_300;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1624
            else if (aValue.equals("400")) return  FONT_WEIGHT_400;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1625
            else if (aValue.equals("500")) return  FONT_WEIGHT_500;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1626
            else if (aValue.equals("600")) return  FONT_WEIGHT_600;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1627
            else if (aValue.equals("700")) return  FONT_WEIGHT_700;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1628
            else if (aValue.equals("800")) return  FONT_WEIGHT_800;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1629
            else if (aValue.equals("900")) return  FONT_WEIGHT_900;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1630
            else if (aValue.equals("inherit")) return DEFAULT_INHERIT;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1631
            else return SVG_ERROR;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1632
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1633
        case AT_STROKE: // none | currentColor | inherit
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1634
            if (aValue.equals("none")) return  PAINT_NONE;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1635
            else if (aValue.equals("currentColor")) return  PAINT_CURRENT;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1636
            else if (aValue.equals("inherit")) return  PAINT_INHERIT;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1637
            else return SVG_ERROR;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1638
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1639
        case AT_STROKEDASHOFFSET: // inherit
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1640
            if (aValue.equals("inherit")) return DEFAULT_INHERIT;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1641
            else return SVG_ERROR;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1642
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1643
        case AT_STROKELINECAP: // butt | round | square | inherit
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1644
            if (aValue.equals("butt")) return  STROKE_LINECAP_BUTT;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1645
            else if (aValue.equals("round")) return  STROKE_LINECAP_ROUND;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1646
            else if (aValue.equals("square")) return  STROKE_LINECAP_SQUARE;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1647
            else if (aValue.equals("inherit")) return  DEFAULT_INHERIT;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1648
            else return SVG_ERROR;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1649
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1650
        case AT_STROKELINEJOIN: // miter | round | bevel | inherit
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1651
            if (aValue.equals("miter")) return  STROKE_LINEJOIN_MITER;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1652
            else if (aValue.equals("round")) return  STROKE_LINEJOIN_ROUND;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1653
            else if (aValue.equals("bevel")) return  STROKE_LINEJOIN_BEVEL;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1654
            else if (aValue.equals("inherit")) return  DEFAULT_INHERIT;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1655
            else return SVG_ERROR;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1656
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1657
        case AT_STROKEMITERLIMIT: // inherit
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1658
            if (aValue.equals("inherit")) return DEFAULT_INHERIT;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1659
            else return SVG_ERROR;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1660
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1661
        case AT_STROKEWIDTH: // inherit
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1662
            if (aValue.equals("inherit")) return DEFAULT_INHERIT;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1663
            else return SVG_ERROR;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1664
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1665
        case AT_TARGET: // string
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1666
            return TEXT_NOT_SHORT;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1667
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1668
        case AT_TEXTANCHOR: // start | middle | end | inherit
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1669
            if (aValue.equals("start")) return  TEXT_ANCHOR_START;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1670
            else if (aValue.equals("middle")) return  TEXT_ANCHOR_MIDDLE;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1671
            else if (aValue.equals("end")) return  TEXT_ANCHOR_END;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1672
            else if (aValue.equals("inherit")) return  DEFAULT_INHERIT;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1673
            else return SVG_ERROR;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1674
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1675
        case AT_VISIBILITY: // visible | hidden | inherit
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1676
            if (aValue.equals("visible")) return  VISIBILITY_VISIBLE;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1677
            else if (aValue.equals("hidden")) return  VISIBILITY_OTHER;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1678
            else if (aValue.equals("inherit")) return DEFAULT_INHERIT;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1679
            else return SVG_ERROR;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1680
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1681
        case AT_XLINKHREF: // URI aValue
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1682
            return TEXT_NOT_SHORT;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1683
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1684
        case AT_ZOOMANDPAN: // disable | magnify
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1685
            if (aValue.equals("magnify")) return  ZPN_MAGNIFY;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1686
            else if (aValue.equals("disable")) return  ZPN_DISABLE;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1687
            else return SVG_ERROR;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1688
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1689
        default:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1690
            return SVG_ERROR;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1691
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1692
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1693
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1694
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1695
     * Parse attribute
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1696
       * @param aValueId
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1697
     * @return Value's name
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1698
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1699
    static final String parseAttributeValueName(short aAttributeTypeId, short aValueId)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1700
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1701
        if (aValueId == 0)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1702
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1703
            return "";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1704
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1705
        if (aAttributeTypeId == AT_FONTWEIGHT && aValueId == FONT_WEIGHT_LIGHTER)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1706
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1707
            return "300";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1708
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1709
        else if (aAttributeTypeId == AT_FONTWEIGHT && aValueId == FONT_NORMAL)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1710
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1711
            return "400";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1712
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1713
        else if (aAttributeTypeId == AT_FONTWEIGHT && aValueId == FONT_WEIGHT_BOLD)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1714
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1715
            return "700";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1716
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1717
        else if (aAttributeTypeId == AT_FONTWEIGHT && aValueId == FONT_WEIGHT_BOLDER)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1718
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1719
            return "800";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1720
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1721
        else
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1722
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1723
            return parseAttributeValueName(aValueId);
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1724
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1725
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1726
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1727
    /**
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1728
     * Converts a short constant to the string representation of a
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1729
     * SVGT 1.1 attribute value literal.
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1730
       * This method covers all of SVGT 1.1 and not just JSR-226.
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1731
       * @param aValueId
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1732
     * @return Value's name
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1733
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1734
    static final String parseAttributeValueName(short aValueId)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1735
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1736
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1737
        switch (aValueId)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1738
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1739
        case TEXT_NOT_SHORT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1740
            return "#text";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1741
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1742
        case DEFAULT_INHERIT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1743
        case PAINT_INHERIT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1744
            return "inherit";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1745
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1746
        case DISPLAY_NONE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1747
        case PAINT_NONE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1748
            return "none";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1749
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1750
        case DISPLAY_OTHER:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1751
            return "inline";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1752
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1753
        case PAINT_CURRENT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1754
            return "currentColor";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1755
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1756
        case FILL_RULE_NONZERO:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1757
            return "nonzero";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1758
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1759
        case FILL_RULE_EVENODD:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1760
            return "evenodd";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1761
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1762
        case FONT_NORMAL:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1763
            return "normal";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1764
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1765
        case FONT_STYLE_ITALIC:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1766
            return "italic";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1767
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1768
        case FONT_STYLE_OBLIQUE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1769
            return "oblique";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1770
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1771
        case FONT_WEIGHT_BOLD:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1772
            return "bold";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1773
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1774
        case FONT_WEIGHT_BOLDER:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1775
            return "bolder";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1776
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1777
        case FONT_WEIGHT_LIGHTER:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1778
            return "lighter";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1779
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1780
        case FONT_WEIGHT_100:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1781
            return "100";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1782
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1783
        case FONT_WEIGHT_200:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1784
            return "200";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1785
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1786
        case FONT_WEIGHT_300:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1787
            return "300";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1788
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1789
        case FONT_WEIGHT_400:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1790
            return "400";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1791
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1792
        case FONT_WEIGHT_500:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1793
            return "500";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1794
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1795
        case FONT_WEIGHT_600:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1796
            return "600";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1797
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1798
        case FONT_WEIGHT_700:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1799
            return "700";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1800
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1801
        case FONT_WEIGHT_800:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1802
            return "800";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1803
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1804
        case FONT_WEIGHT_900:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1805
            return "900";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1806
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1807
        case STROKE_LINECAP_BUTT:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1808
            return "butt";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1809
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1810
        case STROKE_LINECAP_ROUND:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1811
        case STROKE_LINEJOIN_ROUND:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1812
            return "round";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1813
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1814
        case STROKE_LINECAP_SQUARE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1815
            return "square";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1816
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1817
        case STROKE_LINEJOIN_MITER:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1818
            return "miter";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1819
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1820
        case STROKE_LINEJOIN_BEVEL:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1821
            return "bevel";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1822
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1823
        case TEXT_ANCHOR_START:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1824
            return "start";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1825
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1826
        case TEXT_ANCHOR_MIDDLE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1827
            return "middle";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1828
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1829
        case TEXT_ANCHOR_END:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1830
            return "end";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1831
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1832
        case VISIBILITY_VISIBLE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1833
            return "visible";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1834
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1835
        case VISIBILITY_OTHER:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1836
            return "hidden";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1837
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1838
        case ZPN_MAGNIFY:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1839
            return "magnify";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1840
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1841
        case ZPN_DISABLE:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1842
            return "disable";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1843
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1844
        default:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1845
            return "";
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1846
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1847
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1848
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1849
    /*
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1850
     * Parses path command
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1851
     * @param aPathCommandIndex
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1852
     * @return path command
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1853
     */
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1854
    static short parsePathCommand(short aPathCommandIndex)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1855
    {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1856
        short command = SVG_ERROR;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1857
        switch (aPathCommandIndex)
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1858
        {
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1859
        case PATH_COMMAND_m:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1860
        case PATH_COMMAND_M:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1861
            command = SVGPath.MOVE_TO;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1862
            break;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1863
        case PATH_COMMAND_Z:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1864
            command = SVGPath.CLOSE;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1865
            break;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1866
        case PATH_COMMAND_h:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1867
        case PATH_COMMAND_v:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1868
        case PATH_COMMAND_l:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1869
        case PATH_COMMAND_H:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1870
        case PATH_COMMAND_V:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1871
        case PATH_COMMAND_L:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1872
            command = SVGPath.LINE_TO;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1873
            break;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1874
        case PATH_COMMAND_s:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1875
        case PATH_COMMAND_c:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1876
        case PATH_COMMAND_S:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1877
        case PATH_COMMAND_C:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1878
            command = SVGPath.CURVE_TO;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1879
            break;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1880
        case PATH_COMMAND_t:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1881
        case PATH_COMMAND_q:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1882
        case PATH_COMMAND_T:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1883
        case PATH_COMMAND_Q:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1884
            command = SVGPath.QUAD_TO;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1885
            break;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1886
        default:
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1887
            command = SVG_ERROR;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1888
            break;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1889
        }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1890
        return command;
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1891
    }
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1892
}
abc41079b313 v2.2.7_1
hgs
parents:
diff changeset
  1893