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