2024-04-18 01:44:37 +02:00
|
|
|
|
using System;
|
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
using Wino.Core.Domain.Enums;
|
|
|
|
|
|
using Wino.Core.Domain.Models.Personalization;
|
|
|
|
|
|
|
2025-02-16 11:54:23 +01:00
|
|
|
|
namespace Wino.Core.Domain.Interfaces;
|
|
|
|
|
|
|
|
|
|
|
|
public interface IThemeService : IInitializeAsync
|
2024-04-18 01:44:37 +02:00
|
|
|
|
{
|
2025-02-16 11:54:23 +01:00
|
|
|
|
event EventHandler<ApplicationElementTheme> ElementThemeChanged;
|
|
|
|
|
|
event EventHandler<string> AccentColorChanged;
|
2024-04-18 01:44:37 +02:00
|
|
|
|
|
2025-02-16 11:54:23 +01:00
|
|
|
|
Task<List<AppThemeBase>> GetAvailableThemesAsync();
|
|
|
|
|
|
Task<CustomThemeMetadata> CreateNewCustomThemeAsync(string themeName, string accentColor, byte[] wallpaperData);
|
|
|
|
|
|
Task<List<CustomThemeMetadata>> GetCurrentCustomThemesAsync();
|
2025-03-01 01:17:04 +01:00
|
|
|
|
List<string> GetAvailableAccountColors();
|
2025-02-16 11:54:23 +01:00
|
|
|
|
Task ApplyCustomThemeAsync(bool isInitializing);
|
2024-04-18 01:44:37 +02:00
|
|
|
|
|
2025-02-16 11:54:23 +01:00
|
|
|
|
// Settings
|
|
|
|
|
|
ApplicationElementTheme RootTheme { get; set; }
|
|
|
|
|
|
Guid CurrentApplicationThemeId { get; set; }
|
|
|
|
|
|
string AccentColor { get; set; }
|
|
|
|
|
|
string GetSystemAccentColorHex();
|
|
|
|
|
|
bool IsCustomTheme { get; }
|
2024-04-18 01:44:37 +02:00
|
|
|
|
}
|