123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173 |
- using System.Diagnostics;
- using System.Runtime.InteropServices;
- namespace Terminal.Gui.InputTests;
- public class EscSeqUtilsTests
- {
- private bool _actionStarted;
- private MouseFlags _arg1;
- private Point _arg2;
- private string _c1Control, _code, _terminating;
- private ConsoleKeyInfo [] _cki;
- private EscSeqRequests _escSeqReqProc;
- private bool _isKeyMouse;
- private bool _isReq;
- private ConsoleKey _key;
- private ConsoleModifiers _mod;
- private List<MouseFlags> _mouseFlags;
- private ConsoleKeyInfo _newConsoleKeyInfo;
- private Point _pos;
- private string [] _values;
- [Fact]
- [AutoInitShutdown]
- public void DecodeEscSeq_Tests ()
- {
- // ESC
- _cki = new ConsoleKeyInfo [] { new ('\u001b', 0, false, false, false) };
- var expectedCki = new ConsoleKeyInfo ('\u001b', ConsoleKey.Escape, false, false, false);
- EscSeqUtils.DecodeEscSeq (
- _escSeqReqProc,
- ref _newConsoleKeyInfo,
- ref _key,
- _cki,
- ref _mod,
- out _c1Control,
- out _code,
- out _values,
- out _terminating,
- out _isKeyMouse,
- out _mouseFlags,
- out _pos,
- out _isReq,
- ProcessContinuousButtonPressed
- );
- Assert.Null (_escSeqReqProc);
- Assert.Equal (expectedCki, _newConsoleKeyInfo);
- Assert.Equal (ConsoleKey.Escape, _key);
- Assert.Equal (0, (int)_mod);
- Assert.Equal ("ESC", _c1Control);
- Assert.Null (_code);
- Assert.Null (_values);
- Assert.Null (_terminating);
- Assert.False (_isKeyMouse);
- Assert.Equal (new List<MouseFlags> { 0 }, _mouseFlags);
- Assert.Equal (Point.Empty, _pos);
- Assert.False (_isReq);
- Assert.Equal (0, (int)_arg1);
- Assert.Equal (Point.Empty, _arg2);
- ClearAll ();
- _cki = new ConsoleKeyInfo [] { new ('\u001b', 0, false, false, false), new ('\u0012', 0, false, false, false) };
- expectedCki = new ConsoleKeyInfo ('\u0012', ConsoleKey.R, false, true, true);
- EscSeqUtils.DecodeEscSeq (
- _escSeqReqProc,
- ref _newConsoleKeyInfo,
- ref _key,
- _cki,
- ref _mod,
- out _c1Control,
- out _code,
- out _values,
- out _terminating,
- out _isKeyMouse,
- out _mouseFlags,
- out _pos,
- out _isReq,
- ProcessContinuousButtonPressed
- );
- Assert.Null (_escSeqReqProc);
- Assert.Equal (expectedCki, _newConsoleKeyInfo);
- Assert.Equal (ConsoleKey.R, _key);
- Assert.Equal (0, (int)_mod);
- Assert.Equal ("ESC", _c1Control);
- Assert.Null (_code);
- Assert.Null (_values);
- Assert.Equal ("\u0012", _terminating);
- Assert.False (_isKeyMouse);
- Assert.Equal (new List<MouseFlags> { 0 }, _mouseFlags);
- Assert.Equal (Point.Empty, _pos);
- Assert.False (_isReq);
- Assert.Equal (0, (int)_arg1);
- Assert.Equal (Point.Empty, _arg2);
- ClearAll ();
- _cki = new ConsoleKeyInfo [] { new ('\u001b', 0, false, false, false), new ('r', 0, false, false, false) };
- expectedCki = new ConsoleKeyInfo ('R', ConsoleKey.R, false, true, false);
- EscSeqUtils.DecodeEscSeq (
- _escSeqReqProc,
- ref _newConsoleKeyInfo,
- ref _key,
- _cki,
- ref _mod,
- out _c1Control,
- out _code,
- out _values,
- out _terminating,
- out _isKeyMouse,
- out _mouseFlags,
- out _pos,
- out _isReq,
- ProcessContinuousButtonPressed
- );
- Assert.Null (_escSeqReqProc);
- Assert.Equal (expectedCki, _newConsoleKeyInfo);
- Assert.Equal (ConsoleKey.R, _key);
- Assert.Equal (0, (int)_mod);
- Assert.Equal ("ESC", _c1Control);
- Assert.Null (_code);
- Assert.Null (_values);
- Assert.Equal ("r", _terminating);
- Assert.False (_isKeyMouse);
- Assert.Equal (new List<MouseFlags> { 0 }, _mouseFlags);
- Assert.Equal (Point.Empty, _pos);
- Assert.False (_isReq);
- Assert.Equal (0, (int)_arg1);
- Assert.Equal (Point.Empty, _arg2);
- // SS3
- ClearAll ();
- _cki = new ConsoleKeyInfo []
- {
- new ('\u001b', 0, false, false, false), new ('O', 0, false, false, false), new ('R', 0, false, false, false)
- };
- expectedCki = new ConsoleKeyInfo ('\0', ConsoleKey.F3, false, false, false);
- EscSeqUtils.DecodeEscSeq (
- _escSeqReqProc,
- ref _newConsoleKeyInfo,
- ref _key,
- _cki,
- ref _mod,
- out _c1Control,
- out _code,
- out _values,
- out _terminating,
- out _isKeyMouse,
- out _mouseFlags,
- out _pos,
- out _isReq,
- ProcessContinuousButtonPressed
- );
- Assert.Null (_escSeqReqProc);
- Assert.Equal (expectedCki, _newConsoleKeyInfo);
- Assert.Equal (ConsoleKey.F3, _key);
- Assert.Equal (0, (int)_mod);
- Assert.Equal ("SS3", _c1Control);
- Assert.Null (_code);
- Assert.Single (_values);
- Assert.Null (_values [0]);
- Assert.Equal ("R", _terminating);
- Assert.False (_isKeyMouse);
- Assert.Equal (new List<MouseFlags> { 0 }, _mouseFlags);
- Assert.Equal (Point.Empty, _pos);
- Assert.False (_isReq);
- Assert.Equal (0, (int)_arg1);
- Assert.Equal (Point.Empty, _arg2);
- // CSI
- ClearAll ();
- _cki = new ConsoleKeyInfo []
- {
- new ('\u001b', 0, false, false, false),
- new ('[', 0, false, false, false),
- new ('1', 0, false, false, false),
- new (';', 0, false, false, false),
- new ('2', 0, false, false, false),
- new ('R', 0, false, false, false)
- };
- expectedCki = new ConsoleKeyInfo ('\0', ConsoleKey.F3, true, false, false);
- EscSeqUtils.DecodeEscSeq (
- _escSeqReqProc,
- ref _newConsoleKeyInfo,
- ref _key,
- _cki,
- ref _mod,
- out _c1Control,
- out _code,
- out _values,
- out _terminating,
- out _isKeyMouse,
- out _mouseFlags,
- out _pos,
- out _isReq,
- ProcessContinuousButtonPressed
- );
- Assert.Null (_escSeqReqProc);
- Assert.Equal (expectedCki, _newConsoleKeyInfo);
- Assert.Equal (ConsoleKey.F3, _key);
- Assert.Equal (ConsoleModifiers.Shift, _mod);
- Assert.Equal ("CSI", _c1Control);
- Assert.Null (_code);
- Assert.Equal (2, _values.Length);
- Assert.Equal ("1", _values [0]);
- Assert.Equal ("2", _values [^1]);
- Assert.Equal ("R", _terminating);
- Assert.False (_isKeyMouse);
- Assert.Equal (new List<MouseFlags> { 0 }, _mouseFlags);
- Assert.Equal (Point.Empty, _pos);
- Assert.False (_isReq);
- Assert.Equal (0, (int)_arg1);
- Assert.Equal (Point.Empty, _arg2);
- ClearAll ();
- _cki = new ConsoleKeyInfo []
- {
- new ('\u001b', 0, false, false, false),
- new ('[', 0, false, false, false),
- new ('1', 0, false, false, false),
- new (';', 0, false, false, false),
- new ('3', 0, false, false, false),
- new ('R', 0, false, false, false)
- };
- expectedCki = new ConsoleKeyInfo ('\0', ConsoleKey.F3, false, true, false);
- EscSeqUtils.DecodeEscSeq (
- _escSeqReqProc,
- ref _newConsoleKeyInfo,
- ref _key,
- _cki,
- ref _mod,
- out _c1Control,
- out _code,
- out _values,
- out _terminating,
- out _isKeyMouse,
- out _mouseFlags,
- out _pos,
- out _isReq,
- ProcessContinuousButtonPressed
- );
- Assert.Null (_escSeqReqProc);
- Assert.Equal (expectedCki, _newConsoleKeyInfo);
- Assert.Equal (ConsoleKey.F3, _key);
- Assert.Equal (ConsoleModifiers.Alt, _mod);
- Assert.Equal ("CSI", _c1Control);
- Assert.Null (_code);
- Assert.Equal (2, _values.Length);
- Assert.Equal ("1", _values [0]);
- Assert.Equal ("3", _values [^1]);
- Assert.Equal ("R", _terminating);
- Assert.False (_isKeyMouse);
- Assert.Equal (new List<MouseFlags> { 0 }, _mouseFlags);
- Assert.Equal (Point.Empty, _pos);
- Assert.False (_isReq);
- Assert.Equal (0, (int)_arg1);
- Assert.Equal (Point.Empty, _arg2);
- ClearAll ();
- _cki = new ConsoleKeyInfo []
- {
- new ('\u001b', 0, false, false, false),
- new ('[', 0, false, false, false),
- new ('1', 0, false, false, false),
- new (';', 0, false, false, false),
- new ('4', 0, false, false, false),
- new ('R', 0, false, false, false)
- };
- expectedCki = new ConsoleKeyInfo ('\0', ConsoleKey.F3, true, true, false);
- EscSeqUtils.DecodeEscSeq (
- _escSeqReqProc,
- ref _newConsoleKeyInfo,
- ref _key,
- _cki,
- ref _mod,
- out _c1Control,
- out _code,
- out _values,
- out _terminating,
- out _isKeyMouse,
- out _mouseFlags,
- out _pos,
- out _isReq,
- ProcessContinuousButtonPressed
- );
- Assert.Null (_escSeqReqProc);
- Assert.Equal (expectedCki, _newConsoleKeyInfo);
- Assert.Equal (ConsoleKey.F3, _key);
- Assert.Equal (ConsoleModifiers.Shift | ConsoleModifiers.Alt, _mod);
- Assert.Equal ("CSI", _c1Control);
- Assert.Null (_code);
- Assert.Equal (2, _values.Length);
- Assert.Equal ("1", _values [0]);
- Assert.Equal ("4", _values [^1]);
- Assert.Equal ("R", _terminating);
- Assert.False (_isKeyMouse);
- Assert.Equal (new List<MouseFlags> { 0 }, _mouseFlags);
- Assert.Equal (Point.Empty, _pos);
- Assert.False (_isReq);
- Assert.Equal (0, (int)_arg1);
- Assert.Equal (Point.Empty, _arg2);
- ClearAll ();
- _cki = new ConsoleKeyInfo []
- {
- new ('\u001b', 0, false, false, false),
- new ('[', 0, false, false, false),
- new ('1', 0, false, false, false),
- new (';', 0, false, false, false),
- new ('5', 0, false, false, false),
- new ('R', 0, false, false, false)
- };
- expectedCki = new ConsoleKeyInfo ('\0', ConsoleKey.F3, false, false, true);
- EscSeqUtils.DecodeEscSeq (
- _escSeqReqProc,
- ref _newConsoleKeyInfo,
- ref _key,
- _cki,
- ref _mod,
- out _c1Control,
- out _code,
- out _values,
- out _terminating,
- out _isKeyMouse,
- out _mouseFlags,
- out _pos,
- out _isReq,
- ProcessContinuousButtonPressed
- );
- Assert.Null (_escSeqReqProc);
- Assert.Equal (expectedCki, _newConsoleKeyInfo);
- Assert.Equal (ConsoleKey.F3, _key);
- Assert.Equal (ConsoleModifiers.Control, _mod);
- Assert.Equal ("CSI", _c1Control);
- Assert.Null (_code);
- Assert.Equal (2, _values.Length);
- Assert.Equal ("1", _values [0]);
- Assert.Equal ("5", _values [^1]);
- Assert.Equal ("R", _terminating);
- Assert.False (_isKeyMouse);
- Assert.Equal (new List<MouseFlags> { 0 }, _mouseFlags);
- Assert.Equal (Point.Empty, _pos);
- Assert.False (_isReq);
- Assert.Equal (0, (int)_arg1);
- Assert.Equal (Point.Empty, _arg2);
- ClearAll ();
- _cki = new ConsoleKeyInfo []
- {
- new ('\u001b', 0, false, false, false),
- new ('[', 0, false, false, false),
- new ('1', 0, false, false, false),
- new (';', 0, false, false, false),
- new ('6', 0, false, false, false),
- new ('R', 0, false, false, false)
- };
- expectedCki = new ConsoleKeyInfo ('\0', ConsoleKey.F3, true, false, true);
- EscSeqUtils.DecodeEscSeq (
- _escSeqReqProc,
- ref _newConsoleKeyInfo,
- ref _key,
- _cki,
- ref _mod,
- out _c1Control,
- out _code,
- out _values,
- out _terminating,
- out _isKeyMouse,
- out _mouseFlags,
- out _pos,
- out _isReq,
- ProcessContinuousButtonPressed
- );
- Assert.Null (_escSeqReqProc);
- Assert.Equal (expectedCki, _newConsoleKeyInfo);
- Assert.Equal (ConsoleKey.F3, _key);
- Assert.Equal (ConsoleModifiers.Shift | ConsoleModifiers.Control, _mod);
- Assert.Equal ("CSI", _c1Control);
- Assert.Null (_code);
- Assert.Equal (2, _values.Length);
- Assert.Equal ("1", _values [0]);
- Assert.Equal ("6", _values [^1]);
- Assert.Equal ("R", _terminating);
- Assert.False (_isKeyMouse);
- Assert.Equal (new List<MouseFlags> { 0 }, _mouseFlags);
- Assert.Equal (Point.Empty, _pos);
- Assert.False (_isReq);
- Assert.Equal (0, (int)_arg1);
- Assert.Equal (Point.Empty, _arg2);
- ClearAll ();
- _cki = new ConsoleKeyInfo []
- {
- new ('\u001b', 0, false, false, false),
- new ('[', 0, false, false, false),
- new ('1', 0, false, false, false),
- new (';', 0, false, false, false),
- new ('7', 0, false, false, false),
- new ('R', 0, false, false, false)
- };
- expectedCki = new ConsoleKeyInfo ('\0', ConsoleKey.F3, false, true, true);
- EscSeqUtils.DecodeEscSeq (
- _escSeqReqProc,
- ref _newConsoleKeyInfo,
- ref _key,
- _cki,
- ref _mod,
- out _c1Control,
- out _code,
- out _values,
- out _terminating,
- out _isKeyMouse,
- out _mouseFlags,
- out _pos,
- out _isReq,
- ProcessContinuousButtonPressed
- );
- Assert.Null (_escSeqReqProc);
- Assert.Equal (expectedCki, _newConsoleKeyInfo);
- Assert.Equal (ConsoleKey.F3, _key);
- Assert.Equal (ConsoleModifiers.Alt | ConsoleModifiers.Control, _mod);
- Assert.Equal ("CSI", _c1Control);
- Assert.Null (_code);
- Assert.Equal (2, _values.Length);
- Assert.Equal ("1", _values [0]);
- Assert.Equal ("7", _values [^1]);
- Assert.Equal ("R", _terminating);
- Assert.False (_isKeyMouse);
- Assert.Equal (new List<MouseFlags> { 0 }, _mouseFlags);
- Assert.Equal (Point.Empty, _pos);
- Assert.False (_isReq);
- Assert.Equal (0, (int)_arg1);
- Assert.Equal (Point.Empty, _arg2);
- ClearAll ();
- _cki = new ConsoleKeyInfo []
- {
- new ('\u001b', 0, false, false, false),
- new ('[', 0, false, false, false),
- new ('1', 0, false, false, false),
- new (';', 0, false, false, false),
- new ('8', 0, false, false, false),
- new ('R', 0, false, false, false)
- };
- expectedCki = new ConsoleKeyInfo ('\0', ConsoleKey.F3, true, true, true);
- EscSeqUtils.DecodeEscSeq (
- _escSeqReqProc,
- ref _newConsoleKeyInfo,
- ref _key,
- _cki,
- ref _mod,
- out _c1Control,
- out _code,
- out _values,
- out _terminating,
- out _isKeyMouse,
- out _mouseFlags,
- out _pos,
- out _isReq,
- ProcessContinuousButtonPressed
- );
- Assert.Null (_escSeqReqProc);
- Assert.Equal (expectedCki, _newConsoleKeyInfo);
- Assert.Equal (ConsoleKey.F3, _key);
- Assert.Equal (ConsoleModifiers.Shift | ConsoleModifiers.Alt | ConsoleModifiers.Control, _mod);
- Assert.Equal ("CSI", _c1Control);
- Assert.Null (_code);
- Assert.Equal (2, _values.Length);
- Assert.Equal ("1", _values [0]);
- Assert.Equal ("8", _values [^1]);
- Assert.Equal ("R", _terminating);
- Assert.False (_isKeyMouse);
- Assert.Equal (new List<MouseFlags> { 0 }, _mouseFlags);
- Assert.Equal (Point.Empty, _pos);
- Assert.False (_isReq);
- Assert.Equal (0, (int)_arg1);
- Assert.Equal (Point.Empty, _arg2);
- ClearAll ();
- _cki = new ConsoleKeyInfo []
- {
- new ('\u001b', 0, false, false, false),
- new ('[', 0, false, false, false),
- new ('<', 0, false, false, false),
- new ('0', 0, false, false, false),
- new (';', 0, false, false, false),
- new ('2', 0, false, false, false),
- new (';', 0, false, false, false),
- new ('3', 0, false, false, false),
- new ('M', 0, false, false, false)
- };
- expectedCki = default (ConsoleKeyInfo);
- EscSeqUtils.DecodeEscSeq (
- _escSeqReqProc,
- ref _newConsoleKeyInfo,
- ref _key,
- _cki,
- ref _mod,
- out _c1Control,
- out _code,
- out _values,
- out _terminating,
- out _isKeyMouse,
- out _mouseFlags,
- out _pos,
- out _isReq,
- ProcessContinuousButtonPressed
- );
- Assert.Null (_escSeqReqProc);
- Assert.Equal (expectedCki, _newConsoleKeyInfo);
- Assert.Equal (0, (int)_key);
- Assert.Equal (0, (int)_mod);
- Assert.Equal ("CSI", _c1Control);
- Assert.Equal ("<", _code);
- Assert.Equal (3, _values.Length);
- Assert.Equal ("0", _values [0]);
- Assert.Equal ("2", _values [1]);
- Assert.Equal ("3", _values [^1]);
- Assert.Equal ("M", _terminating);
- Assert.True (_isKeyMouse);
- Assert.Equal (new List<MouseFlags> { MouseFlags.Button1Pressed }, _mouseFlags);
- Assert.Equal (new Point (1, 2), _pos);
- Assert.False (_isReq);
- Assert.Equal (0, (int)_arg1);
- Assert.Equal (Point.Empty, _arg2);
- ClearAll ();
- _cki = new ConsoleKeyInfo []
- {
- new ('\u001b', 0, false, false, false),
- new ('[', 0, false, false, false),
- new ('<', 0, false, false, false),
- new ('0', 0, false, false, false),
- new (';', 0, false, false, false),
- new ('2', 0, false, false, false),
- new (';', 0, false, false, false),
- new ('3', 0, false, false, false),
- new ('m', 0, false, false, false)
- };
- expectedCki = default (ConsoleKeyInfo);
- EscSeqUtils.DecodeEscSeq (
- _escSeqReqProc,
- ref _newConsoleKeyInfo,
- ref _key,
- _cki,
- ref _mod,
- out _c1Control,
- out _code,
- out _values,
- out _terminating,
- out _isKeyMouse,
- out _mouseFlags,
- out _pos,
- out _isReq,
- ProcessContinuousButtonPressed
- );
- Assert.Null (_escSeqReqProc);
- Assert.Equal (expectedCki, _newConsoleKeyInfo);
- Assert.Equal (0, (int)_key);
- Assert.Equal (0, (int)_mod);
- Assert.Equal ("CSI", _c1Control);
- Assert.Equal ("<", _code);
- Assert.Equal (3, _values.Length);
- Assert.Equal ("0", _values [0]);
- Assert.Equal ("2", _values [1]);
- Assert.Equal ("3", _values [^1]);
- Assert.Equal ("m", _terminating);
- Assert.True (_isKeyMouse);
- Assert.Equal (2, _mouseFlags.Count);
- Assert.Equal (
- new List<MouseFlags> { MouseFlags.Button1Released, MouseFlags.Button1Clicked },
- _mouseFlags
- );
- Assert.Equal (new Point (1, 2), _pos);
- Assert.False (_isReq);
- Assert.Equal (0, (int)_arg1);
- Assert.Equal (Point.Empty, _arg2);
- ClearAll ();
- _cki = new ConsoleKeyInfo []
- {
- new ('\u001b', 0, false, false, false),
- new ('[', 0, false, false, false),
- new ('<', 0, false, false, false),
- new ('0', 0, false, false, false),
- new (';', 0, false, false, false),
- new ('2', 0, false, false, false),
- new (';', 0, false, false, false),
- new ('3', 0, false, false, false),
- new ('M', 0, false, false, false)
- };
- expectedCki = default (ConsoleKeyInfo);
- EscSeqUtils.DecodeEscSeq (
- _escSeqReqProc,
- ref _newConsoleKeyInfo,
- ref _key,
- _cki,
- ref _mod,
- out _c1Control,
- out _code,
- out _values,
- out _terminating,
- out _isKeyMouse,
- out _mouseFlags,
- out _pos,
- out _isReq,
- ProcessContinuousButtonPressed
- );
- Assert.Null (_escSeqReqProc);
- Assert.Equal (expectedCki, _newConsoleKeyInfo);
- Assert.Equal (0, (int)_key);
- Assert.Equal (0, (int)_mod);
- Assert.Equal ("CSI", _c1Control);
- Assert.Equal ("<", _code);
- Assert.Equal (3, _values.Length);
- Assert.Equal ("0", _values [0]);
- Assert.Equal ("2", _values [1]);
- Assert.Equal ("3", _values [^1]);
- Assert.Equal ("M", _terminating);
- Assert.True (_isKeyMouse);
- Assert.Equal (new List<MouseFlags> { MouseFlags.Button1DoubleClicked }, _mouseFlags);
- Assert.Equal (new Point (1, 2), _pos);
- Assert.False (_isReq);
- ClearAll ();
- _cki = new ConsoleKeyInfo []
- {
- new ('\u001b', 0, false, false, false),
- new ('[', 0, false, false, false),
- new ('<', 0, false, false, false),
- new ('0', 0, false, false, false),
- new (';', 0, false, false, false),
- new ('2', 0, false, false, false),
- new (';', 0, false, false, false),
- new ('3', 0, false, false, false),
- new ('M', 0, false, false, false)
- };
- expectedCki = default (ConsoleKeyInfo);
- EscSeqUtils.DecodeEscSeq (
- _escSeqReqProc,
- ref _newConsoleKeyInfo,
- ref _key,
- _cki,
- ref _mod,
- out _c1Control,
- out _code,
- out _values,
- out _terminating,
- out _isKeyMouse,
- out _mouseFlags,
- out _pos,
- out _isReq,
- ProcessContinuousButtonPressed
- );
- Assert.Null (_escSeqReqProc);
- Assert.Equal (expectedCki, _newConsoleKeyInfo);
- Assert.Equal (0, (int)_key);
- Assert.Equal (0, (int)_mod);
- Assert.Equal ("CSI", _c1Control);
- Assert.Equal ("<", _code);
- Assert.Equal (3, _values.Length);
- Assert.Equal ("0", _values [0]);
- Assert.Equal ("2", _values [1]);
- Assert.Equal ("3", _values [^1]);
- Assert.Equal ("M", _terminating);
- Assert.True (_isKeyMouse);
- Assert.Equal (new List<MouseFlags> { MouseFlags.Button1TripleClicked }, _mouseFlags);
- Assert.Equal (new Point (1, 2), _pos);
- Assert.False (_isReq);
- var view = new View { Width = Dim.Fill (), Height = Dim.Fill (), WantContinuousButtonPressed = true };
- var top = new Toplevel ();
- top.Add (view);
- Application.Begin (top);
- Application.OnMouseEvent (new MouseEvent { Position = new (0, 0), Flags = 0 });
- ClearAll ();
- _cki = new ConsoleKeyInfo []
- {
- new ('\u001b', 0, false, false, false),
- new ('[', 0, false, false, false),
- new ('<', 0, false, false, false),
- new ('0', 0, false, false, false),
- new (';', 0, false, false, false),
- new ('2', 0, false, false, false),
- new (';', 0, false, false, false),
- new ('3', 0, false, false, false),
- new ('M', 0, false, false, false)
- };
- expectedCki = default (ConsoleKeyInfo);
- EscSeqUtils.DecodeEscSeq (
- _escSeqReqProc,
- ref _newConsoleKeyInfo,
- ref _key,
- _cki,
- ref _mod,
- out _c1Control,
- out _code,
- out _values,
- out _terminating,
- out _isKeyMouse,
- out _mouseFlags,
- out _pos,
- out _isReq,
- ProcessContinuousButtonPressed
- );
- Assert.Null (_escSeqReqProc);
- Assert.Equal (expectedCki, _newConsoleKeyInfo);
- Assert.Equal (0, (int)_key);
- Assert.Equal (0, (int)_mod);
- Assert.Equal ("CSI", _c1Control);
- Assert.Equal ("<", _code);
- Assert.Equal (3, _values.Length);
- Assert.Equal ("0", _values [0]);
- Assert.Equal ("2", _values [1]);
- Assert.Equal ("3", _values [^1]);
- Assert.Equal ("M", _terminating);
- Assert.True (_isKeyMouse);
- Assert.Equal (new List<MouseFlags> { MouseFlags.Button1Pressed }, _mouseFlags);
- Assert.Equal (new Point (1, 2), _pos);
- Assert.False (_isReq);
- Application.Iteration += (s, a) =>
- {
- if (_actionStarted)
- {
- // set Application.WantContinuousButtonPressedView to null
- view.WantContinuousButtonPressed = false;
- Application.OnMouseEvent (new MouseEvent { Position = new (0, 0), Flags = 0 });
- Application.RequestStop ();
- }
- };
- Application.Run (top);
- Assert.Null (Application.WantContinuousButtonPressedView);
- Assert.Equal (MouseFlags.Button1Pressed, _arg1);
- Assert.Equal (new Point (1, 2), _arg2);
- ClearAll ();
- _cki = new ConsoleKeyInfo []
- {
- new ('\u001b', 0, false, false, false),
- new ('[', 0, false, false, false),
- new ('<', 0, false, false, false),
- new ('0', 0, false, false, false),
- new (';', 0, false, false, false),
- new ('2', 0, false, false, false),
- new (';', 0, false, false, false),
- new ('3', 0, false, false, false),
- new ('m', 0, false, false, false)
- };
- expectedCki = default (ConsoleKeyInfo);
- EscSeqUtils.DecodeEscSeq (
- _escSeqReqProc,
- ref _newConsoleKeyInfo,
- ref _key,
- _cki,
- ref _mod,
- out _c1Control,
- out _code,
- out _values,
- out _terminating,
- out _isKeyMouse,
- out _mouseFlags,
- out _pos,
- out _isReq,
- ProcessContinuousButtonPressed
- );
- Assert.Null (_escSeqReqProc);
- Assert.Equal (expectedCki, _newConsoleKeyInfo);
- Assert.Equal (0, (int)_key);
- Assert.Equal (0, (int)_mod);
- Assert.Equal ("CSI", _c1Control);
- Assert.Equal ("<", _code);
- Assert.Equal (3, _values.Length);
- Assert.Equal ("0", _values [0]);
- Assert.Equal ("2", _values [1]);
- Assert.Equal ("3", _values [^1]);
- Assert.Equal ("m", _terminating);
- Assert.True (_isKeyMouse);
- Assert.Equal (new List<MouseFlags> { MouseFlags.Button1Released }, _mouseFlags);
- Assert.Equal (new Point (1, 2), _pos);
- Assert.False (_isReq);
- Assert.Equal (0, (int)_arg1);
- Assert.Equal (Point.Empty, _arg2);
- ClearAll ();
- Assert.Null (_escSeqReqProc);
- _escSeqReqProc = new EscSeqRequests ();
- _escSeqReqProc.Add ("t");
- _cki = new ConsoleKeyInfo []
- {
- new ('\u001b', 0, false, false, false),
- new ('[', 0, false, false, false),
- new ('8', 0, false, false, false),
- new (';', 0, false, false, false),
- new ('1', 0, false, false, false),
- new ('0', 0, false, false, false),
- new (';', 0, false, false, false),
- new ('2', 0, false, false, false),
- new ('0', 0, false, false, false),
- new ('t', 0, false, false, false)
- };
- expectedCki = default (ConsoleKeyInfo);
- Assert.Single (_escSeqReqProc.Statuses);
- Assert.Equal ("t", _escSeqReqProc.Statuses [^1].Terminator);
- EscSeqUtils.DecodeEscSeq (
- _escSeqReqProc,
- ref _newConsoleKeyInfo,
- ref _key,
- _cki,
- ref _mod,
- out _c1Control,
- out _code,
- out _values,
- out _terminating,
- out _isKeyMouse,
- out _mouseFlags,
- out _pos,
- out _isReq,
- ProcessContinuousButtonPressed
- );
- Assert.Empty (_escSeqReqProc.Statuses);
- Assert.Equal (expectedCki, _newConsoleKeyInfo);
- Assert.Equal (0, (int)_key);
- Assert.Equal (0, (int)_mod);
- Assert.Equal ("CSI", _c1Control);
- Assert.Null (_code);
- Assert.Equal (3, _values.Length);
- Assert.Equal ("8", _values [0]);
- Assert.Equal ("10", _values [1]);
- Assert.Equal ("20", _values [^1]);
- Assert.Equal ("t", _terminating);
- Assert.False (_isKeyMouse);
- Assert.Equal (new List<MouseFlags> { 0 }, _mouseFlags);
- Assert.Equal (Point.Empty, _pos);
- Assert.True (_isReq);
- Assert.Equal (0, (int)_arg1);
- Assert.Equal (Point.Empty, _arg2);
- }
- [Fact]
- public void Defaults_Values ()
- {
- Assert.Equal ('\x1b', EscSeqUtils.KeyEsc);
- Assert.Equal ("\x1b[", EscSeqUtils.CSI);
- Assert.Equal ("\x1b[?1003h", EscSeqUtils.CSI_EnableAnyEventMouse);
- Assert.Equal ("\x1b[?1006h", EscSeqUtils.CSI_EnableSgrExtModeMouse);
- Assert.Equal ("\x1b[?1015h", EscSeqUtils.CSI_EnableUrxvtExtModeMouse);
- Assert.Equal ("\x1b[?1003l", EscSeqUtils.CSI_DisableAnyEventMouse);
- Assert.Equal ("\x1b[?1006l", EscSeqUtils.CSI_DisableSgrExtModeMouse);
- Assert.Equal ("\x1b[?1015l", EscSeqUtils.CSI_DisableUrxvtExtModeMouse);
- Assert.Equal ("\x1b[?1003h\x1b[?1015h\u001b[?1006h", EscSeqUtils.CSI_EnableMouseEvents);
- Assert.Equal ("\x1b[?1003l\x1b[?1015l\u001b[?1006l", EscSeqUtils.CSI_DisableMouseEvents);
- }
- [Fact]
- public void GetC1ControlChar_Tests ()
- {
- Assert.Equal ("IND", EscSeqUtils.GetC1ControlChar ('D'));
- Assert.Equal ("NEL", EscSeqUtils.GetC1ControlChar ('E'));
- Assert.Equal ("HTS", EscSeqUtils.GetC1ControlChar ('H'));
- Assert.Equal ("RI", EscSeqUtils.GetC1ControlChar ('M'));
- Assert.Equal ("SS2", EscSeqUtils.GetC1ControlChar ('N'));
- Assert.Equal ("SS3", EscSeqUtils.GetC1ControlChar ('O'));
- Assert.Equal ("DCS", EscSeqUtils.GetC1ControlChar ('P'));
- Assert.Equal ("SPA", EscSeqUtils.GetC1ControlChar ('V'));
- Assert.Equal ("EPA", EscSeqUtils.GetC1ControlChar ('W'));
- Assert.Equal ("SOS", EscSeqUtils.GetC1ControlChar ('X'));
- Assert.Equal ("DECID", EscSeqUtils.GetC1ControlChar ('Z'));
- Assert.Equal ("CSI", EscSeqUtils.GetC1ControlChar ('['));
- Assert.Equal ("ST", EscSeqUtils.GetC1ControlChar ('\\'));
- Assert.Equal ("OSC", EscSeqUtils.GetC1ControlChar (']'));
- Assert.Equal ("PM", EscSeqUtils.GetC1ControlChar ('^'));
- Assert.Equal ("APC", EscSeqUtils.GetC1ControlChar ('_'));
- Assert.Equal ("", EscSeqUtils.GetC1ControlChar ('\0'));
- }
- [Fact]
- public void GetConsoleInputKey_ConsoleKeyInfo ()
- {
- var cki = new ConsoleKeyInfo ('r', 0, false, false, false);
- var expectedCki = new ConsoleKeyInfo ('r', 0, false, false, false);
- Assert.Equal (expectedCki, EscSeqUtils.MapConsoleKeyInfo (cki));
- cki = new ConsoleKeyInfo ('r', 0, true, false, false);
- expectedCki = new ConsoleKeyInfo ('r', 0, true, false, false);
- Assert.Equal (expectedCki, EscSeqUtils.MapConsoleKeyInfo (cki));
- cki = new ConsoleKeyInfo ('r', 0, false, true, false);
- expectedCki = new ConsoleKeyInfo ('r', 0, false, true, false);
- Assert.Equal (expectedCki, EscSeqUtils.MapConsoleKeyInfo (cki));
- cki = new ConsoleKeyInfo ('r', 0, false, false, true);
- expectedCki = new ConsoleKeyInfo ('r', 0, false, false, true);
- Assert.Equal (expectedCki, EscSeqUtils.MapConsoleKeyInfo (cki));
- cki = new ConsoleKeyInfo ('r', 0, true, true, false);
- expectedCki = new ConsoleKeyInfo ('r', 0, true, true, false);
- Assert.Equal (expectedCki, EscSeqUtils.MapConsoleKeyInfo (cki));
- cki = new ConsoleKeyInfo ('r', 0, false, true, true);
- expectedCki = new ConsoleKeyInfo ('r', 0, false, true, true);
- Assert.Equal (expectedCki, EscSeqUtils.MapConsoleKeyInfo (cki));
- cki = new ConsoleKeyInfo ('r', 0, true, true, true);
- expectedCki = new ConsoleKeyInfo ('r', 0, true, true, true);
- Assert.Equal (expectedCki, EscSeqUtils.MapConsoleKeyInfo (cki));
- cki = new ConsoleKeyInfo ('\u0012', 0, false, false, false);
- expectedCki = new ConsoleKeyInfo ('R', ConsoleKey.R, false, false, true);
- Assert.Equal (expectedCki, EscSeqUtils.MapConsoleKeyInfo (cki));
- cki = new ConsoleKeyInfo ('\0', (ConsoleKey)64, false, false, true);
- expectedCki = new ConsoleKeyInfo (' ', ConsoleKey.Spacebar, false, false, true);
- Assert.Equal (expectedCki, EscSeqUtils.MapConsoleKeyInfo (cki));
- cki = new ConsoleKeyInfo ('\r', 0, false, false, false);
- expectedCki = new ConsoleKeyInfo ('\r', ConsoleKey.Enter, false, false, false);
- Assert.Equal (expectedCki, EscSeqUtils.MapConsoleKeyInfo (cki));
- cki = new ConsoleKeyInfo ('\u007f', 0, false, false, false);
- expectedCki = new ConsoleKeyInfo ('\u007f', ConsoleKey.Backspace, false, false, false);
- Assert.Equal (expectedCki, EscSeqUtils.MapConsoleKeyInfo (cki));
- cki = new ConsoleKeyInfo ('R', 0, false, false, false);
- expectedCki = new ConsoleKeyInfo ('R', 0, false, false, false);
- Assert.Equal (expectedCki, EscSeqUtils.MapConsoleKeyInfo (cki));
- }
- [Fact]
- public void GetConsoleKey_Tests ()
- {
- ConsoleModifiers mod = 0;
- Assert.Equal (ConsoleKey.UpArrow, EscSeqUtils.GetConsoleKey ('A', "", ref mod));
- Assert.Equal (ConsoleKey.DownArrow, EscSeqUtils.GetConsoleKey ('B', "", ref mod));
- Assert.Equal (_key = ConsoleKey.RightArrow, EscSeqUtils.GetConsoleKey ('C', "", ref mod));
- Assert.Equal (ConsoleKey.LeftArrow, EscSeqUtils.GetConsoleKey ('D', "", ref mod));
- Assert.Equal (ConsoleKey.End, EscSeqUtils.GetConsoleKey ('F', "", ref mod));
- Assert.Equal (ConsoleKey.Home, EscSeqUtils.GetConsoleKey ('H', "", ref mod));
- Assert.Equal (ConsoleKey.F1, EscSeqUtils.GetConsoleKey ('P', "", ref mod));
- Assert.Equal (ConsoleKey.F2, EscSeqUtils.GetConsoleKey ('Q', "", ref mod));
- Assert.Equal (ConsoleKey.F3, EscSeqUtils.GetConsoleKey ('R', "", ref mod));
- Assert.Equal (ConsoleKey.F4, EscSeqUtils.GetConsoleKey ('S', "", ref mod));
- Assert.Equal (ConsoleKey.Tab, EscSeqUtils.GetConsoleKey ('Z', "", ref mod));
- Assert.Equal (ConsoleModifiers.Shift, mod);
- Assert.Equal (0, (int)EscSeqUtils.GetConsoleKey ('\0', "", ref mod));
- Assert.Equal (ConsoleKey.Insert, EscSeqUtils.GetConsoleKey ('~', "2", ref mod));
- Assert.Equal (ConsoleKey.Delete, EscSeqUtils.GetConsoleKey ('~', "3", ref mod));
- Assert.Equal (ConsoleKey.PageUp, EscSeqUtils.GetConsoleKey ('~', "5", ref mod));
- Assert.Equal (ConsoleKey.PageDown, EscSeqUtils.GetConsoleKey ('~', "6", ref mod));
- Assert.Equal (ConsoleKey.F5, EscSeqUtils.GetConsoleKey ('~', "15", ref mod));
- Assert.Equal (ConsoleKey.F6, EscSeqUtils.GetConsoleKey ('~', "17", ref mod));
- Assert.Equal (ConsoleKey.F7, EscSeqUtils.GetConsoleKey ('~', "18", ref mod));
- Assert.Equal (ConsoleKey.F8, EscSeqUtils.GetConsoleKey ('~', "19", ref mod));
- Assert.Equal (ConsoleKey.F9, EscSeqUtils.GetConsoleKey ('~', "20", ref mod));
- Assert.Equal (ConsoleKey.F10, EscSeqUtils.GetConsoleKey ('~', "21", ref mod));
- Assert.Equal (ConsoleKey.F11, EscSeqUtils.GetConsoleKey ('~', "23", ref mod));
- Assert.Equal (ConsoleKey.F12, EscSeqUtils.GetConsoleKey ('~', "24", ref mod));
- Assert.Equal (0, (int)EscSeqUtils.GetConsoleKey ('~', "", ref mod));
- }
- [Fact]
- public void GetConsoleModifiers_Tests ()
- {
- Assert.Equal (ConsoleModifiers.Shift, EscSeqUtils.GetConsoleModifiers ("2"));
- Assert.Equal (ConsoleModifiers.Alt, EscSeqUtils.GetConsoleModifiers ("3"));
- Assert.Equal (ConsoleModifiers.Shift | ConsoleModifiers.Alt, EscSeqUtils.GetConsoleModifiers ("4"));
- Assert.Equal (ConsoleModifiers.Control, EscSeqUtils.GetConsoleModifiers ("5"));
- Assert.Equal (ConsoleModifiers.Shift | ConsoleModifiers.Control, EscSeqUtils.GetConsoleModifiers ("6"));
- Assert.Equal (ConsoleModifiers.Alt | ConsoleModifiers.Control, EscSeqUtils.GetConsoleModifiers ("7"));
- Assert.Equal (
- ConsoleModifiers.Shift | ConsoleModifiers.Alt | ConsoleModifiers.Control,
- EscSeqUtils.GetConsoleModifiers ("8")
- );
- Assert.Equal (0, (int)EscSeqUtils.GetConsoleModifiers (""));
- }
- [Fact]
- public void GetEscapeResult_Tests ()
- {
- char [] kChars = { '\u001b', '[', '5', ';', '1', '0', 'r' };
- (_c1Control, _code, _values, _terminating) = EscSeqUtils.GetEscapeResult (kChars);
- Assert.Equal ("CSI", _c1Control);
- Assert.Null (_code);
- Assert.Equal (2, _values.Length);
- Assert.Equal ("5", _values [0]);
- Assert.Equal ("10", _values [^1]);
- Assert.Equal ("r", _terminating);
- }
- [Fact]
- public void GetKeyCharArray_Tests ()
- {
- ConsoleKeyInfo [] cki =
- {
- new ('\u001b', 0, false, false, false),
- new ('[', 0, false, false, false),
- new ('5', 0, false, false, false),
- new (';', 0, false, false, false),
- new ('1', 0, false, false, false),
- new ('0', 0, false, false, false),
- new ('r', 0, false, false, false)
- };
- Assert.Equal (new [] { '\u001b', '[', '5', ';', '1', '0', 'r' }, EscSeqUtils.GetKeyCharArray (cki));
- }
- [Fact]
- [AutoInitShutdown]
- public void GetMouse_Tests ()
- {
- ConsoleKeyInfo [] cki =
- {
- new ('\u001b', 0, false, false, false),
- new ('[', 0, false, false, false),
- new ('<', 0, false, false, false),
- new ('0', 0, false, false, false),
- new (';', 0, false, false, false),
- new ('2', 0, false, false, false),
- new (';', 0, false, false, false),
- new ('3', 0, false, false, false),
- new ('M', 0, false, false, false)
- };
- EscSeqUtils.GetMouse (cki, out List<MouseFlags> mouseFlags, out Point pos, ProcessContinuousButtonPressed);
- Assert.Equal (new List<MouseFlags> { MouseFlags.Button1Pressed }, mouseFlags);
- Assert.Equal (new Point (1, 2), pos);
- cki = new ConsoleKeyInfo []
- {
- new ('\u001b', 0, false, false, false),
- new ('[', 0, false, false, false),
- new ('<', 0, false, false, false),
- new ('0', 0, false, false, false),
- new (';', 0, false, false, false),
- new ('2', 0, false, false, false),
- new (';', 0, false, false, false),
- new ('3', 0, false, false, false),
- new ('m', 0, false, false, false)
- };
- EscSeqUtils.GetMouse (cki, out mouseFlags, out pos, ProcessContinuousButtonPressed);
- Assert.Equal (2, mouseFlags.Count);
- Assert.Equal (
- new List<MouseFlags> { MouseFlags.Button1Released, MouseFlags.Button1Clicked },
- mouseFlags
- );
- Assert.Equal (new Point (1, 2), pos);
- cki = new ConsoleKeyInfo []
- {
- new ('\u001b', 0, false, false, false),
- new ('[', 0, false, false, false),
- new ('<', 0, false, false, false),
- new ('0', 0, false, false, false),
- new (';', 0, false, false, false),
- new ('2', 0, false, false, false),
- new (';', 0, false, false, false),
- new ('3', 0, false, false, false),
- new ('M', 0, false, false, false)
- };
- EscSeqUtils.GetMouse (cki, out mouseFlags, out pos, ProcessContinuousButtonPressed);
- Assert.Equal (new List<MouseFlags> { MouseFlags.Button1DoubleClicked }, mouseFlags);
- Assert.Equal (new Point (1, 2), pos);
- cki = new ConsoleKeyInfo []
- {
- new ('\u001b', 0, false, false, false),
- new ('[', 0, false, false, false),
- new ('<', 0, false, false, false),
- new ('0', 0, false, false, false),
- new (';', 0, false, false, false),
- new ('2', 0, false, false, false),
- new (';', 0, false, false, false),
- new ('3', 0, false, false, false),
- new ('M', 0, false, false, false)
- };
- EscSeqUtils.GetMouse (cki, out mouseFlags, out pos, ProcessContinuousButtonPressed);
- Assert.Equal (new List<MouseFlags> { MouseFlags.Button1TripleClicked }, mouseFlags);
- Assert.Equal (new Point (1, 2), pos);
- cki = new ConsoleKeyInfo []
- {
- new ('\u001b', 0, false, false, false),
- new ('[', 0, false, false, false),
- new ('<', 0, false, false, false),
- new ('0', 0, false, false, false),
- new (';', 0, false, false, false),
- new ('2', 0, false, false, false),
- new (';', 0, false, false, false),
- new ('3', 0, false, false, false),
- new ('m', 0, false, false, false)
- };
- EscSeqUtils.GetMouse (cki, out mouseFlags, out pos, ProcessContinuousButtonPressed);
- Assert.Equal (new List<MouseFlags> { MouseFlags.Button1Released }, mouseFlags);
- Assert.Equal (new Point (1, 2), pos);
- }
- [Fact]
- public void ResizeArray_ConsoleKeyInfo ()
- {
- ConsoleKeyInfo [] expectedCkInfos = null;
- var cki = new ConsoleKeyInfo ('\u001b', ConsoleKey.Escape, false, false, false);
- expectedCkInfos = EscSeqUtils.ResizeArray (cki, expectedCkInfos);
- Assert.Single (expectedCkInfos);
- Assert.Equal (cki, expectedCkInfos [0]);
- }
- private void ClearAll ()
- {
- _escSeqReqProc = default (EscSeqRequests);
- _newConsoleKeyInfo = default (ConsoleKeyInfo);
- _key = default (ConsoleKey);
- _cki = default (ConsoleKeyInfo []);
- _mod = default (ConsoleModifiers);
- _c1Control = default (string);
- _code = default (string);
- _terminating = default (string);
- _values = default (string []);
- _isKeyMouse = default (bool);
- _isReq = default (bool);
- _mouseFlags = default (List<MouseFlags>);
- _pos = default (Point);
- _arg1 = default (MouseFlags);
- _arg2 = default (Point);
- }
- private void ProcessContinuousButtonPressed (MouseFlags arg1, Point arg2)
- {
- _arg1 = arg1;
- _arg2 = arg2;
- _actionStarted = true;
- }
- }
|