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 class SVGSVGElement; | |
31 | 32 |
32 class LayoutSVGRoot final : public LayoutReplaced { | 33 class 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 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
107 const LayoutObject* pushMappingToContainer(const LayoutBoxModelObject* ances torToStopAt, LayoutGeometryMap&) const override; | 108 const LayoutObject* pushMappingToContainer(const LayoutBoxModelObject* ances torToStopAt, LayoutGeometryMap&) const override; |
108 | 109 |
109 bool canBeSelectionLeaf() const override { return false; } | 110 bool canBeSelectionLeaf() const override { return false; } |
110 bool canHaveChildren() const override { return true; } | 111 bool canHaveChildren() const override { return true; } |
111 | 112 |
112 void descendantIsolationRequirementsChanged(DescendantIsolationState) final; | 113 void descendantIsolationRequirementsChanged(DescendantIsolationState) final; |
113 | 114 |
114 void updateCachedBoundaries(); | 115 void updateCachedBoundaries(); |
115 void buildLocalToBorderBoxTransform(); | 116 void buildLocalToBorderBoxTransform(); |
116 | 117 |
117 FloatSize calculateIntrinsicSize() const; | 118 static FloatSize calculateIntrinsicSize(SVGSVGElement*); |
fs
2016/02/09 18:37:54
Nit: Could this be local to LayoutSVGRoot.cpp even
davve
2016/02/11 08:52:37
Done.
| |
118 | 119 |
119 LayoutObjectChildList m_children; | 120 LayoutObjectChildList m_children; |
120 IntSize m_containerSize; | 121 IntSize m_containerSize; |
121 FloatRect m_objectBoundingBox; | 122 FloatRect m_objectBoundingBox; |
122 bool m_objectBoundingBoxValid; | 123 bool m_objectBoundingBoxValid; |
123 FloatRect m_strokeBoundingBox; | 124 FloatRect m_strokeBoundingBox; |
124 FloatRect m_paintInvalidationBoundingBox; | 125 FloatRect m_paintInvalidationBoundingBox; |
125 mutable AffineTransform m_localToParentTransform; | 126 mutable AffineTransform m_localToParentTransform; |
126 AffineTransform m_localToBorderBoxTransform; | 127 AffineTransform m_localToBorderBoxTransform; |
127 bool m_isLayoutSizeChanged : 1; | 128 bool m_isLayoutSizeChanged : 1; |
128 bool m_needsBoundariesOrTransformUpdate : 1; | 129 bool m_needsBoundariesOrTransformUpdate : 1; |
129 bool m_hasBoxDecorationBackground : 1; | 130 bool m_hasBoxDecorationBackground : 1; |
130 mutable bool m_hasNonIsolatedBlendingDescendants : 1; | 131 mutable bool m_hasNonIsolatedBlendingDescendants : 1; |
131 mutable bool m_hasNonIsolatedBlendingDescendantsDirty : 1; | 132 mutable bool m_hasNonIsolatedBlendingDescendantsDirty : 1; |
132 }; | 133 }; |
133 | 134 |
134 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutSVGRoot, isSVGRoot()); | 135 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutSVGRoot, isSVGRoot()); |
135 | 136 |
136 } // namespace blink | 137 } // namespace blink |
137 | 138 |
138 #endif // LayoutSVGRoot_h | 139 #endif // LayoutSVGRoot_h |
OLD | NEW |