Browse Source

Fix GeometryNode hit test.

And add to-do for RectangleNode geometry hit-test.
scenegraph-after-breakage
Steven Kirk 10 years ago
parent
commit
73f44bb7b4
  1. 3
      src/Avalonia.Visuals/Rendering/SceneGraph/GeometryNode.cs
  2. 1
      src/Avalonia.Visuals/Rendering/SceneGraph/RectangleNode.cs

3
src/Avalonia.Visuals/Rendering/SceneGraph/GeometryNode.cs

@ -39,7 +39,8 @@ namespace Avalonia.Rendering.SceneGraph
public bool HitTest(Point p) public bool HitTest(Point p)
{ {
p *= Transform.Invert(); p *= Transform.Invert();
return Geometry.FillContains(p) || Geometry.StrokeContains(Pen, p); return (Brush != null && Geometry.FillContains(p)) ||
(Pen != null && Geometry.StrokeContains(Pen, p));
} }
} }
} }

1
src/Avalonia.Visuals/Rendering/SceneGraph/RectangleNode.cs

@ -49,6 +49,7 @@ namespace Avalonia.Rendering.SceneGraph
public bool HitTest(Point p) public bool HitTest(Point p)
{ {
// TODO: Only test interior when Brush != null.
return (Rect * Transform).Contains(p); return (Rect * Transform).Contains(p);
} }
} }

Loading…
Cancel
Save