OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc.
All rights reserved. | 3 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc.
All rights reserved. |
4 * | 4 * |
5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
9 * | 9 * |
10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
121 // on a RenderStyle. As designed, these are very error-prone, as some caller
s | 121 // on a RenderStyle. As designed, these are very error-prone, as some caller
s |
122 // set these directly on the RenderStyle w/o telling us. Presumably we'll | 122 // set these directly on the RenderStyle w/o telling us. Presumably we'll |
123 // want to design a better wrapper around RenderStyle for tracking these mut
ations | 123 // want to design a better wrapper around RenderStyle for tracking these mut
ations |
124 // and separate it from StyleResolverState. | 124 // and separate it from StyleResolverState. |
125 const FontDescription& parentFontDescription() { return m_parentStyle->fontD
escription(); } | 125 const FontDescription& parentFontDescription() { return m_parentStyle->fontD
escription(); } |
126 void setZoom(float f) { m_fontBuilder.didChangeFontParameters(m_style->setZo
om(f)); } | 126 void setZoom(float f) { m_fontBuilder.didChangeFontParameters(m_style->setZo
om(f)); } |
127 void setEffectiveZoom(float f) { m_fontBuilder.didChangeFontParameters(m_sty
le->setEffectiveZoom(f)); } | 127 void setEffectiveZoom(float f) { m_fontBuilder.didChangeFontParameters(m_sty
le->setEffectiveZoom(f)); } |
128 void setWritingMode(WritingMode writingMode) { m_fontBuilder.didChangeFontPa
rameters(m_style->setWritingMode(writingMode)); } | 128 void setWritingMode(WritingMode writingMode) { m_fontBuilder.didChangeFontPa
rameters(m_style->setWritingMode(writingMode)); } |
129 void setTextOrientation(TextOrientation textOrientation) { m_fontBuilder.did
ChangeFontParameters(m_style->setTextOrientation(textOrientation)); } | 129 void setTextOrientation(TextOrientation textOrientation) { m_fontBuilder.did
ChangeFontParameters(m_style->setTextOrientation(textOrientation)); } |
130 | 130 |
131 // SVG handles zooming in a different way compared to CSS. The whole documen
t is scaled instead | |
132 // of each individual length value in the render style / tree. CSSPrimitiveV
alue::computeLength*() | |
133 // multiplies each resolved length with the zoom multiplier - so for SVG we
need to disable that. | |
134 // Though all CSS values that can be applied to outermost <svg> elements (wi
dth/height/border/padding...) | |
135 // need to respect the scaling. RenderBox (the parent class of RenderSVGRoot
) grabs values like | |
136 // width/height/border/padding/... from the RenderStyle -> for SVG these val
ues would never scale, | |
137 // if we'd pass a 1.0 zoom factor everyhwere. So we only pass a zoom factor
of 1.0 for specific | |
138 // properties that are NOT allowed to scale within a zoomed SVG document (le
tter/word-spacing/font-size). | |
139 bool useSVGZoomRules() const { return element() && element()->isSVGElement()
; } | |
140 | |
141 private: | 131 private: |
142 ElementResolveContext m_elementContext; | 132 ElementResolveContext m_elementContext; |
143 Document& m_document; | 133 Document& m_document; |
144 | 134 |
145 // m_style is the primary output for each element's style resolve. | 135 // m_style is the primary output for each element's style resolve. |
146 RefPtr<RenderStyle> m_style; | 136 RefPtr<RenderStyle> m_style; |
147 | 137 |
148 CSSToLengthConversionData m_cssToLengthConversionData; | 138 CSSToLengthConversionData m_cssToLengthConversionData; |
149 | 139 |
150 // m_parentStyle is not always just element->parentNode()->style() | 140 // m_parentStyle is not always just element->parentNode()->style() |
(...skipping 16 matching lines...) Expand all Loading... |
167 // a back-pointer to this object. | 157 // a back-pointer to this object. |
168 CSSToStyleMap m_styleMap; | 158 CSSToStyleMap m_styleMap; |
169 Vector<AtomicString> m_contentAttrValues; | 159 Vector<AtomicString> m_contentAttrValues; |
170 | 160 |
171 RawPtrWillBeMember<StyleRule> m_currentRule; | 161 RawPtrWillBeMember<StyleRule> m_currentRule; |
172 }; | 162 }; |
173 | 163 |
174 } // namespace WebCore | 164 } // namespace WebCore |
175 | 165 |
176 #endif // StyleResolverState_h | 166 #endif // StyleResolverState_h |
OLD | NEW |