File: StylePropertyShorthand.h

package info (click to toggle)
webkit2gtk 2.6.2%2Bdfsg1-4
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 115,572 kB
  • ctags: 216,388
  • sloc: cpp: 1,164,175; ansic: 18,422; perl: 16,884; python: 11,608; ruby: 9,409; xml: 8,376; asm: 4,765; yacc: 2,292; lex: 891; sh: 650; makefile: 79
file content (133 lines) | stat: -rw-r--r-- 5,313 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
/*
 * (C) 1999-2003 Lars Knoll (knoll@kde.org)
 * Copyright (C) 2004, 2005, 2006, 2008, 2013 Apple Inc. All rights reserved.
 * Copyright (C) 2013 Intel Corporation. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Library General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Library General Public License for more details.
 *
 * You should have received a copy of the GNU Library General Public License
 * along with this library; see the file COPYING.LIB.  If not, write to
 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 * Boston, MA 02110-1301, USA.
 */

#ifndef StylePropertyShorthand_h
#define StylePropertyShorthand_h

#include "CSSPropertyNames.h"
#include <wtf/Vector.h>

namespace WebCore {

class StylePropertyShorthand {
public:
    StylePropertyShorthand()
        : m_properties(0)
        , m_propertiesForInitialization(0)
        , m_length(0)
        , m_shorthandID(CSSPropertyInvalid)
    {
    }

    StylePropertyShorthand(CSSPropertyID id, const CSSPropertyID* properties, unsigned numProperties)
        : m_properties(properties)
        , m_propertiesForInitialization(0)
        , m_length(numProperties)
        , m_shorthandID(id)
    {
    }

    StylePropertyShorthand(CSSPropertyID id, const CSSPropertyID* properties, const StylePropertyShorthand* propertiesForInitialization, unsigned numProperties)
        : m_properties(properties)
        , m_propertiesForInitialization(propertiesForInitialization)
        , m_length(numProperties)
        , m_shorthandID(id)
    {
    }

    const CSSPropertyID* properties() const { return m_properties; }
    const StylePropertyShorthand* propertiesForInitialization() const { return m_propertiesForInitialization; }
    unsigned length() const { return m_length; }
    CSSPropertyID id() const { return m_shorthandID; }

private:
    const CSSPropertyID* m_properties;
    const StylePropertyShorthand* m_propertiesForInitialization;
    unsigned m_length;
    CSSPropertyID m_shorthandID;
};

StylePropertyShorthand backgroundShorthand();
StylePropertyShorthand backgroundPositionShorthand();
StylePropertyShorthand backgroundRepeatShorthand();
StylePropertyShorthand borderShorthand();
StylePropertyShorthand borderAbridgedShorthand();
StylePropertyShorthand borderBottomShorthand();
StylePropertyShorthand borderColorShorthand();
StylePropertyShorthand borderImageShorthand();
StylePropertyShorthand borderLeftShorthand();
StylePropertyShorthand borderRadiusShorthand();
StylePropertyShorthand borderRightShorthand();
StylePropertyShorthand borderSpacingShorthand();
StylePropertyShorthand borderStyleShorthand();
StylePropertyShorthand borderTopShorthand();
StylePropertyShorthand borderWidthShorthand();
StylePropertyShorthand listStyleShorthand();
StylePropertyShorthand flexFlowShorthand();
StylePropertyShorthand flexShorthand();
StylePropertyShorthand fontShorthand();
StylePropertyShorthand heightShorthand();
StylePropertyShorthand marginShorthand();
StylePropertyShorthand outlineShorthand();
StylePropertyShorthand overflowShorthand();
StylePropertyShorthand paddingShorthand();
StylePropertyShorthand transitionShorthand();
StylePropertyShorthand webkitAnimationShorthand();
StylePropertyShorthand webkitAnimationShorthandForParsing();
StylePropertyShorthand webkitBorderAfterShorthand();
StylePropertyShorthand webkitBorderBeforeShorthand();
StylePropertyShorthand webkitBorderEndShorthand();
StylePropertyShorthand webkitBorderRadiusShorthand();
StylePropertyShorthand webkitBorderStartShorthand();
StylePropertyShorthand webkitColumnsShorthand();
StylePropertyShorthand webkitColumnRuleShorthand();
StylePropertyShorthand webkitGridShorthand();
StylePropertyShorthand webkitGridTemplateShorthand();
StylePropertyShorthand webkitGridAreaShorthand();
StylePropertyShorthand webkitGridColumnShorthand();
StylePropertyShorthand webkitGridRowShorthand();
StylePropertyShorthand webkitMarginCollapseShorthand();
StylePropertyShorthand webkitMarqueeShorthand();
StylePropertyShorthand webkitMaskShorthand();
StylePropertyShorthand webkitMaskPositionShorthand();
StylePropertyShorthand webkitMaskRepeatShorthand();
StylePropertyShorthand webkitTextEmphasisShorthand();
StylePropertyShorthand webkitTextStrokeShorthand();
StylePropertyShorthand webkitTransitionShorthand();
StylePropertyShorthand webkitTransformOriginShorthand();
StylePropertyShorthand widthShorthand();

StylePropertyShorthand webkitTextDecorationShorthand();

StylePropertyShorthand markerShorthand();

// Returns empty value if the property is not a shorthand.
StylePropertyShorthand shorthandForProperty(CSSPropertyID);

// Return the list of shorthands for a given longhand.
Vector<StylePropertyShorthand> matchingShorthandsForLonghand(CSSPropertyID);
unsigned indexOfShorthandForLonghand(CSSPropertyID, const Vector<StylePropertyShorthand>&);

bool isExpandedShorthand(CSSPropertyID);

} // namespace WebCore

#endif // StylePropertyShorthand_h