home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 June / Macworld (1999-06).dmg / Shareware World / Info / For Developers / MacZoop2.0.sea / MacZoop2.0 / Required Classes / CursorUtilities.cpp < prev    next >
MacBinary  |  1999-01-30  |  14.1 KB  |  [TEXT/CWIE]

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text

This file was processed as: MacBinary (archive/macBinary).

You can browse this item here: CursorUtilities.cpp

ConfidenceProgramDetectionMatch TypeSupport
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Sat Jan 30 13:27:02 1999, modified Sat Jan 30 13:27:02 1999, creator 'CWIE', type ASCII, 13712 bytes "CursorUtilities.cpp" , at 0x3610 428 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[CWIE]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 13 43 75 72 73 6f 72 | 55 74 69 6c 69 74 69 65 |..Cursor|Utilitie|
|00000010| 73 2e 63 70 70 00 00 00 | 00 00 00 00 00 00 00 00 |s.cpp...|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 43 57 49 | 45 01 00 00 00 00 00 00 |.TEXTCWI|E.......|
|00000050| 00 00 00 00 00 35 90 00 | 00 01 ac b2 d8 ff 76 b2 |.....5..|......v.|
|00000060| d8 ff 76 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |..v.....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 5f a1 00 00 |........|...._...|
|00000080| 2f 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |/*******|********|
|00000090| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000e0| 2a 2a 0d 2a 0d 2a 0d 2a | 09 09 43 75 72 73 6f 72 |**.*.*.*|..Cursor|
|000000f0| 55 74 69 6c 69 74 69 65 | 73 2e 63 09 09 09 2d 20 |Utilitie|s.c...- |
|00000100| 63 75 72 73 6f 72 20 73 | 74 75 66 66 2d 20 73 70 |cursor s|tuff- sp|
|00000110| 69 6e 6e 69 6e 67 20 77 | 61 74 63 68 2c 20 65 74 |inning w|atch, et|
|00000120| 63 0d 2a 0d 2a 09 09 32 | 36 2f 39 2f 39 34 09 09 |c.*.*..2|6/9/94..|
|00000130| a9 31 39 39 34 2c 20 47 | 72 61 68 61 6d 20 43 6f |.1994, G|raham Co|
|00000140| 78 0d 2a 0d 2a 09 09 54 | 68 69 73 20 63 6f 64 65 |x.*.*..T|his code|
|00000150| 20 62 61 73 65 64 20 6f | 6e 20 22 4d 61 63 69 6e | based o|n "Macin|
|00000160| 74 6f 73 68 20 50 72 6f | 67 72 61 6d 6d 69 6e 67 |tosh Pro|gramming|
|00000170| 20 53 65 63 72 65 74 73 | 22 20 32 6e 64 20 45 64 | Secrets|" 2nd Ed|
|00000180| 69 74 69 6f 6e 20 62 79 | 20 4b 65 69 74 68 20 52 |ition by| Keith R|
|00000190| 6f 6c 6c 69 6e 20 26 20 | 53 63 6f 74 74 20 4b 0d |ollin & |Scott K.|
|000001a0| 2a 0d 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |*.******|********|
|000001b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000001c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000001d0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000001e0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000001f0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000200| 2a 2a 2a 2f 0d 0d 23 69 | 6e 63 6c 75 64 65 09 22 |***/..#i|nclude."|
|00000210| 43 75 72 73 6f 72 55 74 | 69 6c 69 74 69 65 73 2e |CursorUt|ilities.|
|00000220| 68 22 0d 0d 23 69 6e 63 | 6c 75 64 65 09 3c 4c 6f |h"..#inc|lude.<Lo|
|00000230| 77 4d 65 6d 2e 68 3e 0d | 23 69 6e 63 6c 75 64 65 |wMem.h>.|#include|
|00000240| 09 3c 51 44 4f 66 66 73 | 63 72 65 65 6e 2e 68 3e |.<QDOffs|creen.h>|
|00000250| 0d 0d 2f 2f 20 67 6c 6f | 62 61 6c 73 3a 0d 0d 73 |..// glo|bals:..s|
|00000260| 74 61 74 69 63 20 73 68 | 6f 72 74 09 09 09 67 56 |tatic sh|ort...gV|
|00000270| 42 4c 43 6f 75 6e 74 3b | 0d 73 74 61 74 69 63 20 |BLCount;|.static |
|00000280| 56 42 4c 54 61 73 6b 57 | 69 74 68 41 35 50 74 72 |VBLTaskW|ithA5Ptr|
|00000290| 09 67 43 75 72 73 6f 72 | 54 61 73 6b 20 3d 20 4e |.gCursor|Task = N|
|000002a0| 55 4c 4c 3b 0d 73 74 61 | 74 69 63 20 61 63 75 72 |ULL;.sta|tic acur|
|000002b0| 48 64 6c 09 09 09 67 57 | 61 74 63 68 53 70 69 6e |Hdl...gW|atchSpin|
|000002c0| 6e 65 72 20 3d 20 4e 55 | 4c 4c 3b 0d 73 74 61 74 |ner = NU|LL;.stat|
|000002d0| 69 63 20 61 63 75 72 48 | 64 6c 09 09 09 67 42 61 |ic acurH|dl...gBa|
|000002e0| 6c 6c 53 70 69 6e 6e 65 | 72 20 3d 20 4e 55 4c 4c |llSpinne|r = NULL|
|000002f0| 3b 0d 73 74 61 74 69 63 | 20 61 63 75 72 48 64 6c |;.static| acurHdl|
|00000300| 09 09 09 67 42 75 73 79 | 41 72 72 6f 77 53 70 69 |...gBusy|ArrowSpi|
|00000310| 6e 6e 65 72 20 3d 20 4e | 55 4c 4c 3b 0d 73 74 61 |nner = N|ULL;.sta|
|00000320| 74 69 63 20 43 43 72 73 | 72 48 61 6e 64 6c 65 09 |tic CCrs|rHandle.|
|00000330| 09 67 43 6f 6c 6f 75 72 | 43 75 72 73 6f 72 20 3d |.gColour|Cursor =|
|00000340| 20 4e 55 4c 4c 3b 0d 73 | 74 61 74 69 63 20 42 6f | NULL;.s|tatic Bo|
|00000350| 6f 6c 65 61 6e 09 09 09 | 67 43 75 72 73 6f 72 50 |olean...|gCursorP|
|00000360| 61 75 73 65 64 20 3d 20 | 46 41 4c 53 45 3b 0d 73 |aused = |FALSE;.s|
|00000370| 74 61 74 69 63 20 6c 6f | 6e 67 09 09 09 09 67 50 |tatic lo|ng....gP|
|00000380| 61 75 73 65 54 69 63 6b | 73 3b 0d 73 74 61 74 69 |auseTick|s;.stati|
|00000390| 63 20 50 6f 69 6e 74 09 | 09 09 67 4d 6f 75 73 65 |c Point.|..gMouse|
|000003a0| 54 72 61 63 6b 3b 0d 0d | 73 68 6f 72 74 09 09 09 |Track;..|short...|
|000003b0| 09 09 67 4c 61 73 74 43 | 75 72 73 6f 72 49 44 20 |..gLastC|ursorID |
|000003c0| 3d 20 2d 31 3b 0d 0d 2f | 2f 20 6d 61 63 72 6f 20 |= -1;../|/ macro |
|000003d0| 66 6f 72 20 64 6f 69 6e | 67 20 64 6f 64 67 79 20 |for doin|g dodgy |
|000003e0| 36 38 30 30 30 20 73 74 | 75 66 66 21 0d 0d 23 69 |68000 st|uff!..#i|
|000003f0| 66 6e 64 65 66 20 5f 5f | 50 4f 57 45 52 50 43 5f |fndef __|POWERPC_|
|00000400| 5f 0d 09 56 42 4c 54 61 | 73 6b 57 69 74 68 41 35 |_..VBLTa|skWithA5|
|00000410| 50 74 72 09 47 65 74 56 | 42 4c 52 65 63 28 76 6f |Ptr.GetV|BLRec(vo|
|00000420| 69 64 29 20 3d 20 30 78 | 32 30 30 38 3b 0d 23 65 |id) = 0x|2008;.#e|
|00000430| 6e 64 69 66 0d 0d 73 74 | 61 74 69 63 20 48 61 6e |ndif..st|atic Han|
|00000440| 64 6c 65 09 47 65 74 44 | 65 74 61 63 68 65 64 52 |dle.GetD|etachedR|
|00000450| 65 73 6f 75 72 63 65 28 | 20 52 65 73 54 79 70 65 |esource(| ResType|
|00000460| 20 61 54 79 70 65 2c 20 | 73 68 6f 72 74 20 61 6e | aType, |short an|
|00000470| 49 44 20 29 3b 0d 0d 2f | 2a 2d 2d 2d 2d 2d 2d 2d |ID );../|*-------|
|00000480| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000490| 2d 2d 2a 2a 2a 20 20 47 | 45 54 44 45 54 41 43 48 |--*** G|ETDETACH|
|000004a0| 45 44 52 45 53 4f 55 52 | 43 45 20 20 2a 2a 2a 2d |EDRESOUR|CE ***-|
|000004b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000004c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2a |--------|-------*|
|000004d0| 2f 0d 2f 2a 09 0d 0d 72 | 65 74 75 72 6e 73 20 61 |/./*...r|eturns a|
|000004e0| 20 64 65 74 63 68 65 64 | 20 72 65 73 6f 75 72 73 | detched| resours|
|000004f0| 65 20 77 69 74 68 20 74 | 79 70 65 20 61 6e 64 20 |e with t|ype and |
|00000500| 49 44 20 70 61 73 73 65 | 64 2e 0d 0d 2d 2d 2d 2d |ID passe|d...----|
|00000510| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000520| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000530| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000540| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000550| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000560| 2d 2d 2d 2d 2a 2f 0d 0d | 73 74 61 74 69 63 20 48 |----*/..|static H|
|00000570| 61 6e 64 6c 65 09 47 65 | 74 44 65 74 61 63 68 65 |andle.Ge|tDetache|
|00000580| 64 52 65 73 6f 75 72 63 | 65 28 20 52 65 73 54 79 |dResourc|e( ResTy|
|00000590| 70 65 20 61 54 79 70 65 | 2c 20 73 68 6f 72 74 20 |pe aType|, short |
|000005a0| 61 6e 49 44 20 29 0d 7b | 0d 09 48 61 6e 64 6c 65 |anID ).{|..Handle|
|000005b0| 09 74 65 6d 70 20 3d 20 | 4e 55 4c 4c 3b 0d 09 0d |.temp = |NULL;...|
|000005c0| 09 74 65 6d 70 20 3d 20 | 47 65 74 52 65 73 6f 75 |.temp = |GetResou|
|000005d0| 72 63 65 28 20 61 54 79 | 70 65 2c 20 61 6e 49 44 |rce( aTy|pe, anID|
|000005e0| 20 29 3b 0d 09 0d 09 69 | 66 20 28 20 74 65 6d 70 | );....i|f ( temp|
|000005f0| 20 29 0d 09 09 44 65 74 | 61 63 68 52 65 73 6f 75 | )...Det|achResou|
|00000600| 72 63 65 28 20 74 65 6d | 70 20 29 3b 0d 0d 09 72 |rce( tem|p );...r|
|00000610| 65 74 75 72 6e 20 74 65 | 6d 70 3b 0d 7d 0d 0d 2f |eturn te|mp;.}../|
|00000620| 2a 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |*-------|--------|
|00000630| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2a 2a 2a 20 20 |--------|---*** |
|00000640| 49 4e 49 54 41 4e 49 4d | 41 54 45 44 43 55 52 53 |INITANIM|ATEDCURS|
|00000650| 4f 52 20 20 2a 2a 2a 2d | 2d 2d 2d 2d 2d 2d 2d 2d |OR ***-|--------|
|00000660| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000670| 2d 2d 2d 2d 2d 2d 2d 2a | 2f 0d 2f 2a 09 0d 0d 73 |-------*|/./*...s|
|00000680| 65 74 73 20 75 70 20 61 | 6e 20 61 6e 69 6d 61 74 |ets up a|n animat|
|00000690| 65 64 20 63 75 72 73 6f | 72 20 62 79 20 72 65 61 |ed curso|r by rea|
|000006a0| 64 69 6e 67 20 74 68 65 | 20 27 61 63 75 72 27 20 |ding the| 'acur' |
|000006b0| 72 65 73 6f 75 72 63 65 | 20 77 69 74 68 20 74 68 |resource| with th|
|000006c0| 65 20 49 44 20 70 61 73 | 73 65 64 2e 0d 0d 2d 2d |e ID pas|sed...--|
|000006d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000006e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000006f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000700| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000710| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000720| 2d 2d 2d 2d 2d 2d 2a 2f | 0d 0d 61 63 75 72 48 64 |------*/|..acurHd|
|00000730| 6c 09 09 49 6e 69 74 41 | 6e 69 6d 61 74 65 64 43 |l..InitA|nimatedC|
|00000740| 75 72 73 6f 72 28 20 73 | 68 6f 72 74 20 72 65 73 |ursor( s|hort res|
|00000750| 49 44 20 29 0d 7b 0d 09 | 61 63 75 72 48 64 6c 09 |ID ).{..|acurHdl.|
|00000760| 09 74 65 6d 70 3b 0d 09 | 73 68 6f 72 74 09 09 63 |.temp;..|short..c|
|00000770| 63 6f 75 6e 74 3b 0d 09 | 43 75 72 73 48 61 6e 64 |count;..|CursHand|
|00000780| 6c 65 09 61 43 75 72 73 | 6f 72 3b 0d 09 43 75 72 |le.aCurs|or;..Cur|
|00000790| 73 48 61 6e 64 6c 65 2a | 09 77 6f 72 6b 50 74 72 |sHandle*|.workPtr|
|000007a0| 3b 0d 09 0d 09 74 65 6d | 70 20 3d 20 28 61 63 75 |;....tem|p = (acu|
|000007b0| 72 48 64 6c 29 20 47 65 | 74 44 65 74 61 63 68 65 |rHdl) Ge|tDetache|
|000007c0| 64 52 65 73 6f 75 72 63 | 65 28 20 27 61 63 75 72 |dResourc|e( 'acur|
|000007d0| 27 2c 20 72 65 73 49 44 | 20 29 3b 0d 09 0d 09 69 |', resID| );....i|
|000007e0| 66 20 28 74 65 6d 70 29 | 0d 09 7b 0d 09 09 48 4e |f (temp)|..{...HN|
|000007f0| 6f 50 75 72 67 65 28 28 | 48 61 6e 64 6c 65 29 20 |oPurge((|Handle) |
|00000800| 74 65 6d 70 20 29 3b 0d | 09 09 0d 09 09 63 63 6f |temp );.|.....cco|
|00000810| 75 6e 74 20 3d 20 28 2a | 74 65 6d 70 29 2d 3e 6e |unt = (*|temp)->n|
|00000820| 75 6d 43 75 72 73 6f 72 | 73 3b 0d 09 09 28 2a 74 |umCursor|s;...(*t|
|00000830| 65 6d 70 29 2d 3e 6e 75 | 6d 43 75 72 73 6f 72 73 |emp)->nu|mCursors|
|00000840| 20 2a 3d 20 33 32 3b 0d | 09 09 28 2a 74 65 6d 70 | *= 32;.|..(*temp|
|00000850| 29 2d 3e 69 6e 64 65 78 | 20 3d 20 30 3b 0d 09 09 |)->index| = 0;...|
|00000860| 0d 09 09 48 4c 6f 63 6b | 28 28 48 61 6e 64 6c 65 |...HLock|((Handle|
|00000870| 29 20 74 65 6d 70 29 3b | 0d 09 09 77 6f 72 6b 50 |) temp);|...workP|
|00000880| 74 72 20 3d 20 28 2a 74 | 65 6d 70 29 2d 3e 63 75 |tr = (*t|emp)->cu|
|00000890| 72 73 6f 72 73 3b 0d 09 | 09 0d 09 09 77 68 69 6c |rsors;..|....whil|
|000008a0| 65 28 20 63 63 6f 75 6e | 74 2d 2d 20 29 0d 09 09 |e( ccoun|t-- )...|
|000008b0| 7b 0d 09 09 09 61 43 75 | 72 73 6f 72 20 3d 20 28 |{....aCu|rsor = (|
|000008c0| 43 75 72 73 48 61 6e 64 | 6c 65 29 20 47 65 74 44 |CursHand|le) GetD|
|000008d0| 65 74 61 63 68 65 64 52 | 65 73 6f 75 72 63 65 28 |etachedR|esource(|
|000008e0| 20 27 43 55 52 53 27 2c | 20 2a 28 73 68 6f 72 74 | 'CURS',| *(short|
|000008f0| 2a 29 20 77 6f 72 6b 50 | 74 72 20 29 3b 0d 09 09 |*) workP|tr );...|
|00000900| 09 48 4e 6f 50 75 72 67 | 65 28 28 48 61 6e 64 6c |.HNoPurg|e((Handl|
|00000910| 65 29 20 61 43 75 72 73 | 6f 72 20 29 3b 0d 09 09 |e) aCurs|or );...|
|00000920| 09 2a 77 6f 72 6b 50 74 | 72 2b 2b 20 3d 20 61 43 |.*workPt|r++ = aC|
|00000930| 75 72 73 6f 72 3b 20 0d | 09 09 7d 09 0d 09 09 48 |ursor; .|..}....H|
|00000940| 55 6e 6c 6f 63 6b 28 28 | 48 61 6e 64 6c 65 29 20 |Unlock((|Handle) |
|00000950| 74 65 6d 70 20 29 3b 0d | 09 7d 0d 09 0d 09 72 65 |temp );.|.}....re|
|00000960| 74 75 72 6e 20 74 65 6d | 70 3b 0d 7d 0d 0d 0d 0d |turn tem|p;.}....|
|00000970| 2f 2a 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |/*------|--------|
|00000980| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2a 2a 2a 20 20 44 |--------|--*** D|
|00000990| 49 53 50 4f 53 45 41 4e | 49 4d 41 54 45 44 43 55 |ISPOSEAN|IMATEDCU|
|000009a0| 52 53 4f 52 20 20 2a 2a | 2a 2d 2d 2d 2d 2d 2d 2d |RSOR **|*-------|
|000009b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000009c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2a 2f 0d 2f 2a 09 0d 0d |--------|*/./*...|
|000009d0| 64 69 73 70 6f 73 65 73 | 20 6f 66 20 61 6e 20 61 |disposes| of an a|
|000009e0| 6e 69 6d 61 74 65 64 20 | 63 75 72 73 6f 72 0d 2d |nimated |cursor.-|
|000009f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000a00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000a10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000a20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000a30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000a40| 2d 2d 2d 2d 2d 2d 2d 2a | 2f 0d 0d 76 6f 69 64 09 |-------*|/..void.|
|00000a50| 09 44 69 73 70 6f 73 65 | 41 6e 69 6d 61 74 65 64 |.Dispose|Animated|
|00000a60| 43 75 72 73 6f 72 28 20 | 61 63 75 72 48 64 6c 20 |Cursor( |acurHdl |
|00000a70| 63 75 72 73 48 20 29 0d | 7b 0d 09 73 68 6f 72 74 |cursH ).|{..short|
|00000a80| 20 63 63 6f 75 6e 74 2c | 20 6d 63 3b 0d 09 0d 09 | ccount,| mc;....|
|00000a90| 6d 63 20 3d 20 28 2a 63 | 75 72 73 48 29 2d 3e 6e |mc = (*c|ursH)->n|
|00000aa0| 75 6d 43 75 72 73 6f 72 | 73 20 2f 20 33 32 3b 0d |umCursor|s / 32;.|
|00000ab0| 09 0d 09 66 6f 72 28 20 | 63 63 6f 75 6e 74 20 3d |...for( |ccount =|
|00000ac0| 20 30 3b 20 63 63 6f 75 | 6e 74 20 3c 20 6d 63 3b | 0; ccou|nt < mc;|
|00000ad0| 20 63 63 6f 75 6e 74 2b | 2b 20 29 0d 09 09 44 69 | ccount+|+ )...Di|
|00000ae0| 73 70 6f 73 65 48 61 6e | 64 6c 65 28 28 48 61 6e |sposeHan|dle((Han|
|00000af0| 64 6c 65 29 20 28 2a 63 | 75 72 73 48 29 2d 3e 63 |dle) (*c|ursH)->c|
|00000b00| 75 72 73 6f 72 73 5b 20 | 63 63 6f 75 6e 74 20 5d |ursors[ |ccount ]|
|00000b10| 20 29 3b 0d 0d 09 44 69 | 73 70 6f 73 65 48 61 6e | );...Di|sposeHan|
|00000b20| 64 6c 65 28 28 48 61 6e | 64 6c 65 29 20 63 75 72 |dle((Han|dle) cur|
|00000b30| 73 48 20 29 3b 0d 7d 0d | 0d 0d 0d 2f 2a 2d 2d 2d |sH );.}.|.../*---|
|00000b40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000b50| 2d 2d 2d 2d 2d 2d 2a 2a | 2a 20 20 53 54 41 52 54 |------**|* START|
|00000b60| 43 55 52 53 4f 52 41 4e | 49 4d 41 54 49 4f 4e 20 |CURSORAN|IMATION |
|00000b70| 20 2a 2a 2a 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d | ***----|--------|
|00000b80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000b90| 2d 2d 2d 2a 2f 0d 2f 2a | 09 0d 73 65 74 73 20 75 |---*/./*|..sets u|
|00000ba0| 70 20 74 68 65 20 56 42 | 4c 20 71 75 65 75 65 20 |p the VB|L queue |
|00000bb0| 74 6f 20 61 6e 69 6d 61 | 74 65 20 74 68 65 20 63 |to anima|te the c|
|00000bc0| 75 72 73 6f 72 20 70 61 | 73 73 65 64 2e 0d 0d 2d |ursor pa|ssed...-|
|00000bd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000be0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000bf0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000c00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000c10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000c20| 2d 2d 2d 2d 2d 2d 2d 2a | 2f 0d 0d 76 6f 69 64 09 |-------*|/..void.|
|00000c30| 09 53 74 61 72 74 43 75 | 72 73 6f 72 41 6e 69 6d |.StartCu|rsorAnim|
|00000c40| 61 74 69 6f 6e 28 20 73 | 68 6f 72 74 20 70 65 72 |ation( s|hort per|
|00000c50| 69 6f 64 2c 20 61 63 75 | 72 48 64 6c 20 74 68 65 |iod, acu|rHdl the|
|00000c60| 43 75 72 73 6f 72 20 29 | 0d 7b 0d 09 2f 2f 20 70 |Cursor )|.{..// p|
|00000c70| 72 69 6d 65 73 20 74 68 | 65 20 56 42 4c 20 71 75 |rimes th|e VBL qu|
|00000c80| 65 75 65 20 74 6f 20 73 | 70 69 6e 20 74 68 65 20 |eue to s|pin the |
|00000c90| 63 75 72 73 6f 72 20 61 | 75 74 6f 6d 61 74 69 63 |cursor a|utomatic|
|00000ca0| 61 6c 6c 79 0d 09 0d 09 | 56 42 4c 55 50 50 09 09 |ally....|VBLUPP..|
|00000cb0| 76 54 61 73 6b 55 50 50 | 3b 0d 09 0d 09 69 66 20 |vTaskUPP|;....if |
|00000cc0| 28 74 68 65 43 75 72 73 | 6f 72 29 0d 09 7b 0d 09 |(theCurs|or)..{..|
|00000cd0| 09 4c 6f 63 6b 43 75 72 | 73 6f 72 44 61 74 61 28 |.LockCur|sorData(|
|00000ce0| 74 68 65 43 75 72 73 6f | 72 29 3b 0d 09 0d 09 09 |theCurso|r);.....|
|00000cf0| 67 56 42 4c 43 6f 75 6e | 74 20 3d 20 70 65 72 69 |gVBLCoun|t = peri|
|00000d00| 6f 64 3b 0d 09 09 67 43 | 75 72 73 6f 72 54 61 73 |od;...gC|ursorTas|
|00000d10| 6b 20 3d 20 28 56 42 4c | 54 61 73 6b 57 69 74 68 |k = (VBL|TaskWith|
|00000d20| 41 35 50 74 72 29 20 4e | 65 77 50 74 72 28 20 73 |A5Ptr) N|ewPtr( s|
|00000d30| 69 7a 65 6f 66 28 20 56 | 42 4c 54 61 73 6b 57 69 |izeof( V|BLTaskWi|
|00000d40| 74 68 41 35 20 29 29 3b | 0d 09 09 0d 09 09 67 43 |thA5 ));|......gC|
|00000d50| 75 72 73 6f 72 54 61 73 | 6b 2d 3e 74 68 65 54 61 |ursorTas|k->theTa|
|00000d60| 73 6b 2e 71 54 79 70 65 | 20 3d 20 76 54 79 70 65 |sk.qType| = vType|
|00000d70| 3b 0d 09 09 0d 09 09 76 | 54 61 73 6b 55 50 50 20 |;......v|TaskUPP |
|00000d80| 3d 20 4e 65 77 56 42 4c | 50 72 6f 63 28 28 50 72 |= NewVBL|Proc((Pr|
|00000d90| 6f 63 50 74 72 29 20 56 | 42 4c 43 75 72 73 6f 72 |ocPtr) V|BLCursor|
|00000da0| 53 70 69 6e 20 29 3b 0d | 09 09 0d 09 09 67 43 75 |Spin );.|.....gCu|
|00000db0| 72 73 6f 72 54 61 73 6b | 2d 3e 74 68 65 54 61 73 |rsorTask|->theTas|
|00000dc0| 6b 2e 76 62 6c 41 64 64 | 72 20 3d 20 76 54 61 73 |k.vblAdd|r = vTas|
|00000dd0| 6b 55 50 50 3b 0d 09 09 | 67 43 75 72 73 6f 72 54 |kUPP;...|gCursorT|
|00000de0| 61 73 6b 2d 3e 74 68 65 | 54 61 73 6b 2e 76 62 6c |ask->the|Task.vbl|
|00000df0| 43 6f 75 6e 74 20 3d 20 | 70 65 72 69 6f 64 3b 0d |Count = |period;.|
|00000e00| 09 09 67 43 75 72 73 6f | 72 54 61 73 6b 2d 3e 74 |..gCurso|rTask->t|
|00000e10| 68 65 54 61 73 6b 2e 76 | 62 6c 50 68 61 73 65 20 |heTask.v|blPhase |
|00000e20| 3d 20 30 3b 0d 09 09 67 | 43 75 72 73 6f 72 54 61 |= 0;...g|CursorTa|
|00000e30| 73 6b 2d 3e 41 35 20 3d | 20 28 6c 6f 6e 67 29 20 |sk->A5 =| (long) |
|00000e40| 4c 4d 47 65 74 43 75 72 | 72 65 6e 74 41 35 28 29 |LMGetCur|rentA5()|
|00000e50| 3b 0d 09 09 67 43 75 72 | 73 6f 72 54 61 73 6b 2d |;...gCur|sorTask-|
|00000e60| 3e 74 68 65 43 75 72 73 | 6f 72 20 3d 20 74 68 65 |>theCurs|or = the|
|00000e70| 43 75 72 73 6f 72 3b 0d | 09 09 0d 09 09 28 76 6f |Cursor;.|.....(vo|
|00000e80| 69 64 29 20 56 49 6e 73 | 74 61 6c 6c 28 28 51 45 |id) VIns|tall((QE|
|00000e90| 6c 65 6d 50 74 72 29 20 | 67 43 75 72 73 6f 72 54 |lemPtr) |gCursorT|
|00000ea0| 61 73 6b 20 29 3b 0d 09 | 09 0d 09 09 67 43 75 72 |ask );..|....gCur|
|00000eb0| 73 6f 72 50 61 75 73 65 | 64 20 3d 20 46 41 4c 53 |sorPause|d = FALS|
|00000ec0| 45 3b 0d 09 7d 0d 7d 0d | 0d 0d 2f 2a 2d 2d 2d 2d |E;..}.}.|../*----|
|00000ed0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ee0| 2d 2d 2d 2d 2d 2a 2a 2a | 20 20 53 54 4f 50 43 55 |-----***| STOPCU|
|00000ef0| 52 53 4f 52 41 4e 49 4d | 41 54 49 4f 4e 20 20 2a |RSORANIM|ATION *|
|00000f00| 2a 2a 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |**------|--------|
|00000f10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000f20| 2d 2d 2a 2f 0d 2f 2a 09 | 0d 0d 4b 69 6c 6c 73 20 |--*/./*.|..Kills |
|00000f30| 74 68 65 20 63 75 72 72 | 65 6e 74 20 63 75 72 73 |the curr|ent curs|
|00000f40| 6f 72 20 69 6e 20 74 68 | 65 20 56 42 4c 20 71 75 |or in th|e VBL qu|
|00000f50| 65 75 65 20 61 6e 64 20 | 75 6e 6c 6f 63 6b 73 20 |eue and |unlocks |
|00000f60| 69 74 2e 20 54 68 69 73 | 20 74 68 65 6e 20 72 65 |it. This| then re|
|00000f70| 73 74 6f 72 65 73 20 74 | 68 65 20 61 72 72 6f 77 |stores t|he arrow|
|00000f80| 2e 0d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |..------|--------|
|00000f90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000fa0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000fb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000fc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000fd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2a 2f 0d 0d 76 6f |--------|--*/..vo|
|00000fe0| 69 64 09 09 53 74 6f 70 | 43 75 72 73 6f 72 41 6e |id..Stop|CursorAn|
|00000ff0| 69 6d 61 74 69 6f 6e 28 | 29 0d 7b 0d 09 2f 2f 20 |imation(|).{..// |
|00001000| 72 65 6d 6f 76 65 73 20 | 73 70 69 6e 6e 69 6e 67 |removes |spinning|
|00001010| 20 63 75 72 73 6f 72 20 | 74 61 73 6b 20 66 72 6f | cursor |task fro|
|00001020| 6d 20 74 68 65 20 56 42 | 4c 20 71 75 65 75 65 0d |m the VB|L queue.|
|00001030| 09 0d 09 61 63 75 72 48 | 64 6c 09 09 74 68 65 43 |...acurH|dl..theC|
|00001040| 75 72 73 6f 72 3b 0d 09 | 0d 09 69 66 20 28 20 67 |ursor;..|..if ( g|
|00001050| 43 75 72 73 6f 72 54 61 | 73 6b 20 29 0d 09 7b 0d |CursorTa|sk )..{.|
|00001060| 09 09 28 76 6f 69 64 29 | 20 56 52 65 6d 6f 76 65 |..(void)| VRemove|
|00001070| 28 28 51 45 6c 65 6d 50 | 74 72 29 20 67 43 75 72 |((QElemP|tr) gCur|
|00001080| 73 6f 72 54 61 73 6b 20 | 29 3b 0d 09 09 0d 09 09 |sorTask |);......|
|00001090| 74 68 65 43 75 72 73 6f | 72 20 3d 20 67 43 75 72 |theCurso|r = gCur|
|000010a0| 73 6f 72 54 61 73 6b 2d | 3e 74 68 65 43 75 72 73 |sorTask-|>theCurs|
|000010b0| 6f 72 3b 0d 09 09 44 69 | 73 70 6f 73 65 52 6f 75 |or;...Di|sposeRou|
|000010c0| 74 69 6e 65 44 65 73 63 | 72 69 70 74 6f 72 28 20 |tineDesc|riptor( |
|000010d0| 67 43 75 72 73 6f 72 54 | 61 73 6b 2d 3e 74 68 65 |gCursorT|ask->the|
|000010e0| 54 61 73 6b 2e 76 62 6c | 41 64 64 72 20 29 3b 0d |Task.vbl|Addr );.|
|000010f0| 09 09 0d 09 09 44 69 73 | 70 6f 73 65 50 74 72 28 |.....Dis|posePtr(|
|00001100| 28 50 74 72 29 20 67 43 | 75 72 73 6f 72 54 61 73 |(Ptr) gC|ursorTas|
|00001110| 6b 29 3b 0d 09 09 67 43 | 75 72 73 6f 72 54 61 73 |k);...gC|ursorTas|
|00001120| 6b 20 3d 20 4e 55 4c 4c | 3b 0d 09 09 55 6e 6c 6f |k = NULL|;...Unlo|
|00001130| 63 6b 43 75 72 73 6f 72 | 44 61 74 61 28 20 74 68 |ckCursor|Data( th|
|00001140| 65 43 75 72 73 6f 72 20 | 29 3b 0d 09 09 0d 09 09 |eCursor |);......|
|00001150| 2f 2f 20 66 6f 72 63 65 | 20 73 77 69 74 63 68 20 |// force| switch |
|00001160| 74 6f 20 64 65 66 61 75 | 6c 74 20 63 75 72 73 6f |to defau|lt curso|
|00001170| 72 3a 0d 09 09 0d 09 09 | 67 4c 61 73 74 43 75 72 |r:......|gLastCur|
|00001180| 73 6f 72 49 44 20 3d 20 | 2d 31 3b 0d 09 09 53 65 |sorID = |-1;...Se|
|00001190| 74 43 75 72 73 6f 72 53 | 68 61 70 65 28 20 30 20 |tCursorS|hape( 0 |
|000011a0| 29 3b 0d 09 7d 0d 7d 0d | 0d 0d 2f 2a 2d 2d 2d 2d |);..}.}.|../*----|
|000011b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000011c0| 2d 2d 2d 2d 2a 2a 2a 20 | 20 50 41 55 53 45 43 55 |----*** | PAUSECU|
|000011d0| 52 53 4f 52 41 4e 49 4d | 41 54 49 4f 4e 20 20 2a |RSORANIM|ATION *|
|000011e0| 2a 2a 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |**------|--------|
|000011f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001200| 2d 2d 2a 2f 0d 2f 2a 09 | 0d 0d 50 61 75 73 65 73 |--*/./*.|..Pauses|
|00001210| 20 74 68 65 20 63 75 72 | 72 65 6e 74 20 61 6e 69 | the cur|rent ani|
|00001220| 6d 61 74 69 6e 67 20 63 | 75 72 73 6f 72 2c 20 72 |mating c|ursor, r|
|00001230| 65 74 75 72 6e 69 6e 67 | 20 74 68 65 20 63 75 72 |eturning| the cur|
|00001240| 73 6f 72 20 74 6f 20 74 | 68 65 20 73 68 61 70 65 |sor to t|he shape|
|00001250| 20 70 61 73 73 65 64 2e | 20 49 66 20 74 68 65 0d | passed.| If the.|
|00001260| 63 75 72 73 6f 72 20 69 | 73 20 6e 6f 74 20 61 6e |cursor i|s not an|
|00001270| 69 6d 61 74 69 6e 67 2c | 20 74 68 69 73 20 64 6f |imating,| this do|
|00001280| 65 73 20 6e 6f 74 68 69 | 6e 67 2e 20 54 68 65 20 |es nothi|ng. The |
|00001290| 61 6e 69 6d 61 74 69 6f | 6e 20 63 61 6e 20 62 65 |animatio|n can be|
|000012a0| 20 72 65 73 74 61 72 74 | 65 64 20 77 69 74 68 20 | restart|ed with |
|000012b0| 61 20 63 61 6c 6c 0d 74 | 6f 20 52 65 73 75 6d 65 |a call.t|o Resume|
|000012c0| 43 75 72 73 6f 72 41 6e | 69 6d 61 74 69 6f 6e 28 |CursorAn|imation(|
|000012d0| 29 2e 0d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |)..-----|--------|
|000012e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000012f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001300| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001310| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001320| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2a 2f 0d 0d 76 |--------|---*/..v|
|00001330| 6f 69 64 09 09 50 61 75 | 73 65 43 75 72 73 6f 72 |oid..Pau|seCursor|
|00001340| 41 6e 69 6d 61 74 69 6f | 6e 28 20 73 68 6f 72 74 |Animatio|n( short|
|00001350| 20 74 65 6d 70 46 69 78 | 65 64 43 75 72 73 6f 72 | tempFix|edCursor|
|00001360| 49 44 20 29 0d 7b 0d 09 | 69 66 20 28 20 43 75 72 |ID ).{..|if ( Cur|
|00001370| 73 6f 72 41 6e 69 6d 61 | 74 69 6e 67 28 29 29 0d |sorAnima|ting()).|
|00001380| 09 7b 0d 09 09 67 43 75 | 72 73 6f 72 50 61 75 73 |.{...gCu|rsorPaus|
|00001390| 65 64 20 3d 20 54 52 55 | 45 3b 0d 09 09 67 4c 61 |ed = TRU|E;...gLa|
|000013a0| 73 74 43 75 72 73 6f 72 | 49 44 20 3d 20 2d 31 3b |stCursor|ID = -1;|
|000013b0| 0d 09 09 67 50 61 75 73 | 65 54 69 63 6b 73 20 3d |...gPaus|eTicks =|
|000013c0| 20 30 3b 0d 09 7d 0d 09 | 53 65 74 43 75 72 73 6f | 0;..}..|SetCurso|
|000013d0| 72 53 68 61 70 65 28 20 | 74 65 6d 70 46 69 78 65 |rShape( |tempFixe|
|000013e0| 64 43 75 72 73 6f 72 49 | 44 20 29 3b 0d 7d 0d 0d |dCursorI|D );.}..|
|000013f0| 0d 0d 2f 2a 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |../*----|--------|
|00001400| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2a 2a 2a 20 |--------|----*** |
|00001410| 20 52 45 53 55 4d 45 43 | 55 52 53 4f 52 41 4e 49 | RESUMEC|URSORANI|
|00001420| 4d 41 54 49 4f 4e 20 20 | 2a 2a 2a 2d 2d 2d 2d 2d |MATION |***-----|
|00001430| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001440| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2a 2f 0d 2f 2a 09 |--------|--*/./*.|
|00001450| 0d 52 65 73 74 61 72 74 | 73 20 61 20 70 61 75 73 |.Restart|s a paus|
|00001460| 65 64 20 61 6e 69 6d 61 | 74 69 6e 67 20 63 75 72 |ed anima|ting cur|
|00001470| 73 6f 72 2c 20 69 66 20 | 74 68 65 72 65 20 69 73 |sor, if |there is|
|00001480| 20 6f 6e 65 2c 20 6f 74 | 68 65 72 77 69 73 65 20 | one, ot|herwise |
|00001490| 64 6f 65 73 20 6e 6f 74 | 68 69 6e 67 20 62 75 74 |does not|hing but|
|000014a0| 20 72 65 73 65 74 20 74 | 68 65 0d 66 6c 61 67 2e | reset t|he.flag.|
|000014b0| 0d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.-------|--------|
|000014c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000014d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000014e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000014f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001500| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2a 2f 0d 0d 76 6f 69 |--------|-*/..voi|
|00001510| 64 09 09 52 65 73 75 6d | 65 43 75 72 73 6f 72 41 |d..Resum|eCursorA|
|00001520| 6e 69 6d 61 74 69 6f 6e | 28 29 0d 7b 0d 09 67 43 |nimation|().{..gC|
|00001530| 75 72 73 6f 72 50 61 75 | 73 65 64 20 3d 20 46 41 |ursorPau|sed = FA|
|00001540| 4c 53 45 3b 0d 7d 0d 0d | 0d 2f 2a 2d 2d 2d 2d 2d |LSE;.}..|./*-----|
|00001550| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001560| 2d 2d 2d 2d 2d 2d 2d 2d | 2a 2a 2a 20 20 41 4e 49 |--------|*** ANI|
|00001570| 4d 41 54 45 43 55 52 53 | 4f 52 20 20 2a 2a 2a 2d |MATECURS|OR ***-|
|00001580| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001590| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000015a0| 2d 2a 2f 0d 2f 2a 09 0d | 0d 43 61 6e 20 62 65 20 |-*/./*..|.Can be |
|000015b0| 63 61 6c 6c 65 64 20 72 | 65 70 65 61 74 65 64 6c |called r|epeatedl|
|000015c0| 79 20 74 6f 20 61 6e 69 | 6d 61 74 65 20 61 20 63 |y to ani|mate a c|
|000015d0| 75 72 73 6f 72 2e 20 48 | 6f 77 65 76 65 72 2c 20 |ursor. H|owever, |
|000015e0| 69 74 20 69 73 20 73 69 | 6d 70 6c 65 72 20 74 6f |it is si|mpler to|
|000015f0| 20 6c 65 74 20 74 68 65 | 20 56 42 4c 20 74 61 73 | let the| VBL tas|
|00001600| 6b 0d 64 6f 20 74 68 69 | 73 20 69 6e 20 67 65 6e |k.do thi|s in gen|
|00001610| 65 72 61 6c 2e 0d 0d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |eral...-|--------|
|00001620| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001630| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001640| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001650| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001660| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2a |--------|-------*|
|00001670| 2f 0d 0d 76 6f 69 64 09 | 09 41 6e 69 6d 61 74 65 |/..void.|.Animate|
|00001680| 43 75 72 73 6f 72 28 20 | 73 68 6f 72 74 20 69 6e |Cursor( |short in|
|00001690| 63 72 65 6d 65 6e 74 2c | 20 61 63 75 72 48 64 6c |crement,| acurHdl|
|000016a0| 20 74 68 65 43 75 72 73 | 6f 72 20 29 0d 7b 0d 09 | theCurs|or ).{..|
|000016b0| 2f 2f 20 75 73 65 64 20 | 6f 6e 6c 79 20 66 6f 72 |// used |only for|
|000016c0| 20 6e 6f 6e 2d 56 42 4c | 20 63 75 72 73 6f 72 20 | non-VBL| cursor |
|000016d0| 73 70 69 6e 6e 69 6e 67 | 0d 09 0d 09 73 68 6f 72 |spinning|....shor|
|000016e0| 74 09 09 6f 6c 64 49 6e | 64 65 78 2c 6e 65 77 49 |t..oldIn|dex,newI|
|000016f0| 6e 64 65 78 3b 0d 09 43 | 75 72 73 48 61 6e 64 6c |ndex;..C|ursHandl|
|00001700| 65 09 61 43 75 72 73 6f | 72 3b 0d 09 0d 09 69 66 |e.aCurso|r;....if|
|00001710| 20 28 20 74 68 65 43 75 | 72 73 6f 72 20 26 26 20 | ( theCu|rsor && |
|00001720| 21 67 43 75 72 73 6f 72 | 50 61 75 73 65 64 20 29 |!gCursor|Paused )|
|00001730| 0d 09 7b 0d 09 09 6f 6c | 64 49 6e 64 65 78 20 3d |..{...ol|dIndex =|
|00001740| 20 28 2a 74 68 65 43 75 | 72 73 6f 72 29 2d 3e 69 | (*theCu|rsor)->i|
|00001750| 6e 64 65 78 20 2f 20 33 | 32 3b 0d 09 09 0d 09 09 |ndex / 3|2;......|
|00001760| 28 2a 74 68 65 43 75 72 | 73 6f 72 29 2d 3e 69 6e |(*theCur|sor)->in|
|00001770| 64 65 78 20 2b 3d 20 69 | 6e 63 72 65 6d 65 6e 74 |dex += i|ncrement|
|00001780| 3b 0d 09 09 28 2a 74 68 | 65 43 75 72 73 6f 72 29 |;...(*th|eCursor)|
|00001790| 2d 3e 69 6e 64 65 78 20 | 25 3d 20 28 2a 74 68 65 |->index |%= (*the|
|000017a0| 43 75 72 73 6f 72 29 2d | 3e 6e 75 6d 43 75 72 73 |Cursor)-|>numCurs|
|000017b0| 6f 72 73 3b 0d 09 09 0d | 09 09 6e 65 77 49 6e 64 |ors;....|..newInd|
|000017c0| 65 78 20 3d 20 28 2a 74 | 68 65 43 75 72 73 6f 72 |ex = (*t|heCursor|
|000017d0| 29 2d 3e 69 6e 64 65 78 | 20 2f 20 33 32 3b 0d 09 |)->index| / 32;..|
|000017e0| 09 0d 09 09 69 66 20 28 | 6e 65 77 49 6e 64 65 78 |....if (|newIndex|
|000017f0| 20 21 3d 20 6f 6c 64 49 | 6e 64 65 78 29 0d 09 09 | != oldI|ndex)...|
|00001800| 7b 0d 09 09 09 61 43 75 | 72 73 6f 72 20 3d 20 28 |{....aCu|rsor = (|
|00001810| 2a 74 68 65 43 75 72 73 | 6f 72 29 2d 3e 63 75 72 |*theCurs|or)->cur|
|00001820| 73 6f 72 73 5b 6e 65 77 | 49 6e 64 65 78 5d 3b 0d |sors[new|Index];.|
|00001830| 09 09 09 53 65 74 43 75 | 72 73 6f 72 28 2a 61 43 |...SetCu|rsor(*aC|
|00001840| 75 72 73 6f 72 29 3b 0d | 09 09 7d 0d 09 7d 0d 7d |ursor);.|..}..}.}|
|00001850| 0d 0d 0d 2f 2a 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.../*---|--------|
|00001860| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001870| 2d 2a 2a 2a 20 20 4c 4f | 43 4b 43 55 52 53 4f 52 |-*** LO|CKCURSOR|
|00001880| 44 41 54 41 20 20 2a 2a | 2a 2d 2d 2d 2d 2d 2d 2d |DATA **|*-------|
|00001890| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000018a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2a 2f 0d 2f 2a |--------|---*/./*|
|000018b0| 09 0d 0d 6c 6f 63 6b 73 | 20 64 6f 77 6e 20 74 68 |...locks| down th|
|000018c0| 65 20 63 75 72 73 6f 72 | 20 68 61 6e 64 6c 65 73 |e cursor| handles|
|000018d0| 20 72 65 61 64 79 20 66 | 6f 72 20 61 6e 69 6d 61 | ready f|or anima|
|000018e0| 74 69 6f 6e 0d 0d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |tion..--|--------|
|000018f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001900| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001910| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001920| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001930| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2a 2f |--------|------*/|
|00001940| 0d 0d 76 6f 69 64 09 09 | 4c 6f 63 6b 43 75 72 73 |..void..|LockCurs|
|00001950| 6f 72 44 61 74 61 28 20 | 61 63 75 72 48 64 6c 20 |orData( |acurHdl |
|00001960| 74 68 65 43 75 72 73 6f | 72 20 29 0d 7b 0d 09 2f |theCurso|r ).{../|
|00001970| 2f 20 6c 6f 63 6b 73 20 | 74 68 65 20 63 75 72 73 |/ locks |the curs|
|00001980| 6f 72 20 61 6e 64 20 69 | 74 73 20 69 6e 74 65 72 |or and i|ts inter|
|00001990| 6e 61 6c 20 64 61 74 61 | 0d 09 0d 09 73 68 6f 72 |nal data|....shor|
|000019a0| 74 09 09 63 63 6f 75 6e | 74 3b 0d 09 43 75 72 73 |t..ccoun|t;..Curs|
|000019b0| 48 61 6e 64 6c 65 09 2a | 77 6f 72 6b 50 74 72 3b |Handle.*|workPtr;|
|000019c0| 0d 09 0d 09 63 63 6f 75 | 6e 74 20 3d 20 28 2a 74 |....ccou|nt = (*t|
|000019d0| 68 65 43 75 72 73 6f 72 | 29 2d 3e 6e 75 6d 43 75 |heCursor|)->numCu|
|000019e0| 72 73 6f 72 73 20 2f 20 | 33 32 3b 0d 09 0d 09 48 |rsors / |32;....H|
|000019f0| 4c 6f 63 6b 48 69 28 28 | 48 61 6e 64 6c 65 29 20 |LockHi((|Handle) |
|00001a00| 74 68 65 43 75 72 73 6f | 72 29 3b 0d 09 77 6f 72 |theCurso|r);..wor|
|00001a10| 6b 50 74 72 20 3d 20 28 | 2a 74 68 65 43 75 72 73 |kPtr = (|*theCurs|
|00001a20| 6f 72 29 2d 3e 63 75 72 | 73 6f 72 73 3b 0d 09 0d |or)->cur|sors;...|
|00001a30| 09 77 68 69 6c 65 20 28 | 63 63 6f 75 6e 74 2d 2d |.while (|ccount--|
|00001a40| 29 0d 09 09 48 4c 6f 63 | 6b 48 69 28 28 48 61 6e |)...HLoc|kHi((Han|
|00001a50| 64 6c 65 29 20 2a 77 6f | 72 6b 50 74 72 2b 2b 29 |dle) *wo|rkPtr++)|
|00001a60| 3b 09 0d 7d 0d 0d 0d 2f | 2a 2d 2d 2d 2d 2d 2d 2d |;..}.../|*-------|
|00001a70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001a80| 2d 2d 2d 2a 2a 2a 20 20 | 55 4e 4c 4f 43 4b 43 55 |---*** |UNLOCKCU|
|00001a90| 52 53 4f 52 44 41 54 41 | 20 20 2a 2a 2a 2d 2d 2d |RSORDATA| ***---|
|00001aa0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001ab0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2a |--------|-------*|
|00001ac0| 2f 0d 2f 2a 09 0d 0d 75 | 6e 6c 6f 63 6b 73 20 74 |/./*...u|nlocks t|
|00001ad0| 68 65 20 63 75 72 73 6f | 72 20 68 61 6e 64 6c 65 |he curso|r handle|
|00001ae0| 73 0d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |s.------|--------|
|00001af0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001b30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2a 2f 0d 0d 76 6f |--------|--*/..vo|
|00001b40| 69 64 09 09 55 6e 6c 6f | 63 6b 43 75 72 73 6f 72 |id..Unlo|ckCursor|
|00001b50| 44 61 74 61 28 20 61 63 | 75 72 48 64 6c 20 74 68 |Data( ac|urHdl th|
|00001b60| 65 43 75 72 73 6f 72 20 | 29 0d 7b 0d 09 2f 2f 20 |eCursor |).{..// |
|00001b70| 75 6e 6c 6f 63 6b 73 20 | 74 68 65 20 63 75 72 73 |unlocks |the curs|
|00001b80| 6f 72 0d 09 0d 09 73 68 | 6f 72 74 09 09 63 63 6f |or....sh|ort..cco|
|00001b90| 75 6e 74 3b 0d 09 43 75 | 72 73 48 61 6e 64 6c 65 |unt;..Cu|rsHandle|
|00001ba0| 09 2a 77 6f 72 6b 50 74 | 72 3b 0d 09 0d 09 63 63 |.*workPt|r;....cc|
|00001bb0| 6f 75 6e 74 20 3d 20 28 | 2a 74 68 65 43 75 72 73 |ount = (|*theCurs|
|00001bc0| 6f 72 29 2d 3e 6e 75 6d | 43 75 72 73 6f 72 73 20 |or)->num|Cursors |
|00001bd0| 2f 20 33 32 3b 0d 09 77 | 6f 72 6b 50 74 72 20 3d |/ 32;..w|orkPtr =|
|00001be0| 20 28 2a 74 68 65 43 75 | 72 73 6f 72 29 2d 3e 63 | (*theCu|rsor)->c|
|00001bf0| 75 72 73 6f 72 73 3b 0d | 09 0d 09 77 68 69 6c 65 |ursors;.|...while|
|00001c00| 20 28 63 63 6f 75 6e 74 | 2d 2d 29 0d 09 09 48 55 | (ccount|--)...HU|
|00001c10| 6e 6c 6f 63 6b 28 28 48 | 61 6e 64 6c 65 29 20 2a |nlock((H|andle) *|
|00001c20| 77 6f 72 6b 50 74 72 2b | 2b 29 3b 09 0d 0d 09 48 |workPtr+|+);....H|
|00001c30| 55 6e 6c 6f 63 6b 28 28 | 48 61 6e 64 6c 65 29 20 |Unlock((|Handle) |
|00001c40| 74 68 65 43 75 72 73 6f | 72 29 3b 0d 7d 0d 0d 2f |theCurso|r);.}../|
|00001c50| 2a 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |*-------|--------|
|00001c60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2a 2a |--------|------**|
|00001c70| 2a 20 20 56 42 4c 43 55 | 52 53 4f 52 53 50 49 4e |* VBLCU|RSORSPIN|
|00001c80| 20 20 2a 2a 2a 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d | ***---|--------|
|00001c90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001ca0| 2d 2d 2d 2d 2d 2d 2d 2a | 2f 0d 2f 2a 09 0d 0d 74 |-------*|/./*...t|
|00001cb0| 68 69 73 20 69 73 20 74 | 68 65 20 56 42 4c 20 63 |his is t|he VBL c|
|00001cc0| 61 6c 6c 62 61 63 6b 20 | 74 68 61 74 20 61 63 74 |allback |that act|
|00001cd0| 75 61 6c 6c 79 20 70 65 | 72 66 6f 72 6d 73 20 74 |ually pe|rforms t|
|00001ce0| 68 65 20 61 6e 69 6d 61 | 74 69 6f 6e 20 6f 66 20 |he anima|tion of |
|00001cf0| 61 20 56 42 4c 2d 64 72 | 69 76 65 6e 20 63 75 72 |a VBL-dr|iven cur|
|00001d00| 73 6f 72 0d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |sor.----|--------|
|00001d10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001d20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001d30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001d40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001d50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2a 2f 0d 0d |--------|----*/..|
|00001d60| 23 69 66 6e 64 65 66 20 | 5f 5f 50 4f 57 45 52 50 |#ifndef |__POWERP|
|00001d70| 43 5f 5f 0d 09 76 6f 69 | 64 09 09 56 42 4c 43 75 |C__..voi|d..VBLCu|
|00001d80| 72 73 6f 72 53 70 69 6e | 28 29 0d 23 65 6c 73 65 |rsorSpin|().#else|
|00001d90| 0d 09 76 6f 69 64 09 09 | 56 42 4c 43 75 72 73 6f |..void..|VBLCurso|
|00001da0| 72 53 70 69 6e 28 56 42 | 4c 54 61 73 6b 57 69 74 |rSpin(VB|LTaskWit|
|00001db0| 68 41 35 50 74 72 20 74 | 68 65 54 61 73 6b 29 0d |hA5Ptr t|heTask).|
|00001dc0| 23 65 6e 64 69 66 0d 7b | 0d 09 2f 2f 20 74 68 69 |#endif.{|..// thi|
|00001dd0| 73 20 69 73 20 74 68 65 | 20 66 75 6e 63 74 69 6f |s is the| functio|
|00001de0| 6e 20 74 68 61 74 20 69 | 73 20 63 61 6c 6c 65 64 |n that i|s called|
|00001df0| 20 66 72 6f 6d 20 74 68 | 65 20 69 6e 74 65 72 72 | from th|e interr|
|00001e00| 75 70 74 20 74 61 73 6b | 2e 20 0d 09 0d 09 61 63 |upt task|. ....ac|
|00001e10| 75 72 48 64 6c 09 09 74 | 68 65 43 72 73 72 3b 0d |urHdl..t|heCrsr;.|
|00001e20| 09 6c 6f 6e 67 09 09 6f | 6c 64 41 35 3b 0d 09 0d |.long..o|ldA5;...|
|00001e30| 23 69 66 6e 64 65 66 20 | 5f 5f 50 4f 57 45 52 50 |#ifndef |__POWERP|
|00001e40| 43 5f 5f 0d 09 56 42 4c | 54 61 73 6b 57 69 74 68 |C__..VBL|TaskWith|
|00001e50| 41 35 50 74 72 09 74 68 | 65 54 61 73 6b 3b 0d 09 |A5Ptr.th|eTask;..|
|00001e60| 0d 09 74 68 65 54 61 73 | 6b 20 3d 20 47 65 74 56 |..theTas|k = GetV|
|00001e70| 42 4c 52 65 63 28 29 3b | 0d 09 6f 6c 64 41 35 20 |BLRec();|..oldA5 |
|00001e80| 3d 20 53 65 74 41 35 28 | 74 68 65 54 61 73 6b 2d |= SetA5(|theTask-|
|00001e90| 3e 41 35 29 3b 0d 09 69 | 66 20 28 4c 4d 47 65 74 |>A5);..i|f (LMGet|
|00001ea0| 43 72 73 72 42 75 73 79 | 28 29 20 3d 3d 20 30 29 |CrsrBusy|() == 0)|
|00001eb0| 0d 09 7b 0d 09 09 74 68 | 65 43 72 73 72 20 3d 20 |..{...th|eCrsr = |
|00001ec0| 74 68 65 54 61 73 6b 2d | 3e 74 68 65 43 75 72 73 |theTask-|>theCurs|
|00001ed0| 6f 72 3b 0d 09 09 41 6e | 69 6d 61 74 65 43 75 72 |or;...An|imateCur|
|00001ee0| 73 6f 72 28 20 33 32 2c | 20 74 68 65 43 72 73 72 |sor( 32,| theCrsr|
|00001ef0| 20 29 3b 0d 09 7d 0d 09 | 74 68 65 54 61 73 6b 2d | );..}..|theTask-|
|00001f00| 3e 74 68 65 54 61 73 6b | 2e 76 62 6c 43 6f 75 6e |>theTask|.vblCoun|
|00001f10| 74 20 3d 20 67 56 42 4c | 43 6f 75 6e 74 3b 0d 09 |t = gVBL|Count;..|
|00001f20| 28 76 6f 69 64 29 20 53 | 65 74 41 35 28 20 6f 6c |(void) S|etA5( ol|
|00001f30| 64 41 35 20 29 3b 0d 09 | 0d 23 65 6c 73 65 0d 09 |dA5 );..|.#else..|
|00001f40| 6f 6c 64 41 35 20 3d 20 | 53 65 74 41 35 28 20 74 |oldA5 = |SetA5( t|
|00001f50| 68 65 54 61 73 6b 2d 3e | 41 35 20 29 3b 0d 09 09 |heTask->|A5 );...|
|00001f60| 0d 09 69 66 20 28 4c 4d | 47 65 74 43 72 73 72 42 |..if (LM|GetCrsrB|
|00001f70| 75 73 79 28 29 20 3d 3d | 20 30 29 0d 09 7b 0d 09 |usy() ==| 0)..{..|
|00001f80| 09 74 68 65 43 72 73 72 | 20 3d 20 74 68 65 54 61 |.theCrsr| = theTa|
|00001f90| 73 6b 2d 3e 74 68 65 43 | 75 72 73 6f 72 3b 0d 09 |sk->theC|ursor;..|
|00001fa0| 09 41 6e 69 6d 61 74 65 | 43 75 72 73 6f 72 28 20 |.Animate|Cursor( |
|00001fb0| 33 32 2c 20 74 68 65 43 | 72 73 72 20 29 3b 0d 09 |32, theC|rsr );..|
|00001fc0| 7d 0d 09 74 68 65 54 61 | 73 6b 2d 3e 74 68 65 54 |}..theTa|sk->theT|
|00001fd0| 61 73 6b 2e 76 62 6c 43 | 6f 75 6e 74 20 3d 20 67 |ask.vblC|ount = g|
|00001fe0| 56 42 4c 43 6f 75 6e 74 | 3b 0d 09 28 76 6f 69 64 |VBLCount|;..(void|
|00001ff0| 29 20 53 65 74 41 35 28 | 20 6f 6c 64 41 35 20 29 |) SetA5(| oldA5 )|
|00002000| 3b 0d 23 65 6e 64 69 66 | 0d 7d 0d 0d 0d 2f 2a 2d |;.#endif|.}.../*-|
|00002010| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002020| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2a 2a 2a 20 |--------|----*** |
|00002030| 20 53 45 54 57 41 54 43 | 48 43 55 52 53 4f 52 20 | SETWATC|HCURSOR |
|00002040| 20 2a 2a 2a 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d | ***----|--------|
|00002050| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002060| 2d 2d 2d 2d 2d 2a 2f 0d | 2f 2a 09 0d 0d 73 74 61 |-----*/.|/*...sta|
|00002070| 72 74 73 20 74 68 65 20 | 61 6e 69 6d 61 74 65 64 |rts the |animated|
|00002080| 20 77 61 74 63 68 20 63 | 75 72 73 6f 72 2e 20 54 | watch c|ursor. T|
|00002090| 6f 20 73 74 6f 70 20 69 | 74 2c 20 63 61 6c 6c 20 |o stop i|t, call |
|000020a0| 53 74 6f 70 43 75 72 73 | 6f 72 41 6e 69 6d 61 74 |StopCurs|orAnimat|
|000020b0| 69 6f 6e 2e 0d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ion..---|--------|
|000020c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000020d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000020e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000020f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002100| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2a 2f 0d |--------|-----*/.|
|00002110| 0d 76 6f 69 64 09 09 53 | 65 74 57 61 74 63 68 43 |.void..S|etWatchC|
|00002120| 75 72 73 6f 72 28 29 0d | 7b 0d 09 2f 2f 20 48 4c |ursor().|{..// HL|
|00002130| 20 63 61 6c 6c 20 69 6e | 73 74 61 6c 6c 73 20 56 | call in|stalls V|
|00002140| 42 4c 20 73 70 69 6e 6e | 65 72 20 66 6f 72 20 77 |BL spinn|er for w|
|00002150| 61 74 63 68 2c 20 77 68 | 69 63 68 20 73 68 6f 75 |atch, wh|ich shou|
|00002160| 6c 64 20 68 61 76 65 20 | 62 65 65 6e 20 69 6e 69 |ld have |been ini|
|00002170| 74 65 64 20 62 65 66 6f | 72 65 68 61 6e 64 0d 09 |ted befo|rehand..|
|00002180| 0d 09 69 66 20 28 20 67 | 43 75 72 73 6f 72 54 61 |..if ( g|CursorTa|
|00002190| 73 6b 20 29 0d 09 09 53 | 74 6f 70 43 75 72 73 6f |sk )...S|topCurso|
|000021a0| 72 41 6e 69 6d 61 74 69 | 6f 6e 28 29 3b 0d 09 0d |rAnimati|on();...|
|000021b0| 09 69 66 20 28 20 67 57 | 61 74 63 68 53 70 69 6e |.if ( gW|atchSpin|
|000021c0| 6e 65 72 20 26 26 20 21 | 20 67 43 75 72 73 6f 72 |ner && !| gCursor|
|000021d0| 54 61 73 6b 20 29 0d 09 | 09 53 74 61 72 74 43 75 |Task )..|.StartCu|
|000021e0| 72 73 6f 72 41 6e 69 6d | 61 74 69 6f 6e 28 20 38 |rsorAnim|ation( 8|
|000021f0| 2c 20 67 57 61 74 63 68 | 53 70 69 6e 6e 65 72 20 |, gWatch|Spinner |
|00002200| 29 3b 0d 7d 0d 0d 2f 2a | 2d 2d 2d 2d 2d 2d 2d 2d |);.}../*|--------|
|00002210| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002220| 2d 2d 2d 2a 2a 2a 20 20 | 53 45 54 42 45 41 43 48 |---*** |SETBEACH|
|00002230| 42 41 4c 4c 43 55 52 53 | 4f 52 20 20 2a 2a 2a 2d |BALLCURS|OR ***-|
|00002240| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002250| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2a 2f |--------|------*/|
|00002260| 0d 2f 2a 09 0d 0d 73 74 | 61 72 74 73 20 74 68 65 |./*...st|arts the|
|00002270| 20 61 6e 69 6d 61 74 65 | 64 20 22 62 65 61 63 68 | animate|d "beach|
|00002280| 62 61 6c 6c 22 20 63 75 | 72 73 6f 72 2e 20 54 6f |ball" cu|rsor. To|
|00002290| 20 73 74 6f 70 20 69 74 | 2c 20 63 61 6c 6c 20 53 | stop it|, call S|
|000022a0| 74 6f 70 43 75 72 73 6f | 72 41 6e 69 6d 61 74 69 |topCurso|rAnimati|
|000022b0| 6f 6e 2e 0d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |on..----|--------|
|000022c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000022d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000022e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000022f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002300| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2a 2f 0d 0d |--------|----*/..|
|00002310| 76 6f 69 64 09 09 53 65 | 74 42 65 61 63 68 42 61 |void..Se|tBeachBa|
|00002320| 6c 6c 43 75 72 73 6f 72 | 28 29 0d 7b 0d 09 69 66 |llCursor|().{..if|
|00002330| 20 28 20 67 43 75 72 73 | 6f 72 54 61 73 6b 20 29 | ( gCurs|orTask )|
|00002340| 0d 09 09 53 74 6f 70 43 | 75 72 73 6f 72 41 6e 69 |...StopC|ursorAni|
|00002350| 6d 61 74 69 6f 6e 28 29 | 3b 0d 09 0d 09 69 66 20 |mation()|;....if |
|00002360| 28 20 67 42 61 6c 6c 53 | 70 69 6e 6e 65 72 20 26 |( gBallS|pinner &|
|00002370| 26 20 21 20 67 43 75 72 | 73 6f 72 54 61 73 6b 20 |& ! gCur|sorTask |
|00002380| 29 0d 09 09 53 74 61 72 | 74 43 75 72 73 6f 72 41 |)...Star|tCursorA|
|00002390| 6e 69 6d 61 74 69 6f 6e | 28 20 33 2c 20 67 42 61 |nimation|( 3, gBa|
|000023a0| 6c 6c 53 70 69 6e 6e 65 | 72 20 29 3b 0d 0d 7d 0d |llSpinne|r );..}.|
|000023b0| 0d 0d 76 6f 69 64 09 09 | 53 65 74 42 75 73 79 41 |..void..|SetBusyA|
|000023c0| 72 72 6f 77 43 75 72 73 | 6f 72 28 29 0d 7b 0d 09 |rrowCurs|or().{..|
|000023d0| 69 66 20 28 20 67 43 75 | 72 73 6f 72 54 61 73 6b |if ( gCu|rsorTask|
|000023e0| 20 29 0d 09 09 53 74 6f | 70 43 75 72 73 6f 72 41 | )...Sto|pCursorA|
|000023f0| 6e 69 6d 61 74 69 6f 6e | 28 29 3b 0d 09 0d 09 69 |nimation|();....i|
|00002400| 66 20 28 20 67 42 61 6c | 6c 53 70 69 6e 6e 65 72 |f ( gBal|lSpinner|
|00002410| 20 26 26 20 21 20 67 43 | 75 72 73 6f 72 54 61 73 | && ! gC|ursorTas|
|00002420| 6b 20 29 0d 09 09 53 74 | 61 72 74 43 75 72 73 6f |k )...St|artCurso|
|00002430| 72 41 6e 69 6d 61 74 69 | 6f 6e 28 20 33 2c 20 67 |rAnimati|on( 3, g|
|00002440| 42 75 73 79 41 72 72 6f | 77 53 70 69 6e 6e 65 72 |BusyArro|wSpinner|
|00002450| 20 29 3b 0d 7d 0d 0d 2f | 2a 2d 2d 2d 2d 2d 2d 2d | );.}../|*-------|
|00002460| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002470| 2d 2d 2d 2d 2d 2d 2d 2d | 2a 2a 2a 20 20 47 45 54 |--------|*** GET|
|00002480| 4d 4f 44 49 46 49 45 52 | 53 20 20 2a 2a 2a 2d 2d |MODIFIER|S ***--|
|00002490| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000024a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2a |--------|-------*|
|000024b0| 2f 0d 2f 2a 09 0d 0d 63 | 61 6e 20 62 65 20 63 61 |/./*...c|an be ca|
|000024c0| 6c 6c 65 64 20 61 74 20 | 61 6e 79 20 74 69 6d 65 |lled at |any time|
|000024d0| 20 74 6f 20 67 65 74 20 | 74 68 65 20 63 75 72 72 | to get |the curr|
|000024e0| 65 6e 74 20 73 74 61 74 | 65 20 6f 66 20 74 68 65 |ent stat|e of the|
|000024f0| 20 6b 65 79 62 6f 61 72 | 64 20 6d 6f 64 69 66 69 | keyboar|d modifi|
|00002500| 65 72 20 6b 65 79 73 2e | 20 55 73 65 66 75 6c 0d |er keys.| Useful.|
|00002510| 69 66 20 74 68 65 20 63 | 75 72 73 6f 72 20 69 73 |if the c|ursor is|
|00002520| 20 63 68 61 6e 67 65 64 | 20 77 69 74 68 20 64 69 | changed| with di|
|00002530| 66 66 65 72 65 6e 74 20 | 6d 6f 64 69 66 69 65 72 |fferent |modifier|
|00002540| 73 20 64 6f 77 6e 2e 0d | 2d 2d 2d 2d 2d 2d 2d 2d |s down..|--------|
|00002550| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002560| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002570| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002580| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002590| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000025a0| 2a 2f 0d 0d 73 68 6f 72 | 74 09 09 47 65 74 4d 6f |*/..shor|t..GetMo|
|000025b0| 64 69 66 69 65 72 73 28 | 29 0d 7b 0d 09 2f 2f 20 |difiers(|).{..// |
|000025c0| 72 65 74 75 72 6e 73 20 | 74 68 65 20 63 75 72 72 |returns |the curr|
|000025d0| 65 6e 74 20 73 74 61 74 | 65 20 6f 66 20 74 68 65 |ent stat|e of the|
|000025e0| 20 6d 6f 64 69 66 69 65 | 72 20 6b 65 79 73 20 61 | modifie|r keys a|
|000025f0| 73 20 69 66 20 69 74 20 | 77 61 73 20 74 68 65 20 |s if it |was the |
|00002600| 6d 6f 64 69 66 69 65 72 | 20 66 69 65 6c 64 20 69 |modifier| field i|
|00002610| 6e 0d 09 2f 2f 20 61 6e | 20 65 76 65 6e 74 20 72 |n..// an| event r|
|00002620| 65 63 6f 72 64 2e 20 54 | 68 69 73 20 63 61 6e 20 |ecord. T|his can |
|00002630| 62 65 20 63 61 6c 6c 65 | 64 20 61 74 20 61 6e 79 |be calle|d at any|
|00002640| 20 74 69 6d 65 2c 20 65 | 76 65 6e 20 77 68 65 6e | time, e|ven when|
|00002650| 20 61 6e 20 65 76 65 6e | 74 20 69 73 20 6e 6f 74 | an even|t is not|
|00002660| 20 61 76 61 69 6c 61 62 | 6c 65 2e 0d 09 2f 2f 20 | availab|le...// |
|00002670| 49 74 20 69 73 20 76 65 | 72 79 20 75 73 65 66 75 |It is ve|ry usefu|
|00002680| 6c 20 66 6f 72 20 75 70 | 64 61 74 69 6e 67 20 74 |l for up|dating t|
|00002690| 68 65 20 63 75 72 73 6f | 72 20 74 6f 20 73 68 6f |he curso|r to sho|
|000026a0| 77 20 74 68 65 20 6d 6f | 64 69 66 69 65 72 20 73 |w the mo|difier s|
|000026b0| 74 61 74 65 2e 0d 09 0d | 09 73 68 6f 72 74 09 09 |tate....|.short..|
|000026c0| 09 6d 6f 64 69 66 69 65 | 72 73 20 3d 20 30 3b 0d |.modifie|rs = 0;.|
|000026d0| 09 75 6e 73 69 67 6e 65 | 64 20 63 68 61 72 09 74 |.unsigne|d char.t|
|000026e0| 68 65 4b 65 79 73 5b 31 | 36 5d 3b 0d 09 4b 65 79 |heKeys[1|6];..Key|
|000026f0| 4d 61 70 2a 09 09 09 70 | 4b 65 79 73 3b 0d 09 0d |Map*...p|Keys;...|
|00002700| 09 70 4b 65 79 73 20 3d | 20 28 4b 65 79 4d 61 70 |.pKeys =| (KeyMap|
|00002710| 2a 29 20 74 68 65 4b 65 | 79 73 3b 0d 09 0d 09 47 |*) theKe|ys;....G|
|00002720| 65 74 4b 65 79 73 28 20 | 2a 70 4b 65 79 73 20 29 |etKeys( |*pKeys )|
|00002730| 3b 0d 09 0d 09 28 28 74 | 68 65 4b 65 79 73 5b 30 |;....((t|heKeys[0|
|00002740| 78 33 37 20 3e 3e 20 33 | 5d 20 3e 3e 20 28 30 78 |x37 >> 3|] >> (0x|
|00002750| 33 37 20 26 20 37 29 29 | 20 26 20 31 29 3f 20 6d |37 & 7))| & 1)? m|
|00002760| 6f 64 69 66 69 65 72 73 | 20 7c 3d 20 63 6d 64 4b |odifiers| |= cmdK|
|00002770| 65 79 20 09 20 20 3a 20 | 30 3b 0d 09 28 28 74 68 |ey . : |0;..((th|
|00002780| 65 4b 65 79 73 5b 30 78 | 33 38 20 3e 3e 20 33 5d |eKeys[0x|38 >> 3]|
|00002790| 20 3e 3e 20 28 30 78 33 | 38 20 26 20 37 29 29 20 | >> (0x3|8 & 7)) |
|000027a0| 26 20 31 29 3f 20 6d 6f | 64 69 66 69 65 72 73 20 |& 1)? mo|difiers |
|000027b0| 7c 3d 20 73 68 69 66 74 | 4b 65 79 20 20 20 3a 20 ||= shift|Key : |
|000027c0| 30 3b 0d 09 28 28 74 68 | 65 4b 65 79 73 5b 30 78 |0;..((th|eKeys[0x|
|000027d0| 33 39 20 3e 3e 20 33 5d | 20 3e 3e 20 28 30 78 33 |39 >> 3]| >> (0x3|
|000027e0| 39 20 26 20 37 29 29 20 | 26 20 31 29 3f 20 6d 6f |9 & 7)) |& 1)? mo|
|000027f0| 64 69 66 69 65 72 73 20 | 7c 3d 20 61 6c 70 68 61 |difiers ||= alpha|
|00002800| 4c 6f 63 6b 20 20 3a 20 | 30 3b 0d 09 28 28 74 68 |Lock : |0;..((th|
|00002810| 65 4b 65 79 73 5b 30 78 | 33 41 20 3e 3e 20 33 5d |eKeys[0x|3A >> 3]|
|00002820| 20 3e 3e 20 28 30 78 33 | 41 20 26 20 37 29 29 20 | >> (0x3|A & 7)) |
|00002830| 26 20 31 29 3f 20 6d 6f | 64 69 66 69 65 72 73 20 |& 1)? mo|difiers |
|00002840| 7c 3d 20 6f 70 74 69 6f | 6e 4b 65 79 20 20 3a 20 ||= optio|nKey : |
|00002850| 30 3b 0d 09 28 28 74 68 | 65 4b 65 79 73 5b 30 78 |0;..((th|eKeys[0x|
|00002860| 33 42 20 3e 3e 20 33 5d | 20 3e 3e 20 28 30 78 33 |3B >> 3]| >> (0x3|
|00002870| 42 20 26 20 37 29 29 20 | 26 20 31 29 3f 20 6d 6f |B & 7)) |& 1)? mo|
|00002880| 64 69 66 69 65 72 73 20 | 7c 3d 20 63 6f 6e 74 72 |difiers ||= contr|
|00002890| 6f 6c 4b 65 79 20 3a 20 | 30 3b 0d 0d 09 28 21 20 |olKey : |0;...(! |
|000028a0| 42 75 74 74 6f 6e 28 29 | 29 3f 20 6d 6f 64 69 66 |Button()|)? modif|
|000028b0| 69 65 72 73 20 7c 3d 20 | 62 74 6e 53 74 61 74 65 |iers |= |btnState|
|000028c0| 20 3a 20 30 3b 0d 09 0d | 09 72 65 74 75 72 6e 20 | : 0;...|.return |
|000028d0| 6d 6f 64 69 66 69 65 72 | 73 3b 0d 7d 0d 0d 0d 2f |modifier|s;.}.../|
|000028e0| 2a 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |*-------|--------|
|000028f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2a |--------|-------*|
|00002900| 2a 2a 20 20 41 50 50 43 | 55 52 53 4f 52 49 4e 49 |** APPC|URSORINI|
|00002910| 54 20 20 2a 2a 2a 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |T ***--|--------|
|00002920| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002930| 2d 2d 2d 2d 2d 2d 2d 2a | 2f 0d 2f 2a 09 0d 68 69 |-------*|/./*..hi|
|00002940| 67 68 2d 6c 65 76 65 6c | 20 63 61 6c 6c 20 74 6f |gh-level| call to|
|00002950| 20 69 6e 69 74 69 61 6c | 69 73 65 20 74 68 65 20 | initial|ise the |
|00002960| 61 6e 69 6d 61 74 65 64 | 20 63 75 72 73 6f 72 73 |animated| cursors|
|00002970| 2e 20 45 78 74 65 6e 64 | 20 74 68 69 73 20 66 6f |. Extend| this fo|
|00002980| 72 20 6f 74 68 65 72 73 | 20 79 6f 75 20 6d 61 79 |r others| you may|
|00002990| 20 68 61 76 65 0d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d | have.--|--------|
|000029a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000029b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000029c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000029d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000029e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2a 2f |--------|------*/|
|000029f0| 0d 0d 76 6f 69 64 09 09 | 41 70 70 43 75 72 73 6f |..void..|AppCurso|
|00002a00| 72 49 6e 69 74 28 29 0d | 7b 0d 09 2f 2f 20 63 61 |rInit().|{..// ca|
|00002a10| 6c 6c 65 64 20 6f 6e 63 | 65 20 61 74 20 61 70 70 |lled onc|e at app|
|00002a20| 6c 69 63 61 74 69 6f 6e | 20 73 74 61 72 74 2d 75 |lication| start-u|
|00002a30| 70 20 74 6f 20 69 6e 69 | 74 69 61 6c 69 73 65 20 |p to ini|tialise |
|00002a40| 74 68 65 20 61 6e 69 6d | 61 74 65 64 20 63 75 72 |the anim|ated cur|
|00002a50| 73 6f 72 20 67 6c 6f 62 | 61 6c 73 2e 0d 0d 09 67 |sor glob|als....g|
|00002a60| 57 61 74 63 68 53 70 69 | 6e 6e 65 72 20 3d 20 49 |WatchSpi|nner = I|
|00002a70| 6e 69 74 41 6e 69 6d 61 | 74 65 64 43 75 72 73 6f |nitAnima|tedCurso|
|00002a80| 72 28 20 6b 57 61 74 63 | 68 52 65 73 49 44 20 29 |r( kWatc|hResID )|
|00002a90| 3b 0d 09 67 42 61 6c 6c | 53 70 69 6e 6e 65 72 20 |;..gBall|Spinner |
|00002aa0| 3d 20 49 6e 69 74 41 6e | 69 6d 61 74 65 64 43 75 |= InitAn|imatedCu|
|00002ab0| 72 73 6f 72 28 20 6b 42 | 65 61 63 68 42 61 6c 6c |rsor( kB|eachBall|
|00002ac0| 52 65 73 49 44 20 29 3b | 0d 09 67 42 75 73 79 41 |ResID );|..gBusyA|
|00002ad0| 72 72 6f 77 53 70 69 6e | 6e 65 72 20 3d 20 49 6e |rrowSpin|ner = In|
|00002ae0| 69 74 41 6e 69 6d 61 74 | 65 64 43 75 72 73 6f 72 |itAnimat|edCursor|
|00002af0| 28 20 6b 42 75 73 79 41 | 72 72 6f 77 52 65 73 49 |( kBusyA|rrowResI|
|00002b00| 44 20 29 3b 0d 09 0d 09 | 67 4c 61 73 74 43 75 72 |D );....|gLastCur|
|00002b10| 73 6f 72 49 44 20 3d 20 | 2d 31 3b 0d 09 67 43 6f |sorID = |-1;..gCo|
|00002b20| 6c 6f 75 72 43 75 72 73 | 6f 72 20 3d 20 4e 55 4c |lourCurs|or = NUL|
|00002b30| 4c 3b 0d 7d 0d 0d 0d 2f | 2a 2d 2d 2d 2d 2d 2d 2d |L;.}.../|*-------|
|00002b40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002b50| 2d 2d 2d 2d 2d 2d 2d 2a | 2a 2a 20 20 41 50 50 43 |-------*|** APPC|
|00002b60| 55 52 53 4f 52 46 52 45 | 45 20 20 2a 2a 2a 2d 2d |URSORFRE|E ***--|
|00002b70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002b80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2a |--------|-------*|
|00002b90| 2f 0d 2f 2a 09 0d 68 69 | 67 68 2d 6c 65 76 65 6c |/./*..hi|gh-level|
|00002ba0| 20 63 61 6c 6c 20 74 6f | 20 64 65 6c 65 74 65 20 | call to| delete |
|00002bb0| 61 6c 6c 20 61 6e 69 6d | 61 74 65 64 20 63 75 72 |all anim|ated cur|
|00002bc0| 73 6f 72 73 0d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |sors.---|--------|
|00002bd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002be0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002bf0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002c00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002c10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2a 2f 0d |--------|-----*/.|
|00002c20| 0d 76 6f 69 64 09 09 41 | 70 70 43 75 72 73 6f 72 |.void..A|ppCursor|
|00002c30| 46 72 65 65 28 29 0d 7b | 0d 09 53 74 6f 70 43 75 |Free().{|..StopCu|
|00002c40| 72 73 6f 72 41 6e 69 6d | 61 74 69 6f 6e 28 29 3b |rsorAnim|ation();|
|00002c50| 0d 09 0d 09 44 69 73 70 | 6f 73 65 41 6e 69 6d 61 |....Disp|oseAnima|
|00002c60| 74 65 64 43 75 72 73 6f | 72 28 20 67 57 61 74 63 |tedCurso|r( gWatc|
|00002c70| 68 53 70 69 6e 6e 65 72 | 20 29 3b 0d 09 44 69 73 |hSpinner| );..Dis|
|00002c80| 70 6f 73 65 41 6e 69 6d | 61 74 65 64 43 75 72 73 |poseAnim|atedCurs|
|00002c90| 6f 72 28 20 67 42 61 6c | 6c 53 70 69 6e 6e 65 72 |or( gBal|lSpinner|
|00002ca0| 20 29 3b 0d 09 44 69 73 | 70 6f 73 65 41 6e 69 6d | );..Dis|poseAnim|
|00002cb0| 61 74 65 64 43 75 72 73 | 6f 72 28 20 67 42 75 73 |atedCurs|or( gBus|
|00002cc0| 79 41 72 72 6f 77 53 70 | 69 6e 6e 65 72 20 29 3b |yArrowSp|inner );|
|00002cd0| 0d 7d 0d 0d 2f 2a 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.}../*--|--------|
|00002ce0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002cf0| 2d 2d 2d 2d 2a 2a 2a 20 | 20 43 55 52 53 4f 52 41 |----*** | CURSORA|
|00002d00| 4e 49 4d 41 54 49 4e 47 | 20 20 2a 2a 2a 2d 2d 2d |NIMATING| ***---|
|00002d10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002d20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2a 2f 0d 2f |--------|----*/./|
|00002d30| 2a 09 0d 72 65 74 75 72 | 6e 73 20 54 52 55 45 20 |*..retur|ns TRUE |
|00002d40| 69 66 20 61 6e 20 61 6e | 69 6d 61 74 65 64 20 63 |if an an|imated c|
|00002d50| 75 72 73 6f 72 20 69 73 | 20 6f 6e 20 73 63 72 65 |ursor is| on scre|
|00002d60| 65 6e 2e 20 59 6f 75 20 | 73 68 6f 75 6c 64 20 6e |en. You |should n|
|00002d70| 6f 74 20 63 61 6c 6c 0d | 53 65 74 43 75 72 73 6f |ot call.|SetCurso|
|00002d80| 72 20 69 66 20 74 68 69 | 73 20 69 73 20 74 72 75 |r if thi|s is tru|
|00002d90| 65 2c 20 6f 72 20 75 67 | 6c 79 20 63 75 72 73 6f |e, or ug|ly curso|
|00002da0| 72 20 66 6c 69 63 6b 65 | 72 69 6e 67 20 6f 63 63 |r flicke|ring occ|
|00002db0| 75 72 73 2e 0d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |urs..---|--------|
|00002dc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002dd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002de0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002df0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002e00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2a 2f 0d |--------|-----*/.|
|00002e10| 0d 42 6f 6f 6c 65 61 6e | 09 09 43 75 72 73 6f 72 |.Boolean|..Cursor|
|00002e20| 41 6e 69 6d 61 74 69 6e | 67 28 29 0d 7b 0d 09 72 |Animatin|g().{..r|
|00002e30| 65 74 75 72 6e 20 28 28 | 20 67 43 75 72 73 6f 72 |eturn ((| gCursor|
|00002e40| 54 61 73 6b 20 21 3d 20 | 4e 55 4c 4c 20 29 20 26 |Task != |NULL ) &|
|00002e50| 26 20 21 67 43 75 72 73 | 6f 72 50 61 75 73 65 64 |& !gCurs|orPaused|
|00002e60| 20 29 3b 0d 7d 0d 0d 0d | 0d 42 6f 6f 6c 65 61 6e | );.}...|.Boolean|
|00002e70| 09 09 43 75 72 73 6f 72 | 41 6e 69 6d 61 74 69 6f |..Cursor|Animatio|
|00002e80| 6e 56 42 4c 52 75 6e 6e | 69 6e 67 28 29 0d 7b 0d |nVBLRunn|ing().{.|
|00002e90| 09 72 65 74 75 72 6e 20 | 28 20 67 43 75 72 73 6f |.return |( gCurso|
|00002ea0| 72 54 61 73 6b 20 21 3d | 20 4e 55 4c 4c 20 29 3b |rTask !=| NULL );|
|00002eb0| 0d 7d 0d 0d 0d 2f 2a 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.}.../*-|--------|
|00002ec0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002ed0| 2d 2d 2d 2d 2d 2d 2a 2a | 2a 20 20 53 45 54 43 55 |------**|* SETCU|
|00002ee0| 52 53 4f 52 53 48 41 50 | 45 20 20 2a 2a 2a 2d 2d |RSORSHAP|E ***--|
|00002ef0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002f00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2a 2f 0d |--------|-----*/.|
|00002f10| 2f 2a 0d 59 6f 75 20 63 | 61 6e 20 75 73 65 20 74 |/*.You c|an use t|
|00002f20| 68 69 73 20 69 6e 73 74 | 65 61 64 20 6f 66 20 47 |his inst|ead of G|
|00002f30| 65 74 43 75 72 73 6f 72 | 2f 53 65 74 43 75 72 73 |etCursor|/SetCurs|
|00002f40| 6f 72 20 74 6f 20 73 65 | 74 20 74 68 65 20 63 75 |or to se|t the cu|
|00002f50| 72 73 6f 72 20 73 68 61 | 70 65 2e 20 54 68 69 73 |rsor sha|pe. This|
|00002f60| 20 61 6c 73 6f 20 77 69 | 6c 6c 0d 63 6f 72 72 65 | also wi|ll.corre|
|00002f70| 63 74 6c 79 20 6d 61 6e | 61 67 65 20 61 20 63 6f |ctly man|age a co|
|00002f80| 6c 6f 75 72 20 63 75 72 | 73 6f 72 20 69 66 20 74 |lour cur|sor if t|
|00002f90| 68 65 72 65 20 69 73 20 | 6f 6e 65 20 61 76 61 69 |here is |one avai|
|00002fa0| 6c 61 62 6c 65 20 77 69 | 74 68 20 74 68 65 20 73 |lable wi|th the s|
|00002fb0| 61 6d 65 20 49 44 2e 20 | 54 68 69 73 20 6a 75 73 |ame ID. |This jus|
|00002fc0| 74 0d 77 6f 72 6b 73 20 | 77 69 74 68 6f 75 74 20 |t.works |without |
|00002fd0| 61 6e 79 20 73 70 65 63 | 69 61 6c 20 63 6f 64 69 |any spec|ial codi|
|00002fe0| 6e 67 2c 20 6f 70 74 69 | 6d 69 73 69 6e 67 20 66 |ng, opti|mising f|
|00002ff0| 6f 72 20 6c 6f 61 64 69 | 6e 67 20 74 68 65 20 63 |or loadi|ng the c|
|00003000| 6f 6c 6f 75 72 20 63 75 | 72 73 6f 72 20 6d 69 6e |olour cu|rsor min|
|00003010| 69 6d 61 6c 6c 79 2e 0d | 49 66 20 79 6f 75 20 70 |imally..|If you p|
|00003020| 61 73 73 20 30 20 69 74 | 20 77 69 6c 6c 20 73 65 |ass 0 it| will se|
|00003030| 74 20 74 68 65 20 61 72 | 72 6f 77 2e 20 54 68 69 |t the ar|row. Thi|
|00003040| 73 20 6d 65 74 68 6f 64 | 20 69 73 20 75 6e 73 75 |s method| is unsu|
|00003050| 69 74 61 62 6c 65 20 66 | 6f 72 20 56 42 4c 20 61 |itable f|or VBL a|
|00003060| 6e 69 6d 61 74 65 64 20 | 63 75 72 73 6f 72 73 2e |nimated |cursors.|
|00003070| 09 0d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |..------|--------|
|00003080| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003090| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000030a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000030b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000030c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2a 2f 0d 0d 76 6f |--------|--*/..vo|
|000030d0| 69 64 09 09 53 65 74 43 | 75 72 73 6f 72 53 68 61 |id..SetC|ursorSha|
|000030e0| 70 65 28 20 73 68 6f 72 | 74 20 72 65 73 49 44 20 |pe( shor|t resID |
|000030f0| 29 0d 7b 0d 09 69 66 20 | 28 28 20 72 65 73 49 44 |).{..if |(( resID|
|00003100| 20 21 3d 20 67 4c 61 73 | 74 43 75 72 73 6f 72 49 | != gLas|tCursorI|
|00003110| 44 20 29 20 26 26 20 21 | 20 43 75 72 73 6f 72 41 |D ) && !| CursorA|
|00003120| 6e 69 6d 61 74 69 6e 67 | 28 29 29 0d 09 7b 0d 09 |nimating|())..{..|
|00003130| 09 43 43 72 73 72 48 61 | 6e 64 6c 65 09 09 6e 63 |.CCrsrHa|ndle..nc|
|00003140| 48 20 3d 20 4e 55 4c 4c | 3b 0d 09 09 09 0d 09 09 |H = NULL|;.......|
|00003150| 67 4c 61 73 74 43 75 72 | 73 6f 72 49 44 20 3d 20 |gLastCur|sorID = |
|00003160| 72 65 73 49 44 3b 0d 09 | 09 09 0d 09 09 69 66 20 |resID;..|.....if |
|00003170| 28 20 72 65 73 49 44 20 | 3d 3d 20 30 20 29 0d 09 |( resID |== 0 )..|
|00003180| 09 09 53 65 74 43 75 72 | 73 6f 72 28 20 26 71 64 |..SetCur|sor( &qd|
|00003190| 2e 61 72 72 6f 77 20 29 | 3b 0d 09 09 65 6c 73 65 |.arrow )|;...else|
|000031a0| 0d 09 09 7b 0d 09 09 09 | 2f 2f 20 73 65 65 20 69 |...{....|// see i|
|000031b0| 66 20 74 68 65 72 65 27 | 73 20 61 20 63 6f 6c 6f |f there'|s a colo|
|000031c0| 75 72 20 63 75 72 73 6f | 72 20 77 69 74 68 20 74 |ur curso|r with t|
|000031d0| 68 61 74 20 49 44 2e 20 | 57 65 20 64 6f 20 6e 6f |hat ID. |We do no|
|000031e0| 74 20 6c 6f 6f 6b 20 66 | 6f 72 20 63 6f 6c 6f 75 |t look f|or colou|
|000031f0| 72 0d 09 09 09 2f 2f 20 | 63 75 72 73 6f 72 73 20 |r....// |cursors |
|00003200| 77 69 74 68 20 49 44 73 | 20 6c 65 73 73 20 74 68 |with IDs| less th|
|00003210| 61 6e 20 31 32 38 20 73 | 69 6e 63 65 20 66 6f 72 |an 128 s|ince for|
|00003220| 20 73 6f 6d 65 20 72 65 | 61 73 6f 6e 20 49 6e 73 | some re|ason Ins|
|00003230| 69 64 65 20 4d 61 63 20 | 73 61 79 73 0d 09 09 09 |ide Mac |says....|
|00003240| 2f 2f 20 74 68 69 73 20 | 69 73 20 6e 6f 74 20 61 |// this |is not a|
|00003250| 6c 6c 6f 77 65 64 2e 20 | 43 61 6e 27 74 20 72 65 |llowed. |Can't re|
|00003260| 61 6c 6c 79 20 73 65 65 | 20 77 68 79 20 74 68 69 |ally see| why thi|
|00003270| 73 20 69 73 21 0d 09 09 | 09 0d 09 09 09 69 66 20 |s is!...|.....if |
|00003280| 28 20 72 65 73 49 44 20 | 3e 20 31 32 37 20 29 0d |( resID |> 127 ).|
|00003290| 09 09 09 7b 0d 09 09 09 | 09 6e 63 48 20 3d 20 47 |...{....|.ncH = G|
|000032a0| 65 74 43 43 75 72 73 6f | 72 28 20 72 65 73 49 44 |etCCurso|r( resID|
|000032b0| 20 29 3b 0d 09 09 09 09 | 0d 09 09 09 09 69 66 20 | );.....|.....if |
|000032c0| 28 20 6e 63 48 20 29 0d | 09 09 09 09 7b 0d 09 09 |( ncH ).|....{...|
|000032d0| 09 09 09 2f 2f 20 64 75 | 65 20 74 6f 20 61 20 73 |...// du|e to a s|
|000032e0| 75 62 74 6c 65 20 61 6e | 64 20 75 6e 64 6f 63 75 |ubtle an|d undocu|
|000032f0| 6d 65 6e 74 65 64 20 73 | 69 64 65 2d 65 66 66 65 |mented s|ide-effe|
|00003300| 63 74 20 6f 66 20 53 65 | 74 43 43 75 72 73 6f 72 |ct of Se|tCCursor|
|00003310| 2c 20 77 65 20 6d 75 73 | 74 20 62 65 0d 09 09 09 |, we mus|t be....|
|00003320| 09 09 2f 2f 20 63 61 72 | 65 66 75 6c 20 74 6f 20 |..// car|eful to |
|00003330| 70 72 65 73 65 72 76 65 | 20 74 68 65 20 47 44 65 |preserve| the GDe|
|00003340| 76 69 63 65 20 61 72 6f | 75 6e 64 20 74 68 69 73 |vice aro|und this|
|00003350| 20 63 61 6c 6c 2c 20 6f | 72 20 62 61 64 20 74 68 | call, o|r bad th|
|00003360| 69 6e 67 73 20 63 61 6e | 0d 09 09 09 09 09 2f 2f |ings can|......//|
|00003370| 20 68 61 70 70 65 6e 2e | 0d 09 09 09 09 09 0d 09 | happen.|........|
|00003380| 09 09 09 09 47 44 48 61 | 6e 64 6c 65 09 73 61 76 |....GDHa|ndle.sav|
|00003390| 65 44 65 76 69 63 65 3b | 0d 09 09 09 09 09 0d 09 |eDevice;|........|
|000033a0| 09 09 09 09 73 61 76 65 | 44 65 76 69 63 65 20 3d |....save|Device =|
|000033b0| 20 47 65 74 47 44 65 76 | 69 63 65 28 29 3b 0d 09 | GetGDev|ice();..|
|000033c0| 09 09 09 09 0d 09 09 09 | 09 09 53 65 74 43 43 75 |........|..SetCCu|
|000033d0| 72 73 6f 72 28 20 6e 63 | 48 20 29 3b 0d 09 09 09 |rsor( nc|H );....|
|000033e0| 09 09 53 65 74 47 44 65 | 76 69 63 65 28 20 73 61 |..SetGDe|vice( sa|
|000033f0| 76 65 44 65 76 69 63 65 | 20 29 3b 0d 09 09 09 09 |veDevice| );.....|
|00003400| 7d 0d 09 09 09 7d 0d 09 | 09 09 0d 09 09 09 2f 2f |}....}..|......//|
|00003410| 20 69 66 20 6e 6f 20 63 | 6f 6c 6f 75 72 20 63 75 | if no c|olour cu|
|00003420| 72 73 6f 72 2c 20 75 73 | 65 20 61 20 62 6c 61 63 |rsor, us|e a blac|
|00003430| 6b 20 61 6e 64 20 77 68 | 69 74 65 20 6f 6e 65 2e |k and wh|ite one.|
|00003440| 20 54 68 69 73 20 77 6f | 72 6b 73 20 77 69 74 68 | This wo|rks with|
|00003450| 20 61 6c 6c 0d 09 09 09 | 2f 2f 20 63 75 72 73 6f | all....|// curso|
|00003460| 72 20 49 44 73 2c 20 69 | 6e 63 6c 75 64 69 6e 67 |r IDs, i|ncluding|
|00003470| 20 74 68 65 20 73 74 61 | 6e 64 61 72 64 20 69 42 | the sta|ndard iB|
|00003480| 65 61 6d 43 75 72 73 6f | 72 2c 20 63 72 6f 73 73 |eamCurso|r, cross|
|00003490| 43 75 72 73 6f 72 2c 20 | 65 74 63 2e 0d 09 09 09 |Cursor, |etc.....|
|000034a0| 0d 09 09 09 69 66 20 28 | 20 6e 63 48 20 3d 3d 20 |....if (| ncH == |
|000034b0| 4e 55 4c 4c 20 29 0d 09 | 09 09 7b 0d 09 09 09 09 |NULL )..|..{.....|
|000034c0| 43 75 72 73 48 61 6e 64 | 6c 65 09 63 48 3b 0d 09 |CursHand|le.cH;..|
|000034d0| 09 09 09 0d 09 09 09 09 | 63 48 20 3d 20 47 65 74 |........|cH = Get|
|000034e0| 43 75 72 73 6f 72 28 20 | 72 65 73 49 44 20 29 3b |Cursor( |resID );|
|000034f0| 0d 09 09 0d 09 09 09 09 | 69 66 20 28 20 63 48 20 |........|if ( cH |
|00003500| 29 0d 09 09 09 09 7b 0d | 09 09 09 09 09 48 4c 6f |).....{.|.....HLo|
|00003510| 63 6b 48 69 28 28 48 61 | 6e 64 6c 65 29 20 63 48 |ckHi((Ha|ndle) cH|
|00003520| 20 29 3b 0d 09 09 09 09 | 09 53 65 74 43 75 72 73 | );.....|.SetCurs|
|00003530| 6f 72 28 20 2a 63 48 20 | 29 3b 0d 09 09 09 09 09 |or( *cH |);......|
|00003540| 48 55 6e 6c 6f 63 6b 28 | 28 48 61 6e 64 6c 65 29 |HUnlock(|(Handle)|
|00003550| 20 63 48 20 29 3b 0d 09 | 09 09 09 7d 0d 09 09 09 | cH );..|...}....|
|00003560| 7d 0d 09 09 7d 09 0d 09 | 09 0d 09 09 2f 2f 20 64 |}...}...|....// d|
|00003570| 69 73 70 6f 73 65 20 61 | 6e 79 20 6f 6c 64 20 63 |ispose a|ny old c|
|00003580| 6f 6c 6f 75 72 20 63 75 | 72 73 6f 72 0d 09 09 0d |olour cu|rsor....|
|00003590| 09 09 69 66 20 28 20 67 | 43 6f 6c 6f 75 72 43 75 |..if ( g|ColourCu|
|000035a0| 72 73 6f 72 20 29 0d 09 | 09 09 44 69 73 70 6f 73 |rsor )..|..Dispos|
|000035b0| 65 43 43 75 72 73 6f 72 | 28 20 67 43 6f 6c 6f 75 |eCCursor|( gColou|
|000035c0| 72 43 75 72 73 6f 72 20 | 29 3b 0d 09 09 0d 09 09 |rCursor |);......|
|000035d0| 2f 2f 20 6b 65 65 70 20 | 74 72 61 63 6b 20 6f 66 |// keep |track of|
|000035e0| 20 6e 65 77 20 6f 6e 65 | 20 6f 72 20 4e 55 4c 4c | new one| or NULL|
|000035f0| 0d 09 09 0d 09 09 67 43 | 6f 6c 6f 75 72 43 75 72 |......gC|olourCur|
|00003600| 73 6f 72 20 3d 20 6e 63 | 48 3b 0d 09 7d 0d 7d 0d |sor = nc|H;..}.}.|
|00003610| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003620| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003630| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003640| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003650| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003660| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003670| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003680| 00 00 01 00 00 00 01 5a | 00 00 00 5a 00 00 00 52 |.......Z|...Z...R|
|00003690| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000036a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000036b0| 13 43 75 72 73 6f 72 55 | 74 69 6c 69 74 69 65 73 |.CursorU|tilities|
|000036c0| 2e 63 70 70 02 00 00 00 | 50 61 72 74 53 49 54 21 |.cpp....|PartSIT!|
|000036d0| 00 00 50 61 72 74 53 49 | 54 21 00 00 00 00 00 00 |..PartSI|T!......|
|000036e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000036f0| 00 00 b3 41 d6 33 00 00 | 00 00 00 00 01 ac 6c 65 |...A.3..|......le|
|00003700| 6d 65 6e 74 73 20 70 61 | 69 6e 74 20 65 66 66 65 |ments pa|int effe|
|00003710| 63 74 73 20 66 6f 72 20 | 69 6d 61 67 65 0d 2a 0d |cts for |image.*.|
|00003720| 2a 0d 2a 09 09 32 36 2f | 39 2f 39 34 09 09 a9 31 |*.*..26/|9/94...1|
|00003730| 39 39 34 2c 20 47 72 61 | 68 61 6d 20 43 6f 78 0d |994, Gra|ham Cox.|
|00003740| 2a 0d 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |*.******|********|
|00003750| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003760| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003770| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00003780| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 00 00 00 |...H..Mo|naco....|
|00003790| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000037a0| 00 00 00 00 00 00 00 02 | 00 04 00 2e 00 71 02 4a |........|.....q.J|
|000037b0| 02 d1 00 2e 00 71 02 4a | 02 d1 b2 e0 8d 8c 00 00 |.....q.J|........|
|000037c0| 25 2b 00 00 25 37 00 00 | 28 5b 01 00 00 00 00 02 |%+..%7..|([......|
|000037d0| 00 00 00 00 00 04 00 01 | 00 01 00 00 01 00 00 00 |........|........|
|000037e0| 01 5a 00 00 00 5a 00 00 | 00 52 04 67 e9 e8 34 84 |.Z...Z..|.R.g..4.|
|000037f0| 00 00 00 1c 00 52 00 01 | 4d 50 53 52 00 01 00 12 |.....R..|MPSR....|
|00003800| 4d 57 42 42 00 00 00 2a | 03 ed ff ff 00 00 00 00 |MWBB...*|........|
|00003810| 00 00 00 00 03 ef ff ff | 00 00 00 4c 00 00 00 00 |........|...L....|
|00003820| 03 f0 ff ff 00 00 00 52 | 00 00 00 00 00 00 00 00 |.......R|........|
|00003830| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003840| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003850| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003860| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003870| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+