-
Notifications
You must be signed in to change notification settings - Fork 8.4k
/
Copy pathTheme.idl
104 lines (83 loc) · 2.74 KB
/
Theme.idl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT license.
namespace Microsoft.Terminal.Settings.Model
{
enum IconStyle
{
Default,
Hidden,
Monochrome
};
enum ThemeColorType
{
Accent,
Color,
TerminalBackground
};
enum TabCloseButtonVisibility
{
Always,
Hover,
Never,
ActiveOnly
};
[default_interface] runtimeclass ThemePair
{
ThemePair();
ThemePair(String name);
ThemePair(String darkName, String lightName);
String DarkName;
String LightName;
};
runtimeclass ThemeColor
{
ThemeColor();
static ThemeColor FromColor(Microsoft.Terminal.Core.Color color);
static ThemeColor FromAccent();
static ThemeColor FromTerminalBackground();
Microsoft.Terminal.Core.Color Color { get; };
ThemeColorType ColorType;
static Microsoft.Terminal.Core.Color ColorFromBrush(Windows.UI.Xaml.Media.Brush brush);
Windows.UI.Xaml.Media.Brush Evaluate(Windows.UI.Xaml.ResourceDictionary res,
Windows.UI.Xaml.Media.Brush terminalBackground,
Boolean forTitlebar);
UInt8 UnfocusedTabOpacity { get; };
}
runtimeclass SettingsTheme
{
Windows.UI.Xaml.ElementTheme RequestedTheme { get; };
}
runtimeclass WindowTheme {
Windows.UI.Xaml.ElementTheme RequestedTheme { get; };
Boolean UseMica { get; };
Boolean RainbowFrame { get; };
ThemeColor Frame { get; };
ThemeColor UnfocusedFrame { get; };
}
runtimeclass TabRowTheme {
ThemeColor Background { get; };
ThemeColor UnfocusedBackground { get; };
}
runtimeclass TabTheme {
ThemeColor Background { get; };
ThemeColor UnfocusedBackground { get; };
TabCloseButtonVisibility ShowCloseButton { get; };
IconStyle IconStyle { get; };
}
[default_interface] runtimeclass Theme : Windows.Foundation.IStringable {
Theme();
Theme(Windows.UI.Xaml.ElementTheme requestedTheme);
String Name;
// window.* Namespace
WindowTheme Window { get; };
// settings.* Namespace
SettingsTheme Settings { get; };
// tabRow.* Namespace
TabRowTheme TabRow { get; };
// tab.* Namespace
TabTheme Tab { get; };
// A helper for retrieving the RequestedTheme out of the window property
Windows.UI.Xaml.ElementTheme RequestedTheme { get; };
static Boolean IsSystemInDarkTheme();
}
}