home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1990-10-02 | 4.8 KB | [ TEXT/KAHL]
open in: MacOS 8.1
extracted
|
Win98
extracted
|
DOS
extracted
view JSON data
|
view as text
This file was processed as: MacBinary
(archive/macBinary ).
You can browse this item here: Millions of Colors.c
id metadata key value macFileType [ TEXT] macFileCreator [ KAHL]
hex view +--------+-------------------------+-------------------------+--------+--------+ |00000000| 00 14 4d 69 6c 6c 69 6f | 6e 73 20 6f 66 20 43 6f |..Millio|ns of Co| |00000010| 6c 6f 72 73 2e 63 00 00 | 00 00 00 00 00 00 00 00 |lors.c..|........| |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 4b 41 48 | 4c 00 00 00 00 00 00 00 |.TEXTKAH|L.......| |00000050| 00 00 00 00 00 10 58 00 | 00 01 bc a3 2d d3 5e a3 |......X.|....-.^.| |00000060| 2d d3 5e 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |-.^.....|........| |00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 21 8f 00 00 |........|....!...| |00000080| 2f 2a 0d 0d 09 4d 69 6c | 6c 69 6f 6e 73 20 6f 66 |/*...Mil|lions of| |00000090| 20 43 6f 6c 6f 72 73 20 | a9 20 43 6f 70 79 72 69 | Colors |. Copyri| |000000a0| 67 68 74 20 31 39 39 30 | 20 62 79 20 47 75 79 20 |ght 1990| by Guy | |000000b0| 54 2e 20 52 69 63 65 0d | 09 0d 09 54 68 69 73 20 |T. Rice.|...This | |000000c0| 41 66 74 65 72 20 44 61 | 72 6b 20 6d 6f 64 75 6c |After Da|rk modul| |000000d0| 65 20 69 73 20 64 65 73 | 69 67 6e 65 64 20 74 6f |e is des|igned to| |000000e0| 20 64 69 73 70 6c 61 79 | 20 61 20 64 69 66 66 65 | display| a diffe| |000000f0| 72 65 6e 74 20 63 6f 6c | 6f 72 20 6f 6e 20 65 76 |rent col|or on ev| |00000100| 65 72 79 20 70 69 78 65 | 6c 0d 09 6f 66 20 79 6f |ery pixe|l..of yo| |00000110| 75 72 20 6d 6f 6e 69 74 | 6f 72 2e 20 20 49 74 20 |ur monit|or. It | |00000120| 73 74 61 72 74 73 20 62 | 79 20 63 75 74 74 69 6e |starts b|y cuttin| |00000130| 67 20 74 68 65 20 73 63 | 72 65 65 6e 20 69 6e 74 |g the sc|reen int| |00000140| 6f 20 64 69 66 66 65 72 | 65 6e 74 20 63 6f 6c 6f |o differ|ent colo| |00000150| 72 65 64 20 74 69 6c 65 | 73 0d 09 74 68 61 74 20 |red tile|s..that | |00000160| 67 65 74 20 73 6d 61 6c | 6c 65 72 20 61 6e 64 20 |get smal|ler and | |00000170| 73 6d 61 6c 6c 65 72 20 | 61 73 20 74 68 65 20 70 |smaller |as the p| |00000180| 72 6f 67 72 61 6d 20 72 | 75 6e 73 2e 20 20 45 76 |rogram r|uns. Ev| |00000190| 65 6e 74 75 61 6c 6c 79 | 2c 20 74 68 65 20 74 69 |entually|, the ti| |000001a0| 6c 65 73 20 67 65 74 0d | 09 64 6f 77 6e 20 74 6f |les get.|.down to| |000001b0| 20 74 68 65 20 73 69 7a | 65 20 6f 66 20 31 20 70 | the siz|e of 1 p| |000001c0| 69 78 65 6c 20 62 79 20 | 31 20 70 69 78 65 6c 2c |ixel by |1 pixel,| |000001d0| 20 61 74 20 77 68 69 63 | 68 20 70 6f 69 6e 74 20 | at whic|h point | |000001e0| 65 76 65 72 79 20 70 69 | 78 65 6c 20 6f 6e 20 74 |every pi|xel on t| |000001f0| 68 65 0d 09 73 63 72 65 | 65 6e 20 77 69 6c 6c 20 |he..scre|en will | |00000200| 62 65 20 61 20 73 6c 69 | 67 68 74 6c 79 20 64 69 |be a sli|ghtly di| |00000210| 66 66 65 72 65 6e 74 20 | 63 6f 6c 6f 72 2e 20 20 |fferent |color. | |00000220| 54 68 69 73 20 70 72 6f | 67 72 61 6d 20 72 65 71 |This pro|gram req| |00000230| 75 69 72 65 73 20 61 20 | 6d 6f 6e 69 74 6f 72 0d |uires a |monitor.| |00000240| 09 61 6e 64 20 76 69 64 | 65 6f 20 63 61 72 64 20 |.and vid|eo card | |00000250| 74 68 61 74 20 73 75 70 | 70 6f 72 74 73 20 33 32 |that sup|ports 32| |00000260| 2d 62 69 74 20 43 6f 6c | 6f 72 20 51 75 69 63 6b |-bit Col|or Quick| |00000270| 64 72 61 77 2e 0d 09 0d | 20 2a 2f 0d 0d 23 69 6e |draw....| */..#in| |00000280| 63 6c 75 64 65 20 3c 51 | 75 69 63 6b 44 72 61 77 |clude <Q|uickDraw| |00000290| 2e 68 3e 0d 23 69 6e 63 | 6c 75 64 65 20 3c 43 6f |.h>.#inc|lude <Co| |000002a0| 6c 6f 72 2e 68 3e 0d 23 | 69 6e 63 6c 75 64 65 20 |lor.h>.#|include | |000002b0| 22 47 72 61 70 68 69 63 | 73 4d 6f 64 75 6c 65 5f |"Graphic|sModule_| |000002c0| 54 79 70 65 73 2e 68 22 | 0d 0d 74 79 70 65 64 65 |Types.h"|..typede| |000002d0| 66 20 73 74 72 75 63 74 | 20 4d 79 53 74 6f 72 61 |f struct| MyStora| |000002e0| 67 65 20 7b 0d 09 69 6e | 74 20 63 75 72 58 2c 20 |ge {..in|t curX, | |000002f0| 63 75 72 59 3b 0d 09 69 | 6e 74 20 6c 65 6e 58 2c |curY;..i|nt lenX,| |00000300| 20 6c 65 6e 59 3b 0d 09 | 69 6e 74 20 6d 61 78 58 | lenY;..|int maxX| |00000310| 2c 20 6d 61 78 59 3b 0d | 09 69 6e 74 20 70 72 65 |, maxY;.|.int pre| |00000320| 76 44 65 70 74 68 3b 0d | 7d 20 4d 79 53 74 6f 72 |vDepth;.|} MyStor| |00000330| 61 67 65 2c 20 2a 4d 79 | 53 74 6f 72 61 67 65 50 |age, *My|StorageP| |00000340| 74 72 2c 20 2a 2a 4d 79 | 53 74 6f 72 61 67 65 48 |tr, **My|StorageH| |00000350| 61 6e 64 6c 65 3b 0d 0d | 0d 70 61 73 63 61 6c 20 |andle;..|.pascal | |00000360| 73 68 6f 72 74 20 53 65 | 74 44 65 70 74 68 28 47 |short Se|tDepth(G| |00000370| 44 48 61 6e 64 6c 65 20 | 67 64 2c 20 73 68 6f 72 |DHandle |gd, shor| |00000380| 74 20 6e 65 77 44 65 70 | 74 68 2c 20 73 68 6f 72 |t newDep|th, shor| |00000390| 74 20 77 68 69 63 68 46 | 6c 61 67 73 2c 20 73 68 |t whichF|lags, sh| |000003a0| 6f 72 74 20 6e 65 77 46 | 6c 61 67 73 29 0d 09 3d |ort newF|lags)..=| |000003b0| 20 7b 30 78 32 30 33 43 | 2c 20 30 78 30 30 30 41 | {0x203C|, 0x000A| |000003c0| 2c 20 30 78 30 30 31 33 | 2c 20 30 78 41 41 41 32 |, 0x0013|, 0xAAA2| |000003d0| 7d 3b 0d 0d 0d 4f 53 45 | 72 72 0d 44 6f 49 6e 69 |};...OSE|rr.DoIni| |000003e0| 74 69 61 6c 69 7a 65 28 | 73 74 6f 72 61 67 65 2c |tialize(|storage,| |000003f0| 20 62 6c 61 6e 6b 52 67 | 6e 2c 20 70 61 72 61 6d | blankRg|n, param| |00000400| 73 29 0d 48 61 6e 64 6c | 65 20 2a 73 74 6f 72 61 |s).Handl|e *stora| |00000410| 67 65 3b 0d 52 67 6e 48 | 61 6e 64 6c 65 20 62 6c |ge;.RgnH|andle bl| |00000420| 61 6e 6b 52 67 6e 3b 0d | 47 4d 50 61 72 61 6d 42 |ankRgn;.|GMParamB| |00000430| 6c 6f 63 6b 50 74 72 20 | 70 61 72 61 6d 73 3b 0d |lockPtr |params;.| |00000440| 7b 0d 09 4d 79 53 74 6f | 72 61 67 65 48 61 6e 64 |{..MySto|rageHand| |00000450| 6c 65 20 6d 79 53 74 6f | 72 61 67 65 3b 0d 09 0d |le mySto|rage;...| |00000460| 09 2f 2a 20 61 6c 6c 6f | 63 61 74 65 20 68 61 6e |./* allo|cate han| |00000470| 64 6c 65 20 74 6f 20 6d | 79 20 73 74 6f 72 61 67 |dle to m|y storag| |00000480| 65 20 2a 2f 0d 09 6d 79 | 53 74 6f 72 61 67 65 3d |e */..my|Storage=| |00000490| 28 4d 79 53 74 6f 72 61 | 67 65 48 61 6e 64 6c 65 |(MyStora|geHandle| |000004a0| 29 4e 65 77 48 61 6e 64 | 6c 65 28 73 69 7a 65 6f |)NewHand|le(sizeo| |000004b0| 66 28 4d 79 53 74 6f 72 | 61 67 65 29 29 3b 0d 09 |f(MyStor|age));..| |000004c0| 0d 09 69 66 28 21 6d 79 | 53 74 6f 72 61 67 65 29 |..if(!my|Storage)| |000004d0| 0d 09 09 72 65 74 75 72 | 6e 20 4d 65 6d 45 72 72 |...retur|n MemErr| |000004e0| 6f 72 28 29 3b 0d 09 0d | 09 4d 6f 76 65 48 48 69 |or();...|.MoveHHi| |000004f0| 28 6d 79 53 74 6f 72 61 | 67 65 29 3b 0d 09 48 4c |(myStora|ge);..HL| |00000500| 6f 63 6b 28 6d 79 53 74 | 6f 72 61 67 65 29 3b 09 |ock(mySt|orage);.| |00000510| 09 09 09 09 2f 2a 20 4c | 6f 63 6b 20 69 74 20 64 |..../* L|ock it d| |00000520| 6f 77 6e 20 2a 2f 0d 09 | 0d 09 2a 73 74 6f 72 61 |own */..|..*stora| |00000530| 67 65 3d 28 48 61 6e 64 | 6c 65 29 6d 79 53 74 6f |ge=(Hand|le)mySto| |00000540| 72 61 67 65 3b 09 09 09 | 2f 2a 20 61 73 73 69 67 |rage;...|/* assig| |00000550| 6e 20 6d 79 53 74 6f 72 | 61 67 65 20 74 6f 20 70 |n myStor|age to p| |00000560| 61 73 73 65 64 20 68 61 | 6e 64 6c 65 20 2a 2f 0d |assed ha|ndle */.| |00000570| 09 0d 09 28 2a 2a 6d 79 | 53 74 6f 72 61 67 65 29 |...(**my|Storage)| |00000580| 2e 63 75 72 58 20 3d 20 | 30 3b 0d 09 28 2a 2a 6d |.curX = |0;..(**m| |00000590| 79 53 74 6f 72 61 67 65 | 29 2e 63 75 72 59 20 3d |yStorage|).curY =| |000005a0| 20 30 3b 0d 09 28 2a 2a | 6d 79 53 74 6f 72 61 67 | 0;..(**|myStorag| |000005b0| 65 29 2e 6c 65 6e 58 20 | 3d 20 70 61 72 61 6d 73 |e).lenX |= params| |000005c0| 2d 3e 6d 6f 6e 69 74 6f | 72 73 2d 3e 6d 6f 6e 69 |->monito|rs->moni| |000005d0| 74 6f 72 4c 69 73 74 5b | 30 5d 2e 62 6f 75 6e 64 |torList[|0].bound| |000005e0| 73 2e 72 69 67 68 74 3b | 0d 09 28 2a 2a 6d 79 53 |s.right;|..(**myS| |000005f0| 74 6f 72 61 67 65 29 2e | 6c 65 6e 59 20 3d 20 70 |torage).|lenY = p| |00000600| 61 72 61 6d 73 2d 3e 6d | 6f 6e 69 74 6f 72 73 2d |arams->m|onitors-| |00000610| 3e 6d 6f 6e 69 74 6f 72 | 4c 69 73 74 5b 30 5d 2e |>monitor|List[0].| |00000620| 62 6f 75 6e 64 73 2e 62 | 6f 74 74 6f 6d 3b 0d 09 |bounds.b|ottom;..| |00000630| 28 2a 2a 6d 79 53 74 6f | 72 61 67 65 29 2e 6d 61 |(**mySto|rage).ma| |00000640| 78 58 20 3d 20 70 61 72 | 61 6d 73 2d 3e 6d 6f 6e |xX = par|ams->mon| |00000650| 69 74 6f 72 73 2d 3e 6d | 6f 6e 69 74 6f 72 4c 69 |itors->m|onitorLi| |00000660| 73 74 5b 30 5d 2e 62 6f | 75 6e 64 73 2e 72 69 67 |st[0].bo|unds.rig| |00000670| 68 74 3b 0d 09 28 2a 2a | 6d 79 53 74 6f 72 61 67 |ht;..(**|myStorag| |00000680| 65 29 2e 6d 61 78 59 20 | 3d 20 70 61 72 61 6d 73 |e).maxY |= params| |00000690| 2d 3e 6d 6f 6e 69 74 6f | 72 73 2d 3e 6d 6f 6e 69 |->monito|rs->moni| |000006a0| 74 6f 72 4c 69 73 74 5b | 30 5d 2e 62 6f 75 6e 64 |torList[|0].bound| |000006b0| 73 2e 62 6f 74 74 6f 6d | 3b 0d 09 28 2a 2a 6d 79 |s.bottom|;..(**my| |000006c0| 53 74 6f 72 61 67 65 29 | 2e 70 72 65 76 44 65 70 |Storage)|.prevDep| |000006d0| 74 68 20 3d 20 70 61 72 | 61 6d 73 2d 3e 6d 6f 6e |th = par|ams->mon| |000006e0| 69 74 6f 72 73 2d 3e 6d | 6f 6e 69 74 6f 72 4c 69 |itors->m|onitorLi| |000006f0| 73 74 5b 30 5d 2e 63 75 | 72 44 65 70 74 68 3b 0d |st[0].cu|rDepth;.| |00000700| 09 0d 09 48 55 6e 6c 6f | 63 6b 28 6d 79 53 74 6f |...HUnlo|ck(mySto| |00000710| 72 61 67 65 29 3b 0d 09 | 0d 09 72 65 74 75 72 6e |rage);..|..return| |00000720| 20 6e 6f 45 72 72 3b 0d | 7d 0d 0d 0d 4f 53 45 72 | noErr;.|}...OSEr| |00000730| 72 0d 44 6f 42 6c 61 6e | 6b 28 73 74 6f 72 61 67 |r.DoBlan|k(storag| |00000740| 65 2c 20 62 6c 61 6e 6b | 52 67 6e 2c 20 70 61 72 |e, blank|Rgn, par| |00000750| 61 6d 73 29 0d 48 61 6e | 64 6c 65 20 73 74 6f 72 |ams).Han|dle stor| |00000760| 61 67 65 3b 0d 52 67 6e | 48 61 6e 64 6c 65 20 62 |age;.Rgn|Handle b| |00000770| 6c 61 6e 6b 52 67 6e 3b | 0d 47 4d 50 61 72 61 6d |lankRgn;|.GMParam| |00000780| 42 6c 6f 63 6b 50 74 72 | 20 70 61 72 61 6d 73 3b |BlockPtr| params;| |00000790| 0d 7b 0d 09 73 68 6f 72 | 74 20 6d 79 52 65 73 75 |.{..shor|t myResu| |000007a0| 6c 74 3b 0d 09 0d 09 6d | 79 52 65 73 75 6c 74 20 |lt;....m|yResult | |000007b0| 3d 20 53 65 74 44 65 70 | 74 68 28 47 65 74 4d 61 |= SetDep|th(GetMa| |000007c0| 69 6e 44 65 76 69 63 65 | 28 29 2c 20 33 32 2c 20 |inDevice|(), 32, | |000007d0| 30 2c 20 30 29 3b 0d 09 | 46 69 6c 6c 52 67 6e 28 |0, 0);..|FillRgn(| |000007e0| 62 6c 61 6e 6b 52 67 6e | 2c 20 70 61 72 61 6d 73 |blankRgn|, params| |000007f0| 2d 3e 71 64 47 6c 6f 62 | 61 6c 73 43 6f 70 79 2d |->qdGlob|alsCopy-| |00000800| 3e 71 64 42 6c 61 63 6b | 29 3b 0d 09 72 65 74 75 |>qdBlack|);..retu| |00000810| 72 6e 20 6e 6f 45 72 72 | 3b 0d 7d 0d 0d 0d 4f 53 |rn noErr|;.}...OS| |00000820| 45 72 72 0d 44 6f 44 72 | 61 77 46 72 61 6d 65 28 |Err.DoDr|awFrame(| |00000830| 73 74 6f 72 61 67 65 2c | 20 62 6c 61 6e 6b 52 67 |storage,| blankRg| |00000840| 6e 2c 20 70 61 72 61 6d | 73 29 0d 48 61 6e 64 6c |n, param|s).Handl| |00000850| 65 20 73 74 6f 72 61 67 | 65 3b 0d 52 67 6e 48 61 |e storag|e;.RgnHa| |00000860| 6e 64 6c 65 20 62 6c 61 | 6e 6b 52 67 6e 3b 0d 47 |ndle bla|nkRgn;.G| |00000870| 4d 50 61 72 61 6d 42 6c | 6f 63 6b 50 74 72 20 70 |MParamBl|ockPtr p| |00000880| 61 72 61 6d 73 3b 0d 7b | 0d 09 4d 79 53 74 6f 72 |arams;.{|..MyStor| |00000890| 61 67 65 50 74 72 20 6d | 79 53 74 6f 72 61 67 65 |agePtr m|yStorage| |000008a0| 3b 09 09 09 09 2f 2a 20 | 74 6f 20 68 6f 6c 64 20 |;..../* |to hold | |000008b0| 64 65 72 65 66 65 72 65 | 6e 63 65 64 20 73 74 6f |derefere|nced sto| |000008c0| 72 61 67 65 20 68 61 6e | 64 6c 65 20 2a 2f 0d 09 |rage han|dle */..| |000008d0| 52 47 42 43 6f 6c 6f 72 | 20 6d 79 43 6f 6c 6f 72 |RGBColor| myColor| |000008e0| 3b 0d 09 52 65 63 74 20 | 6d 79 52 65 63 74 3b 0d |;..Rect |myRect;.| |000008f0| 09 69 6e 74 20 74 31 2c | 74 32 3b 0d 09 0d 09 2f |.int t1,|t2;..../| |00000900| 2a 20 6c 6f 63 6b 20 6f | 75 72 20 73 74 6f 72 61 |* lock o|ur stora| |00000910| 67 65 20 64 6f 77 6e 20 | 73 6f 20 77 65 20 63 61 |ge down |so we ca| |00000920| 6e 20 64 65 72 65 66 65 | 72 65 6e 63 65 20 69 74 |n derefe|rence it| |00000930| 20 6f 6e 63 65 20 66 6f | 72 20 66 61 73 74 65 72 | once fo|r faster| |00000940| 20 61 63 63 65 73 73 20 | 2a 2f 0d 09 4d 6f 76 65 | access |*/..Move| |00000950| 48 48 69 28 73 74 6f 72 | 61 67 65 29 3b 0d 09 48 |HHi(stor|age);..H| |00000960| 4c 6f 63 6b 28 73 74 6f | 72 61 67 65 29 3b 0d 09 |Lock(sto|rage);..| |00000970| 6d 79 53 74 6f 72 61 67 | 65 3d 28 4d 79 53 74 6f |myStorag|e=(MySto| |00000980| 72 61 67 65 50 74 72 29 | 2a 73 74 6f 72 61 67 65 |ragePtr)|*storage| |00000990| 3b 0d 0d 09 6d 79 52 65 | 63 74 2e 6c 65 66 74 20 |;...myRe|ct.left | |000009a0| 3d 20 6d 79 53 74 6f 72 | 61 67 65 2d 3e 63 75 72 |= myStor|age->cur| |000009b0| 58 3b 0d 09 6d 79 52 65 | 63 74 2e 72 69 67 68 74 |X;..myRe|ct.right| |000009c0| 20 3d 20 6d 79 53 74 6f | 72 61 67 65 2d 3e 63 75 | = mySto|rage->cu| |000009d0| 72 58 20 2b 20 6d 79 53 | 74 6f 72 61 67 65 2d 3e |rX + myS|torage->| |000009e0| 6c 65 6e 58 3b 0d 09 6d | 79 52 65 63 74 2e 74 6f |lenX;..m|yRect.to| |000009f0| 70 20 3d 20 6d 79 53 74 | 6f 72 61 67 65 2d 3e 63 |p = mySt|orage->c| |00000a00| 75 72 59 3b 0d 09 6d 79 | 52 65 63 74 2e 62 6f 74 |urY;..my|Rect.bot| |00000a10| 74 6f 6d 20 3d 20 6d 79 | 53 74 6f 72 61 67 65 2d |tom = my|Storage-| |00000a20| 3e 63 75 72 59 20 2b 20 | 6d 79 53 74 6f 72 61 67 |>curY + |myStorag| |00000a30| 65 2d 3e 6c 65 6e 59 3b | 0d 09 0d 09 66 6f 72 20 |e->lenY;|....for | |00000a40| 28 74 31 20 3d 20 30 3b | 20 74 31 20 3c 3d 20 32 |(t1 = 0;| t1 <= 2| |00000a50| 3b 20 2b 2b 74 31 29 0d | 09 7b 0d 09 09 73 77 69 |; ++t1).|.{...swi| |00000a60| 74 63 68 20 28 70 61 72 | 61 6d 73 2d 3e 63 6f 6e |tch (par|ams->con| |00000a70| 74 72 6f 6c 56 61 6c 75 | 65 73 5b 74 31 5d 29 0d |trolValu|es[t1]).| |00000a80| 09 09 7b 0d 09 09 09 63 | 61 73 65 20 31 3a 09 09 |..{....c|ase 1:..| |00000a90| 74 32 20 3d 20 36 35 35 | 33 35 4c 20 2a 20 28 6d |t2 = 655|35L * (m| |00000aa0| 79 53 74 6f 72 61 67 65 | 2d 3e 6d 61 78 58 20 2d |yStorage|->maxX -| |00000ab0| 20 6d 79 53 74 6f 72 61 | 67 65 2d 3e 63 75 72 58 | myStora|ge->curX| |00000ac0| 29 20 2f 20 6d 79 53 74 | 6f 72 61 67 65 2d 3e 6d |) / mySt|orage->m| |00000ad0| 61 78 58 3b 20 62 72 65 | 61 6b 3b 0d 09 09 09 63 |axX; bre|ak;....c| |00000ae0| 61 73 65 20 32 3a 09 09 | 74 32 20 3d 20 36 35 35 |ase 2:..|t2 = 655| |00000af0| 33 35 4c 20 2a 20 6d 79 | 53 74 6f 72 61 67 65 2d |35L * my|Storage-| |00000b00| 3e 63 75 72 58 20 2f 20 | 6d 79 53 74 6f 72 61 67 |>curX / |myStorag| |00000b10| 65 2d 3e 6d 61 78 58 3b | 20 62 72 65 61 6b 3b 0d |e->maxX;| break;.| |00000b20| 09 09 09 63 61 73 65 20 | 33 3a 09 09 74 32 20 3d |...case |3:..t2 =| |00000b30| 20 36 35 35 33 35 4c 20 | 2a 20 28 6d 79 53 74 6f | 65535L |* (mySto| |00000b40| 72 61 67 65 2d 3e 6d 61 | 78 59 20 2d 20 6d 79 53 |rage->ma|xY - myS| |00000b50| 74 6f 72 61 67 65 2d 3e | 63 75 72 59 29 20 2f 20 |torage->|curY) / | |00000b60| 6d 79 53 74 6f 72 61 67 | 65 2d 3e 6d 61 78 59 3b |myStorag|e->maxY;| |00000b70| 20 62 72 65 61 6b 3b 0d | 09 09 09 63 61 73 65 20 | break;.|...case | |00000b80| 34 3a 09 09 74 32 20 3d | 20 36 35 35 33 35 4c 20 |4:..t2 =| 65535L | |00000b90| 2a 20 6d 79 53 74 6f 72 | 61 67 65 2d 3e 63 75 72 |* myStor|age->cur| |00000ba0| 59 20 2f 20 6d 79 53 74 | 6f 72 61 67 65 2d 3e 6d |Y / mySt|orage->m| |00000bb0| 61 78 59 3b 20 62 72 65 | 61 6b 3b 0d 09 09 09 63 |axY; bre|ak;....c| |00000bc0| 61 73 65 20 35 3a 09 09 | 74 32 20 3d 20 52 61 6e |ase 5:..|t2 = Ran| |00000bd0| 64 6f 6d 28 29 3b 20 62 | 72 65 61 6b 3b 0d 09 09 |dom(); b|reak;...| |00000be0| 09 64 65 66 61 75 6c 74 | 3a 09 74 32 20 3d 20 30 |.default|:.t2 = 0| |00000bf0| 3b 0d 09 09 7d 0d 09 09 | 73 77 69 74 63 68 20 28 |;...}...|switch (| |00000c00| 74 31 29 0d 09 09 7b 0d | 09 09 09 63 61 73 65 20 |t1)...{.|...case | |00000c10| 30 3a 09 09 6d 79 43 6f | 6c 6f 72 2e 72 65 64 20 |0:..myCo|lor.red | |00000c20| 3d 20 74 32 3b 20 62 72 | 65 61 6b 3b 0d 09 09 09 |= t2; br|eak;....| |00000c30| 63 61 73 65 20 31 3a 09 | 09 6d 79 43 6f 6c 6f 72 |case 1:.|.myColor| |00000c40| 2e 67 72 65 65 6e 20 3d | 20 74 32 3b 20 62 72 65 |.green =| t2; bre| |00000c50| 61 6b 3b 0d 09 09 09 63 | 61 73 65 20 32 3a 09 09 |ak;....c|ase 2:..| |00000c60| 6d 79 43 6f 6c 6f 72 2e | 62 6c 75 65 20 3d 20 74 |myColor.|blue = t| |00000c70| 32 3b 20 62 72 65 61 6b | 3b 0d 09 09 7d 0d 09 7d |2; break|;...}..}| |00000c80| 0d 09 0d 09 52 47 42 46 | 6f 72 65 43 6f 6c 6f 72 |....RGBF|oreColor| |00000c90| 28 26 6d 79 43 6f 6c 6f | 72 29 3b 0d 09 50 61 69 |(&myColo|r);..Pai| |00000ca0| 6e 74 52 65 63 74 28 26 | 6d 79 52 65 63 74 29 3b |ntRect(&|myRect);| |00000cb0| 0d 09 0d 09 6d 79 53 74 | 6f 72 61 67 65 2d 3e 63 |....mySt|orage->c| |00000cc0| 75 72 58 20 3d 20 6d 79 | 52 65 63 74 2e 72 69 67 |urX = my|Rect.rig| |00000cd0| 68 74 3b 0d 09 69 66 20 | 28 6d 79 53 74 6f 72 61 |ht;..if |(myStora| |00000ce0| 67 65 2d 3e 63 75 72 58 | 20 3e 3d 20 6d 79 53 74 |ge->curX| >= mySt| |00000cf0| 6f 72 61 67 65 2d 3e 6d | 61 78 58 29 0d 09 7b 0d |orage->m|axX)..{.| |00000d00| 09 09 6d 79 53 74 6f 72 | 61 67 65 2d 3e 63 75 72 |..myStor|age->cur| |00000d10| 58 20 3d 20 30 3b 0d 09 | 09 0d 09 09 6d 79 53 74 |X = 0;..|....mySt| |00000d20| 6f 72 61 67 65 2d 3e 63 | 75 72 59 20 3d 20 6d 79 |orage->c|urY = my| |00000d30| 52 65 63 74 2e 62 6f 74 | 74 6f 6d 3b 0d 09 09 69 |Rect.bot|tom;...i| |00000d40| 66 20 28 6d 79 53 74 6f | 72 61 67 65 2d 3e 63 75 |f (mySto|rage->cu| |00000d50| 72 59 20 3e 3d 20 6d 79 | 53 74 6f 72 61 67 65 2d |rY >= my|Storage-| |00000d60| 3e 6d 61 78 59 29 0d 09 | 09 7b 0d 09 09 09 6d 79 |>maxY)..|.{....my| |00000d70| 53 74 6f 72 61 67 65 2d | 3e 63 75 72 59 20 3d 20 |Storage-|>curY = | |00000d80| 30 3b 0d 09 09 09 0d 09 | 09 09 6d 79 53 74 6f 72 |0;......|..myStor| |00000d90| 61 67 65 2d 3e 6c 65 6e | 58 20 3d 20 28 6d 79 53 |age->len|X = (myS| |00000da0| 74 6f 72 61 67 65 2d 3e | 6c 65 6e 58 20 2f 20 32 |torage->|lenX / 2| |00000db0| 29 20 2b 20 28 6d 79 53 | 74 6f 72 61 67 65 2d 3e |) + (myS|torage->| |00000dc0| 6c 65 6e 58 20 26 20 31 | 29 3b 0d 09 09 09 6d 79 |lenX & 1|);....my| |00000dd0| 53 74 6f 72 61 67 65 2d | 3e 6c 65 6e 59 20 3d 20 |Storage-|>lenY = | |00000de0| 28 6d 79 53 74 6f 72 61 | 67 65 2d 3e 6c 65 6e 59 |(myStora|ge->lenY| |00000df0| 20 2f 20 32 29 20 2b 20 | 28 6d 79 53 74 6f 72 61 | / 2) + |(myStora| |00000e00| 67 65 2d 3e 6c 65 6e 59 | 20 26 20 31 29 3b 0d 09 |ge->lenY| & 1);..| |00000e10| 09 7d 0d 09 7d 0d 09 0d | 09 48 55 6e 6c 6f 63 6b |.}..}...|.HUnlock| |00000e20| 28 73 74 6f 72 61 67 65 | 29 3b 0d 09 0d 09 72 65 |(storage|);....re| |00000e30| 74 75 72 6e 20 6e 6f 45 | 72 72 3b 0d 7d 0d 0d 0d |turn noE|rr;.}...| |00000e40| 4f 53 45 72 72 0d 44 6f | 43 6c 6f 73 65 28 73 74 |OSErr.Do|Close(st| |00000e50| 6f 72 61 67 65 2c 20 62 | 6c 61 6e 6b 52 67 6e 2c |orage, b|lankRgn,| |00000e60| 20 70 61 72 61 6d 73 29 | 0d 48 61 6e 64 6c 65 20 | params)|.Handle | |00000e70| 73 74 6f 72 61 67 65 3b | 0d 52 67 6e 48 61 6e 64 |storage;|.RgnHand| |00000e80| 6c 65 20 62 6c 61 6e 6b | 52 67 6e 3b 0d 47 4d 50 |le blank|Rgn;.GMP| |00000e90| 61 72 61 6d 42 6c 6f 63 | 6b 50 74 72 20 70 61 72 |aramBloc|kPtr par| |00000ea0| 61 6d 73 3b 0d 7b 0d 09 | 4d 79 53 74 6f 72 61 67 |ams;.{..|MyStorag| |00000eb0| 65 50 74 72 20 6d 79 53 | 74 6f 72 61 67 65 3b 09 |ePtr myS|torage;.| |00000ec0| 09 09 09 2f 2a 20 74 6f | 20 68 6f 6c 64 20 64 65 |.../* to| hold de| |00000ed0| 72 65 66 65 72 65 6e 63 | 65 64 20 73 74 6f 72 61 |referenc|ed stora| |00000ee0| 67 65 20 68 61 6e 64 6c | 65 20 2a 2f 0d 09 0d 09 |ge handl|e */....| |00000ef0| 2f 2a 20 6c 6f 63 6b 20 | 6f 75 72 20 73 74 6f 72 |/* lock |our stor| |00000f00| 61 67 65 20 64 6f 77 6e | 20 73 6f 20 77 65 20 63 |age down| so we c| |00000f10| 61 6e 20 64 65 72 65 66 | 65 72 65 6e 63 65 20 69 |an deref|erence i| |00000f20| 74 20 6f 6e 63 65 20 66 | 6f 72 20 66 61 73 74 65 |t once f|or faste| |00000f30| 72 20 61 63 63 65 73 73 | 20 2a 2f 0d 09 4d 6f 76 |r access| */..Mov| |00000f40| 65 48 48 69 28 73 74 6f | 72 61 67 65 29 3b 0d 09 |eHHi(sto|rage);..| |00000f50| 48 4c 6f 63 6b 28 73 74 | 6f 72 61 67 65 29 3b 0d |HLock(st|orage);.| |00000f60| 09 6d 79 53 74 6f 72 61 | 67 65 3d 28 4d 79 53 74 |.myStora|ge=(MySt| |00000f70| 6f 72 61 67 65 50 74 72 | 29 2a 73 74 6f 72 61 67 |oragePtr|)*storag| |00000f80| 65 3b 0d 09 0d 09 53 65 | 74 44 65 70 74 68 28 47 |e;....Se|tDepth(G| |00000f90| 65 74 4d 61 69 6e 44 65 | 76 69 63 65 28 29 2c 20 |etMainDe|vice(), | |00000fa0| 6d 79 53 74 6f 72 61 67 | 65 2d 3e 70 72 65 76 44 |myStorag|e->prevD| |00000fb0| 65 70 74 68 2c 20 30 2c | 20 30 29 3b 0d 09 0d 09 |epth, 0,| 0);....| |00000fc0| 48 55 6e 6c 6f 63 6b 28 | 73 74 6f 72 61 67 65 29 |HUnlock(|storage)| |00000fd0| 3b 0d 09 0d 09 44 69 73 | 70 6f 73 48 61 6e 64 6c |;....Dis|posHandl| |00000fe0| 65 28 73 74 6f 72 61 67 | 65 29 3b 0d 09 72 65 74 |e(storag|e);..ret| |00000ff0| 75 72 6e 20 4d 65 6d 45 | 72 72 6f 72 28 29 3b 0d |urn MemE|rror();.| |00001000| 7d 0d 0d 0d 4f 53 45 72 | 72 0d 44 6f 53 65 74 55 |}...OSEr|r.DoSetU| |00001010| 70 28 62 6c 61 6e 6b 52 | 67 6e 2c 20 6d 65 73 73 |p(blankR|gn, mess| |00001020| 61 67 65 2c 20 70 61 72 | 61 6d 73 29 0d 52 67 6e |age, par|ams).Rgn| |00001030| 48 61 6e 64 6c 65 20 62 | 6c 61 6e 6b 52 67 6e 3b |Handle b|lankRgn;| |00001040| 0d 73 68 6f 72 74 20 6d | 65 73 73 61 67 65 3b 0d |.short m|essage;.| |00001050| 47 4d 50 61 72 61 6d 42 | 6c 6f 63 6b 50 74 72 20 |GMParamB|lockPtr | |00001060| 70 61 72 61 6d 73 3b 0d | 7b 0d 09 70 61 72 61 6d |params;.|{..param| |00001070| 73 2d 3e 63 6f 6e 74 72 | 6f 6c 56 61 6c 75 65 73 |s->contr|olValues| |00001080| 5b 30 5d 20 3d 20 32 3b | 0d 09 70 61 72 61 6d 73 |[0] = 2;|..params| |00001090| 2d 3e 63 6f 6e 74 72 6f | 6c 56 61 6c 75 65 73 5b |->contro|lValues[| |000010a0| 31 5d 20 3d 20 34 3b 0d | 09 70 61 72 61 6d 73 2d |1] = 4;.|.params-| |000010b0| 3e 63 6f 6e 74 72 6f 6c | 56 61 6c 75 65 73 5b 32 |>control|Values[2| |000010c0| 5d 20 3d 20 31 3b 0d 09 | 72 65 74 75 72 6e 20 6e |] = 1;..|return n| |000010d0| 6f 45 72 72 3b 0d 7d 0d | 00 00 00 00 00 00 00 00 |oErr;.}.|........| |000010e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000010f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00001100| 00 00 01 00 00 00 01 62 | 00 00 00 62 00 00 00 5a |.......b|...b...Z| |00001110| 2f 0f aa 15 5c 4f 2f 0f | aa 14 5c 4f 60 0a 4a 2e |/...\O/.|..\O`.J.| |00001120| 00 18 67 04 2f 0a a8 a4 | 60 00 ff 20 00 00 00 00 |..g./...|`.. ....| |00001130| 14 4d 69 6c 6c 69 6f 6e | 73 20 6f 66 20 43 6f 6c |.Million|s of Col| |00001140| 6f 72 73 2e 63 6e 02 00 | 00 00 50 61 72 74 53 49 |ors.cn..|..PartSI| |00001150| 00 00 50 61 72 74 53 49 | 54 78 00 00 00 00 00 00 |..PartSI|Tx......| |00001160| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00001170| 00 00 a9 8e 47 17 00 00 | 00 00 00 00 01 bc 47 c4 |....G...|......G.| |00001180| 48 24 48 24 48 24 3f fc | 00 00 00 00 00 00 00 00 |H$H$H$?.|........| |00001190| 00 00 1e 00 21 fc 20 02 | ff e2 80 12 40 12 40 0a |....!. .|....@.@.| |000011a0| 20 0a 20 06 1f fe 00 00 | 00 00 00 00 00 00 00 00 | . .....|........| |000011b0| 01 00 02 80 04 40 08 20 | 10 d0 21 28 13 d0 08 98 |.....@. |..!(....| |000011c0| 04 78 02 98 01 00 00 00 | 00 00 00 00 00 00 00 00 |.x......|........| |000011d0| 00 00 00 00 00 00 7f fe | 80 01 80 01 a0 01 80 01 |........|........| |000011e0| 7f fe 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000011f0| 00 00 1e 00 35 f8 2a ac | 35 54 2a ac 35 54 2a ac |....5.*.|5T*.5T*.| |00001200| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 12 00 00 |...H..Mo|naco....| |00001210| 00 00 00 04 00 00 00 00 | 00 0d 00 00 00 00 00 09 |........|........| |00001220| 00 3e 06 63 00 01 00 06 | 00 04 00 50 00 20 03 3d |.>.c....|...P. .=| |00001230| 03 fd 00 50 00 20 03 3d | 03 fd a0 e7 81 d1 00 00 |...P. .=|........| |00001240| 00 00 00 00 00 a7 00 00 | 00 00 01 00 00 00 00 04 |........|........| |00001250| 00 06 00 04 00 00 00 0a | 00 09 07 50 72 6f 67 72 |........|...Progr| |00001260| 61 6d 00 00 01 00 00 00 | 01 62 00 00 00 62 00 00 |am......|.b...b..| |00001270| 00 5a 00 35 d8 68 03 50 | 00 00 00 1c 00 5a 00 02 |.Z.5.h.P|.....Z..| |00001280| 4d 50 53 52 00 00 00 1a | 45 54 41 42 00 00 00 26 |MPSR....|ETAB...&| |00001290| 45 46 4e 54 00 00 00 32 | 03 ed ff ff 00 00 00 00 |EFNT...2|........| |000012a0| 00 00 00 00 03 ec ff ff | 00 00 00 4c 00 35 d7 b8 |........|...L.5..| |000012b0| 03 eb ff ff 00 00 00 54 | 00 35 d7 c0 00 00 00 00 |.......T|.5......| |000012c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000012d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000012e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000012f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| +--------+-------------------------+-------------------------+--------+--------+