nsStyleStructList.h (1684B)
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 #ifndef nsStyleStructList_h__ 8 #define nsStyleStructList_h__ 9 10 /* 11 * list of structs that contain the data provided by ComputedStyle, the 12 * internal API for computed style data for an element 13 */ 14 15 /* 16 * High-order macro that applies INHERITED_MACRO to all inherited style structs 17 * and RESET_MACRO to all reset style structs, in the correct order. 18 * 19 * The inherited structs are listed before the reset structs. 20 * nsStyleStructID assumes this is the case. 21 * 22 * Usage: 23 * #define MY_INHERITED_MACRO(name) ... 24 * #define MY_RESET_MACRO(name) ... 25 * FOR_EACH_STYLE_STRUCT(MY_INHERITED_MACRO, MY_RESET_MACRO) 26 * #undef MY_INHERITED_MACRO 27 * #undef MY_RESET_MACRO 28 */ 29 30 #define FOR_EACH_STYLE_STRUCT(INHERITED_MACRO, RESET_MACRO) \ 31 INHERITED_MACRO(Font) \ 32 INHERITED_MACRO(List) \ 33 INHERITED_MACRO(Text) \ 34 INHERITED_MACRO(Visibility) \ 35 INHERITED_MACRO(UI) \ 36 INHERITED_MACRO(TableBorder) \ 37 INHERITED_MACRO(SVG) \ 38 RESET_MACRO(Background) \ 39 RESET_MACRO(Position) \ 40 RESET_MACRO(TextReset) \ 41 RESET_MACRO(Display) \ 42 RESET_MACRO(Content) \ 43 RESET_MACRO(UIReset) \ 44 RESET_MACRO(Table) \ 45 RESET_MACRO(Margin) \ 46 RESET_MACRO(Padding) \ 47 RESET_MACRO(Border) \ 48 RESET_MACRO(Outline) \ 49 RESET_MACRO(XUL) \ 50 RESET_MACRO(SVGReset) \ 51 RESET_MACRO(Column) \ 52 RESET_MACRO(Effects) \ 53 RESET_MACRO(Page) 54 55 #endif // nsStyleStructList_h__