V2.cd 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <ClassDiagram MajorVersion="1" MinorVersion="1">
  3. <Comment CommentText="Thread 1 - Input thread, populates input buffer. This thread is hidden, nobody gets to interact directly with these classes)">
  4. <Position X="11" Y="0.5" Height="0.5" Width="5.325" />
  5. </Comment>
  6. <Comment CommentText="Thread 2 - Main Loop which does everything else including output. Deals with input exclusively through the input buffer. Is accessible externally e.g. to Application">
  7. <Position X="11.083" Y="3.813" Height="0.479" Width="5.325" />
  8. </Comment>
  9. <Comment CommentText="Orchestrates the 2 main threads in Terminal.Gui">
  10. <Position X="6.5" Y="1.25" Height="0.291" Width="2.929" />
  11. </Comment>
  12. <Comment CommentText="Allows Views to work with new architecture without having to be rewritten.">
  13. <Position X="4.666" Y="7.834" Height="0.75" Width="1.7" />
  14. </Comment>
  15. <Comment CommentText="Ansi Escape Sequence - Request / Response">
  16. <Position X="19.208" Y="3.562" Height="0.396" Width="2.825" />
  17. </Comment>
  18. <Comment CommentText="Mouse interpretation subsystem">
  19. <Position X="13.271" Y="9.896" Height="0.396" Width="2.075" />
  20. </Comment>
  21. <Comment CommentText="In Terminal.Gui views get things done almost exclusively by calling static methods on Application e.g. RequestStop, Run, Refresh etc">
  22. <Position X="0.5" Y="3.75" Height="1.146" Width="1.7" />
  23. </Comment>
  24. <Comment CommentText="Static record of system state and static gateway API for everything you ever need.">
  25. <Position X="0.5" Y="1.417" Height="0.875" Width="1.7" />
  26. </Comment>
  27. <Comment CommentText="Forwarded subset of gateway functionality. These exist to allow ''subclassing' Application. Note that most methods 'ping pong' a lot back to main gateway submethods e.g. to manipulate TopLevel etc">
  28. <Position X="2.895" Y="5.417" Height="1.063" Width="2.992" />
  29. </Comment>
  30. <Class Name="Terminal.Gui.WindowsInput" Collapsed="true">
  31. <Position X="11.5" Y="3" Width="1.75" />
  32. <TypeIdentifier>
  33. <HashCode>QIAACAAAACAEAAAAAAAAAAAkAAAAAAAAAwAAAAAAABA=</HashCode>
  34. <FileName>ConsoleDrivers\V2\WindowsInput.cs</FileName>
  35. </TypeIdentifier>
  36. <Lollipop Position="0.2" />
  37. </Class>
  38. <Class Name="Terminal.Gui.NetInput" Collapsed="true">
  39. <Position X="13.25" Y="3" Width="2" />
  40. <TypeIdentifier>
  41. <HashCode>AAAAAAAAACAEAAAAQAAAAAAgAAAAAAAAAAAAAAAAAAA=</HashCode>
  42. <FileName>ConsoleDrivers\V2\NetInput.cs</FileName>
  43. </TypeIdentifier>
  44. <Lollipop Position="0.2" />
  45. </Class>
  46. <Class Name="Terminal.Gui.ConsoleInput&lt;T&gt;" Collapsed="true">
  47. <Position X="12.5" Y="2" Width="1.5" />
  48. <TypeIdentifier>
  49. <HashCode>AAAAAAAAACAEAQAAAAAAAAAgACAAAAAAAAAAAAAAAAo=</HashCode>
  50. <FileName>ConsoleDrivers\V2\ConsoleInput.cs</FileName>
  51. </TypeIdentifier>
  52. <Lollipop Position="0.2" />
  53. </Class>
  54. <Class Name="Terminal.Gui.MainLoop&lt;T&gt;" Collapsed="true" BaseTypeListCollapsed="true">
  55. <Position X="11" Y="4.75" Width="1.5" />
  56. <AssociationLine Name="TimedEvents" Type="Terminal.Gui.ITimedEvents" ManuallyRouted="true">
  57. <Path>
  58. <Point X="11.312" Y="5.312" />
  59. <Point X="11.312" Y="6.292" />
  60. <Point X="10" Y="6.292" />
  61. <Point X="10" Y="7.25" />
  62. </Path>
  63. <MemberNameLabel ManuallyPlaced="true">
  64. <Position X="-1.015" Y="1.019" />
  65. </MemberNameLabel>
  66. </AssociationLine>
  67. <AssociationLine Name="OutputBuffer" Type="Terminal.Gui.IOutputBuffer" ManuallyRouted="true">
  68. <Path>
  69. <Point X="11.718" Y="5.312" />
  70. <Point X="11.718" Y="7.25" />
  71. </Path>
  72. <MemberNameLabel ManuallyPlaced="true">
  73. <Position X="0.027" Y="0.102" />
  74. </MemberNameLabel>
  75. </AssociationLine>
  76. <AssociationLine Name="Out" Type="Terminal.Gui.IConsoleOutput" ManuallyRouted="true">
  77. <Path>
  78. <Point X="12.5" Y="5.125" />
  79. <Point X="12.5" Y="5.792" />
  80. <Point X="13.031" Y="5.792" />
  81. <Point X="13.031" Y="7.846" />
  82. <Point X="14" Y="7.846" />
  83. </Path>
  84. </AssociationLine>
  85. <AssociationLine Name="AnsiRequestScheduler" Type="Terminal.Gui.AnsiRequestScheduler" ManuallyRouted="true">
  86. <Path>
  87. <Point X="11.75" Y="4.75" />
  88. <Point X="11.75" Y="4.39" />
  89. <Point X="20.375" Y="4.39" />
  90. <Point X="20.375" Y="4.5" />
  91. </Path>
  92. <MemberNameLabel ManuallyPlaced="true">
  93. <Position X="0.11" Y="0.143" />
  94. </MemberNameLabel>
  95. </AssociationLine>
  96. <AssociationLine Name="WindowSizeMonitor" Type="Terminal.Gui.IWindowSizeMonitor" ManuallyRouted="true">
  97. <Path>
  98. <Point X="12.125" Y="5.312" />
  99. <Point X="12.125" Y="7" />
  100. <Point X="12.844" Y="7" />
  101. <Point X="12.844" Y="13.281" />
  102. <Point X="13.25" Y="13.281" />
  103. </Path>
  104. <MemberNameLabel ManuallyPlaced="true">
  105. <Position X="0.047" Y="-0.336" />
  106. </MemberNameLabel>
  107. </AssociationLine>
  108. <AssociationLine Name="ToplevelTransitionManager" Type="Terminal.Gui.IToplevelTransitionManager" ManuallyRouted="true">
  109. <Path>
  110. <Point X="11" Y="5.031" />
  111. <Point X="11" Y="5.406" />
  112. <Point X="9.021" Y="5.406" />
  113. <Point X="9.021" Y="11.5" />
  114. <Point X="10.375" Y="11.5" />
  115. <Point X="10.375" Y="12" />
  116. </Path>
  117. <MemberNameLabel ManuallyPlaced="true">
  118. <Position X="-0.671" Y="0.529" />
  119. </MemberNameLabel>
  120. </AssociationLine>
  121. <TypeIdentifier>
  122. <HashCode>QQQAAAAQACABJQQAABAAAQAAACAAAAACAAEAAACAEgg=</HashCode>
  123. <FileName>ConsoleDrivers\V2\MainLoop.cs</FileName>
  124. </TypeIdentifier>
  125. <ShowAsAssociation>
  126. <Field Name="ToplevelTransitionManager" />
  127. <Property Name="TimedEvents" />
  128. <Property Name="InputProcessor" />
  129. <Property Name="OutputBuffer" />
  130. <Property Name="Out" />
  131. <Property Name="AnsiRequestScheduler" />
  132. <Property Name="WindowSizeMonitor" />
  133. </ShowAsAssociation>
  134. <Lollipop Position="0.2" />
  135. </Class>
  136. <Class Name="Terminal.Gui.MainLoopCoordinator&lt;T&gt;">
  137. <Position X="6.5" Y="2" Width="2" />
  138. <TypeIdentifier>
  139. <HashCode>IAAAIAEiCAIABAAAABQAAAAAABAAAQQAIQIABAAACgg=</HashCode>
  140. <FileName>ConsoleDrivers\V2\MainLoopCoordinator.cs</FileName>
  141. </TypeIdentifier>
  142. <ShowAsAssociation>
  143. <Field Name="_loop" />
  144. </ShowAsAssociation>
  145. <Lollipop Position="0.2" />
  146. </Class>
  147. <Class Name="Terminal.Gui.AnsiResponseParser&lt;T&gt;" Collapsed="true">
  148. <Position X="19.5" Y="10" Width="2" />
  149. <TypeIdentifier>
  150. <HashCode>AAQAAAAAAAAACIAAAAAAAAAAAAAgAABAAAAACBAAAAA=</HashCode>
  151. <FileName>ConsoleDrivers\AnsiResponseParser\AnsiResponseParser.cs</FileName>
  152. </TypeIdentifier>
  153. </Class>
  154. <Class Name="Terminal.Gui.OutputBuffer">
  155. <Position X="11" Y="8.25" Width="1.5" />
  156. <Compartments>
  157. <Compartment Name="Fields" Collapsed="true" />
  158. <Compartment Name="Methods" Collapsed="true" />
  159. </Compartments>
  160. <TypeIdentifier>
  161. <HashCode>AwAAAAAAAIAAAECIBgAEQIAAAAEMRgAACAAAKABAgAA=</HashCode>
  162. <FileName>ConsoleDrivers\V2\OutputBuffer.cs</FileName>
  163. </TypeIdentifier>
  164. <Lollipop Position="0.2" />
  165. </Class>
  166. <Class Name="Terminal.Gui.NetOutput" Collapsed="true">
  167. <Position X="14.75" Y="8.5" Width="1.5" />
  168. <TypeIdentifier>
  169. <HashCode>AEAAAAAAACAAAAAAAAAAAAAAAAAAQAAAMACAAAEAgAk=</HashCode>
  170. <FileName>ConsoleDrivers\V2\NetOutput.cs</FileName>
  171. </TypeIdentifier>
  172. <Lollipop Position="0.2" />
  173. </Class>
  174. <Class Name="Terminal.Gui.WindowsOutput" Collapsed="true">
  175. <Position X="13.25" Y="8.5" Width="1.5" />
  176. <TypeIdentifier>
  177. <HashCode>AEAAABACACAAhAAAAAAAACCAAAgAQAAIMAAAAAEAgAQ=</HashCode>
  178. <FileName>ConsoleDrivers\V2\WindowsOutput.cs</FileName>
  179. </TypeIdentifier>
  180. <Lollipop Position="0.2" />
  181. </Class>
  182. <Class Name="Terminal.Gui.InputProcessor&lt;T&gt;" Collapsed="true">
  183. <Position X="16.5" Y="4.75" Width="2" />
  184. <AssociationLine Name="_mouseInterpreter" Type="Terminal.Gui.MouseInterpreter" ManuallyRouted="true">
  185. <Path>
  186. <Point X="17.75" Y="5.312" />
  187. <Point X="17.75" Y="10.031" />
  188. <Point X="15.99" Y="10.031" />
  189. <Point X="15.99" Y="10.605" />
  190. <Point X="15" Y="10.605" />
  191. </Path>
  192. </AssociationLine>
  193. <TypeIdentifier>
  194. <HashCode>AQAkEAAAAASAiAAEAgwgAAAABAIAAAAAAAAAAAAEAAA=</HashCode>
  195. <FileName>ConsoleDrivers\V2\InputProcessor.cs</FileName>
  196. </TypeIdentifier>
  197. <ShowAsAssociation>
  198. <Field Name="_mouseInterpreter" />
  199. <Property Name="Parser" />
  200. <Property Name="KeyConverter" />
  201. </ShowAsAssociation>
  202. <Lollipop Position="0.1" />
  203. </Class>
  204. <Class Name="Terminal.Gui.NetInputProcessor" Collapsed="true">
  205. <Position X="17.75" Y="5.75" Width="2" />
  206. <TypeIdentifier>
  207. <HashCode>AAAAAAAAAAAACBAAAgAAAEAAAAAAAAAAAAAAAAAAAAA=</HashCode>
  208. <FileName>ConsoleDrivers\V2\NetInputProcessor.cs</FileName>
  209. </TypeIdentifier>
  210. </Class>
  211. <Class Name="Terminal.Gui.WindowsInputProcessor" Collapsed="true">
  212. <Position X="15.75" Y="5.75" Width="2" />
  213. <TypeIdentifier>
  214. <HashCode>AQAAAAAAAAAACAAAAgAAAAAAAgAEAAAAAAAAAAAAAAA=</HashCode>
  215. <FileName>ConsoleDrivers\V2\WindowsInputProcessor.cs</FileName>
  216. </TypeIdentifier>
  217. </Class>
  218. <Class Name="Terminal.Gui.AnsiMouseParser">
  219. <Position X="23.5" Y="9.75" Width="1.75" />
  220. <TypeIdentifier>
  221. <HashCode>BAAAAAAAAAgAAAAAAAAAAAAAIAAAAAAAQAAAAAAAAAA=</HashCode>
  222. <FileName>ConsoleDrivers\AnsiResponseParser\AnsiMouseParser.cs</FileName>
  223. </TypeIdentifier>
  224. </Class>
  225. <Class Name="Terminal.Gui.ConsoleDriverFacade&lt;T&gt;">
  226. <Position X="6.5" Y="7.75" Width="2" />
  227. <Compartments>
  228. <Compartment Name="Methods" Collapsed="true" />
  229. <Compartment Name="Fields" Collapsed="true" />
  230. </Compartments>
  231. <TypeIdentifier>
  232. <HashCode>AQcgAAAAAKBAgFEIBBgAQJEAAjkaQiIAGQADKABDgAQ=</HashCode>
  233. <FileName>ConsoleDrivers\V2\ConsoleDriverFacade.cs</FileName>
  234. </TypeIdentifier>
  235. <ShowAsAssociation>
  236. <Property Name="InputProcessor" />
  237. </ShowAsAssociation>
  238. <Lollipop Position="0.2" />
  239. </Class>
  240. <Class Name="Terminal.Gui.AnsiRequestScheduler" Collapsed="true">
  241. <Position X="19.5" Y="4.5" Width="2" />
  242. <TypeIdentifier>
  243. <HashCode>AAQAACAAIAAAIAACAESQAAQAACGAAAAAAAAAAAAAQQA=</HashCode>
  244. <FileName>ConsoleDrivers\AnsiResponseParser\AnsiRequestScheduler.cs</FileName>
  245. </TypeIdentifier>
  246. <ShowAsCollectionAssociation>
  247. <Property Name="QueuedRequests" />
  248. </ShowAsCollectionAssociation>
  249. </Class>
  250. <Class Name="Terminal.Gui.AnsiResponseParserBase" Collapsed="true">
  251. <Position X="20.25" Y="9" Width="2" />
  252. <AssociationLine Name="_mouseParser" Type="Terminal.Gui.AnsiMouseParser" FixedFromPoint="true" FixedToPoint="true">
  253. <Path>
  254. <Point X="22.25" Y="9.438" />
  255. <Point X="24.375" Y="9.438" />
  256. <Point X="24.375" Y="9.75" />
  257. </Path>
  258. </AssociationLine>
  259. <AssociationLine Name="_keyboardParser" Type="Terminal.Gui.AnsiKeyboardParser" FixedFromPoint="true">
  260. <Path>
  261. <Point X="22.25" Y="9.375" />
  262. <Point X="25.5" Y="9.375" />
  263. </Path>
  264. </AssociationLine>
  265. <TypeIdentifier>
  266. <HashCode>UAiASAAAEICQALAAQAAAKAAAoAIAAABAAQIAJiAQASQ=</HashCode>
  267. <FileName>ConsoleDrivers\AnsiResponseParser\AnsiResponseParser.cs</FileName>
  268. </TypeIdentifier>
  269. <ShowAsAssociation>
  270. <Field Name="_mouseParser" />
  271. <Field Name="_keyboardParser" />
  272. <Field Name="_heldContent" />
  273. </ShowAsAssociation>
  274. <Lollipop Position="0.2" />
  275. </Class>
  276. <Class Name="Terminal.Gui.MouseInterpreter">
  277. <Position X="13.25" Y="10.5" Width="1.75" />
  278. <TypeIdentifier>
  279. <HashCode>AAAABAAAAAAAAAAAAgAAAAAAACAAAAAAAAUAAAAIAAA=</HashCode>
  280. <FileName>ConsoleDrivers\V2\MouseInterpreter.cs</FileName>
  281. </TypeIdentifier>
  282. <ShowAsCollectionAssociation>
  283. <Field Name="_buttonStates" />
  284. </ShowAsCollectionAssociation>
  285. </Class>
  286. <Class Name="Terminal.Gui.MouseButtonStateEx">
  287. <Position X="16.5" Y="10.25" Width="2" />
  288. <TypeIdentifier>
  289. <HashCode>AAAAAAAAAMwAIAAAAAAAAAAAABCAAAAAAAAABAAEAAg=</HashCode>
  290. <FileName>ConsoleDrivers\V2\MouseButtonStateEx.cs</FileName>
  291. </TypeIdentifier>
  292. </Class>
  293. <Class Name="Terminal.Gui.StringHeld" Collapsed="true">
  294. <Position X="21.5" Y="11" Width="1.75" />
  295. <TypeIdentifier>
  296. <HashCode>AAAAAAAAAAIAACAAAAAAAIBAAAAAAACAAAAAAAgAAAA=</HashCode>
  297. <FileName>ConsoleDrivers\AnsiResponseParser\StringHeld.cs</FileName>
  298. </TypeIdentifier>
  299. <Lollipop Position="0.2" />
  300. </Class>
  301. <Class Name="Terminal.Gui.GenericHeld&lt;T&gt;" Collapsed="true">
  302. <Position X="19.75" Y="11" Width="1.75" />
  303. <TypeIdentifier>
  304. <HashCode>AAAAAAAAgAIAACAAAAAAAIBAAAAAAACAAAAAAAAAAAA=</HashCode>
  305. <FileName>ConsoleDrivers\AnsiResponseParser\GenericHeld.cs</FileName>
  306. </TypeIdentifier>
  307. <Lollipop Position="0.2" />
  308. </Class>
  309. <Class Name="Terminal.Gui.AnsiEscapeSequenceRequest">
  310. <Position X="23" Y="4.5" Width="2.5" />
  311. <TypeIdentifier>
  312. <HashCode>AAAAAAAAAEAAAAAAAEAAAAACAAAAAAAAAAAAAAAAAAA=</HashCode>
  313. <FileName>ConsoleDrivers\AnsiEscapeSequenceRequest.cs</FileName>
  314. </TypeIdentifier>
  315. </Class>
  316. <Class Name="Terminal.Gui.AnsiEscapeSequence" Collapsed="true">
  317. <Position X="23" Y="3.75" Width="2.5" />
  318. <TypeIdentifier>
  319. <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAgAAEAAAA=</HashCode>
  320. <FileName>ConsoleDrivers\AnsiEscapeSequence.cs</FileName>
  321. </TypeIdentifier>
  322. </Class>
  323. <Class Name="Terminal.Gui.AnsiResponseParser" Collapsed="true">
  324. <Position X="21.5" Y="10" Width="1.75" />
  325. <TypeIdentifier>
  326. <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAgACBAAAAACBAAAAA=</HashCode>
  327. <FileName>ConsoleDrivers\AnsiResponseParser\AnsiResponseParser.cs</FileName>
  328. </TypeIdentifier>
  329. </Class>
  330. <Class Name="Terminal.Gui.Application" Collapsed="true">
  331. <Position X="0.5" Y="0.5" Width="1.5" />
  332. <TypeIdentifier>
  333. <HashCode>hEK4FAgAqARIspQeBwoUgTGgACNL0AIAESLKoggBSw8=</HashCode>
  334. <FileName>Application\Application.cs</FileName>
  335. </TypeIdentifier>
  336. </Class>
  337. <Class Name="Terminal.Gui.ApplicationImpl" Collapsed="true">
  338. <Position X="2.75" Y="4.5" Width="1.5" />
  339. <TypeIdentifier>
  340. <HashCode>AABAAAAAIAAIAgQQAAAAAQAAAAAAAAAAQAAKgAAAAAI=</HashCode>
  341. <FileName>Application\ApplicationImpl.cs</FileName>
  342. </TypeIdentifier>
  343. <ShowAsAssociation>
  344. <Property Name="Instance" />
  345. </ShowAsAssociation>
  346. <Lollipop Position="0.2" />
  347. </Class>
  348. <Class Name="Terminal.Gui.ApplicationV2" Collapsed="true">
  349. <Position X="4.75" Y="4.5" Width="1.5" />
  350. <TypeIdentifier>
  351. <HashCode>QAAAAAgABAEIBgAQAAAAAQBAAAAAgAEAAAAKgIAAAgI=</HashCode>
  352. <FileName>ConsoleDrivers\V2\ApplicationV2.cs</FileName>
  353. </TypeIdentifier>
  354. <ShowAsAssociation>
  355. <Field Name="_coordinator" />
  356. </ShowAsAssociation>
  357. </Class>
  358. <Class Name="Terminal.Gui.View" Collapsed="true">
  359. <Position X="0.5" Y="3" Width="1.5" />
  360. <TypeIdentifier>
  361. <HashCode>3/v2dzPLvbb/5+LOHuv1x0dem3Y57v/8c6afz2/e/Y8=</HashCode>
  362. <FileName>View\View.Adornments.cs</FileName>
  363. </TypeIdentifier>
  364. <Lollipop Position="0.2" />
  365. </Class>
  366. <Class Name="Terminal.Gui.WindowsKeyConverter" Collapsed="true">
  367. <Position X="16" Y="7.5" Width="1.75" />
  368. <TypeIdentifier>
  369. <HashCode>AAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
  370. <FileName>ConsoleDrivers\V2\WindowsKeyConverter.cs</FileName>
  371. </TypeIdentifier>
  372. <Lollipop Position="0.2" />
  373. </Class>
  374. <Class Name="Terminal.Gui.NetKeyConverter" Collapsed="true">
  375. <Position X="17.75" Y="7.5" Width="1.5" />
  376. <TypeIdentifier>
  377. <HashCode>AAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
  378. <FileName>ConsoleDrivers\V2\NetKeyConverter.cs</FileName>
  379. </TypeIdentifier>
  380. <Lollipop Position="0.2" />
  381. </Class>
  382. <Class Name="Terminal.Gui.AnsiKeyboardParser">
  383. <Position X="25.5" Y="9.25" Width="1.75" />
  384. <TypeIdentifier>
  385. <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAE=</HashCode>
  386. <FileName>ConsoleDrivers\AnsiResponseParser\Keyboard\AnsiKeyboardParser.cs</FileName>
  387. </TypeIdentifier>
  388. <ShowAsCollectionAssociation>
  389. <Field Name="_patterns" />
  390. </ShowAsCollectionAssociation>
  391. </Class>
  392. <Class Name="Terminal.Gui.ToplevelTransitionManager" Collapsed="true">
  393. <Position X="9.25" Y="13.75" Width="2.25" />
  394. <TypeIdentifier>
  395. <HashCode>AIAAAAAAAAAAAAEAAAAAAAAAAEIAAAAAAAAAAAAAAAA=</HashCode>
  396. <FileName>ConsoleDrivers\V2\ToplevelTransitionManager.cs</FileName>
  397. </TypeIdentifier>
  398. <Lollipop Position="0.2" />
  399. </Class>
  400. <Class Name="Terminal.Gui.Logging" Collapsed="true">
  401. <Position X="0.5" Y="5.25" Width="1.5" />
  402. <TypeIdentifier>
  403. <HashCode>AAAAAAAAAAIgAAAAAAEQAAAAAAAAABAAgAAAAAAAEAA=</HashCode>
  404. <FileName>ConsoleDrivers\V2\Logging.cs</FileName>
  405. </TypeIdentifier>
  406. </Class>
  407. <Class Name="Terminal.Gui.WindowSizeMonitor" Collapsed="true" BaseTypeListCollapsed="true">
  408. <Position X="13.25" Y="14" Width="1.75" />
  409. <TypeIdentifier>
  410. <HashCode>AAAAgAAAAAAAAAAEAAAAABAAAAAACAAAAAAAAAAAACA=</HashCode>
  411. <FileName>ConsoleDrivers\V2\WindowSizeMonitor.cs</FileName>
  412. </TypeIdentifier>
  413. <Lollipop Position="0.2" />
  414. </Class>
  415. <Class Name="Terminal.Gui.AnsiKeyboardParserPattern" Collapsed="true">
  416. <Position X="28.5" Y="9.5" Width="2" />
  417. <TypeIdentifier>
  418. <HashCode>AAACIAAAAAAAAAAAAAAAAAQQAAAAAAAAAAAAAAAACAA=</HashCode>
  419. <FileName>ConsoleDrivers\AnsiResponseParser\Keyboard\AnsiKeyboardParserPattern.cs</FileName>
  420. </TypeIdentifier>
  421. </Class>
  422. <Class Name="Terminal.Gui.CsiKeyPattern" Collapsed="true">
  423. <Position X="25.5" Y="10.75" Width="1.5" />
  424. <TypeIdentifier>
  425. <HashCode>AAACAAAAAAAAABAAAAAAAAAQAACAAAAAAAAAAAAAAAA=</HashCode>
  426. <FileName>ConsoleDrivers\AnsiResponseParser\Keyboard\CsiKeyPattern.cs</FileName>
  427. </TypeIdentifier>
  428. </Class>
  429. <Class Name="Terminal.Gui.EscAsAltPattern" Collapsed="true">
  430. <Position X="27.75" Y="10.75" Width="1.5" />
  431. <TypeIdentifier>
  432. <HashCode>AAACAAAAAAAAAAAAAAAAAAAQAACAAAAAAAAAAAAAAAA=</HashCode>
  433. <FileName>ConsoleDrivers\AnsiResponseParser\Keyboard\EscAsAltPattern.cs</FileName>
  434. </TypeIdentifier>
  435. </Class>
  436. <Class Name="Terminal.Gui.Ss3Pattern" Collapsed="true">
  437. <Position X="29.5" Y="10.75" Width="1.5" />
  438. <TypeIdentifier>
  439. <HashCode>AAACAAAAAAAAAAAAAAAAAAAQAACAAAAAAAAAAAAAAAA=</HashCode>
  440. <FileName>ConsoleDrivers\AnsiResponseParser\Keyboard\Ss3Pattern.cs</FileName>
  441. </TypeIdentifier>
  442. </Class>
  443. <Interface Name="Terminal.Gui.IConsoleInput&lt;T&gt;" Collapsed="true">
  444. <Position X="12.5" Y="1" Width="1.5" />
  445. <TypeIdentifier>
  446. <HashCode>AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAI=</HashCode>
  447. <FileName>ConsoleDrivers\V2\IConsoleInput.cs</FileName>
  448. </TypeIdentifier>
  449. </Interface>
  450. <Interface Name="Terminal.Gui.IMainLoop&lt;T&gt;" Collapsed="true">
  451. <Position X="9.25" Y="4.5" Width="1.5" />
  452. <TypeIdentifier>
  453. <HashCode>QAQAAAAAAAABIQQAAAAAAAAAAAAAAAACAAAAAAAAEAA=</HashCode>
  454. <FileName>ConsoleDrivers\V2\IMainLoop.cs</FileName>
  455. </TypeIdentifier>
  456. </Interface>
  457. <Interface Name="Terminal.Gui.IConsoleOutput" Collapsed="true">
  458. <Position X="14" Y="7.5" Width="1.5" />
  459. <TypeIdentifier>
  460. <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAMAAAAAEAAAA=</HashCode>
  461. <FileName>ConsoleDrivers\V2\IConsoleOutput.cs</FileName>
  462. </TypeIdentifier>
  463. </Interface>
  464. <Interface Name="Terminal.Gui.IOutputBuffer" Collapsed="true">
  465. <Position X="11" Y="7.25" Width="1.5" />
  466. <TypeIdentifier>
  467. <HashCode>AQAAAAAAAIAAAEAIAAAAQIAAAAEMRgAACAAAKABAgAA=</HashCode>
  468. <FileName>ConsoleDrivers\V2\IOutputBuffer.cs</FileName>
  469. </TypeIdentifier>
  470. </Interface>
  471. <Interface Name="Terminal.Gui.IInputProcessor">
  472. <Position X="14" Y="4.5" Width="1.5" />
  473. <TypeIdentifier>
  474. <HashCode>AAAkAAAAAACAgAAAAAggAAAABAIAAAAAAAAAAAAEAAA=</HashCode>
  475. <FileName>ConsoleDrivers\V2\IInputProcessor.cs</FileName>
  476. </TypeIdentifier>
  477. </Interface>
  478. <Interface Name="Terminal.Gui.IHeld">
  479. <Position X="23.75" Y="6.5" Width="1.75" />
  480. <TypeIdentifier>
  481. <HashCode>AAAAAAAAAAIAACAAAAAAAIBAAAAAAACAAAAAAAAAAAA=</HashCode>
  482. <FileName>ConsoleDrivers\AnsiResponseParser\IHeld.cs</FileName>
  483. </TypeIdentifier>
  484. </Interface>
  485. <Interface Name="Terminal.Gui.IAnsiResponseParser">
  486. <Position X="20.25" Y="5.25" Width="2" />
  487. <TypeIdentifier>
  488. <HashCode>AAAAQAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAJAAAAAA=</HashCode>
  489. <FileName>ConsoleDrivers\AnsiResponseParser\IAnsiResponseParser.cs</FileName>
  490. </TypeIdentifier>
  491. <ShowAsAssociation>
  492. <Property Name="State" />
  493. </ShowAsAssociation>
  494. </Interface>
  495. <Interface Name="Terminal.Gui.IApplication">
  496. <Position X="3" Y="1" Width="1.5" />
  497. <TypeIdentifier>
  498. <HashCode>AAAAAAAAAAAIAgQQAAAAAQAAAAAAAAAAAAAKgAAAAAI=</HashCode>
  499. <FileName>Application\IApplication.cs</FileName>
  500. </TypeIdentifier>
  501. </Interface>
  502. <Interface Name="Terminal.Gui.IMainLoopCoordinator" Collapsed="true">
  503. <Position X="6.5" Y="0.5" Width="2" />
  504. <TypeIdentifier>
  505. <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIQIAAAAAAAA=</HashCode>
  506. <FileName>ConsoleDrivers\V2\IMainLoopCoordinator.cs</FileName>
  507. </TypeIdentifier>
  508. </Interface>
  509. <Interface Name="Terminal.Gui.IWindowSizeMonitor" Collapsed="true">
  510. <Position X="13.25" Y="13" Width="1.75" />
  511. <TypeIdentifier>
  512. <HashCode>AAAAAAAAAAAAAAAEAAAAAAAAAAAACAAAAAAAAAAAAAA=</HashCode>
  513. <FileName>ConsoleDrivers\V2\IWindowSizeMonitor.cs</FileName>
  514. </TypeIdentifier>
  515. </Interface>
  516. <Interface Name="Terminal.Gui.ITimedEvents">
  517. <Position X="9.25" Y="7.25" Width="1.5" />
  518. <Compartments>
  519. <Compartment Name="Methods" Collapsed="true" />
  520. </Compartments>
  521. <TypeIdentifier>
  522. <HashCode>BAAAIAAAAQAAAAAQACAAAIBAAQAAAAAAAAAIgAAAAAA=</HashCode>
  523. <FileName>Application\ITimedEvents.cs</FileName>
  524. </TypeIdentifier>
  525. </Interface>
  526. <Interface Name="Terminal.Gui.IKeyConverter&lt;T&gt;" Collapsed="true">
  527. <Position X="17" Y="6.5" Width="1.75" />
  528. <TypeIdentifier>
  529. <HashCode>AAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
  530. <FileName>ConsoleDrivers\V2\IKeyConverter.cs</FileName>
  531. </TypeIdentifier>
  532. </Interface>
  533. <Interface Name="Terminal.Gui.IToplevelTransitionManager">
  534. <Position X="9.25" Y="12" Width="2.25" />
  535. <TypeIdentifier>
  536. <HashCode>AIAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
  537. <FileName>ConsoleDrivers\V2\IToplevelTransitionManager.cs</FileName>
  538. </TypeIdentifier>
  539. </Interface>
  540. <Interface Name="Terminal.Gui.IConsoleDriverFacade">
  541. <Position X="4.5" Y="8.75" Width="1.75" />
  542. <TypeIdentifier>
  543. <HashCode>AAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
  544. <FileName>ConsoleDrivers\V2\IConsoleDriverFacade.cs</FileName>
  545. </TypeIdentifier>
  546. </Interface>
  547. <Interface Name="Terminal.Gui.INetInput" Collapsed="true">
  548. <Position X="14.25" Y="2" Width="1.75" />
  549. <TypeIdentifier>
  550. <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
  551. <FileName>ConsoleDrivers\V2\INetInput.cs</FileName>
  552. </TypeIdentifier>
  553. </Interface>
  554. <Interface Name="Terminal.Gui.IWindowsInput" Collapsed="true">
  555. <Position X="10.75" Y="2" Width="1.5" />
  556. <TypeIdentifier>
  557. <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
  558. <FileName>ConsoleDrivers\V2\IWindowsInput.cs</FileName>
  559. </TypeIdentifier>
  560. </Interface>
  561. <Enum Name="Terminal.Gui.AnsiResponseParserState">
  562. <Position X="20.25" Y="7.25" Width="2" />
  563. <TypeIdentifier>
  564. <HashCode>AAAAAAAAAAAAAAAAAAAACAAAAAAIAAIAAAAAAAAAAAA=</HashCode>
  565. <FileName>ConsoleDrivers\AnsiResponseParser\AnsiResponseParserState.cs</FileName>
  566. </TypeIdentifier>
  567. </Enum>
  568. <Font Name="Segoe UI" Size="9" />
  569. </ClassDiagram>