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