@@ -6,6 +6,7 @@ Licensed under the MIT license.
6
6
7
7
#include < DefaultSettings.h>
8
8
#include < conattrs.hpp>
9
+ #include " ../../inc/ControlProperties.h"
9
10
10
11
using IFontFeatureMap = winrt::Windows::Foundation::Collections::IMap<winrt::hstring, uint32_t >;
11
12
using IFontAxesMap = winrt::Windows::Foundation::Collections::IMap<winrt::hstring, float >;
@@ -14,87 +15,27 @@ namespace ControlUnitTests
14
15
{
15
16
class MockControlSettings : public winrt ::implements<MockControlSettings, winrt::Microsoft::Terminal::Core::ICoreSettings, winrt::Microsoft::Terminal::Control::IControlSettings, winrt::Microsoft::Terminal::Core::ICoreAppearance, winrt::Microsoft::Terminal::Control::IControlAppearance>
16
17
{
17
- public:
18
- MockControlSettings () = default ;
19
-
20
- // --------------------------- Core Settings ---------------------------
21
- // All of these settings are defined in ICoreSettings.
22
-
23
- WINRT_PROPERTY (til::color, DefaultForeground, DEFAULT_FOREGROUND);
24
- WINRT_PROPERTY (til::color, DefaultBackground, DEFAULT_BACKGROUND);
25
- WINRT_PROPERTY (til::color, SelectionBackground, DEFAULT_FOREGROUND);
26
- WINRT_PROPERTY (int32_t , HistorySize, DEFAULT_HISTORY_SIZE);
27
- WINRT_PROPERTY (int32_t , InitialRows, 30 );
28
- WINRT_PROPERTY (int32_t , InitialCols, 80 );
29
-
30
- WINRT_PROPERTY (bool , SnapOnInput, true );
31
- WINRT_PROPERTY (bool , AltGrAliasing, true );
32
- WINRT_PROPERTY (til::color, CursorColor, DEFAULT_CURSOR_COLOR);
33
- WINRT_PROPERTY (winrt::Microsoft::Terminal::Core::CursorStyle, CursorShape, winrt::Microsoft::Terminal::Core::CursorStyle::Vintage);
34
- WINRT_PROPERTY (uint32_t , CursorHeight, DEFAULT_CURSOR_HEIGHT);
35
- WINRT_PROPERTY (winrt::hstring, WordDelimiters, DEFAULT_WORD_DELIMITERS);
36
- WINRT_PROPERTY (bool , CopyOnSelect, false );
37
- WINRT_PROPERTY (bool , FocusFollowMouse, false );
38
-
39
- WINRT_PROPERTY (winrt::Windows::Foundation::IReference<winrt::Microsoft::Terminal::Core::Color>, TabColor, nullptr );
40
-
41
- WINRT_PROPERTY (winrt::Windows::Foundation::IReference<winrt::Microsoft::Terminal::Core::Color>, StartingTabColor, nullptr );
42
-
43
- winrt::Microsoft::Terminal::Core::ICoreAppearance UnfocusedAppearance () { return {}; };
44
-
45
- WINRT_PROPERTY (bool , TrimBlockSelection, false );
46
- WINRT_PROPERTY (bool , DetectURLs, true );
47
- WINRT_PROPERTY (bool , IntenseIsBright, true );
48
- WINRT_PROPERTY (bool , AdjustIndistinguishableColors, true );
49
- // ------------------------ End of Core Settings -----------------------
50
-
51
- WINRT_PROPERTY (winrt::hstring, ProfileName);
52
- WINRT_PROPERTY (winrt::hstring, ProfileSource);
53
- WINRT_PROPERTY (bool , UseAcrylic, false );
54
- WINRT_PROPERTY (double , Opacity, .5 );
55
- WINRT_PROPERTY (winrt::hstring, Padding, DEFAULT_PADDING);
56
- WINRT_PROPERTY (winrt::hstring, FontFace, L" Consolas" );
57
- WINRT_PROPERTY (int32_t , FontSize, DEFAULT_FONT_SIZE);
58
-
59
- WINRT_PROPERTY (winrt::Windows::UI::Text::FontWeight, FontWeight);
60
-
61
- WINRT_PROPERTY (winrt::hstring, BackgroundImage);
62
- WINRT_PROPERTY (double , BackgroundImageOpacity, 1.0 );
63
-
64
- WINRT_PROPERTY (winrt::Windows::UI::Xaml::Media::Stretch, BackgroundImageStretchMode, winrt::Windows::UI::Xaml::Media::Stretch::UniformToFill);
65
- WINRT_PROPERTY (winrt::Windows::UI::Xaml::HorizontalAlignment, BackgroundImageHorizontalAlignment, winrt::Windows::UI::Xaml::HorizontalAlignment::Center);
66
- WINRT_PROPERTY (winrt::Windows::UI::Xaml::VerticalAlignment, BackgroundImageVerticalAlignment, winrt::Windows::UI::Xaml::VerticalAlignment::Center);
67
-
68
- WINRT_PROPERTY (winrt::Microsoft::Terminal::Control::IKeyBindings, KeyBindings, nullptr );
69
-
70
- WINRT_PROPERTY (winrt::hstring, Commandline);
71
- WINRT_PROPERTY (winrt::hstring, StartingDirectory);
72
- WINRT_PROPERTY (winrt::hstring, StartingTitle);
73
- WINRT_PROPERTY (bool , SuppressApplicationTitle);
74
- WINRT_PROPERTY (winrt::hstring, EnvironmentVariables);
75
-
76
- WINRT_PROPERTY (winrt::Microsoft::Terminal::Control::ScrollbarState, ScrollState, winrt::Microsoft::Terminal::Control::ScrollbarState::Visible);
77
- WINRT_PROPERTY (bool , UseAtlasEngine, false );
78
-
79
- WINRT_PROPERTY (winrt::Microsoft::Terminal::Control::TextAntialiasingMode, AntialiasingMode, winrt::Microsoft::Terminal::Control::TextAntialiasingMode::Grayscale);
80
-
81
- WINRT_PROPERTY (bool , RetroTerminalEffect, false );
82
- WINRT_PROPERTY (bool , ForceFullRepaintRendering, false );
83
- WINRT_PROPERTY (bool , SoftwareRendering, false );
84
- WINRT_PROPERTY (bool , ForceVTInput, false );
85
-
86
- WINRT_PROPERTY (winrt::hstring, PixelShaderPath);
87
-
88
- WINRT_PROPERTY (IFontFeatureMap, FontFeatures);
89
- WINRT_PROPERTY (IFontAxesMap, FontAxes);
90
- WINRT_PROPERTY (bool , IntenseIsBold, true );
91
-
92
- private:
18
+ // Color Table is special because it's an array
93
19
std::array<winrt::Microsoft::Terminal::Core::Color, COLOR_TABLE_SIZE> _ColorTable;
94
20
21
+ #define SETTINGS_GEN (type, name, ...) WINRT_PROPERTY(type, name, __VA_ARGS__);
22
+ CORE_SETTINGS (SETTINGS_GEN)
23
+ CORE_APPEARANCE_SETTINGS (SETTINGS_GEN)
24
+ CONTROL_SETTINGS (SETTINGS_GEN)
25
+ CONTROL_APPEARANCE_SETTINGS (SETTINGS_GEN)
26
+ #undef SETTINGS_GEN
27
+
95
28
public:
96
- winrt::Microsoft::Terminal::Core::Color GetColorTableEntry (int32_t index) noexcept { return _ColorTable.at (index); }
97
- std::array<winrt::Microsoft::Terminal::Core::Color, 16 > ColorTable () { return _ColorTable; }
98
- void ColorTable (std::array<winrt::Microsoft::Terminal::Core::Color, 16 > /* colors*/ ) {}
29
+ MockControlSettings () = default ;
30
+
31
+ winrt::Microsoft::Terminal::Core::Color GetColorTableEntry (int32_t index) noexcept
32
+ {
33
+ return _ColorTable.at (index);
34
+ }
35
+ void SetColorTableEntry (int32_t index,
36
+ winrt::Microsoft::Terminal::Core::Color color) noexcept
37
+ {
38
+ _ColorTable.at (index) = color;
39
+ }
99
40
};
100
41
}
0 commit comments