OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011 University of Szeged | 2 * Copyright (C) 2011 University of Szeged |
3 * Copyright (C) 2011 Renata Hodovan <reni@webkit.org> | 3 * Copyright (C) 2011 Renata Hodovan <reni@webkit.org> |
4 * All rights reserved. | 4 * All rights reserved. |
5 * | 5 * |
6 * Redistribution and use in source and binary forms, with or without | 6 * Redistribution and use in source and binary forms, with or without |
7 * modification, are permitted provided that the following conditions | 7 * modification, are permitted provided that the following conditions |
8 * are met: | 8 * are met: |
9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 10 matching lines...) Expand all Loading... |
21 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR | 21 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR |
22 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY | 22 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY |
23 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 23 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
25 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 25 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 */ | 26 */ |
27 | 27 |
28 #ifndef RenderSVGRect_h | 28 #ifndef RenderSVGRect_h |
29 #define RenderSVGRect_h | 29 #define RenderSVGRect_h |
30 | 30 |
31 #include "core/rendering/svg/RenderSVGPath.h" | 31 #include "core/rendering/svg/RenderSVGShape.h" |
32 #include "core/svg/SVGRectElement.h" | |
33 | 32 |
34 namespace blink { | 33 namespace blink { |
35 | 34 |
36 class RenderSVGRect final : public RenderSVGShape { | 35 class RenderSVGRect final : public RenderSVGShape { |
37 public: | 36 public: |
38 explicit RenderSVGRect(SVGRectElement*); | 37 explicit RenderSVGRect(SVGRectElement*); |
39 virtual ~RenderSVGRect(); | 38 virtual ~RenderSVGRect(); |
40 | 39 |
| 40 virtual bool useRectRenderingFastPath() const override { return !m_usePathFa
llback; } |
| 41 |
41 private: | 42 private: |
42 virtual const char* renderName() const override { return "RenderSVGRect"; } | 43 virtual const char* renderName() const override { return "RenderSVGRect"; } |
43 | 44 |
44 virtual void updateShapeFromElement() override; | 45 virtual void updateShapeFromElement() override; |
45 virtual bool isShapeEmpty() const override { return m_usePathFallback ? Rend
erSVGShape::isShapeEmpty() : m_fillBoundingBox.isEmpty(); } | 46 virtual bool isShapeEmpty() const override { return m_usePathFallback ? Rend
erSVGShape::isShapeEmpty() : m_fillBoundingBox.isEmpty(); } |
46 virtual void fillShape(GraphicsContext*) const override; | |
47 virtual void strokeShape(GraphicsContext*) const override; | |
48 virtual bool shapeDependentStrokeContains(const FloatPoint&) override; | 47 virtual bool shapeDependentStrokeContains(const FloatPoint&) override; |
49 virtual bool shapeDependentFillContains(const FloatPoint&, const WindRule) c
onst override; | 48 virtual bool shapeDependentFillContains(const FloatPoint&, const WindRule) c
onst override; |
50 | 49 |
51 private: | 50 private: |
52 FloatRect m_innerStrokeRect; | 51 FloatRect m_innerStrokeRect; |
53 FloatRect m_outerStrokeRect; | 52 FloatRect m_outerStrokeRect; |
54 bool m_usePathFallback; | 53 bool m_usePathFallback; |
55 }; | 54 }; |
56 | 55 |
57 } | 56 } |
58 | 57 |
59 #endif | 58 #endif |
OLD | NEW |