namespace Rive.Components
{
public struct RenderContext
{
public enum ClippingModeSetting
{
///
/// Check if clipping is needed and apply if necessary.
///
CheckClipping = 0,
///
/// Skip clipping checks since render target bounds will handle it.
///
SkipClipping = 1,
}
public ClippingModeSetting ClippingMode { get; private set; }
public RenderContext(ClippingModeSetting clippingMode)
{
ClippingMode = clippingMode;
}
}
///
/// The IRenderObject interface. This interface should be implemented by classes that want to be rendered within a RiveView.
///
public interface IRenderObject
{
///
/// The transform data for the render object. Use this to provide the position, size, rotation, scale, and pivot of the render object.
///
RenderTransform RenderTransform { get; set; }
///
/// This renders the content of the render object to the given frame.
///
/// The Rive renderer to use to draw the content.
/// The frame to draw the content within.
void DrawContent(IRenderer renderer, AABB frame, RenderContext renderContext);
}
}