1
0
mirror of https://github.com/Artemis-RGB/Artemis synced 2025-12-13 05:48:35 +00:00

51 lines
1.4 KiB
C#

using System;
namespace Artemis.UI.Shared.Services.MainWindow;
/// <summary>
/// Represents a class that provides the main window, so that <see cref="IMainWindowService" /> can control the state
/// of
/// the main window.
/// </summary>
public interface IMainWindowProvider
{
/// <summary>
/// Gets a boolean indicating whether the main window is currently open
/// </summary>
bool IsMainWindowOpen { get; }
/// <summary>
/// Gets a boolean indicating whether the main window is currently focused
/// </summary>
bool IsMainWindowFocused { get; }
/// <summary>
/// Opens the main window
/// </summary>
void OpenMainWindow();
/// <summary>
/// Closes the main window
/// </summary>
void CloseMainWindow();
/// <summary>
/// Occurs when the main window has been opened
/// </summary>
public event EventHandler? MainWindowOpened;
/// <summary>
/// Occurs when the main window has been closed
/// </summary>
public event EventHandler? MainWindowClosed;
/// <summary>
/// Occurs when the main window has been focused
/// </summary>
public event EventHandler? MainWindowFocused;
/// <summary>
/// Occurs when the main window has been unfocused
/// </summary>
public event EventHandler? MainWindowUnfocused;
}