Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(112)

Side by Side Diff: Source/core/layout/style/StyleRareInheritedData.h

Issue 1045723009: Move core/layout/style to core/style (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase. Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 /*
2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org)
3 * (C) 2000 Antti Koivisto (koivisto@kde.org)
4 * (C) 2000 Dirk Mueller (mueller@kde.org)
5 * Copyright (C) 2003, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
6 * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com)
7 *
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either
11 * version 2 of the License, or (at your option) any later version.
12 *
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Library General Public License for more details.
17 *
18 * You should have received a copy of the GNU Library General Public License
19 * along with this library; see the file COPYING.LIB. If not, write to
20 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 * Boston, MA 02110-1301, USA.
22 *
23 */
24
25 #ifndef StyleRareInheritedData_h
26 #define StyleRareInheritedData_h
27
28 #include "core/css/StyleColor.h"
29 #include "core/layout/style/DataRef.h"
30 #include "platform/Length.h"
31 #include "platform/graphics/Color.h"
32 #include "platform/text/TabSize.h"
33 #include "wtf/PassRefPtr.h"
34 #include "wtf/RefCounted.h"
35 #include "wtf/RefVector.h"
36 #include "wtf/text/AtomicString.h"
37
38 namespace blink {
39
40 class AppliedTextDecoration;
41 class CursorData;
42 class QuotesData;
43 class ShadowList;
44 class StyleImage;
45
46 typedef RefVector<AppliedTextDecoration> AppliedTextDecorationList;
47 typedef RefVector<CursorData> CursorList;
48
49 // This struct is for rarely used inherited CSS3, CSS2, and WebKit-specific prop erties.
50 // By grouping them together, we save space, and only allocate this object when someone
51 // actually uses one of these properties.
52 class StyleRareInheritedData : public RefCounted<StyleRareInheritedData> {
53 public:
54 static PassRefPtr<StyleRareInheritedData> create() { return adoptRef(new Sty leRareInheritedData); }
55 PassRefPtr<StyleRareInheritedData> copy() const { return adoptRef(new StyleR areInheritedData(*this)); }
56 ~StyleRareInheritedData();
57
58 bool operator==(const StyleRareInheritedData&) const;
59 bool operator!=(const StyleRareInheritedData& o) const
60 {
61 return !(*this == o);
62 }
63 bool shadowDataEquivalent(const StyleRareInheritedData&) const;
64 bool quotesDataEquivalent(const StyleRareInheritedData&) const;
65
66 RefPtr<StyleImage> listStyleImage;
67
68 StyleColor textStrokeColor() const { return m_textStrokeColorIsCurrentColor ? StyleColor::currentColor() : StyleColor(m_textStrokeColor); }
69 StyleColor textFillColor() const { return m_textFillColorIsCurrentColor ? St yleColor::currentColor() : StyleColor(m_textFillColor); }
70 StyleColor textEmphasisColor() const { return m_textEmphasisColorIsCurrentCo lor ? StyleColor::currentColor() : StyleColor(m_textEmphasisColor); }
71 StyleColor visitedLinkTextStrokeColor() const { return m_visitedLinkTextStro keColorIsCurrentColor ? StyleColor::currentColor() : StyleColor(m_visitedLinkTex tStrokeColor); }
72 StyleColor visitedLinkTextFillColor() const { return m_visitedLinkTextFillCo lorIsCurrentColor ? StyleColor::currentColor() : StyleColor(m_visitedLinkTextFil lColor); }
73 StyleColor visitedLinkTextEmphasisColor() const { return m_visitedLinkTextEm phasisColorIsCurrentColor ? StyleColor::currentColor() : StyleColor(m_visitedLin kTextEmphasisColor); }
74
75 void setTextStrokeColor(const StyleColor& color) { m_textStrokeColor = color .resolve(Color()); m_textStrokeColorIsCurrentColor = color.isCurrentColor(); }
76 void setTextFillColor(const StyleColor& color) { m_textFillColor = color.res olve(Color()); m_textFillColorIsCurrentColor = color.isCurrentColor(); }
77 void setTextEmphasisColor(const StyleColor& color) { m_textEmphasisColor = c olor.resolve(Color()); m_textEmphasisColorIsCurrentColor = color.isCurrentColor( ); }
78 void setVisitedLinkTextStrokeColor(const StyleColor& color) { m_visitedLinkT extStrokeColor = color.resolve(Color()); m_visitedLinkTextStrokeColorIsCurrentCo lor = color.isCurrentColor(); }
79 void setVisitedLinkTextFillColor(const StyleColor& color) { m_visitedLinkTex tFillColor = color.resolve(Color()); m_visitedLinkTextFillColorIsCurrentColor = color.isCurrentColor(); }
80 void setVisitedLinkTextEmphasisColor(const StyleColor& color) { m_visitedLin kTextEmphasisColor = color.resolve(Color()); m_visitedLinkTextEmphasisColorIsCur rentColor = color.isCurrentColor(); }
81
82 Color m_textStrokeColor;
83 float textStrokeWidth;
84 Color m_textFillColor;
85 Color m_textEmphasisColor;
86
87 Color m_visitedLinkTextStrokeColor;
88 Color m_visitedLinkTextFillColor;
89 Color m_visitedLinkTextEmphasisColor;
90
91 RefPtr<ShadowList> textShadow; // Our text shadow information for shadowed t ext drawing.
92 AtomicString highlight; // Apple-specific extension for custom highlight ren dering.
93
94 RefPtr<CursorList> cursorData;
95 Length indent;
96 float m_effectiveZoom;
97
98 // Paged media properties.
99 short widows;
100 short orphans;
101 unsigned m_hasAutoOrphans : 1;
102
103 unsigned m_textStrokeColorIsCurrentColor : 1;
104 unsigned m_textFillColorIsCurrentColor : 1;
105 unsigned m_textEmphasisColorIsCurrentColor : 1;
106 unsigned m_visitedLinkTextStrokeColorIsCurrentColor : 1;
107 unsigned m_visitedLinkTextFillColorIsCurrentColor : 1;
108 unsigned m_visitedLinkTextEmphasisColorIsCurrentColor : 1;
109
110 unsigned textSecurity : 2; // ETextSecurity
111 unsigned userModify : 2; // EUserModify (editing)
112 unsigned wordBreak : 2; // EWordBreak
113 unsigned overflowWrap : 1; // EOverflowWrap
114 unsigned lineBreak : 3; // LineBreak
115 unsigned userSelect : 2; // EUserSelect
116 unsigned speak : 3; // ESpeak
117 unsigned hyphens : 2; // Hyphens
118 unsigned textEmphasisFill : 1; // TextEmphasisFill
119 unsigned textEmphasisMark : 3; // TextEmphasisMark
120 unsigned textEmphasisPosition : 1; // TextEmphasisPosition
121 unsigned m_textAlignLast : 3; // TextAlignLast
122 unsigned m_textJustify : 2; // TextJustify
123 unsigned m_textOrientation : 2; // TextOrientation
124 unsigned m_textIndentLine : 1; // TextIndentEachLine
125 unsigned m_textIndentType : 1; // TextIndentHanging
126 unsigned m_lineBoxContain: 7; // LineBoxContain
127 // CSS Image Values Level 3
128 unsigned m_imageRendering : 3; // EImageRendering
129 unsigned m_textUnderlinePosition : 1; // TextUnderlinePosition
130 unsigned m_rubyPosition : 1; // RubyPosition
131
132 // Though will-change is not itself an inherited property, the intent
133 // expressed by 'will-change: contents' includes descendants.
134 unsigned m_subtreeWillChangeContents : 1;
135
136 unsigned m_selfOrAncestorHasDirAutoAttribute : 1;
137
138 AtomicString hyphenationString;
139 short hyphenationLimitBefore;
140 short hyphenationLimitAfter;
141 short hyphenationLimitLines;
142
143 AtomicString locale;
144
145 AtomicString textEmphasisCustomMark;
146 RefPtr<QuotesData> quotes;
147
148 Color tapHighlightColor;
149
150 RefPtr<AppliedTextDecorationList> appliedTextDecorations;
151 TabSize m_tabSize;
152
153 private:
154 StyleRareInheritedData();
155 StyleRareInheritedData(const StyleRareInheritedData&);
156 };
157
158 } // namespace blink
159
160 #endif // StyleRareInheritedData_h
OLDNEW
« no previous file with comments | « Source/core/layout/style/StylePendingImage.h ('k') | Source/core/layout/style/StyleRareInheritedData.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698