Browse Source

Added custom hit-testing for ImmediateRenderer to OverlayLayer

pull/2778/head
Nikita Tsukanov 7 years ago
parent
commit
81ac23066e
  1. 8
      src/Avalonia.Controls/Primitives/OverlayLayer.cs

8
src/Avalonia.Controls/Primitives/OverlayLayer.cs

@ -1,9 +1,10 @@
using System.Linq;
using Avalonia.Rendering;
using Avalonia.VisualTree;
namespace Avalonia.Controls.Primitives
{
public class OverlayLayer : Canvas
public class OverlayLayer : Canvas, ICustomSimpleHitTest
{
public Size AvailableSize { get; private set; }
public static OverlayLayer GetOverlayLayer(IVisual visual)
@ -21,6 +22,11 @@ namespace Avalonia.Controls.Primitives
return null;
}
public bool HitTest(Point point)
{
return Children.Any(ctrl => ctrl.TransformedBounds?.Contains(point) == true);
}
protected override Size ArrangeOverride(Size finalSize)
{
// We are saving it here since child controls might need to know the entire size of the overlay

Loading…
Cancel
Save