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)
{
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)
{
// TODO: Only test interior when Brush != null.
return (Rect * Transform).Contains(p);
}
}

Loading…
Cancel
Save