nsCSSVisitedDependentPropList.h (1653B)
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 nsCSSVisitedDependentPropList_h__ 8 #define nsCSSVisitedDependentPropList_h__ 9 10 /* a list of style struct's member variables which can be visited-dependent */ 11 12 /* High-order macro that applies MACRO to all visited-dependent style structs 13 * and their fields. Each invocation passes: 14 * - 'name_' the name of the style struct 15 * - 'fields_' the list of member variables in the style struct that can 16 * be visited-dependent 17 * 18 * Usage: 19 * #define MY_MACRO(name_, fields_) ... 20 * FOR_EACH_VISITED_DEPENDENT_STYLE_STRUCT(MY_MACRO) 21 * #undef MY_MACRO 22 * 23 * Note that, currently, there is a restriction that all fields in a 24 * each entry must have the same type, otherwise you need two entries. 25 */ 26 27 #define FOR_EACH_VISITED_DEPENDENT_STYLE_STRUCT(MACRO) \ 28 MACRO(Background, (mBackgroundColor)) \ 29 MACRO(Border, (mBorderTopColor, \ 30 mBorderRightColor, \ 31 mBorderBottomColor, \ 32 mBorderLeftColor)) \ 33 MACRO(Outline, (mOutlineColor)) \ 34 MACRO(Column, (mColumnRuleColor)) \ 35 MACRO(Text, (mColor)) \ 36 MACRO(Text, (mTextEmphasisColor, \ 37 mWebkitTextFillColor, \ 38 mWebkitTextStrokeColor)) \ 39 MACRO(TextReset, (mTextDecorationColor)) \ 40 MACRO(SVG, (mFill, mStroke)) \ 41 MACRO(UI, (mCaretColor)) 42 43 #endif // nsCSSVisitedDependentPropList_h__