// Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information.
using System;
using Avalonia.Platform;
namespace Avalonia.Rendering.SceneGraph
{
///
/// Represents a node in the low-level scene graph that represents geometry.
///
public interface IDrawOperation
{
///
/// Gets the bounds of the visible content in the node.
///
Rect Bounds { get; }
///
/// Hit test the geometry in this node.
///
/// The point in global coordinates.
/// True if the point hits the node's geometry; otherwise false.
///
/// This method does not recurse to child s, if you want
/// to hit test children they must be hit tested manually.
///
bool HitTest(Point p);
///
/// Renders the node to a drawing context.
///
/// The drawing context.
void Render(IDrawingContextImpl context);
}
}