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); } }