1 //
2 //   Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012
3 //   Free Software Foundation, Inc.
4 //
5 // This program is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation; either version 3 of the License, or
8 // (at your option) any later version.
9 //
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software
17 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
18 
19 // A file to contain all of the different strings for which we want compile time
20 // known string table keys.
21 #ifndef GNASH_NAMED_STRINGS_H
22 #define GNASH_NAMED_STRINGS_H
23 
24 namespace gnash {
25 
26 class string_table; // Forward
27 
28 /// Named String Values
29 //
30 /// These are enumerations of the strings which should have known string
31 /// table values.  They are the first strings added to the string table,
32 /// and the key will be equal to the enumeration.
33 ///
34 /// Lowercase letters in the enum value signal the format of the string
35 /// literals associated with these enums.
36 /// u: An underscore
37 /// For example: PROP_uuPROTOuu is "__proto__"
38 /// _: The next letter is capitalized
39 /// For example: PROP_ON_LOAD is "onLoad"
40 ///
41 /// Names beginning with PROP_ have a lowercase initial letter
42 /// Names beginning with CLASS_ have an uppercase initial letter
43 /// Names beginning with NS_ have a lowercase initial letter and _ are
44 ///  . instead of uppercase.
45 ///
46 /// Names beginning with INTERNAL_ have no named string -- they can only
47 /// be used if you know their key value already.
48 namespace NSV {
49 
50 /// All known lower-case names are grouped at the beginning
51 /// of the enum, followed by INTERNAL_HIGHEST_LOWERCASE.
52 /// WARNING: putting mixed-case names before
53 ///          INTERNAL_HIGHEST_LOWERCASE introduces bugs !
54 /// (putting lower-case names after INTERNAL_HIGHEST_LOWERCASE
55 ///  is fine, except for performance)
56 ///
57 enum NamedStrings {
58         PROP_A = 1,
59         PROP_ALIGN,
60         PROP_ARGUMENTS,
61         PROP_B,
62         PROP_BOLD,
63         PROP_C,
64         PROP_CALLEE,
65         PROP_CALLER,
66         PROP_COLOR,
67         PROP_CONCAT,
68         PROP_CONSTRUCTOR,
69         PROP_D,
70         PROP_DATA,
71         PROP_DECODE,
72         PROP_DURATION,
73         PROP_E,
74         PROP_ENABLED,
75         PROP_ESCAPE,
76         PROP_G,
77         PROP_H,
78         PROP_HEIGHT,
79         PROP_INDENT,
80         PROP_ITALIC,
81         PROP_LEADING,
82         PROP_LEFT_MARGIN,
83         PROP_LENGTH,
84         PROP_LOADED,
85         PROP_METH,
86         PROP_POSITION,
87         PROP_PROTOTYPE,
88         PROP_PUSH,
89         PROP_R,
90         PROP_SIZE,
91         PROP_SPLICE,
92         PROP_STATUS,
93         PROP_SUPER,
94         PROP_TARGET,
95         PROP_TEXT,
96         PROP_THIS,
97         PROP_TX,
98         PROP_TY,
99         PROP_uALPHA,
100         PROP_uCURRENTFRAME,
101         PROP_uDROPTARGET,
102         PROP_uFOCUSRECT,
103         PROP_uFRAMESLOADED,
104         PROP_uGLOBAL,
105         PROP_uHEIGHT,
106         PROP_uHIGHQUALITY,
107         PROP_uLISTENERS,
108         PROP_uNAME,
109         PROP_UNDERLINE,
110         PROP_uPARENT,
111         PROP_uQUALITY,
112         PROP_uROOT,
113         PROP_uROTATION,
114         PROP_uSOUNDBUFTIME,
115         PROP_uTARGET,
116         PROP_uTOTALFRAMES,
117         PROP_uuCONSTRUCTORuu,
118         PROP_uuPROTOuu,
119         PROP_uuRESOLVE,
120         PROP_uURL,
121         PROP_uVISIBLE,
122         PROP_uWIDTH,
123         PROP_uX,
124         PROP_uXMOUSE,
125         PROP_uXSCALE,
126         PROP_uY,
127         PROP_uYMOUSE,
128         PROP_uYSCALE,
129         PROP_W,
130         PROP_WIDTH,
131         PROP_X,
132         PROP_Y,
133         INTERNAL_HIGHEST_LOWERCASE,
134 
135         PROP_ADD_LISTENER,
136         PROP_AS_NATIVE,
137         PROP_AS_SET_PROP_FLAGS,
138         PROP_BLOCK_INDENT,
139         PROP_BROADCAST_MESSAGE,
140         PROP_BULLET,
141         PROP_uBYTES_TOTAL,
142         PROP_uBYTES_LOADED,
143         PROP_CONTENT_TYPE,
144         PROP_FOCUS_ENABLED,
145         PROP_HTML_TEXT,
146         PROP_MATRIX_TYPE,
147         PROP_ON_CLOSE,
148         PROP_ON_CONNECT,
149         PROP_ON_CONSTRUCT,
150         PROP_ON_DATA,
151         PROP_ON_DRAG_OUT,
152         PROP_ON_DRAG_OVER,
153         PROP_ON_ENTER_FRAME,
154         PROP_ON_FULLSCREEN,
155         PROP_ON_INITIALIZE,
156         PROP_ON_KEY_DOWN,
157         PROP_ON_KEY_PRESS,
158         PROP_ON_KEY_UP,
159         PROP_ON_KILL_FOCUS,
160         PROP_ON_LOAD,
161         PROP_ON_LOAD_ERROR,
162         PROP_ON_LOAD_INIT,
163         PROP_ON_LOAD_PROGRESS,
164         PROP_ON_LOAD_START,
165         PROP_ON_META_DATA,
166         PROP_ON_MOUSE_DOWN,
167         PROP_ON_MOUSE_MOVE,
168         PROP_ON_MOUSE_UP,
169         PROP_ON_PRESS,
170         PROP_ON_RELEASE,
171         PROP_ON_RELEASE_OUTSIDE,
172         PROP_ON_RESIZE,
173         PROP_ON_RESULT,
174         PROP_ON_ROLL_OUT,
175         PROP_ON_ROLL_OVER,
176         PROP_ON_SELECT,
177         PROP_ON_SET_FOCUS,
178         PROP_ON_SOUND_COMPLETE,
179         PROP_ON_STATUS,
180         PROP_ON_TIMER,
181         PROP_ON_UNLOAD,
182         PROP_ON_XML,
183         PROP_PARSE_XML,
184         PROP_REMOVE_LISTENER,
185         PROP_RIGHT_MARGIN,
186         PROP_SCALE_MODE,
187         PROP_TEXT_COLOR,
188         PROP_TEXT_HEIGHT,
189         PROP_TEXT_WIDTH,
190         PROP_TO_LOWER_CASE,
191         PROP_TO_STRING,
192         PROP_uCUSTOM_HEADERS,
193         PROP_USEHANDCURSOR,
194         PROP_VALUE_OF,
195         PROP_ON_SYNC,
196         CLASS_ACCESSIBILITY,
197         CLASS_ANTIALIASTYPE,
198         CLASS_ARRAY,
199         CLASS_AS_BROADCASTER,
200         CLASS_BITMAP,
201         CLASS_BOOLEAN,
202         CLASS_BUTTON,
203         CLASS_CAMERA,
204         CLASS_COLOR,
205         CLASS_CONTEXTMENU,
206         CLASS_CONTEXTMENUITEM,
207         CLASS_CSMTEXTSETTINGS,
208         CLASS_DATE,
209         CLASS_DISPLAYOBJECT,
210         CLASS_DISPLAYOBJECTCONTAINER,
211         CLASS_ERROR,
212         CLASS_EVENT,
213         CLASS_EVENTDISPATCHER,
214         CLASS_FONT,
215         CLASS_FONTSTYLE,
216         CLASS_FUNCTION,
217         CLASS_GRIDFITTYPE,
218         CLASS_INT,
219         CLASS_INTERACTIVEOBJECT,
220         CLASS_KEY,
221         CLASS_KEYBOARD,
222         CLASS_LOAD_VARS,
223         CLASS_LOCALCONNECTION,
224         CLASS_MATH,
225         CLASS_MICROPHONE,
226         CLASS_MOUSE,
227         CLASS_MOVIE_CLIP,
228         CLASS_MOVIE_CLIP_LOADER,
229         CLASS_NAMESPACE,
230         CLASS_NET_CONNECTION,
231         CLASS_NET_STREAM,
232         CLASS_NUMBER,
233         CLASS_OBJECT,
234         CLASS_QNAME,
235         CLASS_SELECTION,
236         CLASS_SHAPE,
237         CLASS_SHARED_OBJECT,
238         CLASS_SIMPLE_BUTTON,
239         CLASS_SOUND,
240         CLASS_SPRITE,
241         CLASS_STAGE,
242         CLASS_STATICTEXT,
243         CLASS_STRING,
244         CLASS_STYLESHEET,
245         CLASS_SYSTEM,
246         CLASS_TEXTCOLORTYPE,
247         CLASS_TEXTDISPLAYMODE,
248         CLASS_TEXT_FIELD,
249         CLASS_TEXTFIELDTYPE,
250         CLASS_TEXT_FORMAT,
251         CLASS_TEXTFORMATALIGN,
252         CLASS_TEXT_SNAPSHOT,
253         CLASS_TEXTFIELDAUTOSIZE,
254         CLASS_TEXTLINEMETRICS,
255         CLASS_TEXTRENDERER,
256         CLASS_VIDEO,
257         CLASS_XML,
258         CLASS_XML_DOCUMENT,
259         CLASS_XMLNODE,
260         CLASS_XMLSOCKET,
261         NS_ADOBE_UTILS,
262         NS_FLASH_ACCESSIBILITY,
263         NS_FLASH_DISPLAY,
264         NS_FLASH_EVENTS,
265         NS_FLASH_ERRORS,
266         NS_FLASH_GEOM,
267         NS_FLASH_MEDIA,
268         NS_FLASH_NET,
269         NS_FLASH_SYSTEM,
270         NS_FLASH_TEXT,
271         NS_FLASH_UI,
272         NS_FLASH_UTILS,
273         NS_FLASH_XML,
274         INTERNAL_INTERFACES,
275         INTERNAL_STACK_PARENT, // Any public property is unsafe
276         INTERNAL_TYPE // The type name
277     };
278 
279 /// Load the prenamed strings.
280 void loadStrings(string_table &table);
281 
282 } // namespace NSV
283 } // namespace gnash
284 
285 #endif // GNASH_NAMED_STRINGS_H
286 
287