OLD | NEW |
| (Empty) |
1 /* | |
2 * (C) 1999-2003 Lars Knoll (knoll@kde.org) | |
3 * Copyright (C) 2004, 2005, 2006, 2008 Apple Inc. All rights reserved. | |
4 * Copyright (C) 2013 Intel Corporation. All rights reserved. | |
5 * | |
6 * This library is free software; you can redistribute it and/or | |
7 * modify it under the terms of the GNU Library General Public | |
8 * License as published by the Free Software Foundation; either | |
9 * version 2 of the License, or (at your option) any later version. | |
10 * | |
11 * This library is distributed in the hope that it will be useful, | |
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
14 * Library General Public License for more details. | |
15 * | |
16 * You should have received a copy of the GNU Library General Public License | |
17 * along with this library; see the file COPYING.LIB. If not, write to | |
18 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | |
19 * Boston, MA 02110-1301, USA. | |
20 */ | |
21 | |
22 #ifndef StylePropertyShorthand_h | |
23 #define StylePropertyShorthand_h | |
24 | |
25 #include "CSSPropertyNames.h" | |
26 #include "wtf/Vector.h" | |
27 | |
28 namespace WebCore { | |
29 | |
30 class StylePropertyShorthand { | |
31 WTF_MAKE_FAST_ALLOCATED; | |
32 public: | |
33 StylePropertyShorthand() | |
34 : m_properties(0) | |
35 , m_propertiesForInitialization(0) | |
36 , m_length(0) | |
37 , m_shorthandID(CSSPropertyInvalid) | |
38 { | |
39 } | |
40 | |
41 StylePropertyShorthand(CSSPropertyID id, const CSSPropertyID* properties, un
signed numProperties) | |
42 : m_properties(properties) | |
43 , m_propertiesForInitialization(0) | |
44 , m_length(numProperties) | |
45 , m_shorthandID(id) | |
46 { | |
47 } | |
48 | |
49 StylePropertyShorthand(CSSPropertyID id, const CSSPropertyID* properties, co
nst StylePropertyShorthand** propertiesForInitialization, unsigned numProperties
) | |
50 : m_properties(properties) | |
51 , m_propertiesForInitialization(propertiesForInitialization) | |
52 , m_length(numProperties) | |
53 , m_shorthandID(id) | |
54 { | |
55 } | |
56 | |
57 const CSSPropertyID* properties() const { return m_properties; } | |
58 const StylePropertyShorthand** propertiesForInitialization() const { return
m_propertiesForInitialization; } | |
59 unsigned length() const { return m_length; } | |
60 CSSPropertyID id() const { return m_shorthandID; } | |
61 | |
62 private: | |
63 const CSSPropertyID* m_properties; | |
64 const StylePropertyShorthand** m_propertiesForInitialization; | |
65 unsigned m_length; | |
66 CSSPropertyID m_shorthandID; | |
67 }; | |
68 | |
69 {% for property_id, property in properties.items() %} | |
70 {%- set camel_case_name = property.camel_case_name %} | |
71 const StylePropertyShorthand& {{ camel_case_name }}Shorthand(); | |
72 {%- endfor %} | |
73 const StylePropertyShorthand& borderShorthandForParsing(); | |
74 const StylePropertyShorthand& webkitAnimationShorthandForParsing(); | |
75 | |
76 // Returns an empty list if the property is not a shorthand. | |
77 const StylePropertyShorthand& shorthandForProperty(CSSPropertyID); | |
78 | |
79 // Return the list of shorthands for a given longhand. | |
80 const Vector<StylePropertyShorthand> matchingShorthandsForLonghand(CSSPropertyID
); | |
81 unsigned indexOfShorthandForLonghand(CSSPropertyID, const Vector<StylePropertySh
orthand>&); | |
82 | |
83 bool isExpandedShorthand(CSSPropertyID); | |
84 | |
85 } // namespace WebCore | |
86 | |
87 #endif // StylePropertyShorthand_h | |
OLD | NEW |