OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006 Apple Computer, Inc. | 2 * Copyright (C) 2006 Apple Computer, Inc. |
3 * | 3 * |
4 * This library is free software; you can redistribute it and/or | 4 * This library is free software; you can redistribute it and/or |
5 * modify it under the terms of the GNU Library General Public | 5 * modify it under the terms of the GNU Library General Public |
6 * License as published by the Free Software Foundation; either | 6 * License as published by the Free Software Foundation; either |
7 * version 2 of the License, or (at your option) any later version. | 7 * version 2 of the License, or (at your option) any later version. |
8 * | 8 * |
9 * This library is distributed in the hope that it will be useful, | 9 * This library is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
(...skipping 12 matching lines...) Expand all Loading... |
23 #include "core/layout/LayoutBlockFlow.h" | 23 #include "core/layout/LayoutBlockFlow.h" |
24 | 24 |
25 namespace blink { | 25 namespace blink { |
26 | 26 |
27 class SVGElement; | 27 class SVGElement; |
28 | 28 |
29 class LayoutSVGBlock : public LayoutBlockFlow { | 29 class LayoutSVGBlock : public LayoutBlockFlow { |
30 public: | 30 public: |
31 explicit LayoutSVGBlock(SVGElement*); | 31 explicit LayoutSVGBlock(SVGElement*); |
32 | 32 |
33 LayoutRect clippedOverflowRectForPaintInvalidation(const LayoutBoxModelObjec
t* paintInvalidationContainer, const PaintInvalidationState* = nullptr) const fi
nal; | 33 void mapLocalToAncestor(const LayoutBoxModelObject* ancestor, TransformState
&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = nullptr) const fin
al; |
34 | |
35 void mapLocalToAncestor(const LayoutBoxModelObject* ancestor, TransformState
&, MapCoordinatesFlags = ApplyContainerFlip, bool* wasFixed = nullptr, const Pai
ntInvalidationState* = nullptr) const final; | |
36 void mapAncestorToLocal(const LayoutBoxModelObject* ancestor, TransformState
&, MapCoordinatesFlags = ApplyContainerFlip) const final; | 34 void mapAncestorToLocal(const LayoutBoxModelObject* ancestor, TransformState
&, MapCoordinatesFlags = ApplyContainerFlip) const final; |
37 const LayoutObject* pushMappingToContainer(const LayoutBoxModelObject* ances
torToStopAt, LayoutGeometryMap&) const final; | 35 const LayoutObject* pushMappingToContainer(const LayoutBoxModelObject* ances
torToStopAt, LayoutGeometryMap&) const final; |
38 | 36 |
39 AffineTransform localSVGTransform() const final { return m_localTransform; } | 37 AffineTransform localSVGTransform() const final { return m_localTransform; } |
40 | 38 |
41 PaintLayerType layerTypeRequired() const final { return NoPaintLayer; } | 39 PaintLayerType layerTypeRequired() const final { return NoPaintLayer; } |
42 | 40 |
43 void invalidateTreeIfNeeded(const PaintInvalidationState&) override; | 41 void invalidateTreeIfNeeded(const PaintInvalidationState&) override; |
44 | 42 |
45 protected: | 43 protected: |
46 void willBeDestroyed() override; | 44 void willBeDestroyed() override; |
47 bool mapToVisibleRectInAncestorSpace(const LayoutBoxModelObject* ancestor, L
ayoutRect&, const PaintInvalidationState*, VisibleRectFlags = DefaultVisibleRect
Flags) const final; | 45 bool mapToVisibleRectInAncestorSpace(const LayoutBoxModelObject* ancestor, L
ayoutRect&, VisibleRectFlags = DefaultVisibleRectFlags) const final; |
48 | 46 |
49 AffineTransform m_localTransform; | 47 AffineTransform m_localTransform; |
50 | 48 |
51 bool isOfType(LayoutObjectType type) const override { return type == LayoutO
bjectSVG || LayoutBlockFlow::isOfType(type); } | 49 bool isOfType(LayoutObjectType type) const override { return type == LayoutO
bjectSVG || LayoutBlockFlow::isOfType(type); } |
52 private: | 50 private: |
| 51 // This method should never be called. Should use paintInvalidationRectInLoc
alSVGCoordinates(). |
| 52 using LayoutObject::localOverflowRectForPaintInvalidation; |
| 53 |
| 54 LayoutRect absoluteClippedOverflowRect() const final; |
| 55 |
53 bool allowsOverflowClip() const final; | 56 bool allowsOverflowClip() const final; |
54 | 57 |
55 void absoluteRects(Vector<IntRect>&, const LayoutPoint& accumulatedOffset) c
onst final; | 58 void absoluteRects(Vector<IntRect>&, const LayoutPoint& accumulatedOffset) c
onst final; |
56 | 59 |
57 void styleDidChange(StyleDifference, const ComputedStyle* oldStyle) final; | 60 void styleDidChange(StyleDifference, const ComputedStyle* oldStyle) final; |
58 | 61 |
59 bool nodeAtPoint(HitTestResult&, const HitTestLocation& locationInContainer,
const LayoutPoint& accumulatedOffset, HitTestAction) override; | 62 bool nodeAtPoint(HitTestResult&, const HitTestLocation& locationInContainer,
const LayoutPoint& accumulatedOffset, HitTestAction) override; |
60 }; | 63 }; |
61 | 64 |
62 } // namespace blink | 65 } // namespace blink |
63 #endif // LayoutSVGBlock_h | 66 #endif // LayoutSVGBlock_h |
OLD | NEW |