V2.cd 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554
  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.Drivers">
  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.Drivers 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.Drivers.WindowsInput" Collapsed="true">
  31. <Position X="11.5" Y="3" Width="1.75" />
  32. <TypeIdentifier>
  33. <HashCode>QIAACAAAACAEAAAAAAAAAAAkAAAAAAAAAwAAAAAAABA=</HashCode>
  34. <FileName>Drivers\V2\WindowsInput.cs</FileName>
  35. </TypeIdentifier>
  36. <Lollipop Position="0.2" />
  37. </Class>
  38. <Class Name="Terminal.Gui.Drivers.NetInput" Collapsed="true">
  39. <Position X="13.25" Y="3" Width="2" />
  40. <TypeIdentifier>
  41. <HashCode>AAAAAAAAACAEAAAAQAAAAAAgAAAAAAAAAAAAAAAAAAA=</HashCode>
  42. <FileName>Drivers\V2\NetInput.cs</FileName>
  43. </TypeIdentifier>
  44. <Lollipop Position="0.2" />
  45. </Class>
  46. <Class Name="Terminal.Gui.Drivers.ConsoleInput&lt;T&gt;" Collapsed="true">
  47. <Position X="12.5" Y="2" Width="1.5" />
  48. <TypeIdentifier>
  49. <HashCode>AAAAAAAAACAEAQAAAAAAAAAgACAAAAAAAAAAAAAAAAo=</HashCode>
  50. <FileName>Drivers\V2\ConsoleInput.cs</FileName>
  51. </TypeIdentifier>
  52. <Lollipop Position="0.2" />
  53. </Class>
  54. <Class Name="Terminal.Gui.Drivers.MainLoop&lt;T&gt;" Collapsed="true" BaseTypeListCollapsed="true">
  55. <Position X="11" Y="4.75" Width="1.5" />
  56. <AssociationLine Name="OutputBuffer" Type="Terminal.Gui.Drivers.IOutputBuffer" ManuallyRouted="true">
  57. <Path>
  58. <Point X="11.718" Y="5.312" />
  59. <Point X="11.718" Y="7.25" />
  60. </Path>
  61. <MemberNameLabel ManuallyPlaced="true">
  62. <Position X="0.027" Y="0.102" />
  63. </MemberNameLabel>
  64. </AssociationLine>
  65. <AssociationLine Name="Out" Type="Terminal.Gui.Drivers.IConsoleOutput" ManuallyRouted="true">
  66. <Path>
  67. <Point X="12.5" Y="5.125" />
  68. <Point X="12.5" Y="5.792" />
  69. <Point X="13.031" Y="5.792" />
  70. <Point X="13.031" Y="7.846" />
  71. <Point X="14" Y="7.846" />
  72. </Path>
  73. </AssociationLine>
  74. <AssociationLine Name="AnsiRequestScheduler" Type="Terminal.Gui.Drivers.AnsiRequestScheduler" ManuallyRouted="true">
  75. <Path>
  76. <Point X="11.75" Y="4.75" />
  77. <Point X="11.75" Y="4.39" />
  78. <Point X="20.375" Y="4.39" />
  79. <Point X="20.375" Y="4.5" />
  80. </Path>
  81. <MemberNameLabel ManuallyPlaced="true">
  82. <Position X="0.11" Y="0.143" />
  83. </MemberNameLabel>
  84. </AssociationLine>
  85. <AssociationLine Name="WindowSizeMonitor" Type="Terminal.Gui.Drivers.IWindowSizeMonitor" ManuallyRouted="true">
  86. <Path>
  87. <Point X="12.125" Y="5.312" />
  88. <Point X="12.125" Y="7" />
  89. <Point X="12.844" Y="7" />
  90. <Point X="12.844" Y="13.281" />
  91. <Point X="13.25" Y="13.281" />
  92. </Path>
  93. <MemberNameLabel ManuallyPlaced="true">
  94. <Position X="0.047" Y="-0.336" />
  95. </MemberNameLabel>
  96. </AssociationLine>
  97. <AssociationLine Name="ToplevelTransitionManager" Type="Terminal.Gui.Drivers.IToplevelTransitionManager" ManuallyRouted="true">
  98. <Path>
  99. <Point X="11" Y="5.031" />
  100. <Point X="11" Y="5.406" />
  101. <Point X="9.021" Y="5.406" />
  102. <Point X="9.021" Y="11.5" />
  103. <Point X="10.375" Y="11.5" />
  104. <Point X="10.375" Y="12" />
  105. </Path>
  106. <MemberNameLabel ManuallyPlaced="true">
  107. <Position X="-0.671" Y="0.529" />
  108. </MemberNameLabel>
  109. </AssociationLine>
  110. <TypeIdentifier>
  111. <HashCode>QQQAAAAQACABJQQAABAAAQAAACAAAAACAIEAAAAAEgg=</HashCode>
  112. <FileName>Drivers\V2\MainLoop.cs</FileName>
  113. </TypeIdentifier>
  114. <ShowAsAssociation>
  115. <Field Name="ToplevelTransitionManager" />
  116. <Property Name="InputProcessor" />
  117. <Property Name="OutputBuffer" />
  118. <Property Name="Out" />
  119. <Property Name="AnsiRequestScheduler" />
  120. <Property Name="WindowSizeMonitor" />
  121. </ShowAsAssociation>
  122. <Lollipop Position="0.2" />
  123. </Class>
  124. <Class Name="Terminal.Gui.Drivers.MainLoopCoordinator&lt;T&gt;">
  125. <Position X="6.5" Y="2" Width="2" />
  126. <TypeIdentifier>
  127. <HashCode>IAAAIAEiCAIABAAAABQAAAAAABAAAQQAIQIABAAACgg=</HashCode>
  128. <FileName>Drivers\V2\MainLoopCoordinator.cs</FileName>
  129. </TypeIdentifier>
  130. <ShowAsAssociation>
  131. <Field Name="_loop" />
  132. </ShowAsAssociation>
  133. <Lollipop Position="0.2" />
  134. </Class>
  135. <Class Name="Terminal.Gui.Drivers.AnsiResponseParser&lt;T&gt;" Collapsed="true">
  136. <Position X="19.5" Y="10" Width="2" />
  137. <TypeIdentifier>
  138. <HashCode>AAQAAAAAAAAACIAAAAAAAAAAAAAgAABAAAAACBAAAAA=</HashCode>
  139. <FileName>Drivers\AnsiResponseParser\AnsiResponseParser.cs</FileName>
  140. </TypeIdentifier>
  141. </Class>
  142. <Class Name="Terminal.Gui.Drivers.OutputBuffer">
  143. <Position X="11" Y="8.25" Width="1.5" />
  144. <Compartments>
  145. <Compartment Name="Fields" Collapsed="true" />
  146. <Compartment Name="Methods" Collapsed="true" />
  147. </Compartments>
  148. <TypeIdentifier>
  149. <HashCode>AwAAAAAAAIAAAECIBgAEQIAAAAEMRgAACAAAKABAgAA=</HashCode>
  150. <FileName>Drivers\V2\OutputBuffer.cs</FileName>
  151. </TypeIdentifier>
  152. <Lollipop Position="0.2" />
  153. </Class>
  154. <Class Name="Terminal.Gui.Drivers.NetOutput" Collapsed="true">
  155. <Position X="14.75" Y="8.5" Width="1.5" />
  156. <TypeIdentifier>
  157. <HashCode>AEAAAAAAACAAAAAAAAAQAAAAAAAAQAAAMACAAAEAgAk=</HashCode>
  158. <FileName>Drivers\V2\NetOutput.cs</FileName>
  159. </TypeIdentifier>
  160. <Lollipop Position="0.2" />
  161. </Class>
  162. <Class Name="Terminal.Gui.Drivers.WindowsOutput" Collapsed="true">
  163. <Position X="13.25" Y="8.5" Width="1.5" />
  164. <TypeIdentifier>
  165. <HashCode>AEAAABACACAAhAAAAAAQACCAAAgAYAAIMAAAAAEAgAQ=</HashCode>
  166. <FileName>Drivers\V2\WindowsOutput.cs</FileName>
  167. </TypeIdentifier>
  168. <Lollipop Position="0.2" />
  169. </Class>
  170. <Class Name="Terminal.Gui.Drivers.InputProcessor&lt;T&gt;" Collapsed="true">
  171. <Position X="16.5" Y="4.75" Width="2" />
  172. <AssociationLine Name="_mouseInterpreter" Type="Terminal.Gui.Drivers.MouseInterpreter" ManuallyRouted="true">
  173. <Path>
  174. <Point X="17.75" Y="5.312" />
  175. <Point X="17.75" Y="10.031" />
  176. <Point X="15.99" Y="10.031" />
  177. <Point X="15.99" Y="10.605" />
  178. <Point X="15" Y="10.605" />
  179. </Path>
  180. </AssociationLine>
  181. <TypeIdentifier>
  182. <HashCode>AQAkEAAAAASAiAAEAgwgAAAABAIAAAAAAAAAAAAEAAA=</HashCode>
  183. <FileName>Drivers\V2\InputProcessor.cs</FileName>
  184. </TypeIdentifier>
  185. <ShowAsAssociation>
  186. <Field Name="_mouseInterpreter" />
  187. <Property Name="Parser" />
  188. <Property Name="KeyConverter" />
  189. </ShowAsAssociation>
  190. <Lollipop Position="0.1" />
  191. </Class>
  192. <Class Name="Terminal.Gui.Drivers.NetInputProcessor" Collapsed="true">
  193. <Position X="17.75" Y="5.75" Width="2" />
  194. <TypeIdentifier>
  195. <HashCode>AAAAAAAAAAAACBAAAgAAAEAAAAAAAAAAAAAAAAAAAAA=</HashCode>
  196. <FileName>Drivers\V2\NetInputProcessor.cs</FileName>
  197. </TypeIdentifier>
  198. </Class>
  199. <Class Name="Terminal.Gui.Drivers.WindowsInputProcessor" Collapsed="true">
  200. <Position X="15.75" Y="5.75" Width="2" />
  201. <TypeIdentifier>
  202. <HashCode>AQAAAAAAAAAACAAAAgAAAAAAAgAEAAAAAAAAAAAAAAA=</HashCode>
  203. <FileName>Drivers\V2\WindowsInputProcessor.cs</FileName>
  204. </TypeIdentifier>
  205. </Class>
  206. <Class Name="Terminal.Gui.Drivers.AnsiMouseParser">
  207. <Position X="23.5" Y="9.75" Width="1.75" />
  208. <TypeIdentifier>
  209. <HashCode>BAAAAAAAAAgAAAAAAAAAAAAAIAAAAAAAQAAAAAAAAAA=</HashCode>
  210. <FileName>Drivers\AnsiResponseParser\AnsiMouseParser.cs</FileName>
  211. </TypeIdentifier>
  212. </Class>
  213. <Class Name="Terminal.Gui.Drivers.ConsoleDriverFacade&lt;T&gt;">
  214. <Position X="6.5" Y="7.75" Width="2" />
  215. <Compartments>
  216. <Compartment Name="Methods" Collapsed="true" />
  217. <Compartment Name="Fields" Collapsed="true" />
  218. </Compartments>
  219. <TypeIdentifier>
  220. <HashCode>AQcgAAAAAKBAgFEIBBgAQJEAAjkaQiIAGQADKABDgAQ=</HashCode>
  221. <FileName>Drivers\V2\ConsoleDriverFacade.cs</FileName>
  222. </TypeIdentifier>
  223. <ShowAsAssociation>
  224. <Property Name="InputProcessor" />
  225. </ShowAsAssociation>
  226. <Lollipop Position="0.2" />
  227. </Class>
  228. <Class Name="Terminal.Gui.Drivers.AnsiRequestScheduler" Collapsed="true">
  229. <Position X="19.5" Y="4.5" Width="2" />
  230. <TypeIdentifier>
  231. <HashCode>AAQAACAAIAAAIAACAESQAAQAACGAAAAAAAAAAAAAQQA=</HashCode>
  232. <FileName>Drivers\AnsiResponseParser\AnsiRequestScheduler.cs</FileName>
  233. </TypeIdentifier>
  234. <ShowAsCollectionAssociation>
  235. <Property Name="QueuedRequests" />
  236. </ShowAsCollectionAssociation>
  237. </Class>
  238. <Class Name="Terminal.Gui.Drivers.AnsiResponseParserBase" Collapsed="true">
  239. <Position X="20.25" Y="9" Width="2" />
  240. <AssociationLine Name="_mouseParser" Type="Terminal.Gui.Drivers.AnsiMouseParser" FixedFromPoint="true" FixedToPoint="true">
  241. <Path>
  242. <Point X="22.25" Y="9.438" />
  243. <Point X="24.375" Y="9.438" />
  244. <Point X="24.375" Y="9.75" />
  245. </Path>
  246. </AssociationLine>
  247. <AssociationLine Name="_keyboardParser" Type="Terminal.Gui.Drivers.AnsiKeyboardParser" FixedFromPoint="true">
  248. <Path>
  249. <Point X="22.25" Y="9.375" />
  250. <Point X="25.5" Y="9.375" />
  251. </Path>
  252. </AssociationLine>
  253. <TypeIdentifier>
  254. <HashCode>UAiASAAAEICQALCAQAAAKAAAoAIAAABAAQIAJiAQASQ=</HashCode>
  255. <FileName>Drivers\AnsiResponseParser\AnsiResponseParser.cs</FileName>
  256. </TypeIdentifier>
  257. <ShowAsAssociation>
  258. <Field Name="_mouseParser" />
  259. <Field Name="_keyboardParser" />
  260. <Field Name="_heldContent" />
  261. </ShowAsAssociation>
  262. <Lollipop Position="0.2" />
  263. </Class>
  264. <Class Name="Terminal.Gui.Drivers.MouseInterpreter">
  265. <Position X="13.25" Y="10.5" Width="1.75" />
  266. <TypeIdentifier>
  267. <HashCode>AAAABAAAAAAAAAAAAgAAAAAAACAAAAAAAAUAAAAIAAA=</HashCode>
  268. <FileName>Drivers\V2\MouseInterpreter.cs</FileName>
  269. </TypeIdentifier>
  270. <ShowAsCollectionAssociation>
  271. <Field Name="_buttonStates" />
  272. </ShowAsCollectionAssociation>
  273. </Class>
  274. <Class Name="Terminal.Gui.Drivers.MouseButtonStateEx">
  275. <Position X="16.5" Y="10.25" Width="2" />
  276. <TypeIdentifier>
  277. <HashCode>AAAAAAAAAMwAIAAAAAAAAAAAABCAAAAAAAAABAAEAAg=</HashCode>
  278. <FileName>Drivers\V2\MouseButtonStateEx.cs</FileName>
  279. </TypeIdentifier>
  280. </Class>
  281. <Class Name="Terminal.Gui.Drivers.StringHeld" Collapsed="true">
  282. <Position X="21.5" Y="11" Width="1.75" />
  283. <TypeIdentifier>
  284. <HashCode>AAAAAAAAAAIAACAAAAAAAIBAAAAAAACAAAAAAAgAAAA=</HashCode>
  285. <FileName>Drivers\AnsiResponseParser\StringHeld.cs</FileName>
  286. </TypeIdentifier>
  287. <Lollipop Position="0.2" />
  288. </Class>
  289. <Class Name="Terminal.Gui.Drivers.GenericHeld&lt;T&gt;" Collapsed="true">
  290. <Position X="19.75" Y="11" Width="1.75" />
  291. <TypeIdentifier>
  292. <HashCode>AAAAAAAAgAIAACAAAAAAAIBAAAAAAACAAAAAAAAAAAA=</HashCode>
  293. <FileName>Drivers\AnsiResponseParser\GenericHeld.cs</FileName>
  294. </TypeIdentifier>
  295. <Lollipop Position="0.2" />
  296. </Class>
  297. <Class Name="Terminal.Gui.Drivers.AnsiEscapeSequenceRequest">
  298. <Position X="23" Y="4.5" Width="2.5" />
  299. <TypeIdentifier>
  300. <HashCode>AAAAAAAAAEAAAAAAAEAAAAACAAAAAAAAAAAAAAAAAAA=</HashCode>
  301. <FileName>Drivers\AnsiEscapeSequenceRequest.cs</FileName>
  302. </TypeIdentifier>
  303. </Class>
  304. <Class Name="Terminal.Gui.Drivers.AnsiEscapeSequence" Collapsed="true">
  305. <Position X="23" Y="3.75" Width="2.5" />
  306. <TypeIdentifier>
  307. <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAgAAEAAAA=</HashCode>
  308. <FileName>Drivers\AnsiEscapeSequence.cs</FileName>
  309. </TypeIdentifier>
  310. </Class>
  311. <Class Name="Terminal.Gui.Drivers.AnsiResponseParser" Collapsed="true">
  312. <Position X="21.5" Y="10" Width="1.75" />
  313. <TypeIdentifier>
  314. <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAgACBAAAAACBAAAAA=</HashCode>
  315. <FileName>Drivers\AnsiResponseParser\AnsiResponseParser.cs</FileName>
  316. </TypeIdentifier>
  317. </Class>
  318. <Class Name="Terminal.Gui.Drivers.ApplicationV2" Collapsed="true">
  319. <Position X="4.75" Y="4.5" Width="1.5" />
  320. <TypeIdentifier>
  321. <HashCode>QAAgAAgABAEIBgAQAAAAAQAAAAAAgAEAAAAKAIAAEgI=</HashCode>
  322. <FileName>Drivers\V2\ApplicationV2.cs</FileName>
  323. </TypeIdentifier>
  324. <ShowAsAssociation>
  325. <Field Name="_coordinator" />
  326. </ShowAsAssociation>
  327. </Class>
  328. <Class Name="Terminal.Gui.Drivers.WindowsKeyConverter" Collapsed="true">
  329. <Position X="16" Y="7.5" Width="1.75" />
  330. <TypeIdentifier>
  331. <HashCode>AAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
  332. <FileName>Drivers\V2\WindowsKeyConverter.cs</FileName>
  333. </TypeIdentifier>
  334. <Lollipop Position="0.2" />
  335. </Class>
  336. <Class Name="Terminal.Gui.Drivers.NetKeyConverter" Collapsed="true">
  337. <Position X="17.75" Y="7.5" Width="1.5" />
  338. <TypeIdentifier>
  339. <HashCode>AAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
  340. <FileName>Drivers\V2\NetKeyConverter.cs</FileName>
  341. </TypeIdentifier>
  342. <Lollipop Position="0.2" />
  343. </Class>
  344. <Class Name="Terminal.Gui.Drivers.AnsiKeyboardParser">
  345. <Position X="25.5" Y="9.25" Width="1.75" />
  346. <TypeIdentifier>
  347. <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAE=</HashCode>
  348. <FileName>Drivers\AnsiResponseParser\Keyboard\AnsiKeyboardParser.cs</FileName>
  349. </TypeIdentifier>
  350. <ShowAsCollectionAssociation>
  351. <Field Name="_patterns" />
  352. </ShowAsCollectionAssociation>
  353. </Class>
  354. <Class Name="Terminal.Gui.Drivers.ToplevelTransitionManager" Collapsed="true">
  355. <Position X="9.25" Y="13.75" Width="2.25" />
  356. <TypeIdentifier>
  357. <HashCode>AIAAAAAAAAAAAAEAAAAAAAAAAEIAAAAAAAAAAAAAAAA=</HashCode>
  358. <FileName>Drivers\V2\ToplevelTransitionManager.cs</FileName>
  359. </TypeIdentifier>
  360. <Lollipop Position="0.2" />
  361. </Class>
  362. <Class Name="Terminal.Gui.Drivers.WindowSizeMonitor" Collapsed="true" BaseTypeListCollapsed="true">
  363. <Position X="13.25" Y="14" Width="1.75" />
  364. <TypeIdentifier>
  365. <HashCode>AAAAgAAAAAAAAAAEAAAAABAAAAAACAAAAAAAAAAAACA=</HashCode>
  366. <FileName>Drivers\V2\WindowSizeMonitor.cs</FileName>
  367. </TypeIdentifier>
  368. <Lollipop Position="0.2" />
  369. </Class>
  370. <Class Name="Terminal.Gui.Drivers.AnsiKeyboardParserPattern" Collapsed="true">
  371. <Position X="28.5" Y="9.5" Width="2" />
  372. <TypeIdentifier>
  373. <HashCode>AAACIAAAAAAAAAAAAAAAAAQQAAAAAAAAAAAAAAAACAA=</HashCode>
  374. <FileName>Drivers\AnsiResponseParser\Keyboard\AnsiKeyboardParserPattern.cs</FileName>
  375. </TypeIdentifier>
  376. </Class>
  377. <Class Name="Terminal.Gui.Drivers.CsiKeyPattern" Collapsed="true">
  378. <Position X="25.5" Y="10.75" Width="1.5" />
  379. <TypeIdentifier>
  380. <HashCode>AAACQAAAAAAAAAAAAAAAAAAQAACAAAAAAAAAAAAAAAA=</HashCode>
  381. <FileName>Drivers\AnsiResponseParser\Keyboard\CsiKeyPattern.cs</FileName>
  382. </TypeIdentifier>
  383. </Class>
  384. <Class Name="Terminal.Gui.Drivers.EscAsAltPattern" Collapsed="true">
  385. <Position X="27.75" Y="10.75" Width="1.5" />
  386. <TypeIdentifier>
  387. <HashCode>AAACAAAAAAAAAAAAAAAAAAAQAACAAAAAAAAAAAAAAAA=</HashCode>
  388. <FileName>Drivers\AnsiResponseParser\Keyboard\EscAsAltPattern.cs</FileName>
  389. </TypeIdentifier>
  390. </Class>
  391. <Class Name="Terminal.Gui.Drivers.Ss3Pattern" Collapsed="true">
  392. <Position X="29.5" Y="10.75" Width="1.5" />
  393. <TypeIdentifier>
  394. <HashCode>AAACAAAAAAAAAAAAAAAAAAAQAACAAAAAAAAAAAAAAAA=</HashCode>
  395. <FileName>Drivers\AnsiResponseParser\Keyboard\Ss3Pattern.cs</FileName>
  396. </TypeIdentifier>
  397. </Class>
  398. <Class Name="Terminal.Gui.App.ApplicationImpl" Collapsed="true">
  399. <Position X="2.75" Y="4.5" Width="1.5" />
  400. <TypeIdentifier>
  401. <HashCode>AABgAAAAIAAIAgQUAAAAAQAAAAAAAAAAQAAKAAAAEAI=</HashCode>
  402. <FileName>App\ApplicationImpl.cs</FileName>
  403. </TypeIdentifier>
  404. <Lollipop Position="0.2" />
  405. </Class>
  406. <Class Name="Terminal.Gui.App.Application" Collapsed="true">
  407. <Position X="0.5" Y="0.5" Width="1.5" />
  408. <TypeIdentifier>
  409. <HashCode>gEK4FIgYOAQIuhQeBwoUgSCgAAJL0AACESIKoAiBWw8=</HashCode>
  410. <FileName>App\Application.cs</FileName>
  411. </TypeIdentifier>
  412. </Class>
  413. <Class Name="Terminal.Gui.ViewBase.View" Collapsed="true">
  414. <Position X="0.5" Y="3" Width="1.5" />
  415. <TypeIdentifier>
  416. <HashCode>27u2V3Pfvf7/x/LOXur1x0de3zZt7v/8c+bfzX/e/c8=</HashCode>
  417. <FileName>ViewBase\View.Adornments.cs</FileName>
  418. </TypeIdentifier>
  419. <Lollipop Position="0.2" />
  420. </Class>
  421. <Class Name="Terminal.Gui.App.Logging" Collapsed="true">
  422. <Position X="0.5" Y="5.25" Width="1.5" />
  423. <TypeIdentifier>
  424. <HashCode>AAAIEAAAAAIgAYAAAAEQABAAAAAAABAAgAAAAAAAEAA=</HashCode>
  425. <FileName>App\Logging.cs</FileName>
  426. </TypeIdentifier>
  427. </Class>
  428. <Interface Name="Terminal.Gui.Drivers.IConsoleInput&lt;T&gt;" Collapsed="true">
  429. <Position X="12.5" Y="1" Width="1.5" />
  430. <TypeIdentifier>
  431. <HashCode>AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAI=</HashCode>
  432. <FileName>Drivers\V2\IConsoleInput.cs</FileName>
  433. </TypeIdentifier>
  434. </Interface>
  435. <Interface Name="Terminal.Gui.Drivers.IMainLoop&lt;T&gt;" Collapsed="true">
  436. <Position X="9.25" Y="4.5" Width="1.5" />
  437. <TypeIdentifier>
  438. <HashCode>QAQAAAAAAAABIQQAAAAAAAAAAAAAAAACAAAAAAAAEAA=</HashCode>
  439. <FileName>Drivers\V2\IMainLoop.cs</FileName>
  440. </TypeIdentifier>
  441. </Interface>
  442. <Interface Name="Terminal.Gui.Drivers.IConsoleOutput" Collapsed="true">
  443. <Position X="14" Y="7.5" Width="1.5" />
  444. <TypeIdentifier>
  445. <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAMAAAAAEAAAA=</HashCode>
  446. <FileName>Drivers\V2\IConsoleOutput.cs</FileName>
  447. </TypeIdentifier>
  448. </Interface>
  449. <Interface Name="Terminal.Gui.Drivers.IOutputBuffer" Collapsed="true">
  450. <Position X="11" Y="7.25" Width="1.5" />
  451. <TypeIdentifier>
  452. <HashCode>AQAAAAAAAIAAAEAIAAAAQIAAAAEMRgAACAAAKABAgAA=</HashCode>
  453. <FileName>Drivers\V2\IOutputBuffer.cs</FileName>
  454. </TypeIdentifier>
  455. </Interface>
  456. <Interface Name="Terminal.Gui.Drivers.IInputProcessor">
  457. <Position X="14" Y="4.5" Width="1.5" />
  458. <TypeIdentifier>
  459. <HashCode>AAAkAAAAAACAgAAAAAggAAAABAIAAAAAAAAAAAAEAAA=</HashCode>
  460. <FileName>Drivers\V2\IInputProcessor.cs</FileName>
  461. </TypeIdentifier>
  462. </Interface>
  463. <Interface Name="Terminal.Gui.Drivers.IHeld">
  464. <Position X="23.75" Y="6.5" Width="1.75" />
  465. <TypeIdentifier>
  466. <HashCode>AAAAAAAAAAIAACAAAAAAAIBAAAAAAACAAAAAAAAAAAA=</HashCode>
  467. <FileName>Drivers\AnsiResponseParser\IHeld.cs</FileName>
  468. </TypeIdentifier>
  469. </Interface>
  470. <Interface Name="Terminal.Gui.Drivers.IAnsiResponseParser">
  471. <Position X="20.25" Y="5.25" Width="2" />
  472. <TypeIdentifier>
  473. <HashCode>AAAAQAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAJAAAAAA=</HashCode>
  474. <FileName>Drivers\AnsiResponseParser\IAnsiResponseParser.cs</FileName>
  475. </TypeIdentifier>
  476. <ShowAsAssociation>
  477. <Property Name="State" />
  478. </ShowAsAssociation>
  479. </Interface>
  480. <Interface Name="Terminal.Gui.Drivers.IMainLoopCoordinator" Collapsed="true">
  481. <Position X="6.5" Y="0.5" Width="2" />
  482. <TypeIdentifier>
  483. <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIQIAAAAAAAA=</HashCode>
  484. <FileName>Drivers\V2\IMainLoopCoordinator.cs</FileName>
  485. </TypeIdentifier>
  486. </Interface>
  487. <Interface Name="Terminal.Gui.Drivers.IWindowSizeMonitor" Collapsed="true">
  488. <Position X="13.25" Y="13" Width="1.75" />
  489. <TypeIdentifier>
  490. <HashCode>AAAAAAAAAAAAAAAEAAAAAAAAAAAACAAAAAAAAAAAAAA=</HashCode>
  491. <FileName>Drivers\V2\IWindowSizeMonitor.cs</FileName>
  492. </TypeIdentifier>
  493. </Interface>
  494. <Interface Name="Terminal.Gui.Drivers.IKeyConverter&lt;T&gt;" Collapsed="true">
  495. <Position X="17" Y="6.5" Width="1.75" />
  496. <TypeIdentifier>
  497. <HashCode>AAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
  498. <FileName>Drivers\V2\IKeyConverter.cs</FileName>
  499. </TypeIdentifier>
  500. </Interface>
  501. <Interface Name="Terminal.Gui.Drivers.IToplevelTransitionManager">
  502. <Position X="9.25" Y="12" Width="2.25" />
  503. <TypeIdentifier>
  504. <HashCode>AIAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
  505. <FileName>Drivers\V2\IToplevelTransitionManager.cs</FileName>
  506. </TypeIdentifier>
  507. </Interface>
  508. <Interface Name="Terminal.Gui.Drivers.IConsoleDriverFacade">
  509. <Position X="4.5" Y="8.75" Width="1.75" />
  510. <TypeIdentifier>
  511. <HashCode>AAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
  512. <FileName>Drivers\V2\IConsoleDriverFacade.cs</FileName>
  513. </TypeIdentifier>
  514. </Interface>
  515. <Interface Name="Terminal.Gui.Drivers.INetInput" Collapsed="true">
  516. <Position X="14.25" Y="2" Width="1.75" />
  517. <TypeIdentifier>
  518. <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
  519. <FileName>Drivers\V2\INetInput.cs</FileName>
  520. </TypeIdentifier>
  521. </Interface>
  522. <Interface Name="Terminal.Gui.Drivers.IWindowsInput" Collapsed="true">
  523. <Position X="10.75" Y="2" Width="1.5" />
  524. <TypeIdentifier>
  525. <HashCode>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
  526. <FileName>Drivers\V2\IWindowsInput.cs</FileName>
  527. </TypeIdentifier>
  528. </Interface>
  529. <Interface Name="Terminal.Gui.App.ITimedEvents">
  530. <Position X="9.25" Y="7.25" Width="1.5" />
  531. <Compartments>
  532. <Compartment Name="Methods" Collapsed="true" />
  533. </Compartments>
  534. <TypeIdentifier>
  535. <HashCode>CAIAAAAAAQAAAAAAAAAABEAAAAAABAAAAAAAAAAAAAA=</HashCode>
  536. <FileName>App\ITimedEvents.cs</FileName>
  537. </TypeIdentifier>
  538. </Interface>
  539. <Interface Name="Terminal.Gui.App.IApplication">
  540. <Position X="3" Y="1" Width="1.5" />
  541. <TypeIdentifier>
  542. <HashCode>AAAgAAAAAAAIAgQUAAAAAQAAAAAAAAAAAAAKAAAAEAI=</HashCode>
  543. <FileName>App\IApplication.cs</FileName>
  544. </TypeIdentifier>
  545. </Interface>
  546. <Enum Name="Terminal.Gui.Drivers.AnsiResponseParserState">
  547. <Position X="20.25" Y="7.25" Width="2" />
  548. <TypeIdentifier>
  549. <HashCode>AAAAAAAAAAAAAAAAAAAACAAAAAAIAAIAAAAAAAAAAAA=</HashCode>
  550. <FileName>Drivers\AnsiResponseParser\AnsiResponseParserState.cs</FileName>
  551. </TypeIdentifier>
  552. </Enum>
  553. <Font Name="Segoe UI" Size="9" />
  554. </ClassDiagram>