From cfdbd263d2a3be1d50c9c3231d936fadf5893e8e Mon Sep 17 00:00:00 2001 From: Wizzup? Date: Sat, 28 Nov 2009 19:25:05 +0000 Subject: [PATCH] Added some more sample docs git-svn-id: http://www.villavu.com/repositories/merlijn/mufasa@245 3f818213-9676-44b0-a9b4-5e4c4e03d09d --- Doc/mufasa_ps_handbook.tex | 225 ++++++++++++++++++++++++++++++++++++- 1 file changed, 223 insertions(+), 2 deletions(-) diff --git a/Doc/mufasa_ps_handbook.tex b/Doc/mufasa_ps_handbook.tex index 13a2c1a..b171ed9 100644 --- a/Doc/mufasa_ps_handbook.tex +++ b/Doc/mufasa_ps_handbook.tex @@ -89,7 +89,185 @@ Most of the low level Keyboard functions use Virtual Keys. \subsection{Virtual Keys} -List of VK Keys here +Virtual Keys originate from MS Windows, and we've added support for them. +Virtual Keys also work on non-Windows operating systems. + +\begin{itemize} +\item UNKNOWN: 0 +\item LBUTTON: 1 +\item RBUTTON: 2 +\item CANCEL: 3 +\item MBUTTON: 4 +\item XBUTTON1: 5 +\item XBUTTON2: 6 +\item BACK: 8 +\item TAB: 9 +\item CLEAR: 12 +\item RETURN: 13 +\item SHIFT: 16 +\item CONTROL: 17 +\item MENU: 18 +\item PAUSE: 19 +\item CAPITAL: 20 +\item KANA: 21 +\item HANGUL: 21 +\item JUNJA: 23 +\item FINAL: 24 +\item HANJA: 25 +\item KANJI: 25 +\item ESCAPE: 27 +\item CONVERT: 28 +\item NONCONVERT: 29 +\item ACCEPT: 30 +\item MODECHANGE: 31 +\item SPACE: 32 +\item PRIOR: 33 +\item NEXT: 34 +\item END: 35 +\item HOME: 36 +\item LEFT: 37 +\item UP: 38 +\item RIGHT: 39 +\item DOWN: 40 +\item SELECT: 41 +\item PRINT: 42 +\item EXECUTE: 43 +\item SNAPSHOT: 44 +\item INSERT: 45 +\item DELETE: 46 +\item HELP: 47 +\item 0: \$30 +\item 1: \$31 +\item 2: \$32 +\item 3: \$33 +\item 4: \$34 +\item 5: \$35 +\item 6: \$36 +\item 7: \$37 +\item 8: \$38 +\item 9: \$39 +\item A: \$41 +\item B: \$42 +\item C: \$43 +\item D: \$44 +\item E: \$45 +\item F: \$46 +\item G: \$47 +\item H: \$48 +\item I: \$49 +\item J: \$4A +\item K: \$4B +\item L: \$4C +\item M: \$4D +\item N: \$4E +\item O: \$4F +\item P: \$50 +\item Q: \$51 +\item R: \$52 +\item S: \$53 +\item T: \$54 +\item U: \$55 +\item V: \$56 +\item W: \$57 +\item X: \$58 +\item Y: \$59 +\item Z: \$5A +\item LWIN: \$5B +\item RWIN: \$5C +\item APPS: \$5D +\item SLEEP: \$5F +\item NUMPAD0: 96 +\item NUMPAD1: 97 +\item NUMPAD2: 98 +\item NUMPAD3: 99 +\item NUMPAD4: 100 +\item NUMPAD5: 101 +\item NUMPAD6: 102 +\item NUMPAD7: 103 +\item NUMPAD8: 104 +\item NUMPAD9: 105 +\item MULTIPLY: 106 +\item ADD: 107 +\item SEPARATOR: 108 +\item SUBTRACT: 109 +\item DECIMAL: 110 +\item DIVIDE: 111 +\item F1: 112 +\item F2: 113 +\item F3: 114 +\item F4: 115 +\item F5: 116 +\item F6: 117 +\item F7: 118 +\item F8: 119 +\item F9: 120 +\item F10: 121 +\item F11: 122 +\item F12: 123 +\item F13: 124 +\item F14: 125 +\item F15: 126 +\item F16: 127 +\item F17: 128 +\item F18: 129 +\item F19: 130 +\item F20: 131 +\item F21: 132 +\item F22: 133 +\item F23: 134 +\item F24: 135 +\item NUMLOCK: \$90 +\item SCROLL: \$91 +\item LSHIFT: \$A0 +\item RSHIFT: \$A1 +\item LCONTROL: \$A2 +\item RCONTROL: \$A3 +\item LMENU: \$A4 +\item RMENU: \$A5 +\item BROWSER\_BACK: \$A6 +\item BROWSER\_FORWARD: \$A7 +\item BROWSER\_REFRESH: \$A8 +\item BROWSER\_STOP: \$A9 +\item BROWSER\_SEARCH: \$AA +\item BROWSER\_FAVORITES: \$AB +\item BROWSER\_HOME: \$AC +\item VOLUME\_MUTE: \$AD +\item VOLUME\_DOWN: \$AE +\item VOLUME\_UP: \$AF +\item MEDIA\_NEXT\_TRACK: \$B0 +\item MEDIA\_PREV\_TRACK: \$B1 +\item MEDIA\_STOP: \$B2 +\item MEDIA\_PLAY\_PAUSE: \$B3 +\item LAUNCH\_MAIL: \$B4 +\item LAUNCH\_MEDIA\_SELECT: \$B5 +\item LAUNCH\_APP1: \$B6 +\item LAUNCH\_APP2: \$B7 +\item OEM\_1: \$BA +\item OEM\_PLUS: \$BB +\item OEM\_COMMA: \$BC +\item OEM\_MINUS: \$BD +\item OEM\_PERIOD: \$BE +\item OEM\_2: \$BF +\item OEM\_3: \$C0 +\item OEM\_4: \$DB +\item OEM\_5: \$DC +\item OEM\_6: \$DD +\item OEM\_7: \$DE +\item OEM\_8: \$DF +\item OEM\_102: \$E2 +\item PROCESSKEY: \$E7 +\item ATTN: \$F6 +\item CRSEL: \$F7 +\item EXSEL: \$F8 +\item EREOF: \$F9 +\item PLAY: \$FA +\item ZOOM: \$FB +\item NONAME: \$FC +\item PA1: \$FD +\item OEM\_CLEAR: \$FE +\item HIGHESTVALUE: \$FE +\item UNDEFINED: \$FF +\end{itemize} \subsection{KeyDown} @@ -160,14 +338,57 @@ result of IsKeyDown: \section{DTMs} +Deformable Template Models are a special approach to finding +objects. One can specify several points, and colours and tolerances +for these points. + \subsection{Types} +Mufasa's DTM type: + +\begin{verbatim} + pDTM = record + p: TPointArray; + c, t, asz, ash: TIntegerArray; + end; +\end{verbatim} + +Deprecated DTM type: + +\begin{verbatim} + TDTMPointDef = record + x, y, Color, Tolerance, AreaSize, AreaShape: integer; + end; + + TDTMPointDefArray = Array Of TDTMPointDef; + + TDTM = record + MainPoint: TDTMPointDef; + SubPoints: TDTMPointDefArray; + end; +\end{verbatim} + \subsection{FindDTM} -I CAN HAS DTM FINDING! +\textbf{function} {\color{blue}{FindDTM}}({\color{typeRed}{DTM: }} +{\color{typeGreen}{Integer}}; {\color{typeRed}{Var x, y: }} +{\color{typeGreen}{Integer}}) {\color{typeGreen}{: Boolean}}; \\ + +FindDTM is the most basic DTM finding function. It takes a box to search in, +and if the DTM is found, it will set $x$ and $y$ to the coordinate the DTM +was found it, and it will also return true. Else, it returns false. +Once a DTM is found, it will stop searching. In other words; it always returns +the first found DTM. \subsection{FindDTMs} +\textbf{function} {\color{blue}{FindDTMs}}({\color{typeRed}{DTM: }} +{\color{typeGreen}{Integer}}; {\color{typeRed}{Var Points: }} +{\color{typeGreen}{TPointArray}}){\color{typeGreen}{: Boolean}}; \\ + +FindDTMs is like FindDTM, but it returns an array of $x$ and $y$, as the +$TPointArray$ type. + \subsection{FindDTMRotated} \subsection{FindDTMsRotated}