OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004, 2005, 2007 Nikolas Zimmermann <zimmermann@kde.org> | 2 * Copyright (C) 2004, 2005, 2007 Nikolas Zimmermann <zimmermann@kde.org> |
3 * Copyright (C) 2004, 2005, 2007 Rob Buis <buis@kde.org> | 3 * Copyright (C) 2004, 2005, 2007 Rob Buis <buis@kde.org> |
4 * Copyright (C) 2009 Google, Inc. All rights reserved. | 4 * Copyright (C) 2009 Google, Inc. All rights reserved. |
5 * Copyright (C) 2009 Apple Inc. All rights reserved. | 5 * Copyright (C) 2009 Apple Inc. All rights reserved. |
6 * | 6 * |
7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
(...skipping 10 matching lines...) Expand all Loading... |
21 */ | 21 */ |
22 | 22 |
23 #ifndef LayoutSVGRoot_h | 23 #ifndef LayoutSVGRoot_h |
24 #define LayoutSVGRoot_h | 24 #define LayoutSVGRoot_h |
25 | 25 |
26 #include "core/layout/LayoutReplaced.h" | 26 #include "core/layout/LayoutReplaced.h" |
27 | 27 |
28 namespace blink { | 28 namespace blink { |
29 | 29 |
30 class SVGElement; | 30 class SVGElement; |
| 31 enum class SVGTransformChange; |
31 | 32 |
32 class CORE_EXPORT LayoutSVGRoot final : public LayoutReplaced { | 33 class CORE_EXPORT LayoutSVGRoot final : public LayoutReplaced { |
33 public: | 34 public: |
34 explicit LayoutSVGRoot(SVGElement*); | 35 explicit LayoutSVGRoot(SVGElement*); |
35 ~LayoutSVGRoot() override; | 36 ~LayoutSVGRoot() override; |
36 | 37 |
37 bool isEmbeddedThroughSVGImage() const; | 38 bool isEmbeddedThroughSVGImage() const; |
38 bool isEmbeddedThroughFrameContainingSVGDocument() const; | 39 bool isEmbeddedThroughFrameContainingSVGDocument() const; |
39 | 40 |
40 void computeIntrinsicSizingInfo(IntrinsicSizingInfo&) const override; | 41 void computeIntrinsicSizingInfo(IntrinsicSizingInfo&) const override; |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
149 const LayoutObject* pushMappingToContainer( | 150 const LayoutObject* pushMappingToContainer( |
150 const LayoutBoxModelObject* ancestorToStopAt, | 151 const LayoutBoxModelObject* ancestorToStopAt, |
151 LayoutGeometryMap&) const override; | 152 LayoutGeometryMap&) const override; |
152 | 153 |
153 bool canBeSelectionLeaf() const override { return false; } | 154 bool canBeSelectionLeaf() const override { return false; } |
154 bool canHaveChildren() const override { return true; } | 155 bool canHaveChildren() const override { return true; } |
155 | 156 |
156 void descendantIsolationRequirementsChanged(DescendantIsolationState) final; | 157 void descendantIsolationRequirementsChanged(DescendantIsolationState) final; |
157 | 158 |
158 void updateCachedBoundaries(); | 159 void updateCachedBoundaries(); |
159 void buildLocalToBorderBoxTransform(); | 160 SVGTransformChange buildLocalToBorderBoxTransform(); |
160 | 161 |
161 PositionWithAffinity positionForPoint(const LayoutPoint&) final; | 162 PositionWithAffinity positionForPoint(const LayoutPoint&) final; |
162 | 163 |
163 LayoutObjectChildList m_children; | 164 LayoutObjectChildList m_children; |
164 IntSize m_containerSize; | 165 IntSize m_containerSize; |
165 FloatRect m_objectBoundingBox; | 166 FloatRect m_objectBoundingBox; |
166 bool m_objectBoundingBoxValid; | 167 bool m_objectBoundingBoxValid; |
167 FloatRect m_strokeBoundingBox; | 168 FloatRect m_strokeBoundingBox; |
168 FloatRect m_visualRectInLocalSVGCoordinates; | 169 FloatRect m_visualRectInLocalSVGCoordinates; |
169 AffineTransform m_localToBorderBoxTransform; | 170 AffineTransform m_localToBorderBoxTransform; |
170 bool m_isLayoutSizeChanged : 1; | 171 bool m_isLayoutSizeChanged : 1; |
171 bool m_didScreenScaleFactorChange : 1; | 172 bool m_didScreenScaleFactorChange : 1; |
172 bool m_needsBoundariesOrTransformUpdate : 1; | 173 bool m_needsBoundariesOrTransformUpdate : 1; |
173 bool m_hasBoxDecorationBackground : 1; | 174 bool m_hasBoxDecorationBackground : 1; |
174 mutable bool m_hasNonIsolatedBlendingDescendants : 1; | 175 mutable bool m_hasNonIsolatedBlendingDescendants : 1; |
175 mutable bool m_hasNonIsolatedBlendingDescendantsDirty : 1; | 176 mutable bool m_hasNonIsolatedBlendingDescendantsDirty : 1; |
176 }; | 177 }; |
177 | 178 |
178 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutSVGRoot, isSVGRoot()); | 179 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutSVGRoot, isSVGRoot()); |
179 | 180 |
180 } // namespace blink | 181 } // namespace blink |
181 | 182 |
182 #endif // LayoutSVGRoot_h | 183 #endif // LayoutSVGRoot_h |
OLD | NEW |