@@ -90,6 +90,8 @@ namespace Microsoft::Console::VirtualTerminal
90
90
bool SetAnsiMode (const bool ansiMode) override ; // DECANM
91
91
bool SetTopBottomScrollingMargins (const VTInt topMargin,
92
92
const VTInt bottomMargin) override ; // DECSTBM
93
+ bool SetLeftRightScrollingMargins (const VTInt leftMargin,
94
+ const VTInt rightMargin) override ; // DECSLRM
93
95
bool WarningBell () override ; // BEL
94
96
bool CarriageReturn () override ; // CR
95
97
bool LineFeed (const DispatchTypes::LineFeedType lineFeedType) override ; // IND, NEL, LF, FF, VT
@@ -163,6 +165,7 @@ namespace Microsoft::Console::VirtualTerminal
163
165
Origin,
164
166
Column,
165
167
AllowDECCOLM,
168
+ AllowDECSLRM,
166
169
RectangularChangeExtent
167
170
};
168
171
enum class ScrollDirection
@@ -201,6 +204,7 @@ namespace Microsoft::Console::VirtualTerminal
201
204
202
205
void _WriteToBuffer (const std::wstring_view string);
203
206
std::pair<int , int > _GetVerticalMargins (const til::rect& viewport, const bool absolute) noexcept ;
207
+ std::pair<int , int > _GetHorizontalMargins (const til::CoordType bufferWidth) noexcept ;
204
208
bool _CursorMovePosition (const Offset rowOffset, const Offset colOffset, const bool clampInMargins);
205
209
void _ApplyCursorMovementFlags (Cursor& cursor) noexcept ;
206
210
void _FillRect (TextBuffer& textBuffer, const til::rect& fillRect, const wchar_t fillChar, const TextAttribute fillAttrs);
@@ -217,7 +221,12 @@ namespace Microsoft::Console::VirtualTerminal
217
221
void _ScrollMovement (const VTInt delta);
218
222
219
223
void _DoSetTopBottomScrollingMargins (const VTInt topMargin,
220
- const VTInt bottomMargin);
224
+ const VTInt bottomMargin,
225
+ const bool homeCursor = false );
226
+ void _DoSetLeftRightScrollingMargins (const VTInt leftMargin,
227
+ const VTInt rightMargin,
228
+ const bool homeCursor = false );
229
+
221
230
void _DoLineFeed (TextBuffer& textBuffer, const bool withReturn, const bool wrapForced);
222
231
223
232
void _OperatingStatus () const ;
@@ -239,6 +248,7 @@ namespace Microsoft::Console::VirtualTerminal
239
248
240
249
void _ReportSGRSetting () const ;
241
250
void _ReportDECSTBMSetting ();
251
+ void _ReportDECSLRMSetting ();
242
252
void _ReportDECSCASetting () const ;
243
253
void _ReportDECSACESetting () const ;
244
254
void _ReportDECACSetting (const VTInt itemNumber) const ;
0 commit comments