using Avalonia.Controls;
using Avalonia.Controls.Primitives;
using Avalonia.Media;
namespace Avalonia.Xaml.Interactions.Draggable;
///
///
///
public class SelectionAdorner : Control
{
///
///
///
///
public override void Render(DrawingContext context)
{
var adornedElement = GetValue(AdornerLayer.AdornedElementProperty);
if (adornedElement is null)
{
return;
}
var bounds = adornedElement.Bounds;
var brush = new SolidColorBrush(Colors.White) { Opacity = 0.5 };
var pen = new Pen(new SolidColorBrush(Colors.Black), 1.5);
var r = 5.0;
var topLeft = new RectangleGeometry(new Rect(-r, -r, r + r, r + r));
var topRight = new RectangleGeometry(new Rect(-r, bounds.Height - r, r + r, r + r));
var bottomLeft = new RectangleGeometry(new Rect(bounds.Width - r, -r, r + r, r + r));
var bottomRight = new RectangleGeometry(new Rect(bounds.Width - r, bounds.Height - r, r + r, r + r));
context.DrawGeometry(brush, pen, topLeft);
context.DrawGeometry(brush, pen, topRight);
context.DrawGeometry(brush, pen, bottomLeft);
context.DrawGeometry(brush, pen, bottomRight);
}
}