*cfc72cee
(origin/dev/duhowett/ibxint, github/master) Make sure cursor blinks after opening new tab (1030) *9ad25440
Fix #936: misuse of uninitialized objects causes AppVerifier breaks on Windows Terminal startup (1015) *5f938a04
Update Terminal.cpp (1034) *4c47631b
Cleanup - termDispatch.hpp & adaptDispatch.hpp overrides (1004) *cc304759
add audit mode to ci (948) *80f10796
Fix the bell sound when Alt+key is pressed. (1006) *42e87ed3
fix build break from using `await` instead of `co_await` (1009) *40b557a4
Update manifest to correct 1903 version, unref param fix (1008) *0f62ec81
Eat all tap keypresses no matter what. (985) *ce0eaab9
inbox: Merge accumulated build fixes from RS_ONECORE_DEP_ACIOSS (1002) *1c509683
add .editorconfig file (585) *efd69990
Add support for OSC 10 and 11 to set the default colors (891) Related work items: #21610659, #21838182
48 lines
2.5 KiB
C++
48 lines
2.5 KiB
C++
// Copyright (c) Microsoft Corporation.
|
|
// Licensed under the MIT license.
|
|
|
|
#include "../../terminal/adapter/termDispatch.hpp"
|
|
#include "ITerminalApi.hpp"
|
|
|
|
class TerminalDispatch : public Microsoft::Console::VirtualTerminal::TermDispatch
|
|
{
|
|
public:
|
|
TerminalDispatch(::Microsoft::Terminal::Core::ITerminalApi& terminalApi);
|
|
virtual ~TerminalDispatch(){};
|
|
virtual void Execute(const wchar_t wchControl) override;
|
|
virtual void Print(const wchar_t wchPrintable) override;
|
|
virtual void PrintString(const wchar_t *const rgwch, const size_t cch) override;
|
|
|
|
bool SetGraphicsRendition(const ::Microsoft::Console::VirtualTerminal::DispatchTypes::GraphicsOptions* const rgOptions,
|
|
const size_t cOptions) override;
|
|
|
|
virtual bool CursorPosition(const unsigned int uiLine,
|
|
const unsigned int uiColumn) override; // CUP
|
|
|
|
bool CursorForward(const unsigned int uiDistance) override;
|
|
|
|
bool EraseCharacters(const unsigned int uiNumChars) override;
|
|
bool SetWindowTitle(std::wstring_view title) override;
|
|
|
|
bool SetColorTableEntry(const size_t tableIndex, const DWORD dwColor) override;
|
|
bool SetCursorStyle(const ::Microsoft::Console::VirtualTerminal::DispatchTypes::CursorStyle cursorStyle) override;
|
|
|
|
bool SetDefaultForeground(const DWORD dwColor) override;
|
|
bool SetDefaultBackground(const DWORD dwColor) override;
|
|
|
|
private:
|
|
::Microsoft::Terminal::Core::ITerminalApi& _terminalApi;
|
|
|
|
static bool s_IsRgbColorOption(const ::Microsoft::Console::VirtualTerminal::DispatchTypes::GraphicsOptions opt) noexcept;
|
|
static bool s_IsBoldColorOption(const ::Microsoft::Console::VirtualTerminal::DispatchTypes::GraphicsOptions opt) noexcept;
|
|
static bool s_IsDefaultColorOption(const ::Microsoft::Console::VirtualTerminal::DispatchTypes::GraphicsOptions opt) noexcept;
|
|
|
|
bool _SetRgbColorsHelper(_In_reads_(cOptions) const ::Microsoft::Console::VirtualTerminal::DispatchTypes::GraphicsOptions* const rgOptions,
|
|
const size_t cOptions,
|
|
_Out_ size_t* const pcOptionsConsumed);
|
|
bool _SetBoldColorHelper(const ::Microsoft::Console::VirtualTerminal::DispatchTypes::GraphicsOptions option);
|
|
bool _SetDefaultColorHelper(const ::Microsoft::Console::VirtualTerminal::DispatchTypes::GraphicsOptions option);
|
|
void _SetGraphicsOptionHelper(const ::Microsoft::Console::VirtualTerminal::DispatchTypes::GraphicsOptions opt);
|
|
|
|
};
|