using SkiaSharp; using System; namespace Ryujinx.Graphics.Gpu { /// /// Interface for overlay functionality /// public interface IOverlay : IDisposable { /// /// Name of the overlay /// string Name { get; set; } /// /// Whether the overlay is visible /// bool IsVisible { get; set; } /// /// Opacity of the overlay (0.0 to 1.0) /// float Opacity { get; set; } /// /// X position of the overlay /// float X { get; set; } /// /// Y position of the overlay /// float Y { get; set; } /// /// Z-index for overlay ordering /// int ZIndex { get; set; } /// /// Update overlay (for animations) /// /// Time elapsed since last update /// Current screen size void Update(float deltaTime, SKSize screenSize = default); /// /// Render this overlay /// /// The canvas to render to void Render(SKCanvas canvas); } }