] by
chw
2020-02-09 17:19:01.
0000: 44 20 32 30 32 30 2d 30 32 2d 30 39 54 31 37 3a D 2020-02-09T17:
0010: 31 39 3a 30 31 2e 34 37 30 0a 4c 20 73 64 6c 74 19:01.470.L sdlt
0020: 6b 5c 73 63 6f 6d 6d 61 6e 64 0a 50 20 34 30 66 k\scommand.P 40f
0030: 36 37 65 61 62 38 63 62 30 31 33 39 65 63 33 39 67eab8cb0139ec39
0040: 35 33 31 30 33 65 39 39 39 30 37 36 66 64 32 39 53103e999076fd29
0050: 38 61 30 63 36 0a 55 20 63 68 77 0a 57 20 32 30 8a0c6.U chw.W 20
0060: 38 30 37 0a 3c 68 32 3e 73 64 6c 74 6b 20 63 6f 807.<h2>sdltk co
0070: 6d 6d 61 6e 64 3c 2f 68 32 3e 0d 0a 0d 0a 3c 68 mmand</h2>....<h
0080: 33 3e 4e 61 6d 65 3c 2f 68 33 3e 0d 0a 0d 0a 3c 3>Name</h3>....<
0090: 62 3e 73 64 6c 74 6b 3c 2f 62 3e 20 2d 20 65 78 b>sdltk</b> - ex
00a0: 70 6f 73 75 72 65 20 6f 66 20 74 68 65 20 53 44 posure of the SD
00b0: 4c 32 20 28 53 69 6d 70 6c 65 20 44 69 72 65 63 L2 (Simple Direc
00c0: 74 4d 65 64 69 61 20 4c 61 79 65 72 29 20 41 50 tMedia Layer) AP
00d0: 49 2e 0d 0a 0d 0a 3c 68 33 3e 53 79 6e 6f 70 73 I.....<h3>Synops
00e0: 69 73 3c 2f 68 33 3e 0d 0a 0d 0a 3c 74 74 3e 73 is</h3>....<tt>s
00f0: 64 6c 74 6b 20 3c 69 3e 6f 70 74 69 6f 6e 3c 2f dltk <i>option</
0100: 69 3e 20 3f 3c 69 3e 61 72 67 20 2e 2e 2e 3c 2f i> ?<i>arg ...</
0110: 69 3e 3f 3c 2f 74 74 3e 0d 0a 0d 0a 3c 68 33 3e i>?</tt>....<h3>
0120: 44 65 73 63 72 69 70 74 69 6f 6e 3c 2f 68 33 3e Description</h3>
0130: 0d 0a 0d 0a 54 68 69 73 20 63 6f 6d 6d 61 6e 64 ....This command
0140: 20 69 73 20 75 73 65 64 20 74 6f 20 63 6f 6e 74 is used to cont
0150: 72 6f 6c 20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 rol portions of
0160: 74 68 65 20 41 6e 64 72 6f 69 64 20 28 6f 72 20 the Android (or
0170: 57 69 6e 64 6f 77 73 20 6f 72 20 4c 69 6e 75 78 Windows or Linux
0180: 29 20 73 79 73 74 65 6d 20 74 68 61 74 20 74 68 ) system that th
0190: 65 20 53 44 4c 32 20 66 72 61 6d 65 77 6f 72 6b e SDL2 framework
01a0: 20 65 78 70 6f 73 65 73 2e 20 41 63 74 75 61 6c exposes. Actual
01b0: 20 64 61 74 61 20 70 72 6f 63 65 73 73 69 6e 67 data processing
01c0: 20 66 6f 72 20 74 68 69 73 20 66 72 61 6d 65 77 for this framew
01d0: 6f 72 6b 20 69 73 20 61 63 68 69 65 76 65 64 20 ork is achieved
01e0: 62 79 20 68 61 76 69 6e 67 20 68 61 6e 64 6c 65 by having handle
01f0: 72 73 20 66 6f 72 20 76 69 72 74 75 61 6c 20 65 rs for virtual e
0200: 76 65 6e 74 73 2e 0d 0a 0d 0a 3c 74 74 3e 73 64 vents.....<tt>sd
0210: 6c 74 6b 20 70 6f 77 65 72 69 6e 66 6f 3c 2f 74 ltk powerinfo</t
0220: 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 74 75 72 6e t>.... Return
0230: 73 20 61 20 6c 69 73 74 20 6f 66 20 6b 65 79 2d s a list of key-
0240: 76 61 6c 75 65 20 70 61 69 72 73 20 64 65 73 63 value pairs desc
0250: 72 69 62 69 6e 67 20 74 68 65 20 73 74 61 74 65 ribing the state
0260: 20 6f 66 20 74 68 65 20 62 61 74 74 65 72 79 2e of the battery.
0270: 20 54 68 65 20 6b 65 79 73 20 61 72 65 20 3c 74 The keys are <t
0280: 74 3e 73 74 61 74 65 3c 2f 74 74 3e 2c 20 3c 74 t>state</tt>, <t
0290: 74 3e 73 65 63 6f 6e 64 73 3c 2f 74 74 3e 2c 20 t>seconds</tt>,
02a0: 61 6e 64 20 3c 74 74 3e 70 65 72 63 65 6e 74 3c and <tt>percent<
02b0: 2f 74 74 3e 2e 20 54 68 65 20 70 6f 73 73 69 62 /tt>. The possib
02c0: 6c 65 20 76 61 6c 75 65 73 20 66 6f 72 20 74 68 le values for th
02d0: 65 20 73 74 61 74 65 20 61 72 65 20 3c 74 74 3e e state are <tt>
02e0: 6f 6e 62 61 74 74 65 72 79 3c 2f 74 74 3e 2c 20 onbattery</tt>,
02f0: 3c 74 74 3e 6e 6f 62 61 74 74 65 72 79 3c 2f 74 <tt>nobattery</t
0300: 74 3e 2c 20 3c 74 74 3e 63 68 61 72 67 69 6e 67 t>, <tt>charging
0310: 3c 2f 74 74 3e 2c 20 3c 74 74 3e 63 68 61 72 67 </tt>, <tt>charg
0320: 65 64 3c 2f 74 74 3e 2c 20 61 6e 64 20 3c 74 74 ed</tt>, and <tt
0330: 3e 75 6e 6b 6e 6f 77 6e 3c 2f 74 74 3e 2e 20 54 >unknown</tt>. T
0340: 68 65 20 6f 74 68 65 72 20 69 74 65 6d 73 20 61 he other items a
0350: 72 65 20 72 65 70 6f 72 74 65 64 20 61 73 20 69 re reported as i
0360: 6e 74 65 67 65 72 20 6e 75 6d 62 65 72 73 2e 0d nteger numbers..
0370: 0a 0d 0a 3c 74 74 3e 73 64 6c 74 6b 20 61 63 63 ...<tt>sdltk acc
0380: 65 6c 65 72 6f 6d 65 74 65 72 20 6f 6e 7c 6f 66 elerometer on|of
0390: 66 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 54 75 f</tt>.... Tu
03a0: 72 6e 73 20 65 76 65 6e 74 20 72 65 70 6f 72 74 rns event report
03b0: 69 6e 67 20 6f 66 20 74 68 65 20 64 65 76 69 63 ing of the devic
03c0: 65 27 73 20 61 63 63 65 6c 65 72 6f 6d 65 74 65 e's acceleromete
03d0: 72 20 6f 6e 20 6f 72 20 6f 66 66 2e 20 43 72 65 r on or off. Cre
03e0: 61 74 65 73 20 74 6f 70 2d 6c 65 76 65 6c 20 76 ates top-level v
03f0: 69 72 74 75 61 6c 20 65 76 65 6e 74 73 20 3c 74 irtual events <t
0400: 74 3e 3c 3c 41 63 63 65 6c 65 72 6f 6d 65 74 65 t><<Acceleromete
0410: 72 3e 3e 3c 2f 74 74 3e 20 77 68 65 6e 20 74 75 r>></tt> when tu
0420: 72 6e 65 64 20 6f 6e 2e 20 54 68 69 73 20 63 6f rned on. This co
0430: 6d 6d 61 6e 64 20 69 73 20 6e 6f 74 20 75 73 61 mmand is not usa
0440: 62 6c 65 20 6f 6e 20 57 69 6e 64 6f 77 73 20 61 ble on Windows a
0450: 6e 64 20 4c 69 6e 75 78 2e 0d 0a 0d 0a 3c 74 74 nd Linux.....<tt
0460: 3e 73 64 6c 74 6b 20 61 63 63 65 6c 62 75 66 66 >sdltk accelbuff
0470: 65 72 20 3c 69 3e 61 78 69 73 3c 2f 69 3e 3c 2f er <i>axis</i></
0480: 74 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 74 75 72 tt>.... Retur
0490: 6e 73 20 74 68 65 20 61 63 63 65 6c 65 72 6f 6d ns the accelerom
04a0: 65 74 65 72 20 76 61 6c 75 65 73 20 66 6f 72 20 eter values for
04b0: 3c 74 74 3e 3c 69 3e 61 78 69 73 3c 2f 69 3e 3c <tt><i>axis</i><
04c0: 2f 74 74 3e 20 28 31 2e 2e 33 29 20 77 68 69 63 /tt> (1..3) whic
04d0: 68 20 68 61 76 65 20 62 65 65 6e 20 72 65 61 64 h have been read
04e0: 20 64 75 72 69 6e 67 20 74 68 65 20 6c 61 73 74 during the last
04f0: 20 73 65 63 6f 6e 64 20 61 73 20 61 20 6c 69 73 second as a lis
0500: 74 20 6f 66 20 69 6e 74 65 67 65 72 20 76 61 6c t of integer val
0510: 75 65 73 20 69 6e 20 74 68 65 20 72 61 6e 67 65 ues in the range
0520: 20 2d 33 32 37 36 38 20 2e 2e 20 33 32 37 36 37 -32768 .. 32767
0530: 2e 20 54 68 65 20 74 69 6d 65 20 72 65 73 6f 6c . The time resol
0540: 75 74 69 6f 6e 20 69 73 20 69 64 65 6e 74 69 63 ution is identic
0550: 61 6c 20 77 69 74 68 20 74 68 65 20 66 72 61 6d al with the fram
0560: 65 72 61 74 65 20 28 32 30 20 6d 73 29 2e 20 54 erate (20 ms). T
0570: 68 65 20 76 61 6c 75 65 73 20 63 61 6e 20 62 65 he values can be
0580: 20 72 65 61 64 20 6f 75 74 20 61 6e 79 74 69 6d read out anytim
0590: 65 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 6f 66 e independent of
05a0: 20 74 68 65 20 61 63 63 65 6c 65 72 6f 6d 65 74 the acceleromet
05b0: 65 72 20 65 76 65 6e 74 20 65 6e 61 62 6c 65 20 er event enable
05c0: 73 74 61 74 65 2e 20 54 68 65 20 62 75 66 66 65 state. The buffe
05d0: 72 20 69 73 20 66 69 6c 6c 65 64 20 62 61 73 65 r is filled base
05e0: 64 20 6f 6e 20 6f 63 63 75 72 72 65 6e 63 65 73 d on occurrences
05f0: 20 6f 66 20 74 68 65 20 3c 74 74 3e 3c 3c 41 63 of the <tt><<Ac
0600: 63 65 6c 65 72 6f 6d 65 74 65 72 3e 3e 3c 2f 74 celerometer>></t
0610: 74 3e 20 76 69 72 74 75 61 6c 20 65 76 65 6e 74 t> virtual event
0620: 2c 20 6d 69 73 73 65 64 20 76 61 6c 75 65 73 20 , missed values
0630: 77 69 74 68 20 72 65 73 70 65 63 74 20 74 6f 20 with respect to
0640: 74 68 65 20 66 72 61 6d 65 72 61 74 65 20 61 72 the framerate ar
0650: 65 20 69 6e 74 65 72 70 6f 6c 61 74 65 64 2e 20 e interpolated.
0660: 54 68 69 73 20 63 6f 6d 6d 61 6e 64 20 69 73 20 This command is
0670: 6e 6f 74 20 75 73 61 62 6c 65 20 6f 6e 20 57 69 not usable on Wi
0680: 6e 64 6f 77 73 20 61 6e 64 20 4c 69 6e 75 78 2e ndows and Linux.
0690: 0d 0a 0d 0a 3c 74 74 3e 73 64 6c 74 6b 20 74 65 ....<tt>sdltk te
06a0: 78 74 69 6e 70 75 74 20 3f 6f 6e 7c 6f 66 66 20 xtinput ?on|off
06b0: 3f 3c 69 3e 78 20 79 3c 2f 69 3e 20 3f 3c 69 3e ?<i>x y</i> ?<i>
06c0: 68 69 6e 74 3c 2f 69 3e 3f 3f 3f 3c 2f 74 74 3e hint</i>???</tt>
06d0: 0d 0a 0d 0a 20 20 20 20 52 65 74 75 72 6e 73 20 .... Returns
06e0: 74 68 65 20 73 74 61 74 65 20 6f 66 20 74 68 65 the state of the
06f0: 20 76 69 72 74 75 61 6c 20 6b 65 79 62 6f 61 72 virtual keyboar
0700: 64 20 6f 72 20 73 77 69 74 63 68 65 73 20 74 68 d or switches th
0710: 65 20 76 69 72 74 75 61 6c 20 6b 65 79 62 6f 61 e virtual keyboa
0720: 72 64 20 6f 6e 20 6f 72 20 6f 66 66 2e 20 54 68 rd on or off. Th
0730: 65 20 6f 70 74 69 6f 6e 61 6c 20 63 6f 6f 72 64 e optional coord
0740: 69 6e 61 74 65 20 70 61 69 72 20 69 73 20 61 20 inate pair is a
0750: 68 69 6e 74 20 66 6f 72 20 74 68 65 20 73 79 73 hint for the sys
0760: 74 65 6d 20 77 68 65 72 65 20 74 68 65 20 69 6e tem where the in
0770: 73 65 72 74 69 6f 6e 20 63 75 72 73 6f 72 20 69 sertion cursor i
0780: 73 20 64 69 73 70 6c 61 79 65 64 20 69 6e 20 73 s displayed in s
0790: 63 72 65 65 6e 20 63 6f 6f 72 64 69 6e 61 74 65 creen coordinate
07a0: 73 2e 20 54 68 69 73 20 61 6c 6c 6f 77 73 20 74 s. This allows t
07b0: 68 65 20 73 79 73 74 65 6d 20 74 6f 20 20 61 64 he system to ad
07c0: 6a 75 73 74 20 74 68 65 20 61 70 70 6c 69 63 61 just the applica
07d0: 74 69 6f 6e 27 73 20 73 63 72 65 65 6e 20 69 6e tion's screen in
07e0: 20 6f 72 64 65 72 20 74 6f 20 64 69 73 70 6c 61 order to displa
07f0: 79 20 74 68 65 20 69 6e 73 65 72 74 69 6f 6e 20 y the insertion
0800: 63 75 72 73 6f 72 20 77 68 65 6e 20 74 68 65 20 cursor when the
0810: 76 69 72 74 75 61 6c 20 6b 65 79 62 6f 61 72 64 virtual keyboard
0820: 20 69 73 20 61 63 74 69 76 65 2e 20 54 68 65 20 is active. The
0830: 3c 74 74 3e 65 6e 74 72 79 3c 2f 74 74 3e 2c 20 <tt>entry</tt>,
0840: 3c 74 74 3e 74 74 6b 3a 3a 65 6e 74 72 79 3c 2f <tt>ttk::entry</
0850: 74 74 3e 2c 20 3c 74 74 3e 74 65 78 74 3c 2f 74 tt>, <tt>text</t
0860: 74 3e 2c 20 61 6e 64 20 3c 74 74 3e 73 70 69 6e t>, and <tt>spin
0870: 62 6f 78 3c 2f 74 74 3e 20 77 69 64 67 65 74 73 box</tt> widgets
0880: 20 68 61 76 65 20 73 74 61 6e 64 61 72 64 20 62 have standard b
0890: 69 6e 64 69 6e 67 73 20 77 68 69 63 68 20 61 63 indings which ac
08a0: 74 69 76 61 74 65 20 74 65 78 74 20 69 6e 70 75 tivate text inpu
08b0: 74 20 6f 6e 20 6c 65 66 74 20 6d 6f 75 73 65 20 t on left mouse
08c0: 62 75 74 74 6f 6e 20 70 72 65 73 73 20 28 6f 72 button press (or
08d0: 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 75 63 equivalent touc
08e0: 68 20 65 76 65 6e 74 29 20 69 66 20 74 68 65 20 h event) if the
08f0: 77 69 64 67 65 74 27 73 20 73 74 61 74 65 20 69 widget's state i
0900: 73 20 6e 6f 74 20 64 69 73 61 62 6c 65 64 2e 20 s not disabled.
0910: 41 63 74 69 76 61 74 69 6f 6e 20 6f 66 20 74 65 Activation of te
0920: 78 74 20 69 6e 70 75 74 20 66 6f 72 20 74 68 65 xt input for the
0930: 73 65 20 77 69 64 67 65 74 73 20 63 61 6e 20 62 se widgets can b
0940: 65 20 74 75 72 6e 65 64 20 6f 66 66 20 65 6e 74 e turned off ent
0950: 69 72 65 6c 79 20 62 79 20 70 72 6f 76 69 64 69 irely by providi
0960: 6e 67 20 61 20 64 75 6d 6d 79 20 62 69 6e 64 74 ng a dummy bindt
0970: 61 67 20 6e 61 6d 65 64 20 3c 74 74 3e 53 64 6c ag named <tt>Sdl
0980: 54 6b 4e 6f 54 65 78 74 49 6e 70 75 74 3c 2f 74 TkNoTextInput</t
0990: 74 3e 2e 20 41 6e 64 72 6f 69 64 20 73 70 65 63 t>. Android spec
09a0: 69 66 69 63 3a 20 74 68 65 20 3c 74 74 3e 3c 69 ific: the <tt><i
09b0: 3e 68 69 6e 74 3c 2f 69 3e 3c 2f 74 74 3e 20 70 >hint</i></tt> p
09c0: 61 72 61 6d 65 74 65 72 20 69 73 20 61 6e 20 69 arameter is an i
09d0: 6e 74 65 67 65 72 20 77 68 69 63 68 20 63 6f 6e nteger which con
09e0: 74 72 6f 6c 73 20 74 68 65 20 6b 69 6e 64 20 6f trols the kind o
09f0: 66 20 76 69 72 74 75 61 6c 20 6b 65 79 62 6f 61 f virtual keyboa
0a00: 72 64 20 74 6f 20 62 65 20 64 69 73 70 6c 61 79 rd to be display
0a10: 65 64 2e 20 4b 6e 6f 77 6e 20 76 61 6c 75 65 73 ed. Known values
0a20: 20 61 72 65 20 30 20 28 6e 6f 72 6d 61 6c 20 6b are 0 (normal k
0a30: 65 79 62 6f 61 72 64 29 2c 20 32 20 28 6e 75 6d eyboard), 2 (num
0a40: 62 65 72 20 69 6e 70 75 74 29 2c 20 33 20 28 70 ber input), 3 (p
0a50: 68 6f 6e 65 20 6e 75 6d 62 65 72 20 69 6e 70 75 hone number inpu
0a60: 74 29 2c 20 34 20 28 64 61 74 65 2f 74 69 6d 65 t), 4 (date/time
0a70: 20 69 6e 70 75 74 29 2e 0d 0a 0d 0a 3c 74 74 3e input).....<tt>
0a80: 73 64 6c 74 6b 20 61 6e 64 72 6f 69 64 3c 2f 74 sdltk android</t
0a90: 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 74 75 72 6e t>.... Return
0aa0: 73 20 74 72 75 65 20 77 68 65 6e 20 72 75 6e 6e s true when runn
0ab0: 69 6e 67 20 6f 6e 20 41 6e 64 72 6f 69 64 2c 20 ing on Android,
0ac0: 66 61 6c 73 65 20 6f 74 68 65 72 77 69 73 65 2c false otherwise,
0ad0: 20 69 2e 65 2e 20 77 68 65 6e 20 62 75 69 6c 74 i.e. when built
0ae0: 20 66 6f 72 20 57 69 6e 64 6f 77 73 20 6f 72 20 for Windows or
0af0: 4c 69 6e 75 78 20 70 6c 61 74 66 6f 72 6d 73 2e Linux platforms.
0b00: 0d 0a 0d 0a 3c 74 74 3e 73 64 6c 74 6b 20 66 72 ....<tt>sdltk fr
0b10: 61 6d 65 62 75 66 66 65 72 3c 2f 74 74 3e 0d 0a amebuffer</tt>..
0b20: 0d 0a 20 20 20 20 52 65 74 75 72 6e 73 20 74 72 .. Returns tr
0b30: 75 65 20 77 68 65 6e 20 74 68 65 20 76 69 64 65 ue when the vide
0b40: 6f 20 64 72 69 76 65 72 20 72 65 73 65 6d 62 6c o driver resembl
0b50: 65 73 20 61 20 66 72 61 6d 65 62 75 66 66 65 72 es a framebuffer
0b60: 2c 20 69 2e 65 2e 20 6e 6f 20 77 69 6e 64 6f 77 , i.e. no window
0b70: 69 6e 67 20 6d 61 6e 61 67 65 72 20 69 73 20 61 ing manager is a
0b80: 76 61 69 6c 61 62 6c 65 2e 20 43 75 72 72 65 6e vailable. Curren
0b90: 74 6c 79 20 74 68 69 73 20 69 73 20 74 68 65 20 tly this is the
0ba0: 63 61 73 65 20 66 6f 72 20 41 6e 64 72 6f 69 64 case for Android
0bb0: 2c 20 74 68 65 20 52 61 73 70 62 65 72 72 79 20 , the Raspberry
0bc0: 50 69 20 76 69 64 65 6f 20 64 72 69 76 65 72 20 Pi video driver
0bd0: 28 52 50 49 29 2c 20 74 68 65 20 4c 69 6e 75 78 (RPI), the Linux
0be0: 20 4b 4d 53 44 52 4d 20 76 69 64 65 6f 20 64 72 KMSDRM video dr
0bf0: 69 76 65 72 2c 20 61 6e 64 20 74 68 65 20 6a 73 iver, and the js
0c00: 6d 70 65 67 20 76 69 64 65 6f 20 64 72 69 76 65 mpeg video drive
0c10: 72 2e 0d 0a 0d 0a 3c 74 74 3e 73 64 6c 74 6b 20 r.....<tt>sdltk
0c20: 69 73 61 6e 64 72 6f 69 64 74 76 3c 2f 74 74 3e isandroidtv</tt>
0c30: 0d 0a 0d 0a 20 20 20 20 52 65 74 75 72 6e 73 20 .... Returns
0c40: 74 72 75 65 20 77 68 65 6e 20 72 75 6e 6e 69 6e true when runnin
0c50: 67 20 6f 6e 20 61 6e 20 41 6e 64 72 6f 69 64 54 g on an AndroidT
0c60: 56 20 64 65 76 69 63 65 20 28 63 75 72 72 65 6e V device (curren
0c70: 74 6c 79 20 75 6e 74 65 73 74 65 64 29 2e 0d 0a tly untested)...
0c80: 0d 0a 3c 74 74 3e 73 64 6c 74 6b 20 69 73 63 68 ..<tt>sdltk isch
0c90: 72 6f 6d 65 62 6f 6f 6b 3c 2f 74 74 3e 0d 0a 0d romebook</tt>...
0ca0: 0a 20 20 20 20 52 65 74 75 72 6e 73 20 74 72 75 . Returns tru
0cb0: 65 20 77 68 65 6e 20 72 75 6e 6e 69 6e 67 20 6f e when running o
0cc0: 6e 20 61 20 43 68 72 6f 6d 65 62 6f 6f 6b 20 28 n a Chromebook (
0cd0: 63 75 72 72 65 6e 74 6c 79 20 75 6e 74 65 73 74 currently untest
0ce0: 65 64 29 2e 0d 0a 0d 0a 3c 74 74 3e 73 64 6c 74 ed).....<tt>sdlt
0cf0: 6b 20 6d 61 78 72 6f 6f 74 3c 2f 74 74 3e 0d 0a k maxroot</tt>..
0d00: 0d 0a 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 .. Returns th
0d10: 65 20 6d 61 78 69 6d 75 6d 20 73 69 7a 65 20 6f e maximum size o
0d20: 66 20 74 68 65 20 72 6f 6f 74 20 77 69 6e 64 6f f the root windo
0d30: 77 20 61 73 20 74 77 6f 20 65 6c 65 6d 65 6e 74 w as two element
0d40: 20 6c 69 73 74 20 6d 61 64 65 20 75 70 20 6f 66 list made up of
0d50: 20 77 69 64 74 68 20 61 6e 64 20 68 65 69 67 68 width and heigh
0d60: 74 20 69 6e 20 70 69 78 65 6c 73 2e 20 54 68 65 t in pixels. The
0d70: 20 6d 61 78 69 6d 75 6d 20 73 69 7a 65 20 69 73 maximum size is
0d80: 20 64 65 76 69 63 65 20 64 65 70 65 6e 64 65 6e device dependen
0d90: 74 20 61 6e 64 20 64 65 74 65 72 6d 69 6e 65 64 t and determined
0da0: 20 62 79 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 by the maximum
0db0: 74 65 78 74 75 72 65 20 73 69 7a 65 20 6f 66 20 texture size of
0dc0: 74 68 65 20 75 6e 64 65 72 6c 79 69 6e 67 20 4f the underlying O
0dd0: 70 65 6e 47 4c 2f 4f 70 65 6e 47 4c 45 53 20 64 penGL/OpenGLES d
0de0: 72 69 76 65 72 73 2e 0d 0a 0d 0a 3c 74 74 3e 73 rivers.....<tt>s
0df0: 64 6c 74 6b 20 72 6f 6f 74 20 3f 3c 69 3e 77 69 dltk root ?<i>wi
0e00: 64 74 68 20 68 65 69 67 68 74 3c 2f 69 3e 3f 3c dth height</i>?<
0e10: 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 57 68 65 6e /tt>.... When
0e20: 20 69 6e 76 6f 6b 65 64 20 77 69 74 68 6f 75 74 invoked without
0e30: 20 3c 74 74 3e 3c 69 3e 77 69 64 74 68 3c 2f 69 <tt><i>width</i
0e40: 3e 3c 2f 74 74 3e 20 61 6e 64 20 3c 74 74 3e 3c ></tt> and <tt><
0e50: 69 3e 68 65 69 67 68 74 3c 2f 69 3e 3c 2f 74 74 i>height</i></tt
0e60: 3e 20 70 61 72 61 6d 65 74 65 72 73 20 74 68 65 > parameters the
0e70: 20 63 6f 6d 6d 61 6e 64 20 72 65 74 75 72 6e 73 command returns
0e80: 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 69 7a the current siz
0e90: 65 20 6f 66 20 74 68 65 20 72 6f 6f 74 20 77 69 e of the root wi
0ea0: 6e 64 6f 77 20 61 73 20 74 77 6f 20 65 6c 65 6d ndow as two elem
0eb0: 65 6e 74 20 6c 69 73 74 20 6f 66 20 69 6e 74 65 ent list of inte
0ec0: 67 65 72 73 2e 20 57 68 65 6e 20 3c 74 74 3e 3c gers. When <tt><
0ed0: 69 3e 77 69 64 74 68 3c 2f 69 3e 3c 2f 74 74 3e i>width</i></tt>
0ee0: 20 61 6e 64 20 3c 74 74 3e 3c 69 3e 68 65 69 67 and <tt><i>heig
0ef0: 68 74 3c 2f 69 3e 3c 2f 74 74 3e 20 61 72 65 20 ht</i></tt> are
0f00: 67 69 76 65 6e 2c 20 74 68 65 20 72 6f 6f 74 20 given, the root
0f10: 77 69 6e 64 6f 77 20 69 73 20 72 65 73 69 7a 65 window is resize
0f20: 64 20 74 6f 20 74 68 65 20 73 69 7a 65 20 67 69 d to the size gi
0f30: 76 65 6e 2e 20 57 68 65 6e 20 62 6f 74 68 20 3c ven. When both <
0f40: 74 74 3e 3c 69 3e 77 69 64 74 68 3c 2f 69 3e 3c tt><i>width</i><
0f50: 2f 74 74 3e 20 61 6e 64 20 3c 74 74 3e 3c 69 3e /tt> and <tt><i>
0f60: 68 65 69 67 68 74 3c 2f 69 3e 3c 2f 74 74 3e 20 height</i></tt>
0f70: 61 72 65 20 67 69 76 65 6e 20 61 73 20 7a 65 72 are given as zer
0f80: 6f 2c 20 74 68 65 20 72 6f 6f 74 20 77 69 6e 64 o, the root wind
0f90: 6f 77 20 69 73 20 72 65 73 69 7a 65 64 20 74 6f ow is resized to
0fa0: 20 74 68 65 20 64 65 76 69 63 65 20 73 63 72 65 the device scre
0fb0: 65 6e 20 73 69 7a 65 2e 0d 0a 0d 0a 3c 74 74 3e en size.....<tt>
0fc0: 73 64 6c 74 6b 20 76 73 79 6e 63 3c 2f 74 74 3e sdltk vsync</tt>
0fd0: 0d 0a 0d 0a 20 20 20 20 57 61 69 74 73 20 75 6e .... Waits un
0fe0: 74 69 6c 20 74 68 65 20 6e 65 78 74 20 73 63 72 til the next scr
0ff0: 65 65 6e 20 72 65 66 72 65 73 68 20 61 6e 64 20 een refresh and
1000: 72 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 returns the numb
1010: 65 72 20 6f 66 20 73 63 72 65 65 6e 20 72 65 66 er of screen ref
1020: 72 65 73 68 65 73 20 77 68 69 63 68 20 68 61 70 reshes which hap
1030: 70 65 6e 65 64 20 64 75 72 69 6e 67 20 74 68 61 pened during tha
1040: 74 20 77 61 69 74 2e 20 54 68 65 20 6d 61 78 69 t wait. The maxi
1050: 6d 75 6d 20 77 61 69 74 20 74 69 6d 65 20 69 73 mum wait time is
1060: 20 6c 69 6d 69 74 65 64 20 74 6f 20 32 30 20 6d limited to 20 m
1070: 69 6c 6c 69 73 65 63 6f 6e 64 73 20 28 74 68 65 illiseconds (the
1080: 20 69 6e 74 65 72 6e 61 6c 20 74 69 63 6b 20 72 internal tick r
1090: 61 74 65 20 66 6f 72 20 73 63 72 65 65 6e 20 75 ate for screen u
10a0: 70 64 61 74 65 73 29 20 62 75 74 20 63 61 6e 20 pdates) but can
10b0: 62 65 20 6c 6f 6e 67 65 72 20 64 75 65 20 74 6f be longer due to
10c0: 20 73 79 73 74 65 6d 20 6c 6f 61 64 2e 0d 0a 0d system load....
10d0: 0a 3c 74 74 3e 73 64 6c 74 6b 20 76 69 65 77 70 .<tt>sdltk viewp
10e0: 6f 72 74 20 3f 3c 69 3e 78 20 79 3c 2f 69 3e 20 ort ?<i>x y</i>
10f0: 3f 3c 69 3e 77 69 64 74 68 20 68 65 69 67 68 74 ?<i>width height
1100: 3c 2f 69 3e 3f 3f 3c 2f 74 74 3e 0d 0a 0d 0a 20 </i>??</tt>....
1110: 20 20 20 43 68 61 6e 67 65 73 20 74 68 65 20 76 Changes the v
1120: 69 65 77 70 6f 72 74 20 28 72 6f 6f 74 20 77 69 iewport (root wi
1130: 6e 64 6f 77 20 74 6f 20 64 65 76 69 63 65 20 73 ndow to device s
1140: 63 72 65 65 6e 29 20 74 6f 20 61 6c 6c 6f 77 20 creen) to allow
1150: 7a 6f 6f 6d 69 6e 67 20 61 6e 64 20 70 61 6e 6e zooming and pann
1160: 69 6e 67 20 6f 66 20 74 68 65 20 72 6f 6f 74 20 ing of the root
1170: 77 69 6e 64 6f 77 2e 20 57 68 65 6e 20 69 6e 76 window. When inv
1180: 6f 6b 65 64 20 77 69 74 68 6f 75 74 20 70 61 72 oked without par
1190: 61 6d 65 74 65 72 73 2c 20 74 68 65 20 63 75 72 ameters, the cur
11a0: 72 65 6e 74 20 76 69 65 77 70 6f 72 74 20 73 65 rent viewport se
11b0: 74 74 69 6e 67 73 20 61 72 65 20 72 65 74 75 72 ttings are retur
11c0: 6e 65 64 20 61 73 20 61 20 66 6f 75 72 20 65 6c ned as a four el
11d0: 65 6d 65 6e 74 20 6c 69 73 74 20 6f 66 20 69 6e ement list of in
11e0: 74 65 67 65 72 73 2e 20 57 68 65 6e 20 74 68 65 tegers. When the
11f0: 20 3c 74 74 3e 3c 69 3e 78 3c 2f 69 3e 3c 2f 74 <tt><i>x</i></t
1200: 74 3e 20 61 6e 64 20 3c 74 74 3e 3c 69 3e 79 3c t> and <tt><i>y<
1210: 2f 69 3e 3c 2f 74 74 3e 20 70 61 72 61 6d 65 74 /i></tt> paramet
1220: 65 72 73 20 61 72 65 20 67 69 76 65 6e 2c 20 74 ers are given, t
1230: 68 65 20 76 69 65 77 70 6f 72 74 20 69 73 20 73 he viewport is s
1240: 68 69 66 74 65 64 20 74 68 61 74 20 3c 74 74 3e hifted that <tt>
1250: 3c 69 3e 78 3c 2f 69 3e 3c 2f 74 74 3e 20 61 6e <i>x</i></tt> an
1260: 64 20 3c 74 74 3e 3c 69 3e 79 3c 2f 69 3e 3c 2f d <tt><i>y</i></
1270: 74 74 3e 20 61 72 65 20 73 68 6f 77 6e 20 69 6e tt> are shown in
1280: 20 74 68 65 20 74 6f 70 2d 6c 65 66 74 20 63 6f the top-left co
1290: 72 6e 65 72 20 6f 66 20 74 68 65 20 73 63 72 65 rner of the scre
12a0: 65 6e 2e 20 57 68 65 6e 20 61 6c 6c 20 66 6f 75 en. When all fou
12b0: 72 20 70 61 72 61 6d 65 74 65 72 73 20 61 72 65 r parameters are
12c0: 20 67 69 76 65 6e 2c 20 74 68 65 20 76 69 65 77 given, the view
12d0: 70 6f 72 74 20 69 73 20 61 64 6a 75 73 74 65 64 port is adjusted
12e0: 20 61 63 63 6f 72 64 69 6e 67 6c 79 2c 20 69 2e accordingly, i.
12f0: 65 2e 20 3c 74 74 3e 3c 69 3e 77 69 64 74 68 3c e. <tt><i>width<
1300: 2f 69 3e 3c 2f 74 74 3e 20 61 6e 64 20 3c 74 74 /i></tt> and <tt
1310: 3e 3c 69 3e 68 65 69 67 68 74 3c 2f 69 3e 3c 2f ><i>height</i></
1320: 74 74 3e 20 64 65 74 65 72 6d 69 6e 65 20 74 68 tt> determine th
1330: 65 20 7a 6f 6f 6d 20 66 61 63 74 6f 72 2c 20 61 e zoom factor, a
1340: 6e 64 20 3c 74 74 3e 3c 69 3e 78 3c 2f 69 3e 3c nd <tt><i>x</i><
1350: 2f 74 74 3e 20 61 6e 64 20 3c 74 74 3e 3c 69 3e /tt> and <tt><i>
1360: 79 3c 2f 69 3e 3c 2f 74 74 3e 20 74 68 65 20 74 y</i></tt> the t
1370: 6f 70 2d 6c 65 66 74 20 63 6f 72 6e 65 72 20 6f op-left corner o
1380: 66 20 74 68 65 20 76 69 65 77 2e 20 4e 6f 74 65 f the view. Note
1390: 20 68 6f 77 65 76 65 72 2c 20 74 68 61 74 20 74 however, that t
13a0: 68 65 20 61 73 70 65 63 74 20 72 61 74 69 6f 20 he aspect ratio
13b0: 69 73 20 72 65 74 61 69 6e 65 64 2c 20 69 2e 65 is retained, i.e
13c0: 2e 20 74 68 65 20 67 69 76 65 6e 20 70 61 72 61 . the given para
13d0: 6d 65 74 65 72 73 20 61 72 65 20 61 64 6a 75 73 meters are adjus
13e0: 74 65 64 20 74 6f 20 6b 65 65 70 20 74 68 65 20 ted to keep the
13f0: 61 73 70 65 63 74 2e 0d 0a 0d 0a 3c 74 74 3e 73 aspect.....<tt>s
1400: 64 6c 74 6b 20 74 6f 75 63 68 74 72 61 6e 73 6c dltk touchtransl
1410: 61 74 65 20 3f 3c 69 3e 6d 61 73 6b 3c 2f 69 3e ate ?<i>mask</i>
1420: 3f 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 43 6f ?</tt>.... Co
1430: 6e 74 72 6f 6c 73 20 74 6f 75 63 68 73 63 72 65 ntrols touchscre
1440: 65 6e 20 65 76 65 6e 74 20 74 72 61 6e 73 6c 61 en event transla
1450: 74 69 6f 6e 2c 20 6f 72 20 72 65 70 6f 72 74 73 tion, or reports
1460: 20 74 68 65 20 63 75 72 72 65 6e 74 20 74 72 61 the current tra
1470: 6e 73 6c 61 74 69 6f 6e 20 73 74 61 74 65 2e 20 nslation state.
1480: 3c 74 74 3e 3c 69 3e 6d 61 73 6b 3c 2f 69 3e 3c <tt><i>mask</i><
1490: 2f 74 74 3e 20 69 73 20 61 20 62 69 74 20 6d 61 /tt> is a bit ma
14a0: 73 6b 20 63 6f 6e 74 72 6f 6c 6c 69 6e 67 20 76 sk controlling v
14b0: 61 72 69 6f 75 73 20 74 72 61 6e 73 6c 61 74 69 arious translati
14c0: 6f 6e 73 2e 20 42 69 74 20 30 20 28 6d 61 73 6b ons. Bit 0 (mask
14d0: 20 31 29 20 74 75 72 6e 73 20 6f 6e 20 74 72 61 1) turns on tra
14e0: 6e 73 6c 61 74 69 6f 6e 20 6f 66 20 6d 69 64 64 nslation of midd
14f0: 6c 65 2f 72 69 67 68 74 20 6d 6f 75 73 65 20 62 le/right mouse b
1500: 75 74 74 6f 6e 73 2c 20 69 2e 65 2e 20 66 61 73 uttons, i.e. fas
1510: 74 20 77 69 70 65 73 20 77 69 74 68 20 6f 6e 65 t wipes with one
1520: 20 66 69 6e 67 65 72 20 61 72 65 20 74 72 61 6e finger are tran
1530: 73 6c 61 74 65 64 20 74 6f 20 6d 6f 75 73 65 20 slated to mouse
1540: 62 75 74 74 6f 6e 20 32 20 70 72 65 73 73 2f 6d button 2 press/m
1550: 6f 74 69 6f 6e 2f 72 65 6c 65 61 73 65 20 65 76 otion/release ev
1560: 65 6e 74 73 20 74 6f 20 61 6c 6c 6f 77 20 73 63 ents to allow sc
1570: 72 6f 6c 6c 69 6e 67 20 6f 66 20 6c 69 73 74 62 rolling of listb
1580: 6f 78 65 73 2c 20 65 6e 74 72 69 65 73 2c 20 61 oxes, entries, a
1590: 6e 64 20 74 65 78 74 20 77 69 64 67 65 74 73 2e nd text widgets.
15a0: 20 53 6c 6f 77 20 77 69 70 65 73 20 73 74 69 6c Slow wipes stil
15b0: 6c 20 64 65 6c 69 76 65 72 20 6d 6f 75 73 65 20 l deliver mouse
15c0: 62 75 74 74 6f 6e 20 31 20 6d 6f 74 69 6f 6e 20 button 1 motion
15d0: 65 76 65 6e 74 73 2e 20 48 6f 6c 64 69 6e 67 20 events. Holding
15e0: 64 6f 77 6e 20 6f 6e 65 20 66 69 6e 67 65 72 20 down one finger
15f0: 66 6f 72 20 61 62 6f 75 74 20 61 20 73 65 63 6f for about a seco
1600: 6e 64 20 69 73 20 74 72 61 6e 73 6c 61 74 65 64 nd is translated
1610: 20 69 6e 74 6f 20 6d 6f 75 73 65 20 62 75 74 74 into mouse butt
1620: 6f 6e 20 33 20 70 72 65 73 73 20 66 6f 72 20 63 on 3 press for c
1630: 6f 6e 74 65 78 74 20 6d 65 6e 75 73 2e 20 42 69 ontext menus. Bi
1640: 74 20 31 20 28 6d 61 73 6b 20 32 29 20 74 75 72 t 1 (mask 2) tur
1650: 6e 73 20 6f 6e 20 70 69 6e 63 68 2d 74 6f 2d 7a ns on pinch-to-z
1660: 6f 6f 6d 20 77 69 74 68 20 74 77 6f 20 66 69 6e oom with two fin
1670: 67 65 72 73 20 77 68 69 63 68 20 69 73 20 72 65 gers which is re
1680: 70 6f 72 74 65 64 20 61 73 20 61 20 76 69 72 74 ported as a virt
1690: 75 61 6c 20 65 76 65 6e 74 20 6e 61 6d 65 64 20 ual event named
16a0: 3c 74 74 3e 3c 3c 50 69 6e 63 68 54 6f 5a 6f 6f <tt><<PinchToZoo
16b0: 6d 3e 3e 3c 2f 74 74 3e 2e 20 42 69 74 20 32 20 m>></tt>. Bit 2
16c0: 28 6d 61 73 6b 20 34 29 20 74 75 72 6e 73 20 6f (mask 4) turns o
16d0: 6e 20 70 69 6e 63 68 2d 74 6f 2d 7a 6f 6f 6d 20 n pinch-to-zoom
16e0: 61 6e 64 20 77 69 70 65 73 20 66 6f 72 20 7a 6f and wipes for zo
16f0: 6f 6d 69 6e 67 20 61 6e 64 20 70 61 6e 6e 69 6e oming and pannin
1700: 67 20 74 68 65 20 72 6f 6f 74 20 77 69 6e 64 6f g the root windo
1710: 77 2e 20 57 68 65 6e 20 62 6f 74 68 2c 20 62 69 w. When both, bi
1720: 74 73 20 31 20 61 6e 64 20 32 20 61 72 65 20 6f ts 1 and 2 are o
1730: 6e 20 28 6d 61 73 6b 20 65 71 75 61 6c 73 20 36 n (mask equals 6
1740: 29 2c 20 7a 6f 6f 6d 69 6e 67 20 74 68 65 20 72 ), zooming the r
1750: 6f 6f 74 20 77 69 6e 64 6f 77 20 72 65 71 75 69 oot window requi
1760: 72 65 73 20 74 68 72 65 65 20 69 6e 73 74 65 61 res three instea
1770: 64 20 6f 66 20 74 77 6f 20 66 69 6e 67 65 72 73 d of two fingers
1780: 20 61 6e 64 20 70 61 6e 6e 69 6e 67 20 66 6f 75 and panning fou
1790: 72 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 72 r instead of thr
17a0: 65 65 20 66 69 6e 67 65 72 73 2e 20 42 69 74 20 ee fingers. Bit
17b0: 33 20 28 6d 61 73 6b 20 38 29 20 74 75 72 6e 73 3 (mask 8) turns
17c0: 20 6f 6e 20 74 72 61 6e 73 6c 61 74 69 6f 6e 20 on translation
17d0: 6f 66 20 66 69 6e 67 65 72 20 65 76 65 6e 74 73 of finger events
17e0: 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 to the current
17f0: 76 69 65 77 70 6f 72 74 20 73 65 74 74 69 6e 67 viewport setting
1800: 73 2c 20 69 2e 65 2e 20 74 68 65 20 3c 74 74 3e s, i.e. the <tt>
1810: 3c 3c 46 69 6e 67 65 72 55 70 3e 3e 3c 2f 74 74 <<FingerUp>></tt
1820: 3e 2c 20 3c 74 74 3e 3c 3c 46 69 6e 67 65 72 44 >, <tt><<FingerD
1830: 6f 77 6e 3e 3e 3c 2f 74 74 3e 2c 20 61 6e 64 20 own>></tt>, and
1840: 3c 74 74 3e 3c 3c 46 69 6e 67 65 72 4d 6f 74 69 <tt><<FingerMoti
1850: 6f 6e 3e 3e 3c 2f 74 74 3e 20 65 76 65 6e 74 73 on>></tt> events
1860: 20 61 72 65 20 74 72 61 6e 73 6c 61 74 65 64 20 are translated
1870: 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 76 to the current v
1880: 69 65 77 61 62 6c 65 20 70 6f 72 74 69 6f 6e 20 iewable portion
1890: 6f 66 20 74 68 65 20 72 6f 6f 74 20 77 69 6e 64 of the root wind
18a0: 6f 77 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 ow instead of th
18b0: 65 20 64 65 76 69 63 65 20 73 63 72 65 65 6e 2e e device screen.
18c0: 20 42 69 74 20 34 20 28 6d 61 73 6b 20 31 36 29 Bit 4 (mask 16)
18d0: 20 74 75 72 6e 73 20 6f 6e 20 72 65 70 6f 72 74 turns on report
18e0: 69 6e 67 20 6f 66 20 66 69 6e 67 65 72 20 64 6f ing of finger do
18f0: 77 6e 2f 75 70 20 65 76 65 6e 74 73 20 66 6f 72 wn/up events for
1900: 20 75 70 20 74 6f 20 31 30 20 66 69 6e 67 65 72 up to 10 finger
1910: 73 20 61 73 20 3c 74 74 3e 3c 42 75 74 74 6f 6e s as <tt><Button
1920: 50 72 65 73 73 3e 3c 2f 74 74 3e 20 61 6e 64 20 Press></tt> and
1930: 3c 74 74 3e 3c 42 75 74 74 6f 6e 52 65 6c 65 61 <tt><ButtonRelea
1940: 73 65 3e 3c 2f 74 74 3e 20 65 76 65 6e 74 73 20 se></tt> events
1950: 77 69 74 68 20 62 75 74 74 6f 6e 20 6e 75 6d 62 with button numb
1960: 65 72 73 20 31 30 20 74 6f 20 31 39 2e 20 48 6f ers 10 to 19. Ho
1970: 77 65 76 65 72 2c 20 6e 6f 20 70 72 6f 76 69 73 wever, no provis
1980: 69 6f 6e 73 20 61 72 65 20 74 61 6b 65 6e 20 74 ions are taken t
1990: 6f 20 65 6e 73 75 72 65 20 70 72 6f 70 65 72 20 o ensure proper
19a0: 69 6d 70 6c 69 63 69 74 20 62 75 74 74 6f 6e 20 implicit button
19b0: 67 72 61 62 73 20 6c 69 6b 65 20 61 20 72 65 61 grabs like a rea
19c0: 6c 20 58 20 73 65 72 76 65 72 20 77 6f 75 6c 64 l X server would
19d0: 20 64 6f 2c 20 74 68 75 73 20 75 73 65 20 74 68 do, thus use th
19e0: 69 73 20 66 65 61 74 75 72 65 20 77 69 74 68 20 is feature with
19f0: 63 61 75 74 69 6f 6e 2e 20 54 68 65 20 64 65 66 caution. The def
1a00: 61 75 6c 74 20 74 6f 75 63 68 73 63 72 65 65 6e ault touchscreen
1a10: 20 74 72 61 6e 73 6c 61 74 69 6f 6e 20 6d 6f 64 translation mod
1a20: 65 20 6f 6e 20 73 74 61 72 74 75 70 20 69 73 20 e on startup is
1a30: 6d 61 73 6b 20 31 33 20 28 62 69 74 73 20 30 2c mask 13 (bits 0,
1a40: 20 32 2c 20 61 6e 64 20 33 20 61 72 65 20 6f 6e 2, and 3 are on
1a50: 29 2c 20 69 2e 65 2e 20 65 76 65 72 79 74 68 69 ), i.e. everythi
1a60: 6e 67 20 65 78 63 65 70 74 20 3c 74 74 3e 3c 3c ng except <tt><<
1a70: 50 69 6e 63 68 54 6f 5a 6f 6f 6d 3e 3e 3c 2f 74 PinchToZoom>></t
1a80: 74 3e 20 61 6e 64 20 66 69 6e 67 65 72 20 64 6f t> and finger do
1a90: 77 6e 2f 75 70 20 61 73 20 3c 74 74 3e 3c 42 75 wn/up as <tt><Bu
1aa0: 74 74 6f 6e 50 72 65 73 73 3e 3c 2f 74 74 3e 2f ttonPress></tt>/
1ab0: 3c 74 74 3e 3c 42 75 74 74 6f 6e 52 65 6c 65 61 <tt><ButtonRelea
1ac0: 73 65 3e 3c 2f 74 74 3e 20 69 73 20 65 6e 61 62 se></tt> is enab
1ad0: 6c 65 64 2e 20 4f 6e 20 57 69 6e 64 6f 77 73 20 led. On Windows
1ae0: 61 6e 64 20 4c 69 6e 75 78 20 70 6c 61 74 66 6f and Linux platfo
1af0: 72 6d 73 20 6f 6e 6c 79 20 62 69 74 20 33 20 28 rms only bit 3 (
1b00: 6d 61 73 6b 20 38 29 20 74 6f 20 63 6f 6e 74 72 mask 8) to contr
1b10: 6f 6c 20 74 68 65 20 76 69 65 77 70 6f 72 74 20 ol the viewport
1b20: 69 73 20 73 75 70 70 6f 72 74 65 64 2e 0d 0a 0d is supported....
1b30: 0a 3c 74 74 3e 73 64 6c 74 6b 20 73 63 72 65 65 .<tt>sdltk scree
1b40: 6e 73 61 76 65 72 20 3f 6f 6e 7c 6f 66 66 3f 3c nsaver ?on|off?<
1b50: 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 54 75 72 6e /tt>.... Turn
1b60: 73 20 74 68 65 20 73 63 72 65 65 6e 20 73 61 76 s the screen sav
1b70: 65 72 20 6f 6e 20 6f 72 20 6f 66 66 20 6f 72 20 er on or off or
1b80: 72 65 70 6f 72 74 73 20 74 68 65 20 63 75 72 72 reports the curr
1b90: 65 6e 74 20 73 74 61 74 65 20 6f 66 20 74 68 65 ent state of the
1ba0: 20 73 63 72 65 65 6e 73 61 76 65 72 2e 0d 0a 0d screensaver....
1bb0: 0a 3c 74 74 3e 73 64 6c 74 6b 20 6a 6f 79 73 74 .<tt>sdltk joyst
1bc0: 69 63 6b 20 69 64 73 3c 2f 74 74 3e 0d 0a 0d 0a ick ids</tt>....
1bd0: 20 20 20 20 52 65 74 75 72 6e 73 20 61 20 6c 69 Returns a li
1be0: 73 74 20 6d 61 64 65 20 75 70 20 6a 6f 79 73 74 st made up joyst
1bf0: 69 63 6b 20 69 64 73 20 28 69 6e 20 53 44 4c 32 ick ids (in SDL2
1c00: 20 72 65 66 65 72 72 65 64 20 74 6f 20 61 73 20 referred to as
1c10: 6a 6f 79 73 74 69 63 6b 20 69 6e 73 74 61 6e 63 joystick instanc
1c20: 65 20 69 64 65 6e 74 69 66 69 65 72 73 29 20 77 e identifiers) w
1c30: 68 69 63 68 20 61 72 65 20 72 65 70 6f 72 74 65 hich are reporte
1c40: 64 20 69 6e 20 72 65 6c 61 74 65 64 20 76 69 72 d in related vir
1c50: 74 75 61 6c 20 65 76 65 6e 74 73 2e 20 54 68 65 tual events. The
1c60: 73 65 20 69 64 73 20 61 72 65 20 69 6e 74 65 67 se ids are integ
1c70: 65 72 20 6e 75 6d 62 65 72 73 20 77 68 69 63 68 er numbers which
1c80: 20 69 6e 63 72 65 61 73 65 20 66 6f 72 20 65 61 increase for ea
1c90: 63 68 20 6e 65 77 20 64 65 74 65 63 74 65 64 20 ch new detected
1ca0: 6a 6f 79 73 74 69 63 6b 2e 0d 0a 0d 0a 3c 74 74 joystick.....<tt
1cb0: 3e 73 64 6c 74 6b 20 6a 6f 79 73 74 69 63 6b 20 >sdltk joystick
1cc0: 6e 61 6d 65 20 3c 69 3e 69 64 3c 2f 69 3e 3c 2f name <i>id</i></
1cd0: 74 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 74 75 72 tt>.... Retur
1ce0: 6e 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 ns the name of t
1cf0: 68 65 20 6a 6f 79 73 74 69 63 6b 20 69 64 65 6e he joystick iden
1d00: 74 69 66 69 65 64 20 62 79 20 3c 74 74 3e 3c 69 tified by <tt><i
1d10: 3e 69 64 3c 2f 69 3e 3c 2f 74 74 3e 2e 0d 0a 0d >id</i></tt>....
1d20: 0a 3c 74 74 3e 73 64 6c 74 6b 20 6a 6f 79 73 74 .<tt>sdltk joyst
1d30: 69 63 6b 20 67 75 69 64 20 3c 69 3e 69 64 3c 2f ick guid <i>id</
1d40: 69 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 52 i></tt>.... R
1d50: 65 74 75 72 6e 73 20 74 68 65 20 67 6c 6f 62 61 eturns the globa
1d60: 6c 6c 79 20 75 6e 69 71 75 65 20 69 64 20 28 47 lly unique id (G
1d70: 55 49 44 2c 20 31 32 38 20 62 69 74 20 73 74 72 UID, 128 bit str
1d80: 69 6e 67 29 20 6f 66 20 74 68 65 20 6a 6f 79 73 ing) of the joys
1d90: 74 69 63 6b 20 69 64 65 6e 74 69 66 69 65 64 20 tick identified
1da0: 62 79 20 3c 74 74 3e 3c 69 3e 69 64 3c 2f 69 3e by <tt><i>id</i>
1db0: 3c 2f 74 74 3e 2e 0d 0a 0d 0a 3c 74 74 3e 73 64 </tt>.....<tt>sd
1dc0: 6c 74 6b 20 6a 6f 79 73 74 69 63 6b 20 6e 75 6d ltk joystick num
1dd0: 61 78 65 73 20 3c 69 3e 69 64 3c 2f 69 3e 3c 2f axes <i>id</i></
1de0: 74 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 74 75 72 tt>.... Retur
1df0: 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 ns the number of
1e00: 20 61 78 65 73 20 6f 66 20 74 68 65 20 6a 6f 79 axes of the joy
1e10: 73 74 69 63 6b 20 69 64 65 6e 74 69 66 69 65 64 stick identified
1e20: 20 62 79 20 3c 74 74 3e 3c 69 3e 69 64 3c 2f 69 by <tt><i>id</i
1e30: 3e 3c 2f 74 74 3e 2e 0d 0a 0d 0a 3c 74 74 3e 73 ></tt>.....<tt>s
1e40: 64 6c 74 6b 20 6a 6f 79 73 74 69 63 6b 20 6e 75 dltk joystick nu
1e50: 6d 62 61 6c 6c 73 20 3c 69 3e 69 64 3c 2f 69 3e mballs <i>id</i>
1e60: 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 74 </tt>.... Ret
1e70: 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 20 urns the number
1e80: 6f 66 20 62 61 6c 6c 73 20 6f 66 20 74 68 65 20 of balls of the
1e90: 6a 6f 79 73 74 69 63 6b 20 69 64 65 6e 74 69 66 joystick identif
1ea0: 69 65 64 20 62 79 20 3c 74 74 3e 3c 69 3e 69 64 ied by <tt><i>id
1eb0: 3c 2f 69 3e 3c 2f 74 74 3e 2e 0d 0a 0d 0a 3c 74 </i></tt>.....<t
1ec0: 74 3e 73 64 6c 74 6b 20 6a 6f 79 73 74 69 63 6b t>sdltk joystick
1ed0: 20 6e 75 6d 62 75 74 74 6f 6e 73 20 3c 69 3e 69 numbuttons <i>i
1ee0: 64 3c 2f 69 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 d</i></tt>....
1ef0: 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 6e 75 Returns the nu
1f00: 6d 62 65 72 20 6f 66 20 62 75 74 74 6f 6e 73 20 mber of buttons
1f10: 6f 66 20 74 68 65 20 6a 6f 79 73 74 69 63 6b 20 of the joystick
1f20: 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 3c 74 identified by <t
1f30: 74 3e 3c 69 3e 69 64 3c 2f 69 3e 3c 2f 74 74 3e t><i>id</i></tt>
1f40: 2e 0d 0a 0d 0a 3c 74 74 3e 73 64 6c 74 6b 20 6a .....<tt>sdltk j
1f50: 6f 79 73 74 69 63 6b 20 6e 75 6d 68 61 74 73 20 oystick numhats
1f60: 3c 69 3e 69 64 3c 2f 69 3e 3c 2f 74 74 3e 0d 0a <i>id</i></tt>..
1f70: 0d 0a 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 .. Returns th
1f80: 65 20 6e 75 6d 62 65 72 20 6f 66 20 68 61 74 73 e number of hats
1f90: 20 6f 66 20 74 68 65 20 6a 6f 79 73 74 69 63 6b of the joystick
1fa0: 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 3c identified by <
1fb0: 74 74 3e 3c 69 3e 69 64 3c 2f 69 3e 3c 2f 74 74 tt><i>id</i></tt
1fc0: 3e 2e 0d 0a 0d 0a 3c 74 74 3e 73 64 6c 74 6b 20 >.....<tt>sdltk
1fd0: 61 64 64 66 6f 6e 74 20 3c 69 3e 66 69 6c 65 6e addfont <i>filen
1fe0: 61 6d 65 3c 2f 69 3e 3c 2f 74 74 3e 0d 0a 0d 0a ame</i></tt>....
1ff0: 20 20 20 20 41 64 64 73 20 54 72 75 65 54 79 70 Adds TrueTyp
2000: 65 20 66 6f 6e 74 28 73 29 20 63 6f 6e 74 61 69 e font(s) contai
2010: 6e 65 64 20 69 6e 20 3c 74 74 3e 3c 69 3e 66 69 ned in <tt><i>fi
2020: 6c 65 6e 61 6d 65 3c 2f 69 3e 3c 2f 74 74 3e 20 lename</i></tt>
2030: 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 and returns the
2040: 66 6f 6e 74 20 66 61 6d 69 6c 79 20 6e 61 6d 65 font family name
2050: 73 20 77 68 69 63 68 20 77 65 72 65 20 61 64 64 s which were add
2060: 65 64 2e 20 49 66 20 74 68 65 20 66 6f 6e 74 20 ed. If the font
2070: 61 6c 72 65 61 64 79 20 68 61 73 20 62 65 65 6e already has been
2080: 20 6c 6f 61 64 65 64 20 61 6e 20 65 72 72 6f 72 loaded an error
2090: 20 69 73 20 74 68 72 6f 77 6e 2e 0d 0a 0d 0a 3c is thrown.....<
20a0: 74 74 3e 73 64 6c 74 6b 20 68 61 73 67 6c 3c 2f tt>sdltk hasgl</
20b0: 74 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 74 75 72 tt>.... Retur
20c0: 6e 73 20 74 72 75 65 20 77 68 65 6e 20 4f 70 65 ns true when Ope
20d0: 6e 47 4c 20 73 75 70 70 6f 72 74 20 69 73 20 61 nGL support is a
20e0: 76 61 69 6c 61 62 6c 65 2c 20 65 2e 67 2e 20 66 vailable, e.g. f
20f0: 6f 72 20 74 68 65 20 33 44 20 63 61 6e 76 61 73 or the 3D canvas
2100: 20 77 69 64 67 65 74 2e 0d 0a 0d 0a 3c 74 74 3e widget.....<tt>
2110: 73 64 6c 74 6b 20 6c 6f 67 20 3c 69 3e 70 72 69 sdltk log <i>pri
2120: 6f 72 69 74 79 20 6d 65 73 73 61 67 65 3c 2f 69 ority message</i
2130: 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 4f 75 ></tt>.... Ou
2140: 74 70 75 74 73 20 74 68 65 20 6c 6f 67 20 6d 65 tputs the log me
2150: 73 73 61 67 65 20 3c 74 74 3e 3c 69 3e 6d 65 73 ssage <tt><i>mes
2160: 73 61 67 65 3c 2f 69 3e 3c 2f 74 74 3e 20 75 73 sage</i></tt> us
2170: 69 6e 67 20 53 44 4c 27 73 20 6c 6f 67 67 69 6e ing SDL's loggin
2180: 67 20 66 61 63 69 6c 69 74 79 2e 20 3c 74 74 3e g facility. <tt>
2190: 3c 69 3e 70 72 69 6f 72 69 74 79 3c 2f 69 3e 3c <i>priority</i><
21a0: 2f 74 74 3e 20 73 70 65 63 69 66 69 65 73 20 74 /tt> specifies t
21b0: 68 65 20 70 72 69 6f 72 69 74 79 20 6f 66 20 74 he priority of t
21c0: 68 65 20 6c 6f 67 20 6d 65 73 73 61 67 65 20 61 he log message a
21d0: 6e 64 20 6d 75 73 74 20 62 65 20 6f 6e 65 20 6f nd must be one o
21e0: 66 20 3c 74 74 3e 76 65 72 62 6f 73 65 3c 2f 74 f <tt>verbose</t
21f0: 74 3e 2c 20 3c 74 74 3e 64 65 62 75 67 3c 2f 74 t>, <tt>debug</t
2200: 74 3e 2c 20 3c 74 74 3e 69 6e 66 6f 3c 2f 74 74 t>, <tt>info</tt
2210: 3e 2c 20 3c 74 74 3e 77 61 72 6e 3c 2f 74 74 3e >, <tt>warn</tt>
2220: 2c 20 3c 74 74 3e 65 72 72 6f 72 3c 2f 74 74 3e , <tt>error</tt>
2230: 2c 20 6f 72 20 3c 74 74 3e 66 61 74 61 6c 3c 2f , or <tt>fatal</
2240: 74 74 3e 20 28 66 72 6f 6d 20 6c 6f 77 65 73 74 tt> (from lowest
2250: 20 74 6f 20 68 69 67 68 65 73 74 29 2e 0d 0a 0d to highest)....
2260: 0a 3c 74 74 3e 73 64 6c 74 6b 20 64 65 69 63 6f .<tt>sdltk deico
2270: 6e 69 66 79 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 nify</tt>....
2280: 20 44 65 69 63 6f 6e 69 66 69 65 73 20 74 68 65 Deiconifies the
2290: 20 53 44 4c 20 72 6f 6f 74 20 77 69 6e 64 6f 77 SDL root window
22a0: 20 28 6e 6f 74 20 75 73 61 62 6c 65 20 6f 6e 20 (not usable on
22b0: 41 6e 64 72 6f 69 64 20 61 6e 64 20 57 61 79 6c Android and Wayl
22c0: 61 6e 64 29 2e 0d 0a 0d 0a 3c 74 74 3e 73 64 6c and).....<tt>sdl
22d0: 74 6b 20 66 75 6c 6c 73 63 72 65 65 6e 3c 2f 74 tk fullscreen</t
22e0: 74 3e 0d 0a 0d 0a 20 20 20 20 4d 61 6b 65 73 20 t>.... Makes
22f0: 74 68 65 20 53 44 4c 20 72 6f 6f 74 20 77 69 6e the SDL root win
2300: 64 6f 77 20 69 6e 74 6f 20 61 20 66 75 6c 6c 73 dow into a fulls
2310: 63 72 65 65 6e 20 77 69 6e 64 6f 77 20 28 6e 6f creen window (no
2320: 74 20 75 73 61 62 6c 65 20 6f 6e 20 41 6e 64 72 t usable on Andr
2330: 6f 69 64 20 61 6e 64 20 57 61 79 6c 61 6e 64 29 oid and Wayland)
2340: 2e 20 54 68 65 20 53 44 4c 20 72 6f 6f 74 20 77 . The SDL root w
2350: 69 6e 64 6f 77 20 6d 75 73 74 20 62 65 20 72 65 indow must be re
2360: 73 69 7a 61 62 6c 65 20 28 63 6f 6d 6d 61 6e 64 sizable (command
2370: 20 6c 69 6e 65 20 6f 70 74 69 6f 6e 20 3c 74 74 line option <tt
2380: 3e 2d 73 64 6c 72 65 73 69 7a 61 62 6c 65 3c 2f >-sdlresizable</
2390: 74 74 3e 29 2e 0d 0a 0d 0a 3c 74 74 3e 73 64 6c tt>).....<tt>sdl
23a0: 74 6b 20 69 63 6f 6e 69 66 79 3c 2f 74 74 3e 0d tk iconify</tt>.
23b0: 0a 0d 0a 20 20 20 20 49 63 6f 6e 69 66 69 65 73 ... Iconifies
23c0: 20 28 6d 69 6e 69 6d 69 7a 65 73 29 20 74 68 65 (minimizes) the
23d0: 20 53 44 4c 20 72 6f 6f 74 20 77 69 6e 64 6f 77 SDL root window
23e0: 20 28 6e 6f 74 20 75 73 61 62 6c 65 20 6f 6e 20 (not usable on
23f0: 41 6e 64 72 6f 69 64 20 61 6e 64 20 57 61 79 6c Android and Wayl
2400: 61 6e 64 29 2e 0d 0a 0d 0a 3c 74 74 3e 73 64 6c and).....<tt>sdl
2410: 74 6b 20 6d 61 78 69 6d 69 7a 65 3c 2f 74 74 3e tk maximize</tt>
2420: 0d 0a 0d 0a 20 20 20 20 4d 61 78 69 6d 69 7a 65 .... Maximize
2430: 73 20 74 68 65 20 53 44 4c 20 72 6f 6f 74 20 77 s the SDL root w
2440: 69 6e 64 6f 77 20 28 6e 6f 74 20 75 73 61 62 6c indow (not usabl
2450: 65 20 6f 6e 20 41 6e 64 72 6f 69 64 20 61 6e 64 e on Android and
2460: 20 57 61 79 6c 61 6e 64 29 2e 20 54 68 65 20 53 Wayland). The S
2470: 44 4c 20 72 6f 6f 74 20 77 69 6e 64 6f 77 20 6d DL root window m
2480: 75 73 74 20 62 65 20 72 65 73 69 7a 61 62 6c 65 ust be resizable
2490: 20 28 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 6f (command line o
24a0: 70 74 69 6f 6e 20 3c 74 74 3e 2d 73 64 6c 72 65 ption <tt>-sdlre
24b0: 73 69 7a 61 62 6c 65 3c 2f 74 74 3e 29 2e 0d 0a sizable</tt>)...
24c0: 0d 0a 3c 74 74 3e 73 64 6c 74 6b 20 72 65 73 74 ..<tt>sdltk rest
24d0: 6f 72 65 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 ore</tt>....
24e0: 52 65 73 74 6f 72 65 73 20 74 68 65 20 6c 61 73 Restores the las
24f0: 74 20 75 6e 6d 61 78 69 6d 69 7a 65 64 20 67 65 t unmaximized ge
2500: 6f 6d 65 74 72 79 20 6f 66 20 74 68 65 20 53 44 ometry of the SD
2510: 4c 20 72 6f 6f 74 20 77 69 6e 64 6f 77 20 28 6e L root window (n
2520: 6f 74 20 75 73 61 62 6c 65 20 6f 6e 20 41 6e 64 ot usable on And
2530: 72 6f 69 64 20 61 6e 64 20 57 61 79 6c 61 6e 64 roid and Wayland
2540: 29 2e 0d 0a 0d 0a 3c 74 74 3e 73 64 6c 74 6b 20 ).....<tt>sdltk
2550: 77 69 74 68 64 72 61 77 3c 2f 74 74 3e 0d 0a 0d withdraw</tt>...
2560: 0a 20 20 20 20 57 69 74 68 64 72 61 77 20 28 68 . Withdraw (h
2570: 69 64 65 73 20 65 6e 74 69 72 65 6c 79 29 20 74 ides entirely) t
2580: 68 65 20 53 44 4c 20 72 6f 6f 74 20 77 69 6e 64 he SDL root wind
2590: 6f 77 20 28 6e 6f 74 20 75 73 61 62 6c 65 20 6f ow (not usable o
25a0: 6e 20 41 6e 64 72 6f 69 64 20 61 6e 64 20 57 61 n Android and Wa
25b0: 79 6c 61 6e 64 29 2e 0d 0a 0d 0a 3c 74 74 3e 73 yland).....<tt>s
25c0: 64 6c 74 6b 20 6f 70 61 63 69 74 79 20 3c 69 3e dltk opacity <i>
25d0: 76 61 6c 75 65 3c 2f 69 3e 3c 2f 74 74 3e 0d 0a value</i></tt>..
25e0: 0d 0a 20 20 20 20 51 75 65 72 79 20 6f 72 20 73 .. Query or s
25f0: 65 74 20 74 68 65 20 6f 70 61 63 69 74 79 20 6f et the opacity o
2600: 66 20 74 68 65 20 53 44 4c 20 72 6f 6f 74 20 77 f the SDL root w
2610: 69 6e 64 6f 77 2e 20 3c 74 74 3e 3c 69 3e 76 61 indow. <tt><i>va
2620: 6c 75 65 3c 2f 69 3e 3c 2f 74 74 3e 20 6d 75 73 lue</i></tt> mus
2630: 74 20 62 65 20 61 20 66 6c 6f 61 74 69 6e 67 20 t be a floating
2640: 70 6f 69 6e 74 20 6e 75 6d 62 65 72 20 62 65 74 point number bet
2650: 77 65 65 6e 20 30 2e 30 20 61 6e 64 20 31 2e 30 ween 0.0 and 1.0
2660: 20 28 6e 6f 74 20 75 73 61 62 6c 65 20 6f 6e 20 (not usable on
2670: 41 6e 64 72 6f 69 64 29 2e 20 4f 6e 20 50 4f 53 Android). On POS
2680: 49 58 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 IX operating sys
2690: 74 65 6d 73 20 74 68 65 20 77 69 6e 64 6f 77 20 tems the window
26a0: 6d 61 6e 61 67 65 72 20 6d 75 73 74 20 73 75 70 manager must sup
26b0: 70 6f 72 74 20 74 72 61 6e 73 70 61 72 65 6e 74 port transparent
26c0: 20 74 6f 70 6c 65 76 65 6c 73 20 66 6f 72 20 74 toplevels for t
26d0: 68 69 73 20 73 65 74 74 69 6e 67 20 68 61 76 69 his setting havi
26e0: 6e 67 20 61 6e 20 65 66 66 65 63 74 2e 0d 0a 0d ng an effect....
26f0: 0a 3c 74 74 3e 73 64 6c 74 6b 20 66 6f 6e 74 73 .<tt>sdltk fonts
2700: 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 74 </tt>.... Ret
2710: 75 72 6e 73 20 61 20 6c 69 73 74 20 6d 61 64 65 urns a list made
2720: 20 75 70 20 6f 66 20 66 6f 6e 74 20 69 6e 66 6f up of font info
2730: 72 6d 61 74 69 6f 6e 20 69 6e 20 74 68 65 20 66 rmation in the f
2740: 6f 72 6d 20 6f 66 20 74 68 72 65 65 20 65 6c 65 orm of three ele
2750: 6d 65 6e 74 73 20 58 4c 46 44 2c 20 66 69 6c 65 ments XLFD, file
2760: 20 6e 61 6d 65 2c 20 66 6f 6e 74 20 69 6e 64 65 name, font inde
2770: 78 20 6f 66 20 61 6c 6c 20 72 65 67 69 73 74 65 x of all registe
2780: 72 65 64 20 66 6f 6e 74 73 2e 0d 0a 0d 0a 0d 0a red fonts.......
2790: 3c 74 74 3e 73 64 6c 74 6b 20 76 72 6d 6f 64 65 <tt>sdltk vrmode
27a0: 20 3c 69 3e 3f 6d 6f 64 65 20 3f 64 69 73 74 6f <i>?mode ?disto
27b0: 72 74 69 6f 6e 20 72 65 73 63 61 6c 65 3f 3f 3c rtion rescale??<
27c0: 2f 69 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 /i></tt>....
27d0: 45 78 70 65 72 69 6d 65 6e 74 61 6c 20 56 52 20 Experimental VR
27e0: 68 65 61 64 73 65 74 20 6d 6f 64 65 20 63 75 72 headset mode cur
27f0: 72 65 6e 74 6c 79 20 6f 6e 6c 79 20 73 75 70 70 rently only supp
2800: 6f 72 74 65 64 20 6f 6e 20 74 68 65 20 41 6e 64 orted on the And
2810: 72 6f 69 64 20 70 6c 61 74 66 6f 72 6d 2e 20 49 roid platform. I
2820: 66 20 3c 74 74 3e 3c 69 3e 6d 6f 64 65 3c 2f 69 f <tt><i>mode</i
2830: 3e 3c 2f 74 74 3e 20 69 73 20 73 70 65 63 69 66 ></tt> is specif
2840: 69 65 64 2c 20 69 74 20 63 68 61 6e 67 65 73 20 ied, it changes
2850: 74 68 65 20 56 52 20 68 65 61 64 73 65 74 20 6d the VR headset m
2860: 6f 64 65 20 74 6f 20 6f 6e 65 20 6f 66 20 74 68 ode to one of th
2870: 65 20 66 6f 6c 6c 6f 77 69 6e 67 3a 20 4d 6f 64 e following: Mod
2880: 65 20 30 20 66 6f 72 20 6e 6f 72 6d 61 6c 20 6f e 0 for normal o
2890: 70 65 72 61 74 69 6f 6e 2c 20 69 6e 20 6d 6f 64 peration, in mod
28a0: 65 20 31 20 74 68 65 20 72 6f 6f 74 20 77 69 6e e 1 the root win
28b0: 64 6f 77 20 69 73 20 64 75 70 6c 69 63 61 74 65 dow is duplicate
28c0: 64 20 61 6c 6f 6e 67 20 69 74 73 20 68 6f 72 69 d along its hori
28d0: 7a 6f 6e 74 61 6c 20 61 78 69 73 20 61 6e 64 20 zontal axis and
28e0: 73 63 61 6c 65 64 20 75 70 20 6f 72 20 64 6f 77 scaled up or dow
28f0: 6e 2c 20 69 6e 20 6d 6f 64 65 20 32 20 74 68 65 n, in mode 2 the
2900: 20 72 6f 6f 74 20 77 69 6e 64 6f 77 20 6d 75 73 root window mus
2910: 74 20 62 65 20 6d 61 6e 61 67 65 64 20 61 73 20 t be managed as
2920: 6c 65 66 74 20 61 6e 64 20 72 69 67 68 74 20 68 left and right h
2930: 61 6c 76 65 73 20 62 79 20 74 68 65 20 61 70 70 alves by the app
2940: 6c 69 63 61 74 69 6f 6e 2c 20 61 6e 64 20 69 6e lication, and in
2950: 20 6d 6f 64 65 20 33 20 74 68 65 20 72 6f 6f 74 mode 3 the root
2960: 20 77 69 6e 64 6f 77 20 69 73 20 64 75 70 6c 69 window is dupli
2970: 63 61 74 65 64 20 61 6c 6f 6e 67 20 69 74 73 20 cated along its
2980: 68 6f 72 69 7a 6f 6e 74 61 6c 20 61 78 69 73 20 horizontal axis
2990: 77 69 74 68 6f 75 74 20 73 63 61 6c 69 6e 67 2e without scaling.
29a0: 20 46 6f 72 20 61 6c 6c 20 6d 6f 64 65 73 20 65 For all modes e
29b0: 78 63 65 70 74 20 6d 6f 64 65 20 30 20 74 6f 75 xcept mode 0 tou
29c0: 63 68 20 73 63 72 65 65 6e 20 70 61 6e 6e 69 6e ch screen pannin
29d0: 67 20 61 6e 64 20 7a 6f 6f 6d 69 6e 67 20 6f 6e g and zooming on
29e0: 20 41 6e 64 72 6f 69 64 20 69 73 20 74 75 72 6e Android is turn
29f0: 65 64 20 6f 66 66 20 61 6e 64 20 74 6f 75 63 68 ed off and touch
2a00: 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 69 6e 20 coordinates in
2a10: 58 20 61 72 65 20 72 65 70 6f 72 74 65 64 20 65 X are reported e
2a20: 71 75 61 6c 20 66 6f 72 20 62 6f 74 68 20 6c 65 qual for both le
2a30: 66 74 20 61 6e 64 20 72 69 67 68 74 20 68 61 6c ft and right hal
2a40: 76 65 73 20 6f 66 20 74 68 65 20 73 63 72 65 65 ves of the scree
2a50: 6e 2e 20 41 6c 6c 20 6d 6f 64 65 73 20 65 78 63 n. All modes exc
2a60: 65 70 74 20 6d 6f 64 65 20 30 20 74 75 72 6e 20 ept mode 0 turn
2a70: 6f 6e 20 61 20 73 68 61 64 65 72 20 70 65 72 66 on a shader perf
2a80: 6f 72 6d 69 6e 67 20 61 20 62 61 72 72 65 6c 20 orming a barrel
2a90: 64 69 73 74 6f 72 74 69 6f 6e 20 28 77 68 65 6e distortion (when
2aa0: 20 4f 70 65 6e 47 4c 20 45 53 20 32 20 69 73 20 OpenGL ES 2 is
2ab0: 61 76 61 69 6c 61 62 6c 65 29 20 77 68 69 63 68 available) which
2ac0: 20 74 68 65 6f 72 65 74 69 63 61 6c 6c 79 20 63 theoretically c
2ad0: 6f 6d 70 65 6e 73 61 74 65 73 20 74 68 65 20 65 ompensates the e
2ae0: 66 66 65 63 74 20 6f 66 20 6c 65 6e 73 65 73 20 ffect of lenses
2af0: 6f 66 20 61 20 56 52 20 68 65 61 64 73 65 74 2e of a VR headset.
2b00: 20 54 68 65 20 6f 70 74 69 6f 6e 61 6c 20 70 61 The optional pa
2b10: 72 61 6d 65 74 65 72 73 20 3c 74 74 3e 3c 69 3e rameters <tt><i>
2b20: 64 69 73 74 6f 72 74 69 6f 6e 3c 2f 69 3e 3c 2f distortion</i></
2b30: 74 74 3e 20 61 6e 64 20 3c 74 74 3e 3c 69 3e 72 tt> and <tt><i>r
2b40: 65 73 63 61 6c 65 3c 2f 69 3e 3c 2f 74 74 3e 2c escale</i></tt>,
2b50: 20 69 66 20 70 72 65 73 65 6e 74 2c 20 6d 75 73 if present, mus
2b60: 74 20 62 65 20 73 70 65 63 69 66 69 65 64 20 61 t be specified a
2b70: 73 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 s floating point
2b80: 20 6e 75 6d 62 65 72 73 20 61 6e 64 20 63 6f 6e numbers and con
2b90: 74 72 6f 6c 20 74 68 65 20 64 65 67 72 65 65 20 trol the degree
2ba0: 6f 66 20 64 69 73 74 6f 72 74 69 6f 6e 2e 20 49 of distortion. I
2bb0: 6e 20 6f 72 64 65 72 20 74 6f 20 66 6c 69 70 20 n order to flip
2bc0: 74 68 65 20 69 6d 61 67 65 28 73 29 20 68 6f 72 the image(s) hor
2bd0: 69 7a 6f 6e 74 61 6c 6c 79 20 61 6e 64 2f 6f 72 izontally and/or
2be0: 20 76 65 72 74 69 63 61 6c 6c 79 2c 20 3c 74 74 vertically, <tt
2bf0: 3e 3c 69 3e 6d 6f 64 65 3c 2f 69 3e 3c 2f 74 74 ><i>mode</i></tt
2c00: 3e 20 63 61 6e 20 62 65 20 62 69 74 77 69 73 65 > can be bitwise
2c10: 20 6f 72 27 65 64 20 77 69 74 68 20 34 20 28 68 or'ed with 4 (h
2c20: 6f 72 69 7a 6f 6e 74 61 6c 20 66 6c 69 70 29 20 orizontal flip)
2c30: 61 6e 64 2f 6f 72 20 38 20 28 76 65 72 74 69 63 and/or 8 (vertic
2c40: 61 6c 20 66 6c 69 70 29 20 66 6f 72 20 61 6c 6c al flip) for all
2c50: 20 6d 6f 64 65 73 20 65 78 63 65 70 74 20 30 2e modes except 0.
2c60: 20 49 66 20 3c 74 74 3e 3c 69 3e 6d 6f 64 65 3c If <tt><i>mode<
2c70: 2f 69 3e 3c 2f 74 74 3e 20 61 6e 64 20 61 64 64 /i></tt> and add
2c80: 69 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 itional argument
2c90: 73 20 61 72 65 20 6f 6d 69 74 74 65 64 2c 20 74 s are omitted, t
2ca0: 68 65 20 63 75 72 72 65 6e 74 6c 79 20 61 63 74 he currently act
2cb0: 69 76 65 20 6d 6f 64 65 20 69 6e 63 6c 75 64 69 ive mode includi
2cc0: 6e 67 20 74 68 65 20 64 69 73 74 6f 72 74 69 6f ng the distortio
2cd0: 6e 20 63 6f 6e 74 72 6f 6c 20 70 61 72 61 6d 65 n control parame
2ce0: 74 65 72 73 20 61 72 65 20 72 65 74 75 72 6e 65 ters are returne
2cf0: 64 20 61 73 20 61 20 54 63 6c 20 6c 69 73 74 20 d as a Tcl list
2d00: 6f 66 20 74 68 72 65 65 20 65 6c 65 6d 65 6e 74 of three element
2d10: 73 2e 0d 0a 0d 0a 3c 74 74 3e 73 64 6c 74 6b 20 s.....<tt>sdltk
2d20: 70 6f 69 6e 74 65 72 20 3c 69 3e 3f 66 6c 61 67 pointer <i>?flag
2d30: 3f 3c 2f 69 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 ?</i></tt>....
2d40: 20 20 51 75 65 72 69 65 73 20 6f 72 20 73 65 74 Queries or set
2d50: 73 20 74 68 65 20 73 74 61 74 65 20 6f 66 20 74 s the state of t
2d60: 68 65 20 6d 6f 75 73 65 20 70 6f 69 6e 74 65 72 he mouse pointer
2d70: 20 73 68 61 70 65 2e 20 49 66 20 70 72 65 73 65 shape. If prese
2d80: 6e 74 2c 20 3c 74 74 3e 3c 69 3e 66 6c 61 67 3c nt, <tt><i>flag<
2d90: 2f 69 3e 3c 2f 74 74 3e 20 6d 75 73 74 20 62 65 /i></tt> must be
2da0: 20 61 20 62 6f 6f 6c 65 61 6e 20 76 61 6c 75 65 a boolean value
2db0: 20 61 6e 64 20 73 70 65 63 69 66 69 65 73 20 74 and specifies t
2dc0: 68 65 20 6e 65 77 20 73 74 61 74 65 2e 20 49 66 he new state. If
2dd0: 20 6e 6f 74 20 70 72 65 73 65 6e 74 2c 20 74 68 not present, th
2de0: 65 20 63 75 72 72 65 6e 74 20 73 74 61 74 65 20 e current state
2df0: 69 73 20 72 65 74 75 72 6e 65 64 20 61 73 20 30 is returned as 0
2e00: 20 28 6f 66 66 29 20 6f 72 20 31 20 28 6f 6e 29 (off) or 1 (on)
2e10: 2e 0d 0a 0d 0a 3c 74 74 3e 73 64 6c 74 6b 20 74 .....<tt>sdltk t
2e20: 6f 75 63 68 63 61 6c 69 62 72 61 74 69 6f 6e 20 ouchcalibration
2e30: 3c 69 3e 3f 78 6d 69 6e 20 78 6d 61 78 20 79 6d <i>?xmin xmax ym
2e40: 69 6e 20 79 6d 61 78 20 73 77 61 70 78 79 3f 3c in ymax swapxy?<
2e50: 2f 69 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 /i></tt>....
2e60: 51 75 65 72 69 65 73 20 6f 72 20 73 65 74 73 20 Queries or sets
2e70: 74 68 65 20 63 61 6c 69 62 72 61 74 69 6f 6e 20 the calibration
2e80: 64 61 74 61 20 66 6f 72 20 72 65 73 69 73 74 69 data for resisti
2e90: 76 65 20 74 6f 75 63 68 73 63 72 65 65 6e 73 20 ve touchscreens
2ea0: 73 75 70 70 6f 72 74 65 64 20 6f 6e 20 63 65 72 supported on cer
2eb0: 74 61 69 6e 20 53 44 4c 20 76 69 64 65 6f 20 64 tain SDL video d
2ec0: 72 69 76 65 72 73 20 28 63 75 72 72 65 6e 74 6c rivers (currentl
2ed0: 79 20 4c 69 6e 75 78 20 45 56 44 45 56 20 64 65 y Linux EVDEV de
2ee0: 76 69 63 65 73 20 77 69 74 68 20 4b 4d 53 44 52 vices with KMSDR
2ef0: 4d 20 6f 72 20 52 50 49 20 76 69 64 65 6f 20 64 M or RPI video d
2f00: 72 69 76 65 72 73 29 2e 20 54 68 65 20 63 61 6c rivers). The cal
2f10: 69 62 72 61 74 69 6f 6e 20 64 61 74 61 20 63 6f ibration data co
2f20: 6e 73 69 73 74 73 20 6f 66 20 66 69 76 65 20 69 nsists of five i
2f30: 6e 74 65 67 65 72 20 6e 75 6d 62 65 72 73 20 77 nteger numbers w
2f40: 68 69 63 68 0d 0a 61 72 65 20 72 65 74 75 72 6e hich..are return
2f50: 65 64 20 61 73 20 61 20 6c 69 73 74 2c 20 77 68 ed as a list, wh
2f60: 65 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 69 en the command i
2f70: 73 20 63 61 6c 6c 65 64 20 77 69 74 68 6f 75 74 s called without
2f80: 20 70 61 72 61 6d 65 74 65 72 73 2e 0d 0a 0d 0a parameters.....
2f90: 3c 74 74 3e 73 64 6c 74 6b 20 73 69 7a 65 20 3c <tt>sdltk size <
2fa0: 69 3e 3f 77 69 64 74 68 20 68 65 69 67 68 74 3f i>?width height?
2fb0: 3c 2f 69 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 </i></tt>....
2fc0: 20 51 75 65 72 69 65 73 20 74 68 65 20 73 69 7a Queries the siz
2fd0: 65 20 6f 66 20 74 68 65 20 65 6e 63 6c 6f 73 69 e of the enclosi
2fe0: 6e 67 20 53 44 4c 20 72 6f 6f 74 20 77 69 6e 64 ng SDL root wind
2ff0: 6f 77 20 77 68 65 6e 20 3c 74 74 3e 3c 69 3e 77 ow when <tt><i>w
3000: 69 64 74 68 3c 2f 69 3e 3c 2f 74 74 3e 20 61 6e idth</i></tt> an
3010: 64 20 3c 74 74 3e 3c 69 3e 68 65 69 67 68 74 3c d <tt><i>height<
3020: 2f 69 3e 3c 2f 74 74 3e 20 70 61 72 61 6d 65 74 /i></tt> paramet
3030: 65 72 73 20 61 72 65 20 6f 6d 69 74 74 65 64 2e ers are omitted.
3040: 20 41 20 74 77 6f 20 65 6c 65 6d 65 6e 74 20 6c A two element l
3050: 69 73 74 20 69 73 20 72 65 74 75 72 6e 65 64 20 ist is returned
3060: 77 69 74 68 20 74 68 65 20 63 75 72 72 65 6e 74 with the current
3070: 20 77 69 64 74 68 20 61 6e 64 20 68 65 69 67 68 width and heigh
3080: 74 20 69 6e 20 70 69 78 65 6c 73 2e 20 49 66 20 t in pixels. If
3090: 70 61 72 61 6d 65 74 65 72 73 20 61 72 65 20 67 parameters are g
30a0: 69 76 65 6e 2c 20 74 68 65 20 65 6e 63 6c 6f 73 iven, the enclos
30b0: 69 6e 67 20 53 44 4c 20 72 6f 6f 74 20 77 69 6e ing SDL root win
30c0: 64 6f 77 20 69 73 20 72 65 73 69 7a 65 64 20 72 dow is resized r
30d0: 65 73 70 65 63 74 69 76 65 6c 79 2c 20 70 72 6f espectively, pro
30e0: 76 69 64 65 64 20 74 68 61 74 20 74 68 65 20 63 vided that the c
30f0: 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 70 61 72 61 ommand line para
3100: 6d 65 74 65 72 20 3c 74 74 3e 2d 73 64 6c 72 65 meter <tt>-sdlre
3110: 73 69 7a 65 61 62 6c 65 3c 2f 74 74 3e 20 77 61 sizeable</tt> wa
3120: 73 20 73 70 65 63 69 66 69 65 64 20 61 6e 64 20 s specified and
3130: 74 68 65 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 the command line
3140: 20 70 61 72 61 6d 65 74 65 72 20 3c 74 74 3e 2d parameter <tt>-
3150: 73 64 6c 66 75 6c 6c 73 63 72 65 65 6e 3c 2f 74 sdlfullscreen</t
3160: 74 3e 20 77 61 73 20 6e 6f 74 20 73 70 65 63 69 t> was not speci
3170: 66 69 65 64 20 6f 6e 20 73 74 61 72 74 75 70 2e fied on startup.
3180: 20 48 6f 77 65 76 65 72 2c 20 63 68 61 6e 67 69 However, changi
3190: 6e 67 20 74 68 65 20 53 44 4c 20 72 6f 6f 74 20 ng the SDL root
31a0: 77 69 6e 64 6f 77 20 73 69 7a 65 20 69 73 20 6e window size is n
31b0: 6f 74 20 73 75 70 70 6f 72 74 65 64 20 6f 6e 20 ot supported on
31c0: 66 72 61 6d 65 62 75 66 66 65 72 20 6c 69 6b 65 framebuffer like
31d0: 20 64 65 76 69 63 65 73 20 28 73 65 65 20 3c 74 devices (see <t
31e0: 74 3e 73 64 6c 74 6b 20 66 72 61 6d 65 62 75 66 t>sdltk framebuf
31f0: 66 65 72 3c 2f 74 74 3e 29 2e 20 20 0d 0a 0d 0a fer</tt>). ....
3200: 3c 68 33 3e 54 6f 75 63 68 73 63 72 65 65 6e 20 <h3>Touchscreen
3210: 61 6e 64 20 41 63 63 65 6c 65 72 6f 6d 65 74 65 and Acceleromete
3220: 72 20 45 76 65 6e 74 73 3c 2f 68 33 3e 0d 0a 0d r Events</h3>...
3230: 0a 55 73 69 6e 67 20 74 68 65 20 73 64 6c 74 6b .Using the sdltk
3240: 20 66 72 61 6d 65 77 6f 72 6b 20 75 73 75 61 6c framework usual
3250: 6c 79 20 72 65 71 75 69 72 65 73 20 6c 69 62 65 ly requires libe
3260: 72 61 6c 20 75 73 65 20 6f 66 20 76 69 72 74 75 ral use of virtu
3270: 61 6c 20 65 76 65 6e 74 20 68 61 6e 64 6c 65 72 al event handler
3280: 73 2e 20 54 68 65 20 76 69 72 74 75 61 6c 20 65 s. The virtual e
3290: 76 65 6e 74 73 20 69 6e 63 6c 75 64 65 3a 0d 0a vents include:..
32a0: 0d 0a 3c 74 74 3e 3c 3c 41 63 63 65 6c 65 72 6f ..<tt><<Accelero
32b0: 6d 65 74 65 72 3e 3e 3c 2f 74 74 3e 0d 0a 0d 0a meter>></tt>....
32c0: 20 20 20 20 45 76 65 6e 74 20 61 73 73 6f 63 69 Event associ
32d0: 61 74 65 64 20 77 69 74 68 20 74 68 65 20 61 63 ated with the ac
32e0: 63 65 6c 65 72 6f 6d 65 74 65 72 20 28 61 63 74 celerometer (act
32f0: 69 76 61 74 65 64 20 77 69 74 68 20 3c 74 74 3e ivated with <tt>
3300: 73 64 6c 74 6b 20 61 63 63 65 6c 65 72 6f 6d 65 sdltk accelerome
3310: 74 65 72 20 6f 6e 3c 2f 74 74 3e 29 2e 20 3c 74 ter on</tt>). <t
3320: 74 3e 25 73 3c 2f 74 74 3e 20 69 73 20 73 75 62 t>%s</tt> is sub
3330: 73 74 69 74 75 74 65 64 20 77 69 74 68 20 74 68 stituted with th
3340: 65 20 61 63 63 65 6c 65 72 6f 6d 65 74 65 72 20 e accelerometer
3350: 61 78 69 73 20 7b 31 2e 2e 33 7d 20 61 6e 64 20 axis {1..3} and
3360: 3c 74 74 3e 25 78 3c 2f 74 74 3e 20 77 69 74 68 <tt>%x</tt> with
3370: 20 74 68 65 20 61 63 63 65 6c 65 72 6f 6d 65 74 the acceleromet
3380: 65 72 20 76 61 6c 75 65 20 69 6e 20 74 68 65 20 er value in the
3390: 72 61 6e 67 65 20 7b 2d 33 32 37 36 38 2e 2e 2e range {-32768...
33a0: 2b 33 32 37 36 37 7d 2e 20 54 68 69 73 20 65 76 +32767}. This ev
33b0: 65 6e 74 20 69 73 20 72 65 70 6f 72 74 65 64 20 ent is reported
33c0: 74 6f 20 74 6f 70 6c 65 76 65 6c 20 77 69 64 67 to toplevel widg
33d0: 65 74 73 20 6f 6e 6c 79 2e 0d 0a 0d 0a 3c 74 74 ets only.....<tt
33e0: 3e 3c 3c 46 69 6e 67 65 72 44 6f 77 6e 3e 3e 3c ><<FingerDown>><
33f0: 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 41 20 74 6f /tt>.... A to
3400: 75 63 68 20 65 76 65 6e 74 2e 0d 0a 0d 0a 3c 74 uch event.....<t
3410: 74 3e 3c 3c 46 69 6e 67 65 72 55 70 3e 3e 3c 2f t><<FingerUp>></
3420: 74 74 3e 0d 0a 0d 0a 20 20 20 20 41 20 74 6f 75 tt>.... A tou
3430: 63 68 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 65 76 ch completion ev
3440: 65 6e 74 2e 0d 0a 0d 0a 3c 74 74 3e 3c 3c 46 69 ent.....<tt><<Fi
3450: 6e 67 65 72 4d 6f 74 69 6f 6e 3e 3e 3c 2f 74 74 ngerMotion>></tt
3460: 3e 0d 0a 0d 0a 20 20 20 20 41 20 74 6f 75 63 68 >.... A touch
3470: 20 6d 6f 76 65 6d 65 6e 74 20 28 73 6c 69 64 69 movement (slidi
3480: 6e 67 29 20 65 76 65 6e 74 2e 20 54 68 65 20 66 ng) event. The f
3490: 69 65 6c 64 73 20 3c 74 74 3e 25 78 3c 2f 74 74 ields <tt>%x</tt
34a0: 3e 20 61 6e 64 20 3c 74 74 3e 25 79 3c 2f 74 74 > and <tt>%y</tt
34b0: 3e 20 61 72 65 20 73 75 62 73 74 69 74 75 74 65 > are substitute
34c0: 64 20 77 69 74 68 20 74 68 65 20 66 69 6e 67 65 d with the finge
34d0: 72 20 70 6f 73 69 74 69 6f 6e 20 73 63 61 6c 65 r position scale
34e0: 64 20 74 6f 20 7b 30 2e 2e 2e 39 39 39 39 7d 20 d to {0...9999}
34f0: 6f 66 20 74 68 65 20 64 65 76 69 63 65 20 73 63 of the device sc
3500: 72 65 65 6e 20 6f 72 20 76 69 65 77 70 6f 72 74 reen or viewport
3510: 2c 20 3c 74 74 3e 25 58 3c 2f 74 74 3e 20 61 6e , <tt>%X</tt> an
3520: 64 20 3c 74 74 3e 25 59 3c 2f 74 74 3e 20 77 69 d <tt>%Y</tt> wi
3530: 74 68 20 74 68 65 20 6d 6f 74 69 6f 6e 20 64 69 th the motion di
3540: 66 66 65 72 65 6e 63 65 20 73 63 61 6c 65 64 20 fference scaled
3550: 74 6f 20 7b 2d 39 39 39 39 2e 2e 2e 2b 39 39 39 to {-9999...+999
3560: 39 7d 2c 20 3c 74 74 3e 25 74 3c 2f 74 74 3e 20 9}, <tt>%t</tt>
3570: 77 69 74 68 20 74 68 65 20 70 72 65 73 73 75 72 with the pressur
3580: 65 20 73 63 61 6c 65 64 20 74 6f 20 7b 30 2e 2e e scaled to {0..
3590: 2e 39 39 39 39 7d 2c 20 61 6e 64 20 3c 74 74 3e .9999}, and <tt>
35a0: 25 73 3c 2f 74 74 3e 20 77 69 74 68 20 74 68 65 %s</tt> with the
35b0: 20 66 69 6e 67 65 72 20 69 64 65 6e 74 69 66 69 finger identifi
35c0: 65 72 20 7b 31 2e 2e 2e 31 30 7d 2e 20 54 68 65 er {1...10}. The
35d0: 73 65 20 73 75 62 73 74 69 74 75 74 69 6f 6e 73 se substitutions
35e0: 20 61 72 65 20 70 65 72 66 6f 72 6d 65 64 20 66 are performed f
35f0: 6f 72 20 61 6c 6c 20 66 69 6e 67 65 72 20 72 65 or all finger re
3600: 6c 61 74 65 64 20 74 6f 75 63 68 20 65 76 65 6e lated touch even
3610: 74 73 2e 0d 0a 0d 0a 3c 74 74 3e 3c 3c 50 69 6e ts.....<tt><<Pin
3620: 63 68 54 6f 5a 6f 6f 6d 3e 3e 3c 2f 74 74 3e 0d chToZoom>></tt>.
3630: 0a 0d 0a 20 20 20 20 41 20 7a 6f 6f 6d 20 67 65 ... A zoom ge
3640: 73 74 75 72 65 20 65 76 65 6e 74 2e 20 3c 74 74 sture event. <tt
3650: 3e 25 58 3c 2f 74 74 3e 20 61 6e 64 20 3c 74 74 >%X</tt> and <tt
3660: 3e 25 59 3c 2f 74 74 3e 20 61 72 65 20 73 75 62 >%Y</tt> are sub
3670: 73 74 69 74 75 74 65 64 20 77 69 74 68 20 74 68 stituted with th
3680: 65 20 72 6f 6f 74 20 77 69 6e 64 6f 77 20 63 6f e root window co
3690: 6f 72 64 69 6e 61 74 65 20 6f 66 20 74 68 65 20 ordinate of the
36a0: 63 65 6e 74 65 72 20 6f 66 20 74 68 65 20 74 77 center of the tw
36b0: 6f 20 66 69 6e 67 65 72 73 2c 20 3c 74 74 3e 25 o fingers, <tt>%
36c0: 78 3c 2f 74 74 3e 20 77 69 74 68 20 74 68 65 20 x</tt> with the
36d0: 64 69 73 74 61 6e 63 65 20 62 65 74 77 65 65 6e distance between
36e0: 20 74 68 65 20 74 77 6f 20 66 69 6e 67 65 72 73 the two fingers
36f0: 2c 20 61 6e 64 20 3c 74 74 3e 25 79 3c 2f 74 74 , and <tt>%y</tt
3700: 3e 20 77 69 74 68 20 74 68 65 20 61 6e 67 6c 65 > with the angle
3710: 20 6d 65 61 73 75 72 65 64 20 69 6e 20 36 34 20 measured in 64
3720: 74 69 6d 65 73 20 64 65 67 72 65 65 73 20 43 43 times degrees CC
3730: 57 20 73 74 61 72 74 69 6e 67 20 61 74 20 33 20 W starting at 3
3740: 6f 27 63 6c 6f 63 6b 2e 20 54 68 65 20 66 69 6e o'clock. The fin
3750: 67 65 72 20 73 74 61 74 65 20 69 73 20 72 65 70 ger state is rep
3760: 6f 72 74 65 64 20 69 6e 20 74 68 65 20 3c 74 74 orted in the <tt
3770: 3e 25 73 3c 2f 74 74 3e 20 73 75 62 73 74 69 74 >%s</tt> substit
3780: 75 74 69 6f 6e 20 61 73 20 30 20 28 7a 6f 6f 6d ution as 0 (zoom
3790: 20 6d 6f 74 69 6f 6e 29 2c 20 31 20 28 7a 6f 6f motion), 1 (zoo
37a0: 6d 20 73 74 61 72 74 2c 20 69 2e 65 2e 20 32 6e m start, i.e. 2n
37b0: 64 20 66 69 6e 67 65 72 20 64 6f 77 6e 20 65 76 d finger down ev
37c0: 65 6e 74 29 2c 20 32 20 28 7a 6f 6f 6d 20 65 6e ent), 2 (zoom en
37d0: 64 20 62 79 20 31 73 74 20 66 69 6e 67 65 72 20 d by 1st finger
37e0: 75 70 20 65 76 65 6e 74 29 2c 20 33 20 28 7a 6f up event), 3 (zo
37f0: 6f 6d 20 65 6e 64 20 62 79 20 32 6e 64 20 66 69 om end by 2nd fi
3800: 6e 67 65 72 20 75 70 20 65 76 65 6e 74 29 2e 0d nger up event)..
3810: 0a 0d 0a 3c 68 33 3e 4a 6f 79 73 74 69 63 6b 20 ...<h3>Joystick
3820: 45 76 65 6e 74 73 3c 2f 68 33 3e 0d 0a 0d 0a 46 Events</h3>....F
3830: 6f 6c 6c 6f 77 69 6e 67 20 76 69 72 74 75 61 6c ollowing virtual
3840: 20 65 76 65 6e 74 73 20 61 72 65 20 72 65 70 6f events are repo
3850: 72 74 65 64 20 66 6f 72 20 6a 6f 79 73 74 69 63 rted for joystic
3860: 6b 73 20 61 6e 64 20 67 61 6d 65 20 63 6f 6e 74 ks and game cont
3870: 72 6f 6c 6c 65 72 73 3a 0d 0a 0d 0a 3c 74 74 3e rollers:....<tt>
3880: 3c 3c 4a 6f 79 73 74 69 63 6b 41 64 64 65 64 3e <<JoystickAdded>
3890: 3e 3c 2f 74 74 3e 2c 20 3c 74 74 3e 3c 3c 4a 6f ></tt>, <tt><<Jo
38a0: 79 73 74 69 63 6b 52 65 6d 6f 76 65 64 3e 3e 3c ystickRemoved>><
38b0: 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 45 76 65 6e /tt>.... Even
38c0: 74 20 67 65 6e 65 72 61 74 65 64 20 77 68 65 6e t generated when
38d0: 20 61 20 6a 6f 79 73 74 69 63 6b 20 6f 72 20 67 a joystick or g
38e0: 61 6d 65 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 69 ame controller i
38f0: 73 20 70 6c 75 67 67 65 64 20 6f 72 20 75 6e 70 s plugged or unp
3900: 6c 75 67 67 65 64 2e 20 54 68 65 20 66 69 65 6c lugged. The fiel
3910: 64 20 3c 74 74 3e 25 58 3c 2f 74 74 3e 20 69 73 d <tt>%X</tt> is
3920: 20 73 75 62 73 74 69 74 75 74 65 64 20 77 69 74 substituted wit
3930: 68 20 74 68 65 20 6a 6f 79 73 74 69 63 6b 20 69 h the joystick i
3940: 64 20 28 69 6e 73 74 61 6e 63 65 20 69 64 65 6e d (instance iden
3950: 74 69 66 69 65 72 20 69 6e 20 53 44 4c 32 20 74 tifier in SDL2 t
3960: 65 72 6d 69 6e 6f 6c 6f 67 79 29 2e 0d 0a 0d 0a erminology).....
3970: 3c 74 74 3e 3c 3c 4a 6f 79 73 74 69 63 6b 4d 6f <tt><<JoystickMo
3980: 74 69 6f 6e 3e 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 tion>></tt>....
3990: 20 20 20 53 69 6d 69 6c 61 72 20 74 6f 20 3c 74 Similar to <t
39a0: 74 3e 3c 3c 41 63 63 65 6c 65 72 6f 6d 65 74 65 t><<Acceleromete
39b0: 72 3e 3e 3c 2f 74 74 3e 20 74 68 69 73 20 65 76 r>></tt> this ev
39c0: 65 6e 74 20 69 73 20 72 65 70 6f 72 74 65 64 20 ent is reported
39d0: 77 68 65 6e 20 74 68 65 20 70 6f 73 69 74 69 6f when the positio
39e0: 6e 20 6f 66 20 74 68 65 20 6a 6f 79 73 74 69 63 n of the joystic
39f0: 6b 20 68 61 73 20 63 68 61 6e 67 65 64 2e 20 41 k has changed. A
3a00: 6e 20 61 64 64 69 74 69 6f 6e 61 6c 20 73 75 62 n additional sub
3a10: 73 74 69 74 75 74 69 6f 6e 20 69 73 20 6d 61 64 stitution is mad
3a20: 65 20 66 6f 72 20 3c 74 74 3e 25 58 3c 2f 74 74 e for <tt>%X</tt
3a30: 3e 20 77 68 69 63 68 20 72 65 63 65 69 76 65 73 > which receives
3a40: 20 74 68 65 20 6a 6f 79 73 74 69 63 6b 20 69 64 the joystick id
3a50: 20 28 69 6e 73 74 61 6e 63 65 20 69 64 65 6e 74 (instance ident
3a60: 69 66 69 65 72 20 69 6e 20 53 44 4c 32 20 74 65 ifier in SDL2 te
3a70: 72 6d 69 6e 6f 6c 6f 67 79 29 2e 0d 0a 0d 0a 3c rminology).....<
3a80: 74 74 3e 3c 3c 54 72 61 63 6b 62 61 6c 6c 4d 6f tt><<TrackballMo
3a90: 74 69 6f 6e 3e 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 tion>></tt>....
3aa0: 20 20 20 41 20 6a 6f 79 73 74 69 63 6b 20 74 72 A joystick tr
3ab0: 61 63 6b 62 61 6c 6c 20 68 61 73 20 6d 6f 76 65 ackball has move
3ac0: 64 2e 20 54 68 65 20 66 69 65 6c 64 73 20 3c 74 d. The fields <t
3ad0: 74 3e 25 78 3c 2f 74 74 3e 20 61 6e 64 20 3c 74 t>%x</tt> and <t
3ae0: 74 3e 25 79 3c 2f 74 74 3e 20 61 72 65 20 73 75 t>%y</tt> are su
3af0: 62 73 74 69 74 75 74 65 64 20 77 69 74 68 20 74 bstituted with t
3b00: 68 65 20 64 65 6c 74 61 73 20 6f 66 20 74 68 65 he deltas of the
3b10: 20 6d 6f 76 65 2c 20 3c 74 74 3e 25 73 3c 2f 74 move, <tt>%s</t
3b20: 74 3e 20 77 69 74 68 20 74 68 65 20 74 72 61 63 t> with the trac
3b30: 6b 62 61 6c 6c 20 6e 75 6d 62 65 72 20 63 6f 75 kball number cou
3b40: 6e 74 65 64 20 66 72 6f 6d 20 31 2c 20 74 68 65 nted from 1, the
3b50: 20 66 69 65 6c 64 20 3c 74 74 3e 25 58 3c 2f 74 field <tt>%X</t
3b60: 74 3e 20 69 6e 64 69 63 61 74 65 73 20 74 68 65 t> indicates the
3b70: 20 6a 6f 79 73 74 69 63 6b 20 69 64 2e 0d 0a 0d joystick id....
3b80: 0a 3c 74 74 3e 3c 3c 48 61 74 50 6f 73 69 74 69 .<tt><<HatPositi
3b90: 6f 6e 3e 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 on>></tt>....
3ba0: 20 41 20 6a 6f 79 73 74 69 63 6b 20 68 61 74 20 A joystick hat
3bb0: 68 61 73 20 63 68 61 6e 67 65 64 2e 20 54 68 65 has changed. The
3bc0: 20 66 69 65 6c 64 20 3c 74 74 3e 25 78 3c 2f 74 field <tt>%x</t
3bd0: 74 3e 20 69 73 20 73 75 62 73 74 69 74 75 74 65 t> is substitute
3be0: 64 20 77 69 74 68 20 74 68 65 20 76 61 6c 75 65 d with the value
3bf0: 20 6f 66 20 74 68 65 20 68 61 74 2c 20 3c 74 74 of the hat, <tt
3c00: 3e 25 73 3c 2f 74 74 3e 20 77 69 74 68 20 74 68 >%s</tt> with th
3c10: 65 20 68 61 74 20 6e 75 6d 62 65 72 20 63 6f 75 e hat number cou
3c20: 6e 74 65 64 20 66 72 6f 6d 20 31 2c 20 74 68 65 nted from 1, the
3c30: 20 66 69 65 6c 64 20 3c 74 74 3e 25 58 3c 2f 74 field <tt>%X</t
3c40: 74 3e 20 69 6e 64 69 63 61 74 65 73 20 74 68 65 t> indicates the
3c50: 20 6a 6f 79 73 74 69 63 6b 20 69 64 2e 0d 0a 0d joystick id....
3c60: 0a 3c 74 74 3e 3c 3c 4a 6f 79 73 74 69 63 6b 42 .<tt><<JoystickB
3c70: 75 74 74 6f 6e 55 70 3e 3e 3c 2f 74 74 3e 2c 20 uttonUp>></tt>,
3c80: 3c 2f 74 74 3e 3c 3c 4a 6f 79 73 74 69 63 6b 42 </tt><<JoystickB
3c90: 75 74 74 6f 6e 44 6f 77 6e 3e 3e 3c 2f 74 74 3e uttonDown>></tt>
3ca0: 0d 0a 0d 0a 20 20 20 20 41 20 6a 6f 79 73 74 69 .... A joysti
3cb0: 63 6b 20 62 75 74 74 6f 6e 20 77 61 73 20 70 72 ck button was pr
3cc0: 65 73 73 65 64 20 6f 72 20 72 65 6c 65 61 73 65 essed or release
3cd0: 64 2e 20 54 68 65 20 66 69 65 6c 64 20 3c 74 74 d. The field <tt
3ce0: 3e 25 73 3c 2f 74 74 3e 20 69 73 20 73 75 62 73 >%s</tt> is subs
3cf0: 74 69 74 75 74 65 64 20 77 69 74 68 20 74 68 65 tituted with the
3d00: 20 62 75 74 74 6f 6e 20 6e 75 6d 62 65 72 20 63 button number c
3d10: 6f 75 6e 74 65 64 20 66 72 6f 6d 20 31 2c 20 74 ounted from 1, t
3d20: 68 65 20 66 69 65 6c 64 20 3c 74 74 3e 25 58 3c he field <tt>%X<
3d30: 2f 74 74 3e 20 69 6e 64 69 63 61 74 65 73 20 74 /tt> indicates t
3d40: 68 65 20 6a 6f 79 73 74 69 63 6b 20 69 64 2e 0d he joystick id..
3d50: 0a 0d 0a 3c 68 33 3e 45 76 65 6e 74 73 20 72 65 ...<h3>Events re
3d60: 6c 61 74 65 64 20 74 6f 20 74 68 65 20 64 65 76 lated to the dev
3d70: 69 63 65 20 73 63 72 65 65 6e 3c 2f 68 33 3e 0d ice screen</h3>.
3d80: 0a 0d 0a 3c 74 74 3e 3c 3c 56 69 65 77 70 6f 72 ...<tt><<Viewpor
3d90: 74 55 70 64 61 74 65 3e 3e 3c 2f 74 74 3e 0d 0a tUpdate>></tt>..
3da0: 0d 0a 20 20 20 20 54 68 69 73 20 65 76 65 6e 74 .. This event
3db0: 20 69 73 20 73 65 6e 74 20 74 6f 20 74 6f 70 6c is sent to topl
3dc0: 65 76 65 6c 20 77 69 64 67 65 74 73 20 77 68 65 evel widgets whe
3dd0: 6e 20 74 68 65 20 76 69 65 77 70 6f 72 74 20 68 n the viewport h
3de0: 61 73 20 63 68 61 6e 67 65 64 2e 20 3c 74 74 3e as changed. <tt>
3df0: 25 78 3c 2f 74 74 3e 20 61 6e 64 20 3c 74 74 3e %x</tt> and <tt>
3e00: 25 79 3c 2f 74 74 3e 20 61 72 65 20 73 75 62 73 %y</tt> are subs
3e10: 74 69 74 75 74 65 64 20 77 69 74 68 20 74 68 65 tituted with the
3e20: 20 76 69 65 77 70 6f 72 74 20 6f 66 66 73 65 74 viewport offset
3e30: 20 28 74 6f 70 2d 6c 65 66 74 20 63 6f 72 6e 65 (top-left corne
3e40: 72 20 6f 66 20 74 68 65 20 73 63 72 65 65 6e 29 r of the screen)
3e50: 2c 20 3c 74 74 3e 25 58 3c 2f 74 74 3e 20 61 6e , <tt>%X</tt> an
3e60: 64 20 3c 74 74 3e 25 59 3c 2f 74 74 3e 20 77 69 d <tt>%Y</tt> wi
3e70: 74 68 20 74 68 65 20 77 69 64 74 68 20 61 6e 64 th the width and
3e80: 20 68 65 69 67 68 74 2c 20 72 65 73 70 65 63 74 height, respect
3e90: 69 76 65 6c 79 2c 20 61 6e 64 20 3c 74 74 3e 25 ively, and <tt>%
3ea0: 73 3c 2f 74 74 3e 20 77 69 74 68 20 74 68 65 20 s</tt> with the
3eb0: 73 63 61 6c 65 20 66 61 63 74 6f 72 20 28 72 65 scale factor (re
3ec0: 6c 61 74 69 6f 6e 20 6f 66 20 72 6f 6f 74 20 77 lation of root w
3ed0: 69 6e 64 6f 77 20 73 69 7a 65 20 74 6f 20 64 69 indow size to di
3ee0: 73 70 6c 61 79 65 64 20 73 69 7a 65 29 20 73 63 splayed size) sc
3ef0: 61 6c 65 64 20 74 6f 20 31 30 30 30 30 2e 0d 0a aled to 10000...
3f00: 0d 0a 3c 68 33 3e 45 76 65 6e 74 73 20 72 65 6c ..<h3>Events rel
3f10: 61 74 65 64 20 74 6f 20 74 68 65 20 61 70 70 20 ated to the app
3f20: 6c 69 66 65 2d 63 79 63 6c 65 3c 2f 68 33 3e 0d life-cycle</h3>.
3f30: 0a 0d 0a 54 68 65 73 65 20 65 76 65 6e 74 73 20 ...These events
3f40: 61 72 65 20 64 69 72 65 63 74 20 74 72 61 6e 73 are direct trans
3f50: 6c 61 74 69 6f 6e 73 20 66 72 6f 6d 20 53 44 4c lations from SDL
3f60: 20 65 76 65 6e 74 73 20 28 3c 62 3e 53 44 4c 5f events (<b>SDL_
3f70: 41 50 50 5f 2a 3c 2f 62 3e 20 69 6e 20 53 44 4c APP_*</b> in SDL
3f80: 20 68 65 61 64 65 72 20 66 69 6c 65 73 29 20 61 header files) a
3f90: 6e 64 20 64 65 70 65 6e 64 20 6f 6e 20 70 6c 61 nd depend on pla
3fa0: 74 66 6f 72 6d 20 73 75 70 70 6f 72 74 2e 20 54 tform support. T
3fb0: 68 65 79 20 61 72 65 20 72 65 70 6f 72 74 65 64 hey are reported
3fc0: 20 74 6f 20 74 6f 70 6c 65 76 65 6c 20 77 69 64 to toplevel wid
3fd0: 67 65 74 73 20 6f 6e 6c 79 2e 0d 0a 0d 0a 3c 74 gets only.....<t
3fe0: 74 3e 3c 3c 4c 6f 77 4d 65 6d 6f 72 79 3e 3e 3c t><<LowMemory>><
3ff0: 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 53 79 73 74 /tt>.... Syst
4000: 65 6d 20 69 73 20 69 6e 20 6c 6f 77 20 6d 65 6d em is in low mem
4010: 6f 72 79 20 73 69 74 75 61 74 69 6f 6e 2e 20 41 ory situation. A
4020: 6c 74 68 6f 75 67 68 20 69 6d 70 6c 65 6d 65 6e lthough implemen
4030: 74 65 64 20 66 6f 72 20 41 6e 64 72 6f 69 64 20 ted for Android
4040: 61 6e 64 20 69 4f 53 2c 20 74 68 69 73 20 65 76 and iOS, this ev
4050: 65 6e 74 20 77 61 73 20 6e 65 76 65 72 20 6f 62 ent was never ob
4060: 73 65 72 76 65 64 20 69 6e 20 72 65 61 6c 69 74 served in realit
4070: 79 2e 0d 0a 0d 0a 3c 74 74 3e 3c 3c 54 65 72 6d y.....<tt><<Term
4080: 69 6e 61 74 69 6e 67 3e 3e 3c 2f 74 74 3e 0d 0a inating>></tt>..
4090: 0d 0a 20 20 20 20 41 70 70 20 69 73 20 74 65 72 .. App is ter
40a0: 6d 69 6e 61 74 69 6e 67 2e 20 41 6c 74 68 6f 75 minating. Althou
40b0: 67 68 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 66 gh implemented f
40c0: 6f 72 20 41 6e 64 72 6f 69 64 20 61 6e 64 20 69 or Android and i
40d0: 4f 53 2c 20 74 68 69 73 20 65 76 65 6e 74 20 77 OS, this event w
40e0: 61 73 20 6e 65 76 65 72 20 6f 62 73 65 72 76 65 as never observe
40f0: 64 20 69 6e 20 72 65 61 6c 69 74 79 2c 20 6d 61 d in reality, ma
4100: 79 62 65 20 64 75 65 20 74 6f 20 74 69 6d 69 6e ybe due to timin
4110: 67 20 72 65 67 61 72 64 69 6e 67 20 74 68 72 65 g regarding thre
4120: 61 64 73 2e 0d 0a 0d 0a 3c 74 74 3e 3c 3c 57 69 ads.....<tt><<Wi
4130: 6c 6c 45 6e 74 65 72 42 61 63 6b 67 72 6f 75 6e llEnterBackgroun
4140: 64 3e 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 d>></tt>....
4150: 41 70 70 27 73 20 73 63 72 65 65 6e 20 77 69 6c App's screen wil
4160: 6c 20 62 65 20 70 75 74 20 69 6e 20 62 61 63 6b l be put in back
4170: 67 72 6f 75 6e 64 2e 0d 0a 0d 0a 3c 74 74 3e 3c ground.....<tt><
4180: 3c 44 69 64 45 6e 74 65 72 42 61 63 6b 67 72 6f <DidEnterBackgro
4190: 75 6e 64 3e 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 und>></tt>....
41a0: 20 20 41 70 70 27 73 20 73 63 72 65 65 6e 20 69 App's screen i
41b0: 73 20 69 6e 20 74 68 65 20 62 61 63 6b 67 72 6f s in the backgro
41c0: 75 6e 64 2e 0d 0a 0d 0a 3c 74 74 3e 3c 3c 57 69 und.....<tt><<Wi
41d0: 6c 6c 45 6e 74 65 72 46 6f 72 65 67 72 6f 75 6e llEnterForegroun
41e0: 64 3e 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 d>></tt>....
41f0: 41 70 70 27 73 20 73 63 72 65 65 6e 20 77 69 6c App's screen wil
4200: 6c 20 62 65 20 70 75 74 20 69 6e 20 66 6f 72 65 l be put in fore
4210: 67 72 6f 75 6e 64 2e 20 4f 6e 20 41 6e 64 72 6f ground. On Andro
4220: 69 64 2c 20 6e 6f 74 20 72 65 70 6f 72 74 65 64 id, not reported
4230: 20 6f 6e 20 73 74 61 72 74 75 70 20 6f 66 20 74 on startup of t
4240: 68 65 20 61 70 70 2e 0d 0a 0d 0a 3c 74 74 3e 3c he app.....<tt><
4250: 3c 44 69 64 45 6e 74 65 72 46 6f 72 65 67 72 6f <DidEnterForegro
4260: 75 6e 64 3e 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 und>></tt>....
4270: 20 20 41 70 70 27 73 20 73 63 72 65 65 6e 20 69 App's screen i
4280: 73 20 69 6e 20 74 68 65 20 66 6f 72 65 67 72 6f s in the foregro
4290: 75 6e 64 2e 20 4f 6e 20 41 6e 64 72 6f 69 64 2c und. On Android,
42a0: 20 6e 6f 74 20 72 65 70 6f 72 74 65 64 20 6f 6e not reported on
42b0: 20 73 74 61 72 74 75 70 20 6f 66 20 74 68 65 20 startup of the
42c0: 61 70 70 2e 0d 0a 0d 0a 4e 6f 74 65 20 74 68 61 app.....Note tha
42d0: 74 20 6f 6e 20 41 6e 64 72 6f 69 64 20 74 68 65 t on Android the
42e0: 20 73 79 73 74 65 6d 20 6d 61 79 20 6b 69 6c 6c system may kill
42f0: 20 61 6e 20 61 70 70 20 61 74 20 61 6e 79 20 74 an app at any t
4300: 69 6d 65 20 64 75 65 20 74 6f 20 6c 6f 77 20 6d ime due to low m
4310: 65 6d 6f 72 79 20 73 69 74 75 61 74 69 6f 6e 73 emory situations
4320: 2e 20 49 6e 20 6f 72 64 65 72 20 74 6f 20 6b 65 . In order to ke
4330: 65 70 20 73 6f 6d 65 20 61 70 70 20 73 74 61 74 ep some app stat
4340: 65 20 70 65 72 73 69 73 74 65 6e 74 2c 20 74 68 e persistent, th
4350: 65 20 62 65 73 74 20 6f 70 74 69 6f 6e 20 69 73 e best option is
4360: 20 74 6f 20 72 65 63 6f 72 64 20 65 61 63 68 20 to record each
4370: 63 68 61 6e 67 65 20 69 6d 6d 65 64 69 61 74 65 change immediate
4380: 6c 79 2e 20 41 6e 6f 74 68 65 72 20 6f 70 74 69 ly. Another opti
4390: 6f 6e 20 69 73 20 75 73 69 6e 67 20 74 68 65 20 on is using the
43a0: 3c 74 74 3e 3c 3c 57 69 6c 6c 45 6e 74 65 72 42 <tt><<WillEnterB
43b0: 61 63 6b 67 72 6f 75 6e 64 3e 3e 3c 2f 74 74 3e ackground>></tt>
43c0: 20 76 69 72 74 75 61 6c 20 65 76 65 6e 74 20 73 virtual event s
43d0: 69 6e 63 65 20 69 74 20 6d 61 79 20 62 65 20 72 ince it may be r
43e0: 65 63 65 69 76 65 64 20 62 65 66 6f 72 65 20 75 eceived before u
43f0: 6e 65 78 70 65 63 74 65 64 20 61 70 70 20 74 65 nexpected app te
4400: 72 6d 69 6e 61 74 69 6f 6e 2e 0d 0a 0d 0a 3c 68 rmination.....<h
4410: 33 3e 41 63 63 65 6c 65 72 6f 6d 65 74 65 72 20 3>Accelerometer
4420: 45 78 61 6d 70 6c 65 3c 2f 68 33 3e 0d 0a 0d 0a Example</h3>....
4430: 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 20 20 20 20 <verbatim>..
4440: 70 72 6f 63 20 73 68 6f 77 61 63 63 65 6c 20 7b proc showaccel {
4450: 63 61 6e 76 61 73 20 61 78 69 73 20 76 61 6c 75 canvas axis valu
4460: 65 7d 20 7b 0d 0a 20 20 20 20 20 20 20 20 73 65 e} {.. se
4470: 74 20 69 78 20 30 0d 0a 20 20 20 20 20 20 20 20 t ix 0..
4480: 73 65 74 20 69 79 20 30 0d 0a 20 20 20 20 20 20 set iy 0..
4490: 20 20 69 66 20 7b 24 61 78 69 73 20 3d 3d 20 31 if {$axis == 1
44a0: 7d 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 } {..
44b0: 20 73 65 74 20 69 78 20 5b 65 78 70 72 20 7b 24 set ix [expr {$
44c0: 76 61 6c 75 65 20 2f 20 32 35 36 7d 5d 0d 0a 20 value / 256}]..
44d0: 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 } elseif
44e0: 7b 24 61 78 69 73 20 3d 3d 20 32 7d 20 7b 0d 0a {$axis == 2} {..
44f0: 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 20 set
4500: 69 79 20 5b 65 78 70 72 20 7b 24 76 61 6c 75 65 iy [expr {$value
4510: 20 2f 20 32 35 36 7d 5d 0d 0a 20 20 20 20 20 20 / 256}]..
4520: 20 20 7d 20 65 6c 73 65 69 66 20 7b 24 61 78 69 } elseif {$axi
4530: 73 20 3d 3d 20 33 7d 20 7b 0d 0a 20 20 20 20 20 s == 3} {..
4540: 20 20 20 20 20 20 20 73 65 74 20 3a 3a 70 6f 73 set ::pos
4550: 28 74 29 20 5b 65 78 70 72 20 7b 28 24 76 61 6c (t) [expr {($val
4560: 75 65 20 2f 20 32 35 36 29 20 25 20 33 36 30 7d ue / 256) % 360}
4570: 5d 0d 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 ].. } els
4580: 65 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 e {..
4590: 20 72 65 74 75 72 6e 0d 0a 20 20 20 20 20 20 20 return..
45a0: 20 7d 0d 0a 20 20 20 20 20 20 20 20 69 66 20 7b }.. if {
45b0: 21 5b 69 6e 66 6f 20 65 78 69 73 74 73 20 3a 3a ![info exists ::
45c0: 70 6f 73 28 78 29 5d 7d 20 7b 0d 0a 20 20 20 20 pos(x)]} {..
45d0: 20 20 20 20 20 20 20 20 73 65 74 20 3a 3a 70 6f set ::po
45e0: 73 28 78 29 20 5b 65 78 70 72 20 5b 77 69 6e 66 s(x) [expr [winf
45f0: 6f 20 77 69 64 74 68 20 24 63 61 6e 76 61 73 5d o width $canvas]
4600: 20 2f 20 34 5d 0d 0a 20 20 20 20 20 20 20 20 20 / 4]..
4610: 20 20 20 73 65 74 20 3a 3a 70 6f 73 28 79 29 20 set ::pos(y)
4620: 5b 65 78 70 72 20 5b 77 69 6e 66 6f 20 68 65 69 [expr [winfo hei
4630: 67 68 74 20 24 63 61 6e 76 61 73 5d 20 2f 20 34 ght $canvas] / 4
4640: 5d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 ].. s
4650: 65 74 20 3a 3a 70 6f 73 28 74 29 20 30 0d 0a 20 et ::pos(t) 0..
4660: 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 }..
4670: 20 20 73 65 74 20 3a 3a 70 6f 73 28 78 29 20 5b set ::pos(x) [
4680: 65 78 70 72 20 7b 24 3a 3a 70 6f 73 28 78 29 20 expr {$::pos(x)
4690: 2b 20 24 69 78 7d 5d 20 0d 0a 20 20 20 20 20 20 + $ix}] ..
46a0: 20 20 73 65 74 20 3a 3a 70 6f 73 28 79 29 20 5b set ::pos(y) [
46b0: 65 78 70 72 20 7b 24 3a 3a 70 6f 73 28 79 29 20 expr {$::pos(y)
46c0: 2b 20 24 69 79 7d 5d 20 0d 0a 20 20 20 20 20 20 + $iy}] ..
46d0: 20 20 69 66 20 7b 24 3a 3a 70 6f 73 28 78 29 20 if {$::pos(x)
46e0: 3c 20 35 30 7d 20 7b 0d 0a 20 20 20 20 20 20 20 < 50} {..
46f0: 20 20 20 20 20 73 65 74 20 3a 3a 70 6f 73 28 78 set ::pos(x
4700: 29 20 35 30 0d 0a 20 20 20 20 20 20 20 20 7d 20 ) 50.. }
4710: 65 6c 73 65 69 66 20 7b 24 3a 3a 70 6f 73 28 78 elseif {$::pos(x
4720: 29 20 3e 20 5b 77 69 6e 66 6f 20 77 69 64 74 68 ) > [winfo width
4730: 20 24 63 61 6e 76 61 73 5d 20 2d 20 35 30 7d 20 $canvas] - 50}
4740: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 {.. s
4750: 65 74 20 3a 3a 70 6f 73 28 78 29 20 5b 65 78 70 et ::pos(x) [exp
4760: 72 20 7b 5b 77 69 6e 66 6f 20 77 69 64 74 68 20 r {[winfo width
4770: 24 63 61 6e 76 61 73 5d 20 2d 20 35 30 7d 5d 0d $canvas] - 50}].
4780: 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 . }..
4790: 20 20 20 20 69 66 20 7b 24 3a 3a 70 6f 73 28 79 if {$::pos(y
47a0: 29 20 3c 20 35 30 7d 20 7b 0d 0a 20 20 20 20 20 ) < 50} {..
47b0: 20 20 20 20 20 20 20 73 65 74 20 3a 3a 70 6f 73 set ::pos
47c0: 28 79 29 20 35 30 0d 0a 20 20 20 20 20 20 20 20 (y) 50..
47d0: 7d 20 65 6c 73 65 69 66 20 7b 24 3a 3a 70 6f 73 } elseif {$::pos
47e0: 28 79 29 20 3e 20 5b 77 69 6e 66 6f 20 68 65 69 (y) > [winfo hei
47f0: 67 68 74 20 24 63 61 6e 76 61 73 5d 20 2d 20 35 ght $canvas] - 5
4800: 30 7d 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 0} {..
4810: 20 20 73 65 74 20 3a 3a 70 6f 73 28 79 29 20 5b set ::pos(y) [
4820: 65 78 70 72 20 7b 5b 77 69 6e 66 6f 20 68 65 69 expr {[winfo hei
4830: 67 68 74 20 24 63 61 6e 76 61 73 5d 20 2d 20 35 ght $canvas] - 5
4840: 30 7d 5d 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0}].. }..
4850: 20 20 20 20 20 20 20 20 69 66 20 7b 24 61 78 69 if {$axi
4860: 73 20 3d 3d 20 33 7d 20 7b 0d 0a 20 20 20 20 20 s == 3} {..
4870: 20 20 20 20 20 20 20 24 63 61 6e 76 61 73 20 64 $canvas d
4880: 65 6c 65 74 65 20 61 0d 0a 20 20 20 20 20 20 20 elete a..
4890: 20 20 20 20 20 73 65 74 20 78 30 20 5b 65 78 70 set x0 [exp
48a0: 72 20 7b 24 3a 3a 70 6f 73 28 78 29 20 2d 20 34 r {$::pos(x) - 4
48b0: 38 7d 5d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 8}]..
48c0: 20 73 65 74 20 78 31 20 5b 65 78 70 72 20 7b 24 set x1 [expr {$
48d0: 78 30 20 2b 20 39 36 7d 5d 0d 0a 20 20 20 20 20 x0 + 96}]..
48e0: 20 20 20 20 20 20 20 73 65 74 20 79 30 20 5b 65 set y0 [e
48f0: 78 70 72 20 7b 24 3a 3a 70 6f 73 28 79 29 20 2d xpr {$::pos(y) -
4900: 20 34 38 7d 5d 0d 0a 20 20 20 20 20 20 20 20 20 48}]..
4910: 20 20 20 73 65 74 20 79 31 20 5b 65 78 70 72 20 set y1 [expr
4920: 7b 24 79 30 20 2b 20 39 36 7d 5d 0d 0a 20 20 20 {$y0 + 96}]..
4930: 20 20 20 20 20 20 20 20 20 24 63 61 6e 76 61 73 $canvas
4940: 20 63 72 65 61 74 65 20 61 72 63 20 24 78 30 20 create arc $x0
4950: 24 79 30 20 24 78 31 20 24 79 31 20 2d 66 69 6c $y0 $x1 $y1 -fil
4960: 6c 20 79 65 6c 6c 6f 77 20 2d 6f 75 74 6c 69 6e l yellow -outlin
4970: 65 20 72 65 64 20 5c 0d 0a 20 20 20 20 20 20 20 e red \..
4980: 20 20 20 20 20 20 20 20 20 2d 77 69 64 74 68 20 -width
4990: 36 20 2d 73 74 61 72 74 20 5b 65 78 70 72 20 7b 6 -start [expr {
49a0: 33 33 30 20 2d 20 24 3a 3a 70 6f 73 28 74 29 7d 330 - $::pos(t)}
49b0: 5d 20 2d 65 78 74 65 6e 74 20 2d 33 30 30 2e 30 ] -extent -300.0
49c0: 20 2d 74 61 67 73 20 61 0d 0a 20 20 20 20 20 20 -tags a..
49d0: 20 20 7d 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 }.. }....
49e0: 20 20 77 6d 20 61 74 74 72 69 62 75 74 65 73 20 wm attributes
49f0: 2e 20 2d 66 75 6c 6c 73 63 72 65 65 6e 20 31 0d . -fullscreen 1.
4a00: 0a 20 20 20 20 63 61 6e 76 61 73 20 2e 63 20 2d . canvas .c -
4a10: 62 67 20 62 6c 61 63 6b 20 2d 62 64 20 30 20 2d bg black -bd 0 -
4a20: 68 69 67 68 6c 69 67 68 74 74 68 69 63 6b 6e 65 highlightthickne
4a30: 73 73 20 30 0d 0a 20 20 20 20 70 61 63 6b 20 2e ss 0.. pack .
4a40: 63 20 2d 73 69 64 65 20 74 6f 70 20 2d 66 69 6c c -side top -fil
4a50: 6c 20 62 6f 74 68 20 2d 65 78 70 61 6e 64 20 31 l both -expand 1
4a60: 20 2d 70 61 64 78 20 30 20 2d 70 61 64 79 20 30 -padx 0 -pady 0
4a70: 0d 0a 20 20 20 20 73 65 74 20 66 20 5b 6f 70 65 .. set f [ope
4a80: 6e 20 5b 69 6e 66 6f 20 73 63 72 69 70 74 5d 5d n [info script]]
4a90: 0d 0a 20 20 20 20 2e 63 20 63 72 65 61 74 65 20 .. .c create
4aa0: 74 65 78 74 20 32 30 20 31 32 30 20 2d 61 6e 63 text 20 120 -anc
4ab0: 68 6f 72 20 6e 77 20 2d 74 61 67 20 73 20 2d 66 hor nw -tag s -f
4ac0: 6f 6e 74 20 7b 43 6f 75 72 69 65 72 20 35 7d 20 ont {Courier 5}
4ad0: 2d 74 65 78 74 20 5b 72 65 61 64 20 24 66 5d 20 -text [read $f]
4ae0: 5c 0d 0a 20 20 20 20 20 20 20 20 2d 66 69 6c 6c \.. -fill
4af0: 20 67 72 61 79 35 30 0d 0a 20 20 20 20 63 6c 6f gray50.. clo
4b00: 73 65 20 24 66 0d 0a 20 20 20 20 62 75 74 74 6f se $f.. butto
4b10: 6e 20 2e 63 2e 78 20 2d 74 65 78 74 20 45 78 69 n .c.x -text Exi
4b20: 74 20 2d 63 6f 6d 6d 61 6e 64 20 7b 65 78 69 74 t -command {exit
4b30: 20 30 7d 0d 0a 20 20 20 20 2e 63 20 63 72 65 61 0}.. .c crea
4b40: 74 65 20 77 69 6e 64 6f 77 20 33 30 20 36 30 20 te window 30 60
4b50: 2d 61 6e 63 68 6f 72 20 6e 77 20 2d 74 61 67 20 -anchor nw -tag
4b60: 78 20 2d 77 69 6e 64 6f 77 20 2e 63 2e 78 0d 0a x -window .c.x..
4b70: 20 20 20 20 62 69 6e 64 20 2e 20 3c 3c 41 63 63 bind . <<Acc
4b80: 65 6c 65 72 6f 6d 65 74 65 72 3e 3e 20 7b 73 68 elerometer>> {sh
4b90: 6f 77 61 63 63 65 6c 20 2e 63 20 25 73 20 25 78 owaccel .c %s %x
4ba0: 7d 0d 0a 20 20 20 20 73 64 6c 74 6b 20 61 63 63 }.. sdltk acc
4bb0: 65 6c 65 72 6f 6d 65 74 65 72 20 6f 6e 0d 0a 3c elerometer on..<
4bc0: 2f 76 65 72 62 61 74 69 6d 3e 0d 0a 0d 0a 3c 68 /verbatim>....<h
4bd0: 33 3e 50 69 6e 63 68 2d 74 6f 2d 7a 6f 6f 6d 20 3>Pinch-to-zoom
4be0: 45 78 61 6d 70 6c 65 3c 2f 68 33 3e 0d 0a 0d 0a Example</h3>....
4bf0: 3c 76 65 72 62 61 74 69 6d 3e 0d 0a 20 20 20 20 <verbatim>..
4c00: 70 72 6f 63 20 73 68 6f 77 7a 6f 6f 6d 20 7b 63 proc showzoom {c
4c10: 61 6e 76 61 73 20 72 6f 6f 74 78 20 72 6f 6f 74 anvas rootx root
4c20: 79 20 64 69 73 74 20 61 6e 67 6c 65 20 73 74 61 y dist angle sta
4c30: 74 65 7d 20 7b 0d 0a 20 20 20 20 20 20 20 20 24 te} {.. $
4c40: 63 61 6e 76 61 73 20 69 74 65 6d 63 6f 6e 66 20 canvas itemconf
4c50: 74 20 2d 74 65 78 74 20 22 58 59 3a 20 24 72 6f t -text "XY: $ro
4c60: 6f 74 78 2c 24 72 6f 6f 74 79 20 4c 3a 20 24 64 otx,$rooty L: $d
4c70: 69 73 74 20 50 3a 20 24 61 6e 67 6c 65 20 53 3a ist P: $angle S:
4c80: 20 24 73 74 61 74 65 22 0d 0a 20 20 20 20 20 20 $state"..
4c90: 20 20 24 63 61 6e 76 61 73 20 64 65 6c 65 74 65 $canvas delete
4ca0: 20 61 0d 0a 20 20 20 20 20 20 20 20 23 20 73 74 a.. # st
4cb0: 61 74 65 20 30 20 2d 3e 20 7a 6f 6f 6d 20 6d 6f ate 0 -> zoom mo
4cc0: 74 69 6f 6e 0d 0a 20 20 20 20 20 20 20 20 23 20 tion.. #
4cd0: 73 74 61 74 65 20 31 20 2d 3e 20 7a 6f 6f 6d 20 state 1 -> zoom
4ce0: 73 74 61 72 74 0d 0a 20 20 20 20 20 20 20 20 23 start.. #
4cf0: 20 73 74 61 74 65 20 32 20 2d 3e 20 7a 6f 6f 6d state 2 -> zoom
4d00: 20 65 6e 64 2c 20 31 73 74 20 66 69 6e 67 65 72 end, 1st finger
4d10: 20 75 70 0d 0a 20 20 20 20 20 20 20 20 23 20 73 up.. # s
4d20: 74 61 74 65 20 33 20 2d 3e 20 7a 6f 6f 6d 20 65 tate 3 -> zoom e
4d30: 6e 64 2c 20 32 6e 64 20 66 69 6e 67 65 72 20 75 nd, 2nd finger u
4d40: 70 0d 0a 20 20 20 20 20 20 20 20 69 66 20 7b 24 p.. if {$
4d50: 73 74 61 74 65 20 3c 20 32 7d 20 7b 0d 0a 20 20 state < 2} {..
4d60: 20 20 20 20 20 20 20 20 20 20 73 65 74 20 70 68 set ph
4d70: 69 20 5b 65 78 70 72 20 7b 24 61 6e 67 6c 65 20 i [expr {$angle
4d80: 2f 20 36 34 2e 30 7d 5d 0d 0a 20 20 20 20 20 20 / 64.0}]..
4d90: 20 20 20 20 20 20 73 65 74 20 78 30 20 5b 65 78 set x0 [ex
4da0: 70 72 20 7b 24 72 6f 6f 74 78 20 2d 20 5b 77 69 pr {$rootx - [wi
4db0: 6e 66 6f 20 72 6f 6f 74 78 20 24 63 61 6e 76 61 nfo rootx $canva
4dc0: 73 5d 20 2d 20 24 64 69 73 74 20 2f 20 32 7d 5d s] - $dist / 2}]
4dd0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 65 .. se
4de0: 74 20 78 31 20 5b 65 78 70 72 20 7b 24 78 30 20 t x1 [expr {$x0
4df0: 2b 20 24 64 69 73 74 7d 5d 0d 0a 20 20 20 20 20 + $dist}]..
4e00: 20 20 20 20 20 20 20 73 65 74 20 79 30 20 5b 65 set y0 [e
4e10: 78 70 72 20 7b 24 72 6f 6f 74 79 20 2d 20 5b 77 xpr {$rooty - [w
4e20: 69 6e 66 6f 20 72 6f 6f 74 79 20 24 63 61 6e 76 info rooty $canv
4e30: 61 73 5d 20 2d 20 24 64 69 73 74 20 2f 20 32 7d as] - $dist / 2}
4e40: 5d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 ].. s
4e50: 65 74 20 79 31 20 5b 65 78 70 72 20 7b 24 79 30 et y1 [expr {$y0
4e60: 20 2b 20 24 64 69 73 74 7d 5d 0d 0a 20 20 20 20 + $dist}]..
4e70: 20 20 20 20 20 20 20 20 24 63 61 6e 76 61 73 20 $canvas
4e80: 63 72 65 61 74 65 20 61 72 63 20 24 78 30 20 24 create arc $x0 $
4e90: 79 30 20 24 78 31 20 24 79 31 20 2d 66 69 6c 6c y0 $x1 $y1 -fill
4ea0: 20 79 65 6c 6c 6f 77 20 2d 6f 75 74 6c 69 6e 65 yellow -outline
4eb0: 20 72 65 64 20 2d 77 69 64 74 68 20 36 20 5c 0d red -width 6 \.
4ec0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
4ed0: 20 2d 73 74 61 72 74 20 5b 65 78 70 72 20 7b 33 -start [expr {3
4ee0: 33 30 20 2d 20 24 70 68 69 7d 5d 20 2d 65 78 74 30 - $phi}] -ext
4ef0: 65 6e 74 20 2d 33 30 30 2e 30 20 2d 74 61 67 73 ent -300.0 -tags
4f00: 20 61 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 a.. }..
4f10: 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 77 6d 20 61 }.... wm a
4f20: 74 74 72 69 62 75 74 65 73 20 2e 20 2d 66 75 6c ttributes . -ful
4f30: 6c 73 63 72 65 65 6e 20 31 0d 0a 20 20 20 20 73 lscreen 1.. s
4f40: 64 6c 74 6b 20 74 6f 75 63 68 74 72 61 6e 73 6c dltk touchtransl
4f50: 61 74 65 20 31 35 20 3b 23 20 74 75 72 6e 20 3c ate 15 ;# turn <
4f60: 3c 50 69 6e 63 68 54 6f 5a 6f 6f 6d 3e 3e 20 6f <PinchToZoom>> o
4f70: 6e 0d 0a 20 20 20 20 63 61 6e 76 61 73 20 2e 63 n.. canvas .c
4f80: 20 2d 62 67 20 62 6c 61 63 6b 20 2d 62 64 20 30 -bg black -bd 0
4f90: 20 2d 68 69 67 68 6c 69 67 68 74 74 68 69 63 6b -highlightthick
4fa0: 6e 65 73 73 20 30 0d 0a 20 20 20 20 70 61 63 6b ness 0.. pack
4fb0: 20 2e 63 20 2d 73 69 64 65 20 74 6f 70 20 2d 66 .c -side top -f
4fc0: 69 6c 6c 20 62 6f 74 68 20 2d 65 78 70 61 6e 64 ill both -expand
4fd0: 20 31 20 2d 70 61 64 78 20 30 20 2d 70 61 64 79 1 -padx 0 -pady
4fe0: 20 30 0d 0a 20 20 20 20 73 65 74 20 66 20 5b 6f 0.. set f [o
4ff0: 70 65 6e 20 5b 69 6e 66 6f 20 73 63 72 69 70 74 pen [info script
5000: 5d 5d 0d 0a 20 20 20 20 2e 63 20 63 72 65 61 74 ]].. .c creat
5010: 65 20 74 65 78 74 20 33 30 20 31 32 30 20 2d 61 e text 30 120 -a
5020: 6e 63 68 6f 72 20 6e 77 20 2d 74 61 67 20 73 20 nchor nw -tag s
5030: 2d 66 6f 6e 74 20 7b 43 6f 75 72 69 65 72 20 36 -font {Courier 6
5040: 7d 20 2d 74 65 78 74 20 5b 72 65 61 64 20 24 66 } -text [read $f
5050: 5d 20 5c 0d 0a 20 20 20 20 20 20 20 20 2d 66 69 ] \.. -fi
5060: 6c 6c 20 67 72 61 79 35 30 0d 0a 20 20 20 20 63 ll gray50.. c
5070: 6c 6f 73 65 20 24 66 0d 0a 20 20 20 20 2e 63 20 lose $f.. .c
5080: 63 72 65 61 74 65 20 74 65 78 74 20 33 30 20 33 create text 30 3
5090: 30 20 2d 61 6e 63 68 6f 72 20 77 20 2d 66 69 6c 0 -anchor w -fil
50a0: 6c 20 67 72 65 65 6e 20 2d 74 61 67 20 74 20 2d l green -tag t -
50b0: 66 6f 6e 74 20 7b 48 65 6c 76 65 74 69 63 61 20 font {Helvetica
50c0: 31 36 7d 20 5c 0d 0a 20 20 20 20 20 20 20 20 2d 16} \.. -
50d0: 74 65 78 74 20 22 54 72 79 20 70 69 6e 63 68 2d text "Try pinch-
50e0: 74 6f 2d 7a 6f 6f 6d 20 77 69 74 68 20 74 77 6f to-zoom with two
50f0: 20 66 69 6e 67 65 72 73 22 0d 0a 20 20 20 20 62 fingers".. b
5100: 75 74 74 6f 6e 20 2e 63 2e 78 20 2d 74 65 78 74 utton .c.x -text
5110: 20 45 78 69 74 20 2d 63 6f 6d 6d 61 6e 64 20 7b Exit -command {
5120: 65 78 69 74 20 30 7d 0d 0a 20 20 20 20 2e 63 20 exit 0}.. .c
5130: 63 72 65 61 74 65 20 77 69 6e 64 6f 77 20 33 30 create window 30
5140: 20 36 30 20 2d 61 6e 63 68 6f 72 20 6e 77 20 2d 60 -anchor nw -
5150: 74 61 67 20 78 20 2d 77 69 6e 64 6f 77 20 2e 63 tag x -window .c
5160: 2e 78 0d 0a 20 20 20 20 62 69 6e 64 20 2e 63 20 .x.. bind .c
5170: 3c 3c 50 69 6e 63 68 54 6f 5a 6f 6f 6d 3e 3e 20 <<PinchToZoom>>
5180: 7b 73 68 6f 77 7a 6f 6f 6d 20 25 57 20 25 58 20 {showzoom %W %X
5190: 25 59 20 25 78 20 25 79 20 25 73 7d 0d 0a 3c 2f %Y %x %y %s}..</
51a0: 76 65 72 62 61 74 69 6d 3e 0d 0a 0a 5a 20 37 65 verbatim>...Z 7e
51b0: 61 36 37 36 62 63 39 37 31 36 62 34 36 37 32 65 a676bc9716b4672e
51c0: 30 37 61 35 30 63 31 35 36 39 32 66 30 36 0a 07a50c15692f06.