| 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 |