295fa38295
This pull request introduces Microsoft.Terminal.Core.Color as an alternative to both Windows.UI.Color and uint32_t/COLORREF in the TerminalCore, ...Control, ...SettingsModel and ...SettingsEditor layers. M.T.C.Color is trivially convertible to/from til::color and therefore to/from COLORREF, W.U.Color, and any other color representation we might need². I've replaced almost every use of W.U.Color and uint32_t-as-color in the above layers, with minor exception¹. The need for this work is twofold. First: We cannot bear a dependency from TerminalCore (which should, on paper, be Windows 7 compatible) on Windows.UI or any other WinRT namespace. This work removes one big dependency on Windows.UI, but it does not go all the way. Second: TerminalCore chose to communicate mostly in packed uint32s (COLORREF), which was inherently lossy and dangerous. ¹ The UI layers (TerminalControl, TerminalApp) still use Windows.UI.Color as they are intimately connected to the UWP XAML UI. ² In the future, we might even be able to *use* the alpha channel... ## PR Checklist * [x] I ran into the need for this when I introduced cursor inversion * [X] Fixes a longstanding itch ## Validation Steps Performed Built and ran all tests for the impacted layers, even the local ones!
44 lines
1.3 KiB
C++
44 lines
1.3 KiB
C++
/*++
|
|
Copyright (c) Microsoft Corporation.
|
|
Licensed under the MIT license.
|
|
|
|
Module Name:
|
|
- DefaultSettings.h
|
|
|
|
Abstract:
|
|
- A header with a bunch of default values used for settings, especially for
|
|
terminal settings used by Cascadia
|
|
Author(s):
|
|
- Mike Griese - March 2019
|
|
|
|
--*/
|
|
#pragma once
|
|
|
|
constexpr til::color COLOR_WHITE{ 0xff, 0xff, 0xff };
|
|
constexpr til::color COLOR_BLACK{ 0, 0, 0 };
|
|
constexpr COLORREF OPACITY_OPAQUE = 0xff000000;
|
|
|
|
constexpr auto DEFAULT_FOREGROUND = COLOR_WHITE;
|
|
constexpr auto DEFAULT_BACKGROUND = COLOR_BLACK;
|
|
|
|
constexpr short DEFAULT_HISTORY_SIZE = 9001;
|
|
|
|
#pragma warning(push)
|
|
#pragma warning(disable : 26426)
|
|
// TODO GH 2674, don't disable this warning, move to std::wstring_view or something like that.
|
|
const std::wstring DEFAULT_FONT_FACE{ L"Cascadia Mono" };
|
|
constexpr int DEFAULT_FONT_SIZE = 12;
|
|
constexpr uint16_t DEFAULT_FONT_WEIGHT = 400; // normal
|
|
|
|
constexpr int DEFAULT_ROWS = 30;
|
|
constexpr int DEFAULT_COLS = 120;
|
|
|
|
const std::wstring DEFAULT_PADDING{ L"8, 8, 8, 8" };
|
|
const std::wstring DEFAULT_STARTING_DIRECTORY{ L"%USERPROFILE%" };
|
|
|
|
constexpr auto DEFAULT_CURSOR_COLOR = COLOR_WHITE;
|
|
constexpr COLORREF DEFAULT_CURSOR_HEIGHT = 25;
|
|
|
|
const std::wstring DEFAULT_WORD_DELIMITERS{ L" ./\\()\"'-:,.;<>~!@#$%^&*|+=[]{}~?\u2502" };
|
|
#pragma warning(pop)
|