dd5dbb2a40
- Implements the Delta E algorithm - Uses the Delta E algorithm to precalculate adjusted foreground values based on possible foreground/background color pairs in the color table - Adds a setting to use the adjusted foreground values when applicable ## PR Checklist * [x] Closes #2638 * [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA * [ ] Tests added/passed * [ ] Documentation updated. If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/terminal) and link it here: #xxx * [ ] Schema updated. * [x] I work here ## Validation Steps Performed Before: <img width="759" alt="color before" src="https://user-images.githubusercontent.com/26824113/131576768-b3b9eebd-5933-45de-8da8-88a985070312.png"> After (note dark blue): <img width="760" alt="color after" src="https://user-images.githubusercontent.com/26824113/133158807-4e63198f-8a49-4d03-914e-55a5ad57d725.png">
83 lines
3.7 KiB
Plaintext
83 lines
3.7 KiB
Plaintext
// Copyright (c) Microsoft Corporation.
|
|
// Licensed under the MIT license.
|
|
|
|
import "EnumEntry.idl";
|
|
import "MainPage.idl";
|
|
import "Profiles.idl";
|
|
|
|
#include "ViewModelHelpers.idl.h"
|
|
|
|
#define OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Type, Name) \
|
|
OBSERVABLE_PROJECTED_SETTING(Type, Name); \
|
|
Object Name##OverrideSource { get; }
|
|
|
|
namespace Microsoft.Terminal.Settings.Editor
|
|
{
|
|
runtimeclass Font : Windows.Foundation.IStringable
|
|
{
|
|
String Name { get; };
|
|
String LocalizedName { get; };
|
|
}
|
|
|
|
runtimeclass AppearanceViewModel : Windows.UI.Xaml.Data.INotifyPropertyChanged
|
|
{
|
|
Boolean IsDefault;
|
|
|
|
void SetFontWeightFromDouble(Double fontWeight);
|
|
void SetBackgroundImageOpacityFromPercentageValue(Double percentageValue);
|
|
void SetBackgroundImagePath(String path);
|
|
|
|
Boolean UseDesktopBGImage;
|
|
Boolean BackgroundImageSettingsVisible { get; };
|
|
|
|
Windows.Foundation.Collections.IMapView<String, Microsoft.Terminal.Settings.Model.ColorScheme> Schemes;
|
|
IHostedInWindow WindowRoot; // necessary to send the right HWND into the file picker dialogs.
|
|
|
|
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(String, FontFace);
|
|
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Int32, FontSize);
|
|
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Windows.UI.Text.FontWeight, FontWeight);
|
|
|
|
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(String, ColorSchemeName);
|
|
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Boolean, RetroTerminalEffect);
|
|
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Microsoft.Terminal.Core.CursorStyle, CursorShape);
|
|
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(UInt32, CursorHeight);
|
|
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(String, BackgroundImagePath);
|
|
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Double, BackgroundImageOpacity);
|
|
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Windows.UI.Xaml.Media.Stretch, BackgroundImageStretchMode);
|
|
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Microsoft.Terminal.Settings.Model.ConvergedAlignment, BackgroundImageAlignment);
|
|
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Microsoft.Terminal.Settings.Model.IntenseStyle, IntenseTextStyle);
|
|
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Boolean, AdjustIndistinguishableColors);
|
|
}
|
|
|
|
[default_interface] runtimeclass Appearances : Windows.UI.Xaml.Controls.UserControl, Windows.UI.Xaml.Data.INotifyPropertyChanged
|
|
{
|
|
Appearances();
|
|
AppearanceViewModel Appearance;
|
|
ProfileViewModel SourceProfile;
|
|
static Windows.UI.Xaml.DependencyProperty AppearanceProperty { get; };
|
|
|
|
Boolean UsingMonospaceFont { get; };
|
|
Boolean ShowAllFonts;
|
|
|
|
IInspectable CurrentCursorShape;
|
|
Boolean IsVintageCursor { get; };
|
|
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> CursorShapeList { get; };
|
|
|
|
Microsoft.Terminal.Settings.Model.ColorScheme CurrentColorScheme;
|
|
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Model.ColorScheme> ColorSchemeList { get; };
|
|
|
|
IInspectable CurrentBackgroundImageStretchMode;
|
|
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> BackgroundImageStretchModeList { get; };
|
|
|
|
IInspectable CurrentFontWeight;
|
|
Boolean IsCustomFontWeight { get; };
|
|
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> FontWeightList { get; };
|
|
|
|
IInspectable CurrentFontFace { get; };
|
|
Windows.UI.Xaml.Controls.Slider BIOpacitySlider { get; };
|
|
|
|
IInspectable CurrentIntenseTextStyle;
|
|
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> IntenseTextStyleList { get; };
|
|
}
|
|
}
|