Files
ShrlAlgoToolkit/WPFluent/Services/IThemeService.cs

56 lines
1.7 KiB
C#

using WPFluent.Appearance;
namespace WPFluent;
/// <summary>
/// Represents a contract with a service that provides tools for manipulating the theme.
/// </summary>
public interface IThemeService
{
/// <summary>
/// Gets current system theme.
/// </summary>
/// <returns>Currently set Windows theme using system enumeration.</returns>
SystemTheme GetNativeSystemTheme();
/// <summary>
/// Gets current system theme.
/// </summary>
/// <returns>Currently set Windows theme.</returns>
ApplicationTheme GetSystemTheme();
/// <summary>
/// Gets current application theme.
/// </summary>
/// <returns>Currently set application theme.</returns>
ApplicationTheme GetTheme();
/// <summary>
/// Sets current application accent.
/// </summary>
/// <returns><see langword="true"/> if the operation succeeds. <see langword="false"/> otherwise.</returns>
bool SetAccent(Color accentColor);
/// <summary>
/// Sets current application accent.
/// </summary>
/// <returns><see langword="true"/> if the operation succeeds. <see langword="false"/> otherwise.</returns>
bool SetAccent(SolidColorBrush accentSolidBrush);
/// <summary>
/// Sets currently used Windows OS accent.
/// </summary>
/// <returns><see langword="true"/> if the operation succeeds. <see langword="false"/> otherwise.</returns>
bool SetSystemAccent();
/// <summary>
/// Sets current application theme.
/// </summary>
/// <param name="applicationTheme">Theme type to set.</param>
/// <returns><see langword="true"/> if the operation succeeds. <see langword="false"/> otherwise.</returns>
bool SetTheme(ApplicationTheme applicationTheme);
}