mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-02 15:15:23 +00:00
ddf87d6cf6
We define a new flag CSS_PROPERTY_LOGICAL to be used for logical longhand properties and a new CSS_PROP_LOGICAL macro in nsCSSPropList.h to define them. When using CSS_PROP to capture all properties, includers must now explicitly indicate whether logical properties are included or not, by defining CSS_PROP_LIST_EXCLUDE_LOGICAL (to exclude them), CSS_PROP_LIST_INCLUDE_LOGICAL (to include them), or CSS_PROP_LOGICAL (to capture them separately from other properties).
42 lines
1.1 KiB
C
42 lines
1.1 KiB
C
/* A file meant as input to the preprocessor only */
|
|
|
|
/* DO_PROP serves as an extra level of indirection to allow expansion
|
|
of CSS_PROP_DOMPROP_PREFIXED */
|
|
|
|
[
|
|
|
|
#define PROP_STRINGIFY_INTERNAL(X) #X
|
|
#define PROP_STRINGIFY(X) PROP_STRINGIFY_INTERNAL(X)
|
|
|
|
#define DO_PROP(name, method, id, flags, pref) \
|
|
[ #name, #method, #id, PROP_STRINGIFY(flags), pref ],
|
|
#define CSS_PROP(name, id, method, flags, pref, parsevariant, kwtable, \
|
|
stylestruct, stylestructofset, animtype) \
|
|
DO_PROP(name, method, id, flags, pref)
|
|
#define CSS_PROP_SHORTHAND(name, id, method, flags, pref) \
|
|
DO_PROP(name, method, id, flags, pref)
|
|
#define CSS_PROP_PUBLIC_OR_PRIVATE(publicname_, privatename_) publicname_
|
|
#define CSS_PROP_LIST_EXCLUDE_INTERNAL
|
|
#define CSS_PROP_LIST_INCLUDE_LOGICAL
|
|
|
|
#include "nsCSSPropList.h"
|
|
|
|
#undef CSS_PROP_LIST_INCLUDE_LOGICAL
|
|
#undef CSS_PROP_LIST_EXCLUDE_INTERNAL
|
|
#undef CSS_PROP_PUBLIC_OR_PRIVATE
|
|
#undef CSS_PROP_SHORTHAND
|
|
#undef CSS_PROP
|
|
|
|
#define CSS_PROP_ALIAS(name, id, method, pref) \
|
|
DO_PROP(name, method, id, 0, pref)
|
|
|
|
#include "nsCSSPropAliasList.h"
|
|
|
|
#undef CSS_PROP_ALIAS
|
|
|
|
#undef DO_PROP
|
|
#undef PROP_STRINGIFY
|
|
#undef PROP_STRINGIFY_INTERNAL
|
|
|
|
]
|