1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* vim: set ts=8 sts=2 et sw=2 tw=80: */
3 /* This Source Code Form is subject to the terms of the Mozilla Public
4  * License, v. 2.0. If a copy of the MPL was not distributed with this
5  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 
7 /* A file meant as input to the preprocessor only */
8 
9 /* DO_PROP serves as an extra level of indirection to allow expansion
10    of CSS_PROP_DOMPROP_PREFIXED */
11 
12 [
13 
14 #define PROP_STRINGIFY_INTERNAL(X) #X
15 #define PROP_STRINGIFY(X) PROP_STRINGIFY_INTERNAL(X)
16 
17 #define DO_PROP(name, method, id, flags, pref, proptype) \
18   [ #name, #method, #id, PROP_STRINGIFY(flags), pref, proptype ],
19 #define CSS_PROP(name, id, method, flags, pref, parsevariant, kwtable, \
20                  stylestruct, stylestructoffset, animtype)             \
21   DO_PROP(name, method, id, flags, pref, "longhand")
22 #define CSS_PROP_SHORTHAND(name, id, method, flags, pref) \
23   DO_PROP(name, method, id, flags, pref, "shorthand")
24 #define CSS_PROP_LOGICAL(name, id, method, flags, pref, parsevariant, kwtable, \
25                          group, stylestruct, stylestructoffset, animtype)      \
26   DO_PROP(name, method, id, flags, pref, "logical")
27 #define CSS_PROP_PUBLIC_OR_PRIVATE(publicname_, privatename_) publicname_
28 
29 #include "nsCSSPropList.h"
30 
31 #undef CSS_PROP_PUBLIC_OR_PRIVATE
32 #undef CSS_PROP_LOGICAL
33 #undef CSS_PROP_SHORTHAND
34 #undef CSS_PROP
35 
36 #define CSS_PROP_ALIAS(name, aliasid_, id, method, pref) \
37   DO_PROP(name, method, id, 0, pref, "alias")
38 
39 #include "nsCSSPropAliasList.h"
40 
41 #undef CSS_PROP_ALIAS
42 
43 #undef DO_PROP
44 #undef PROP_STRINGIFY
45 #undef PROP_STRINGIFY_INTERNAL
46 
47 ]
48