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