Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(198)

Side by Side Diff: Source/core/rendering/svg/RenderSVGEllipse.h

Issue 745383007: Fix an issue where hit detection could fail on rect and ellipse shapes (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Google, Inc. 2 * Copyright (C) 2012 Google, Inc.
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 20 matching lines...) Expand all
31 31
32 namespace blink { 32 namespace blink {
33 33
34 class RenderSVGEllipse final : public RenderSVGShape { 34 class RenderSVGEllipse final : public RenderSVGShape {
35 public: 35 public:
36 explicit RenderSVGEllipse(SVGGraphicsElement*); 36 explicit RenderSVGEllipse(SVGGraphicsElement*);
37 virtual ~RenderSVGEllipse(); 37 virtual ~RenderSVGEllipse();
38 38
39 virtual ShapeGeometryCodePath geometryCodePath() const override { return m_u sePathFallback ? PathGeometry : EllipseGeometryFastPath; } 39 virtual ShapeGeometryCodePath geometryCodePath() const override { return m_u sePathFallback ? PathGeometry : EllipseGeometryFastPath; }
40 40
41 private:
42 virtual const char* renderName() const override { return "RenderSVGEllipse"; } 41 virtual const char* renderName() const override { return "RenderSVGEllipse"; }
43 42
43 protected:
fs 2014/12/04 13:10:35 Please restore the access specifiers ('protected'
44 virtual void updateShapeFromElement() override; 44 virtual void updateShapeFromElement() override;
45 virtual bool isShapeEmpty() const override { return m_usePathFallback ? Rend erSVGShape::isShapeEmpty() : m_fillBoundingBox.isEmpty(); } 45 virtual bool isShapeEmpty() const override { return m_usePathFallback ? Rend erSVGShape::isShapeEmpty() : m_fillBoundingBox.isEmpty(); }
46 virtual bool shapeDependentStrokeContains(const FloatPoint&) override; 46 virtual bool shapeDependentStrokeContains(const FloatPoint&) override;
47 virtual bool shapeDependentFillContains(const FloatPoint&, const WindRule) c onst override; 47 virtual bool shapeDependentFillContains(const FloatPoint&, const WindRule) c onst override;
48
49 private:
48 void calculateRadiiAndCenter(); 50 void calculateRadiiAndCenter();
51 bool hasContinuousStroke() const;
49 52
50 private: 53 private:
51 FloatPoint m_center; 54 FloatPoint m_center;
52 FloatSize m_radii; 55 FloatSize m_radii;
53 bool m_usePathFallback; 56 bool m_usePathFallback;
54 }; 57 };
55 58
56 } 59 }
57 60
58 #endif 61 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698