home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 …ember: Reference Library / Apple Developer Reference Library (December 1999) (Disk 1).iso / pc / technical documentation / develop / develop issue 19 / develop issue 19 code / truffles sample.sea / Truffles Sample / Bitmap Shape with Clip.c next >
MacBinary  |  1994-07-21  |  9.6 KB  |  [TEXT/KAHL]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


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

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Compact Compressed (Unix) (archive/compact) ext Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Thu Jul 21 12:07:56 1994, modified Thu Jul 21 12:07:56 1994, creator Think C, type ASCII, 8763 bytes "Bitmap Shape with Clip.c" , at 0x22bb 836 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% dexmagic Picasso 64 Image default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[KAHL]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 18 42 69 74 6d 61 70 | 20 53 68 61 70 65 20 77 |..Bitmap| Shape w|
|00000010| 69 74 68 20 43 6c 69 70 | 2e 63 00 00 00 00 00 00 |ith Clip|.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 01 00 00 00 00 00 00 |.TEXTKAH|L.......|
|00000050| 00 00 00 00 00 22 3b 00 | 00 03 44 aa 54 4d dc aa |.....";.|..D.TM..|
|00000060| 54 4d dc 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |TM......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 64 3c 00 00 |........|....d<..|
|00000080| 2f 2a 2a 0d 20 2d 2d 0d | 20 2d 2d 09 09 41 70 70 |/**. --.| --..App|
|00000090| 3a 09 09 42 69 74 6d 61 | 70 20 53 68 61 70 65 20 |:..Bitma|p Shape |
|000000a0| 77 69 74 68 20 43 6c 69 | 70 0d 20 2d 2d 0d 20 2d |with Cli|p. --. -|
|000000b0| 2d 20 0d 20 2d 2d 09 09 | 46 69 6c 65 3a 09 09 42 |- . --..|File:..B|
|000000c0| 69 74 6d 61 70 20 53 68 | 61 70 65 20 77 69 74 68 |itmap Sh|ape with|
|000000d0| 20 43 6c 69 70 2e 63 0d | 20 2d 2d 0d 20 2d 2d 0d | Clip.c.| --. --.|
|000000e0| 20 2d 2d 09 09 43 6f 6d | 6d 65 6e 74 73 3a 09 54 | --..Com|ments:.T|
|000000f0| 68 69 73 20 63 6f 64 65 | 20 74 68 65 20 73 68 6f |his code| the sho|
|00000100| 77 73 20 6f 66 66 20 74 | 68 65 20 61 62 69 6c 69 |ws off t|he abili|
|00000110| 74 79 20 6f 66 20 51 75 | 69 63 6b 44 72 61 77 20 |ty of Qu|ickDraw |
|00000120| 47 58 20 74 6f 20 63 6c | 69 70 20 61 6e 79 20 73 |GX to cl|ip any s|
|00000130| 68 61 70 65 20 77 69 74 | 68 20 61 6e 79 20 67 65 |hape wit|h any ge|
|00000140| 6f 6d 65 74 72 69 63 20 | 73 68 61 70 65 2e 20 0d |ometric |shape. .|
|00000150| 20 2d 2d 09 09 09 09 09 | 49 6e 20 74 68 69 73 20 | --.....|In this |
|00000160| 63 61 73 65 2c 20 77 65 | 20 72 65 74 72 69 65 76 |case, we| retriev|
|00000170| 65 20 61 20 62 69 74 6d | 61 70 20 73 68 61 70 65 |e a bitm|ap shape|
|00000180| 20 66 72 6f 6d 20 74 68 | 65 20 72 65 73 6f 75 72 | from th|e resour|
|00000190| 63 65 20 66 6f 72 6b 20 | 6f 66 20 74 68 65 20 61 |ce fork |of the a|
|000001a0| 70 70 6c 69 63 61 74 69 | 6f 6e 2c 20 0d 20 2d 2d |pplicati|on, . --|
|000001b0| 09 09 09 09 09 61 6e 64 | 20 63 6c 69 70 20 69 74 |.....and| clip it|
|000001c0| 20 77 69 74 68 20 61 20 | 74 65 78 74 20 73 68 61 | with a |text sha|
|000001d0| 70 65 20 2d 20 22 42 41 | 59 22 2e 20 57 65 20 63 |pe - "BA|Y". We c|
|000001e0| 6f 6c 6c 65 63 74 20 62 | 6f 74 68 20 73 68 61 70 |ollect b|oth shap|
|000001f0| 65 73 20 69 6e 74 6f 20 | 61 20 47 58 20 70 69 63 |es into |a GX pic|
|00000200| 74 75 72 65 2c 20 0d 20 | 2d 2d 09 09 09 09 09 74 |ture, . |--.....t|
|00000210| 68 65 72 65 62 79 20 61 | 6c 6c 6f 77 69 6e 67 20 |hereby a|llowing |
|00000220| 75 73 20 74 6f 20 6d 61 | 6b 65 20 6f 6e 65 20 63 |us to ma|ke one c|
|00000230| 61 6c 6c 20 74 6f 20 64 | 72 61 77 20 62 6f 74 68 |all to d|raw both|
|00000240| 20 73 68 61 70 65 73 2e | 0d 20 2d 2d 0d 20 2d 2d | shapes.|. --. --|
|00000250| 0d 20 2d 2d 09 09 56 65 | 72 73 69 6f 6e 3a 09 0d |. --..Ve|rsion:..|
|00000260| 20 2d 2d 09 09 09 09 09 | 09 09 36 2f 39 34 09 64 | --.....|..6/94.d|
|00000270| 6b 6a 20 4d 6f 64 69 66 | 69 65 64 20 74 6f 20 6d |kj Modif|ied to m|
|00000280| 61 74 63 68 20 63 6f 64 | 65 20 69 6e 20 63 6f 6c |atch cod|e in col|
|00000290| 75 6d 6e 20 69 6e 20 64 | 65 76 65 6c 6f 70 20 23 |umn in d|evelop #|
|000002a0| 31 39 0d 20 2d 2d 0d 20 | 2d 2d 0d 2d 2d 09 09 09 |19. --. |--.--...|
|000002b0| 09 09 09 09 31 2e 30 20 | 09 34 2f 39 34 3a 09 61 |....1.0 |.4/94:.a|
|000002c0| 64 64 65 64 20 74 68 65 | 20 63 61 70 61 62 69 6c |dded the| capabil|
|000002d0| 69 74 79 20 74 6f 20 64 | 79 6e 61 6d 69 63 61 6c |ity to d|ynamical|
|000002e0| 6c 79 20 64 65 74 65 72 | 6d 69 6e 65 20 74 68 65 |ly deter|mine the|
|000002f0| 20 61 6d 6f 75 6e 74 20 | 6f 66 0d 20 2d 2d 09 09 | amount |of. --..|
|00000300| 09 09 09 09 09 09 09 73 | 63 61 6c 69 6e 67 20 72 |.......s|caling r|
|00000310| 65 71 75 69 72 65 64 20 | 74 6f 20 6d 61 6b 65 20 |equired |to make |
|00000320| 74 68 65 20 63 6c 69 70 | 20 73 68 61 70 65 20 63 |the clip| shape c|
|00000330| 6c 69 70 20 74 68 65 20 | 65 6e 74 69 72 65 20 62 |lip the |entire b|
|00000340| 69 74 6d 61 70 0d 20 2d | 2d 09 09 09 09 09 09 09 |itmap. -|-.......|
|00000350| 09 09 73 68 61 70 65 2e | 09 0d 20 2d 2d 0d 20 2d |..shape.|.. --. -|
|00000360| 2d 09 09 09 09 09 09 20 | 09 33 2f 39 33 3a 09 63 |-...... |.3/93:.c|
|00000370| 72 65 61 74 65 64 20 0d | 20 2d 2d 0d 20 20 2d 2d |reated .| --. --|
|00000380| 09 09 43 6f 6d 70 6f 6e | 65 6e 74 73 3a 09 42 69 |..Compon|ents:.Bi|
|00000390| 74 6d 61 70 20 53 68 61 | 70 65 20 77 69 74 68 20 |tmap Sha|pe with |
|000003a0| 43 6c 69 70 2e 63 0d 20 | 2d 2d 09 09 09 09 09 67 |Clip.c. |--.....g|
|000003b0| 72 61 70 68 69 63 73 20 | 73 68 65 6c 6c 2e 63 0d |raphics |shell.c.|
|000003c0| 20 2d 2d 09 09 09 09 09 | 67 72 61 70 68 69 63 73 | --.....|graphics|
|000003d0| 20 73 68 65 6c 6c 2e 68 | 0d 20 2d 2d 0d 20 2d 2d | shell.h|. --. --|
|000003e0| 0d 20 2d 2d 09 09 51 75 | 69 63 6b 44 72 61 77 20 |. --..Qu|ickDraw |
|000003f0| 47 58 0d 20 2d 2d 09 09 | 4c 69 62 72 61 72 69 65 |GX. --..|Librarie|
|00000400| 73 0d 20 2d 2d 09 09 55 | 73 65 64 3a 09 09 54 68 |s. --..U|sed:..Th|
|00000410| 69 73 20 61 70 70 6c 69 | 63 61 74 69 6f 6e 20 75 |is appli|cation u|
|00000420| 73 65 73 20 74 68 65 20 | 66 6f 6c 6c 6f 77 69 6e |ses the |followin|
|00000430| 67 20 51 75 69 63 6b 44 | 72 61 77 20 47 58 20 6c |g QuickD|raw GX l|
|00000440| 69 62 72 61 72 79 20 63 | 6f 64 65 20 66 69 6c 65 |ibrary c|ode file|
|00000450| 73 3a 0d 20 2d 2d 09 09 | 09 09 09 22 63 6f 6c 6f |s:. --..|..."colo|
|00000460| 72 20 6c 69 62 72 61 72 | 79 2e 63 22 2c 20 22 66 |r librar|y.c", "f|
|00000470| 6f 6e 74 20 6c 69 62 72 | 61 72 79 2e 63 22 2c 20 |ont libr|ary.c", |
|00000480| 22 67 72 61 70 68 69 63 | 73 20 64 65 62 75 67 20 |"graphic|s debug |
|00000490| 6c 69 62 72 61 72 79 2e | 63 22 2c 0d 20 2d 2d 09 |library.|c",. --.|
|000004a0| 09 09 09 09 22 71 64 20 | 6c 69 62 72 61 72 79 2e |...."qd |library.|
|000004b0| 63 22 2c 20 61 6e 64 20 | 22 74 72 61 6e 73 66 6f |c", and |"transfo|
|000004c0| 72 6d 20 6c 69 62 72 61 | 72 79 2e 63 22 2e 20 0d |rm libra|ry.c". .|
|000004d0| 20 2d 2d 09 09 0d 20 2d | 2d 09 09 0d 20 2d 2d 09 | --... -|-... --.|
|000004e0| 09 4e 6f 74 65 73 3a 09 | 20 20 20 20 31 29 20 50 |.Notes:.| 1) P|
|000004f0| 72 69 6e 74 20 74 68 69 | 73 20 66 69 6c 65 20 69 |rint thi|s file i|
|00000500| 6e 20 6c 61 6e 64 73 63 | 61 70 65 20 66 6f 72 20 |n landsc|ape for |
|00000510| 74 68 65 20 62 65 73 74 | 20 72 65 73 75 6c 74 73 |the best| results|
|00000520| 0d 20 2d 2d 09 09 09 09 | 09 32 29 20 49 66 20 79 |. --....|.2) If y|
|00000530| 6f 75 20 61 72 65 20 75 | 73 69 6e 67 20 54 48 49 |ou are u|sing THI|
|00000540| 4e 4b 20 43 20 76 35 2e | 78 2c 20 49 20 68 61 76 |NK C v5.|x, I hav|
|00000550| 65 20 61 64 64 65 64 20 | 54 48 49 4e 4b 20 6d 61 |e added |THINK ma|
|00000560| 72 6b 65 72 73 20 74 6f | 20 6e 61 76 69 67 61 74 |rkers to| navigat|
|00000570| 65 20 74 68 65 20 63 6f | 64 65 2e 0d 20 2d 2d 09 |e the co|de.. --.|
|00000580| 09 09 09 09 33 29 20 54 | 68 69 73 20 63 6f 64 65 |....3) T|his code|
|00000590| 20 77 61 73 20 61 64 61 | 70 74 65 64 20 66 72 6f | was ada|pted fro|
|000005a0| 6d 20 74 68 65 20 22 4f | 6e 65 20 52 65 63 74 61 |m the "O|ne Recta|
|000005b0| 6e 67 6c 65 22 20 51 75 | 69 63 6b 44 72 61 77 20 |ngle" Qu|ickDraw |
|000005c0| 47 58 20 73 61 6d 70 6c | 65 2e 0d 20 2d 2d 0d 20 |GX sampl|e.. --. |
|000005d0| 2d 2d 0d 20 2d 2d 09 09 | 41 75 74 68 6f 72 3a 09 |--. --..|Author:.|
|000005e0| 09 50 65 74 65 20 22 4c | 75 6b 65 22 20 41 6c 65 |.Pete "L|uke" Ale|
|000005f0| 78 61 6e 64 65 72 0d 20 | 2d 2d 09 09 09 09 09 44 |xander. |--.....D|
|00000600| 65 76 65 6c 6f 70 65 72 | 20 54 65 63 68 6e 69 63 |eveloper| Technic|
|00000610| 61 6c 20 53 75 70 70 6f | 72 74 0d 20 2d 2d 09 09 |al Suppo|rt. --..|
|00000620| 09 09 09 41 70 70 6c 65 | 4c 69 6e 6b 3a 20 44 45 |...Apple|Link: DE|
|00000630| 56 53 55 50 50 4f 52 54 | 0d 20 2d 2d 0d 20 2d 2d |VSUPPORT|. --. --|
|00000640| 09 09 0d 20 2d 2d 09 09 | a9 31 39 39 32 20 2d 20 |... --..|.1992 - |
|00000650| 31 39 39 34 20 20 41 70 | 70 6c 65 20 43 6f 6d 70 |1994 Ap|ple Comp|
|00000660| 75 74 65 72 2c 20 49 6e | 63 2e 20 0d 20 2d 2d 0d |uter, In|c. . --.|
|00000670| 20 2a 2a 2f 0d 0d 23 69 | 6e 63 6c 75 64 65 20 3c | **/..#i|nclude <|
|00000680| 65 76 65 6e 74 73 2e 68 | 3e 0d 23 69 6e 63 6c 75 |events.h|>.#inclu|
|00000690| 64 65 20 3c 77 69 6e 64 | 6f 77 73 2e 68 3e 0d 0d |de <wind|ows.h>..|
|000006a0| 23 69 6e 63 6c 75 64 65 | 20 22 46 6f 6e 74 20 6c |#include| "Font l|
|000006b0| 69 62 72 61 72 79 2e 68 | 22 20 0d 23 69 6e 63 6c |ibrary.h|" .#incl|
|000006c0| 75 64 65 20 22 67 72 61 | 70 68 69 63 73 20 64 65 |ude "gra|phics de|
|000006d0| 62 75 67 67 69 6e 67 2e | 68 22 0d 23 69 6e 63 6c |bugging.|h".#incl|
|000006e0| 75 64 65 20 22 67 72 61 | 70 68 69 63 73 20 6c 69 |ude "gra|phics li|
|000006f0| 62 72 61 72 69 65 73 2e | 68 22 0d 23 69 6e 63 6c |braries.|h".#incl|
|00000700| 75 64 65 20 22 67 72 61 | 70 68 69 63 73 20 74 6f |ude "gra|phics to|
|00000710| 6f 6c 62 6f 78 2e 68 22 | 0d 23 69 6e 63 6c 75 64 |olbox.h"|.#includ|
|00000720| 65 20 22 71 64 20 6c 69 | 62 72 61 72 79 2e 68 22 |e "qd li|brary.h"|
|00000730| 0d 23 69 6e 63 6c 75 64 | 65 20 22 67 72 61 70 68 |.#includ|e "graph|
|00000740| 69 63 73 20 73 68 65 6c | 6c 2e 68 22 0d 0d 23 64 |ics shel|l.h"..#d|
|00000750| 65 66 69 6e 65 20 6b 43 | 68 65 63 6b 42 69 74 6d |efine kC|heckBitm|
|00000760| 61 70 53 68 61 70 65 09 | 09 2f 2f 20 69 66 20 64 |apShape.|.// if d|
|00000770| 65 66 69 6e 65 64 2c 20 | 76 61 6c 69 64 61 74 65 |efined, |validate|
|00000780| 73 20 74 68 65 20 62 69 | 74 6d 61 70 20 73 68 61 |s the bi|tmap sha|
|00000790| 70 65 0d 2f 2f 23 64 65 | 66 69 6e 65 20 75 73 65 |pe.//#de|fine use|
|000007a0| 44 69 66 66 65 72 65 6e | 63 65 4d 65 74 68 6f 64 |Differen|ceMethod|
|000007b0| 09 2f 2f 20 69 66 20 64 | 65 66 69 6e 65 64 2c 20 |.// if d|efined, |
|000007c0| 64 6f 65 73 20 69 74 20 | 74 68 65 20 6c 6f 6e 67 |does it |the long|
|000007d0| 20 77 61 79 0d 0d 2f 2f | 20 54 68 65 20 69 64 20 | way..//| The id |
|000007e0| 6f 66 20 74 68 65 20 70 | 69 78 6d 61 70 20 69 6e |of the p|ixmap in|
|000007f0| 20 74 68 65 20 72 65 73 | 6f 75 72 63 65 20 66 6f | the res|ource fo|
|00000800| 72 6b 0d 23 64 65 66 69 | 6e 65 20 6b 50 69 78 4d |rk.#defi|ne kPixM|
|00000810| 61 70 49 44 09 09 09 31 | 32 38 0d 0d 2f 2f 0d 2f |apID...1|28..//./|
|00000820| 2f 20 20 53 65 74 20 75 | 70 20 74 68 65 20 74 69 |/ Set u|p the ti|
|00000830| 74 6c 65 20 61 6e 64 20 | 73 69 7a 65 20 6f 66 20 |tle and |size of |
|00000840| 74 68 65 20 77 69 6e 64 | 6f 77 20 0d 2f 2f 0d 53 |the wind|ow .//.S|
|00000850| 74 72 32 35 35 20 09 09 | 67 57 69 6e 64 6f 77 54 |tr255 ..|gWindowT|
|00000860| 69 74 6c 65 20 3d 20 22 | 5c 70 20 4e 69 66 74 79 |itle = "|\p Nifty|
|00000870| 20 43 6c 69 70 3a 20 63 | 6c 69 63 6b 20 74 6f 20 | Clip: c|lick to |
|00000880| 6d 6f 76 65 20 6f 6e 22 | 3b 0d 52 65 63 74 20 09 |move on"|;.Rect .|
|00000890| 09 67 57 69 6e 64 6f 77 | 51 44 52 65 63 74 20 20 |.gWindow|QDRect |
|000008a0| 3d 20 7b 35 30 2c 20 32 | 30 2c 20 33 34 35 2c 20 |= {50, 2|0, 345, |
|000008b0| 34 35 35 7d 3b 0d 0d 2f | 2f 0d 2f 2f 09 67 47 72 |455};../|/.//.gGr|
|000008c0| 61 70 68 69 63 73 48 65 | 61 70 53 69 7a 65 20 73 |aphicsHe|apSize s|
|000008d0| 65 74 73 20 74 68 65 20 | 73 69 7a 65 20 6f 66 20 |ets the |size of |
|000008e0| 74 68 65 20 67 72 61 70 | 68 69 63 73 20 67 78 48 |the grap|hics gxH|
|000008f0| 65 61 70 20 63 72 65 61 | 74 65 64 20 62 79 20 63 |eap crea|ted by c|
|00000900| 61 6c 6c 69 6e 67 20 74 | 68 65 20 47 58 4e 65 77 |alling t|he GXNew|
|00000910| 47 72 61 70 68 69 63 73 | 43 6c 69 65 6e 74 20 72 |Graphics|Client r|
|00000920| 6f 75 74 69 6e 65 0d 2f | 2f 09 69 6e 20 6d 61 69 |outine./|/.in mai|
|00000930| 6e 20 28 29 20 77 69 74 | 68 69 6e 20 67 72 61 70 |n () wit|hin grap|
|00000940| 68 69 63 73 20 73 68 65 | 6c 6c 2e 63 2e 20 20 59 |hics she|ll.c. Y|
|00000950| 6f 75 20 63 61 6e 20 64 | 65 74 65 72 6d 69 6e 65 |ou can d|etermine|
|00000960| 20 74 68 65 20 61 6d 6f | 75 6e 74 20 6f 66 20 67 | the amo|unt of g|
|00000970| 72 61 70 68 69 63 73 20 | 67 78 48 65 61 70 20 72 |raphics |gxHeap r|
|00000980| 65 71 75 69 72 65 64 20 | 62 79 20 75 73 69 6e 67 |equired |by using|
|00000990| 20 47 72 61 70 68 69 63 | 73 42 75 67 2e 0d 2f 2f | Graphic|sBug..//|
|000009a0| 09 57 69 74 68 20 20 67 | 47 72 61 70 68 69 63 73 |.With g|Graphics|
|000009b0| 48 65 61 70 53 69 7a 65 | 20 73 65 74 20 74 6f 20 |HeapSize| set to |
|000009c0| 34 38 6b 2c 49 20 68 61 | 64 20 36 20 66 72 65 65 |48k,I ha|d 6 free|
|000009d0| 20 62 6c 6f 63 6b 73 20 | 6c 65 66 74 20 69 6e 20 | blocks |left in |
|000009e0| 74 68 65 20 67 72 61 70 | 68 69 63 73 20 67 78 48 |the grap|hics gxH|
|000009f0| 65 61 70 20 61 6e 64 0d | 2f 2f 09 49 20 77 61 73 |eap and.|//.I was|
|00000a00| 20 6e 6f 74 20 72 65 63 | 65 69 76 69 6e 67 20 61 | not rec|eiving a|
|00000a10| 6e 79 20 6d 65 6d 6f 72 | 79 20 72 65 6c 61 74 65 |ny memor|y relate|
|00000a20| 64 20 77 61 72 6e 69 6e | 67 73 20 6f 72 20 6e 6f |d warnin|gs or no|
|00000a30| 74 69 63 65 73 20 66 72 | 6f 6d 20 47 58 2e 2e 2e |tices fr|om GX...|
|00000a40| 2e 0d 2f 2f 0d 6c 6f 6e | 67 09 09 67 47 72 61 70 |..//.lon|g..gGrap|
|00000a50| 68 69 63 73 48 65 61 70 | 53 69 7a 65 20 3d 20 34 |hicsHeap|Size = 4|
|00000a60| 38 3b 0d 0d 67 78 53 68 | 61 70 65 20 09 67 74 68 |8;..gxSh|ape .gth|
|00000a70| 65 50 69 63 74 75 72 65 | 3b 0d 0d 2f 2f 20 a5 a5 |ePicture|;..// ..|
|00000a80| a5 a5 a5 a5 a5 a5 a5 a5 | a5 a5 20 41 64 64 65 64 |........|.. Added|
|00000a90| 20 35 2f 33 31 2f 39 34 | 20 64 6b 6a 0d 42 6f 6f | 5/31/94| dkj.Boo|
|00000aa0| 6c 65 61 6e 09 09 67 53 | 68 6f 77 53 74 65 70 73 |lean..gS|howSteps|
|00000ab0| 20 3d 20 74 72 75 65 3b | 09 2f 2f 20 69 66 20 74 | = true;|.// if t|
|00000ac0| 72 75 65 2c 20 73 68 6f | 77 73 20 69 6e 74 65 72 |rue, sho|ws inter|
|00000ad0| 6d 65 64 69 61 74 65 20 | 73 74 65 70 73 0d 0d 2f |mediate |steps../|
|00000ae0| 2a 2d 2d 2d 2d 2d 2d 20 | 53 68 6f 77 55 6e 74 69 |*------ |ShowUnti|
|00000af0| 6c 43 6c 69 63 6b 20 2d | 2d 2d 2d 2d 2d 2d 2d 2d |lClick -|--------|
|00000b00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000b10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000b20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000b30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000b40| 2d 2d 2d 2d 2d 2d 2d 2d | 2a 2f 0d 2f 2f 20 4a 75 |--------|*/.// Ju|
|00000b50| 73 74 20 73 68 6f 77 73 | 20 74 68 65 20 69 6e 64 |st shows| the ind|
|00000b60| 69 63 61 74 65 64 20 73 | 68 61 70 65 73 20 28 6d |icated s|hapes (m|
|00000b70| 61 78 20 6f 66 20 74 77 | 6f 29 20 61 6e 64 20 77 |ax of tw|o) and w|
|00000b80| 61 69 74 73 20 66 6f 72 | 20 61 20 63 6c 69 63 6b |aits for| a click|
|00000b90| 20 62 65 66 6f 72 65 20 | 72 65 74 75 72 6e 69 6e | before |returnin|
|00000ba0| 67 2e 20 41 20 53 69 63 | 6b 48 61 63 6b aa 2e 0d |g. A Sic|kHack...|
|00000bb0| 76 6f 69 64 20 53 68 6f | 77 55 6e 74 69 6c 43 6c |void Sho|wUntilCl|
|00000bc0| 69 63 6b 28 67 78 53 68 | 61 70 65 20 6f 6e 65 53 |ick(gxSh|ape oneS|
|00000bd0| 68 61 70 65 2c 20 67 78 | 53 68 61 70 65 20 6f 74 |hape, gx|Shape ot|
|00000be0| 68 65 72 53 68 61 70 65 | 29 3b 0d 0d 76 6f 69 64 |herShape|);..void|
|00000bf0| 20 53 68 6f 77 55 6e 74 | 69 6c 43 6c 69 63 6b 28 | ShowUnt|ilClick(|
|00000c00| 67 78 53 68 61 70 65 20 | 6f 6e 65 53 68 61 70 65 |gxShape |oneShape|
|00000c10| 2c 20 67 78 53 68 61 70 | 65 20 6f 74 68 65 72 53 |, gxShap|e otherS|
|00000c20| 68 61 70 65 29 0d 7b 0d | 09 53 65 74 50 6f 72 74 |hape).{.|.SetPort|
|00000c30| 28 67 57 69 6e 64 6f 77 | 29 3b 0d 09 45 72 61 73 |(gWindow|);..Eras|
|00000c40| 65 52 65 63 74 28 26 67 | 57 69 6e 64 6f 77 2d 3e |eRect(&g|Window->|
|00000c50| 70 6f 72 74 52 65 63 74 | 29 3b 0d 09 69 66 28 6f |portRect|);..if(o|
|00000c60| 6e 65 53 68 61 70 65 20 | 21 3d 20 6e 69 6c 29 20 |neShape |!= nil) |
|00000c70| 47 58 44 72 61 77 53 68 | 61 70 65 28 6f 6e 65 53 |GXDrawSh|ape(oneS|
|00000c80| 68 61 70 65 29 3b 0d 09 | 69 66 28 6f 74 68 65 72 |hape);..|if(other|
|00000c90| 53 68 61 70 65 20 21 3d | 20 6e 69 6c 29 20 47 58 |Shape !=| nil) GX|
|00000ca0| 44 72 61 77 53 68 61 70 | 65 28 6f 74 68 65 72 53 |DrawShap|e(otherS|
|00000cb0| 68 61 70 65 29 3b 0d 09 | 77 68 69 6c 65 28 21 42 |hape);..|while(!B|
|00000cc0| 75 74 74 6f 6e 28 29 29 | 3b 20 09 2f 2f 20 4c 65 |utton())|; .// Le|
|00000cd0| 74 20 75 73 65 72 20 73 | 65 65 20 69 74 20 75 6e |t user s|ee it un|
|00000ce0| 74 69 6c 20 74 68 65 79 | 20 63 6c 69 63 6b 0d 09 |til they| click..|
|00000cf0| 77 68 69 6c 65 28 57 61 | 69 74 4d 6f 75 73 65 55 |while(Wa|itMouseU|
|00000d00| 70 28 29 29 3b 20 2f 2f | 20 57 61 69 74 20 27 74 |p()); //| Wait 't|
|00000d10| 69 6c 20 74 68 65 79 20 | 6c 65 74 20 75 70 0d 7d |il they |let up.}|
|00000d20| 0d 0d 2f 2f 20 20 a5 a5 | a5 a5 a5 a5 a5 a5 a5 a5 |..// ..|........|
|00000d30| a5 a5 a5 a5 a5 20 45 6e | 64 20 61 64 64 69 74 69 |..... En|d additi|
|00000d40| 6f 6e 73 0d 0d 2f 2a 2d | 2d 2d 2d 2d 2d 20 44 6f |ons../*-|----- Do|
|00000d50| 49 6e 69 74 69 61 6c 69 | 7a 61 74 69 6f 6e 20 2d |Initiali|zation -|
|00000d60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000d90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000da0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000db0| 2a 2f 0d 0d 76 6f 69 64 | 20 44 6f 49 6e 69 74 69 |*/..void| DoIniti|
|00000dc0| 61 6c 69 7a 61 74 69 6f | 6e 28 67 57 69 6e 64 6f |alizatio|n(gWindo|
|00000dd0| 77 29 0d 57 69 6e 64 6f | 77 50 74 72 20 67 57 69 |w).Windo|wPtr gWi|
|00000de0| 6e 64 6f 77 3b 0d 7b 0d | 09 67 78 53 68 61 70 65 |ndow;.{.|.gxShape|
|00000df0| 09 09 74 68 65 43 6c 69 | 70 20 3d 20 6e 69 6c 2c |..theCli|p = nil,|
|00000e00| 20 63 6c 69 70 53 68 61 | 70 65 4f 75 74 6c 69 6e | clipSha|peOutlin|
|00000e10| 65 3b 0d 09 67 78 53 68 | 61 70 65 09 09 74 68 65 |e;..gxSh|ape..the|
|00000e20| 42 69 74 6d 61 70 20 3d | 20 6e 69 6c 3b 0d 09 46 |Bitmap =| nil;..F|
|00000e30| 69 78 65 64 09 09 78 53 | 63 61 6c 65 2c 20 79 53 |ixed..xS|cale, yS|
|00000e40| 63 61 6c 65 3b 0d 09 46 | 69 78 65 64 20 09 09 74 |cale;..F|ixed ..t|
|00000e50| 65 78 74 57 69 64 74 68 | 2c 74 65 78 74 48 65 69 |extWidth|,textHei|
|00000e60| 67 68 74 3b 0d 09 46 69 | 78 65 64 20 09 09 62 69 |ght;..Fi|xed ..bi|
|00000e70| 74 6d 61 70 57 69 64 74 | 68 2c 20 62 69 74 6d 61 |tmapWidt|h, bitma|
|00000e80| 70 48 65 69 67 68 74 3b | 0d 09 67 78 52 65 63 74 |pHeight;|..gxRect|
|00000e90| 61 6e 67 6c 65 09 62 69 | 74 6d 61 70 42 6f 75 6e |angle.bi|tmapBoun|
|00000ea0| 64 73 2c 20 74 65 78 74 | 42 6f 75 6e 64 73 3b 0d |ds, text|Bounds;.|
|00000eb0| 0d 09 49 6e 69 74 43 6f | 6d 6d 6f 6e 43 6f 6c 6f |..InitCo|mmonColo|
|00000ec0| 72 73 20 28 29 3b 0d 09 | 0d 09 2f 2f 0d 09 2f 2f |rs ();..|..//..//|
|00000ed0| 09 43 72 65 61 74 65 20 | 74 68 65 20 70 69 63 74 |.Create |the pict|
|00000ee0| 75 72 65 20 73 68 61 70 | 65 20 74 6f 20 68 6f 6c |ure shap|e to hol|
|00000ef0| 64 20 6f 75 72 20 63 6c | 69 70 70 65 64 20 62 69 |d our cl|ipped bi|
|00000f00| 74 6d 61 70 20 61 6e 64 | 20 6f 75 74 6c 69 6e 65 |tmap and| outline|
|00000f10| 20 28 70 61 74 68 29 20 | 73 68 61 70 65 0d 09 2f | (path) |shape../|
|00000f20| 2f 0d 09 67 74 68 65 50 | 69 63 74 75 72 65 20 3d |/..gtheP|icture =|
|00000f30| 20 47 58 4e 65 77 53 68 | 61 70 65 28 67 78 50 69 | GXNewSh|ape(gxPi|
|00000f40| 63 74 75 72 65 54 79 70 | 65 29 3b 0d 0d 09 2f 2f |ctureTyp|e);...//|
|00000f50| 0d 09 2f 2f 09 52 65 74 | 72 69 65 76 65 20 74 68 |..//.Ret|rieve th|
|00000f60| 65 20 62 69 74 6d 61 70 | 20 73 68 61 70 65 20 66 |e bitmap| shape f|
|00000f70| 6f 72 6d 20 74 68 65 20 | 72 65 73 6f 75 72 63 65 |orm the |resource|
|00000f80| 20 66 6f 72 6b 20 6f 66 | 20 74 68 65 20 61 70 70 | fork of| the app|
|00000f90| 6c 69 63 61 74 69 6f 6e | 2e 20 57 69 74 68 20 74 |lication|. With t|
|00000fa0| 68 65 20 22 64 65 62 75 | 67 67 69 6e 67 22 20 69 |he "debu|gging" i|
|00000fb0| 6e 69 74 20 69 6e 73 74 | 61 6c 6c 65 64 2c 20 77 |nit inst|alled, w|
|00000fc0| 65 0d 09 2f 2f 09 63 61 | 6e 20 63 68 65 63 6b 20 |e..//.ca|n check |
|00000fd0| 74 6f 20 73 65 65 20 69 | 66 20 74 68 65 20 73 68 |to see i|f the sh|
|00000fe0| 61 70 65 20 77 61 73 20 | 72 65 74 72 69 65 76 65 |ape was |retrieve|
|00000ff0| 64 20 63 6f 72 72 65 63 | 74 6c 79 20 62 79 20 63 |d correc|tly by c|
|00001000| 61 6c 6c 69 6e 67 20 74 | 68 65 20 73 68 61 70 65 |alling t|he shape|
|00001010| 20 76 61 6c 69 64 61 74 | 69 6f 6e 20 72 6f 75 74 | validat|ion rout|
|00001020| 69 6e 65 2e 20 49 66 20 | 74 68 65 20 73 68 61 70 |ine. If |the shap|
|00001030| 65 20 69 73 0d 09 2f 2f | 09 6e 6f 74 20 76 61 6c |e is..//|.not val|
|00001040| 69 64 2c 20 77 65 20 77 | 69 6c 6c 20 72 65 63 69 |id, we w|ill reci|
|00001050| 65 76 65 20 61 20 77 61 | 72 6e 69 6e 67 20 69 6e |eve a wa|rning in|
|00001060| 20 74 68 65 20 64 65 62 | 75 67 67 65 72 2e 0d 09 | the deb|ugger...|
|00001070| 2f 2f 0d 09 74 68 65 42 | 69 74 6d 61 70 20 3d 20 |//..theB|itmap = |
|00001080| 47 65 74 50 69 78 4d 61 | 70 53 68 61 70 65 28 6b |GetPixMa|pShape(k|
|00001090| 50 69 78 4d 61 70 49 44 | 29 3b 0d 09 0d 09 23 69 |PixMapID|);....#i|
|000010a0| 66 64 65 66 20 6b 43 68 | 65 63 6b 42 69 74 6d 61 |fdef kCh|eckBitma|
|000010b0| 70 53 68 61 70 65 0d 09 | 09 47 58 56 61 6c 69 64 |pShape..|.GXValid|
|000010c0| 61 74 65 53 68 61 70 65 | 20 28 74 68 65 42 69 74 |ateShape| (theBit|
|000010d0| 6d 61 70 29 3b 0d 09 23 | 65 6e 64 69 66 0d 0d 09 |map);..#|endif...|
|000010e0| 2f 2f 0d 09 2f 2f 09 44 | 65 66 69 6e 65 20 74 68 |//..//.D|efine th|
|000010f0| 65 20 74 65 78 74 20 73 | 68 61 70 65 20 74 6f 20 |e text s|hape to |
|00001100| 63 6c 69 70 20 6f 75 72 | 20 62 69 74 6d 61 70 20 |clip our| bitmap |
|00001110| 73 68 61 70 65 20 77 69 | 74 68 2e 20 49 6e 20 74 |shape wi|th. In t|
|00001120| 68 69 73 20 63 61 73 65 | 2c 20 6f 75 72 20 63 6c |his case|, our cl|
|00001130| 69 70 20 73 68 61 70 65 | 0d 09 2f 2f 09 20 69 73 |ip shape|..//. is|
|00001140| 20 61 20 74 65 78 74 20 | 73 68 61 70 65 20 28 31 | a text |shape (1|
|00001150| 32 20 70 6f 69 6e 74 20 | 48 65 6c 76 65 74 69 63 |2 point |Helvetic|
|00001160| 61 20 62 79 20 64 65 66 | 61 75 6c 74 29 2e 0d 09 |a by def|ault)...|
|00001170| 2f 2f 0d 09 74 68 65 43 | 6c 69 70 20 3d 20 47 58 |//..theC|lip = GX|
|00001180| 4e 65 77 54 65 78 74 28 | 20 33 2c 20 28 75 6e 73 |NewText(| 3, (uns|
|00001190| 69 67 6e 65 64 20 63 68 | 61 72 2a 29 22 42 41 59 |igned ch|ar*)"BAY|
|000011a0| 22 2c 20 6e 69 6c 20 29 | 3b 0d 09 0d 09 0d 09 2f |", nil )|;....../|
|000011b0| 2f 20 a5 a5 a5 a5 a5 20 | 41 64 64 65 64 20 62 79 |/ ..... |Added by|
|000011c0| 20 64 6b 6a 20 66 6f 72 | 20 64 65 76 65 6c 6f 70 | dkj for| develop|
|000011d0| 0d 09 69 66 28 67 53 68 | 6f 77 53 74 65 70 73 29 |..if(gSh|owSteps)|
|000011e0| 0d 09 09 53 68 6f 77 55 | 6e 74 69 6c 43 6c 69 63 |...ShowU|ntilClic|
|000011f0| 6b 28 74 68 65 42 69 74 | 6d 61 70 2c 20 74 68 65 |k(theBit|map, the|
|00001200| 43 6c 69 70 29 3b 0d 09 | 09 0d 09 23 69 66 64 65 |Clip);..|...#ifde|
|00001210| 66 20 75 73 65 44 69 66 | 66 65 72 65 6e 63 65 4d |f useDif|ferenceM|
|00001220| 65 74 68 6f 64 0d 09 09 | 2f 2f 0d 09 09 2f 2f 09 |ethod...|//...//.|
|00001230| 44 65 74 65 72 6d 69 6e | 65 20 74 68 65 20 62 6f |Determin|e the bo|
|00001240| 75 6e 64 73 20 6f 66 20 | 6f 75 72 20 62 69 74 6d |unds of |our bitm|
|00001250| 61 70 20 61 6e 64 20 63 | 6c 69 70 20 73 68 61 70 |ap and c|lip shap|
|00001260| 65 20 61 6e 64 20 6d 6f | 76 65 20 74 68 65 20 63 |e and mo|ve the c|
|00001270| 6c 69 70 20 73 68 61 70 | 65 20 74 6f 20 74 68 65 |lip shap|e to the|
|00001280| 20 0d 09 09 2f 2f 09 74 | 6f 70 20 6c 65 66 74 20 | ...//.t|op left |
|00001290| 63 6f 72 6e 65 72 20 6f | 66 20 74 68 65 20 62 69 |corner o|f the bi|
|000012a0| 74 6d 61 70 20 73 68 61 | 70 65 2e 20 0d 09 09 2f |tmap sha|pe. .../|
|000012b0| 2f 0d 09 09 47 58 47 65 | 74 53 68 61 70 65 42 6f |/...GXGe|tShapeBo|
|000012c0| 75 6e 64 73 28 20 74 68 | 65 42 69 74 6d 61 70 2c |unds( th|eBitmap,|
|000012d0| 20 30 2c 20 26 62 69 74 | 6d 61 70 42 6f 75 6e 64 | 0, &bit|mapBound|
|000012e0| 73 20 29 3b 0d 09 09 47 | 58 47 65 74 53 68 61 70 |s );...G|XGetShap|
|000012f0| 65 42 6f 75 6e 64 73 28 | 20 74 68 65 43 6c 69 70 |eBounds(| theClip|
|00001300| 2c 20 30 2c 20 26 74 65 | 78 74 42 6f 75 6e 64 73 |, 0, &te|xtBounds|
|00001310| 20 29 3b 0d 09 09 74 65 | 78 74 48 65 69 67 68 74 | );...te|xtHeight|
|00001320| 20 3d 20 74 65 78 74 42 | 6f 75 6e 64 73 2e 62 6f | = textB|ounds.bo|
|00001330| 74 74 6f 6d 20 2d 20 74 | 65 78 74 42 6f 75 6e 64 |ttom - t|extBound|
|00001340| 73 2e 74 6f 70 3b 0d 09 | 09 47 58 4d 6f 76 65 53 |s.top;..|.GXMoveS|
|00001350| 68 61 70 65 54 6f 20 28 | 20 74 68 65 43 6c 69 70 |hapeTo (| theClip|
|00001360| 2c 20 62 69 74 6d 61 70 | 42 6f 75 6e 64 73 2e 6c |, bitmap|Bounds.l|
|00001370| 65 66 74 2c 20 62 69 74 | 6d 61 70 42 6f 75 6e 64 |eft, bit|mapBound|
|00001380| 73 2e 74 6f 70 20 2b 20 | 74 65 78 74 48 65 69 67 |s.top + |textHeig|
|00001390| 68 74 20 29 3b 0d 09 09 | 0d 09 2f 2f 20 a5 a5 a5 |ht );...|..// ...|
|000013a0| a5 a5 20 41 64 64 65 64 | 20 62 79 20 64 6b 6a 20 |.. Added| by dkj |
|000013b0| 66 6f 72 20 64 65 76 65 | 6c 6f 70 0d 09 69 66 28 |for deve|lop..if(|
|000013c0| 67 53 68 6f 77 53 74 65 | 70 73 29 0d 09 09 53 68 |gShowSte|ps)...Sh|
|000013d0| 6f 77 55 6e 74 69 6c 43 | 6c 69 63 6b 28 6e 69 6c |owUntilC|lick(nil|
|000013e0| 2c 20 74 68 65 43 6c 69 | 70 29 3b 0d 09 09 0d 09 |, theCli|p);.....|
|000013f0| 09 2f 2f 0d 09 09 2f 2f | 09 57 65 20 74 75 72 6e |.//...//|.We turn|
|00001400| 20 6f 66 66 20 74 68 65 | 20 6d 65 74 72 69 63 73 | off the| metrics|
|00001410| 20 61 6e 64 20 63 6f 6e | 74 6f 75 72 20 63 61 70 | and con|tour cap|
|00001420| 61 62 69 6c 69 74 65 73 | 20 6f 66 20 54 72 75 65 |abilites| of True|
|00001430| 54 79 70 65 20 74 6f 20 | 65 6e 61 62 6c 65 20 47 |Type to |enable G|
|00001440| 58 20 74 6f 0d 09 09 2f | 2f 09 73 63 61 6c 65 20 |X to.../|/.scale |
|00001450| 74 68 65 20 63 6c 69 70 | 20 73 68 61 70 65 20 6c |the clip| shape l|
|00001460| 69 6e 65 61 72 6c 79 2e | 20 57 65 20 63 6f 6e 76 |inearly.| We conv|
|00001470| 65 72 74 20 6f 75 72 20 | 74 65 78 74 20 73 68 61 |ert our |text sha|
|00001480| 70 65 20 74 6f 20 61 20 | 70 72 69 6d 69 74 69 76 |pe to a |primitiv|
|00001490| 65 20 73 68 61 70 65 20 | 62 65 63 61 75 73 65 0d |e shape |because.|
|000014a0| 09 09 2f 2f 09 79 6f 75 | 20 63 61 6e 6e 6f 74 20 |..//.you| cannot |
|000014b0| 75 73 65 20 61 20 74 65 | 78 74 20 73 68 61 70 65 |use a te|xt shape|
|000014c0| 20 61 73 20 61 20 63 6c | 69 70 20 73 68 61 70 65 | as a cl|ip shape|
|000014d0| 2e 20 41 20 63 6c 69 70 | 20 73 68 61 70 65 20 63 |. A clip| shape c|
|000014e0| 61 6e 20 6f 6e 6c 79 20 | 62 65 20 61 20 70 72 69 |an only |be a pri|
|000014f0| 6d 69 74 69 76 65 20 73 | 68 61 70 65 0d 09 09 2f |mitive s|hape.../|
|00001500| 2f 0d 09 09 47 58 53 65 | 74 53 68 61 70 65 54 65 |/...GXSe|tShapeTe|
|00001510| 78 74 41 74 74 72 69 62 | 75 74 65 73 20 28 20 74 |xtAttrib|utes ( t|
|00001520| 68 65 43 6c 69 70 2c 20 | 67 78 4e 6f 4d 65 74 72 |heClip, |gxNoMetr|
|00001530| 69 63 73 47 72 69 64 54 | 65 78 74 20 7c 20 67 78 |icsGridT|ext | gx|
|00001540| 4e 6f 43 6f 6e 74 6f 75 | 72 47 72 69 64 54 65 78 |NoContou|rGridTex|
|00001550| 74 20 29 3b 0d 09 09 47 | 58 50 72 69 6d 69 74 69 |t );...G|XPrimiti|
|00001560| 76 65 53 68 61 70 65 20 | 28 20 74 68 65 43 6c 69 |veShape |( theCli|
|00001570| 70 20 29 3b 0d 0d 09 09 | 2f 2f 0d 09 09 2f 2f 09 |p );....|//...//.|
|00001580| 57 65 20 63 61 6e 20 6e | 6f 77 20 64 65 74 65 72 |We can n|ow deter|
|00001590| 6d 69 6e 65 20 74 68 65 | 20 61 6d 6f 75 6e 74 20 |mine the| amount |
|000015a0| 77 65 20 6e 65 65 64 20 | 74 6f 20 73 63 61 6c 65 |we need |to scale|
|000015b0| 20 6f 75 72 20 63 6c 69 | 70 20 73 68 61 70 65 20 | our cli|p shape |
|000015c0| 74 6f 20 63 6f 76 65 72 | 20 6f 75 72 20 62 69 74 |to cover| our bit|
|000015d0| 6d 61 70 0d 09 09 2f 2f | 09 73 68 61 70 65 2e 20 |map...//|.shape. |
|000015e0| 54 68 69 73 20 69 73 20 | 61 63 63 6f 6d 70 6c 69 |This is |accompli|
|000015f0| 73 68 65 64 20 62 79 20 | 64 65 74 65 72 6d 69 6e |shed by |determin|
|00001600| 69 6e 67 20 74 68 65 20 | 64 69 66 66 65 72 65 6e |ing the |differen|
|00001610| 63 65 73 20 62 65 74 77 | 65 65 6e 20 74 68 65 20 |ces betw|een the |
|00001620| 68 65 69 67 68 74 20 61 | 6e 64 20 77 69 64 74 68 |height a|nd width|
|00001630| 0d 09 09 2f 2f 09 6f 66 | 20 74 68 65 20 62 69 74 |...//.of| the bit|
|00001640| 6d 61 70 20 61 6e 64 20 | 63 6c 69 70 20 73 68 61 |map and |clip sha|
|00001650| 70 65 73 2e 20 57 65 20 | 77 69 6c 6c 20 74 68 65 |pes. We |will the|
|00001660| 6e 20 75 73 65 20 74 68 | 65 73 65 20 64 69 66 66 |n use th|ese diff|
|00001670| 65 72 65 6e 63 65 73 20 | 61 73 20 74 68 65 20 73 |erences |as the s|
|00001680| 63 61 6c 65 20 66 61 63 | 74 6f 72 73 0d 09 09 2f |cale fac|tors.../|
|00001690| 2f 09 77 68 65 6e 20 77 | 65 20 63 61 6c 6c 20 47 |/.when w|e call G|
|000016a0| 58 53 63 61 6c 65 53 68 | 61 70 65 20 28 2e 2e 29 |XScaleSh|ape (..)|
|000016b0| 20 74 6f 20 73 63 61 6c | 65 20 75 70 20 6f 75 72 | to scal|e up our|
|000016c0| 20 63 6c 69 70 20 73 68 | 61 70 65 2e 0d 09 09 2f | clip sh|ape..../|
|000016d0| 2f 0d 09 09 62 69 74 6d | 61 70 57 69 64 74 68 20 |/...bitm|apWidth |
|000016e0| 3d 20 62 69 74 6d 61 70 | 42 6f 75 6e 64 73 2e 72 |= bitmap|Bounds.r|
|000016f0| 69 67 68 74 20 2d 20 62 | 69 74 6d 61 70 42 6f 75 |ight - b|itmapBou|
|00001700| 6e 64 73 2e 6c 65 66 74 | 3b 0d 09 09 74 65 78 74 |nds.left|;...text|
|00001710| 57 69 64 74 68 20 3d 20 | 74 65 78 74 42 6f 75 6e |Width = |textBoun|
|00001720| 64 73 2e 72 69 67 68 74 | 20 2d 20 74 65 78 74 42 |ds.right| - textB|
|00001730| 6f 75 6e 64 73 2e 6c 65 | 66 74 3b 0d 09 09 78 53 |ounds.le|ft;...xS|
|00001740| 63 61 6c 65 20 3d 20 46 | 69 78 65 64 44 69 76 69 |cale = F|ixedDivi|
|00001750| 64 65 28 20 62 69 74 6d | 61 70 57 69 64 74 68 2c |de( bitm|apWidth,|
|00001760| 20 74 65 78 74 57 69 64 | 74 68 20 29 3b 0d 09 0d | textWid|th );...|
|00001770| 09 09 62 69 74 6d 61 70 | 48 65 69 67 68 74 20 3d |..bitmap|Height =|
|00001780| 20 62 69 74 6d 61 70 42 | 6f 75 6e 64 73 2e 62 6f | bitmapB|ounds.bo|
|00001790| 74 74 6f 6d 20 2d 20 62 | 69 74 6d 61 70 42 6f 75 |ttom - b|itmapBou|
|000017a0| 6e 64 73 2e 74 6f 70 3b | 0d 09 09 74 65 78 74 48 |nds.top;|...textH|
|000017b0| 65 69 67 68 74 20 3d 20 | 74 65 78 74 42 6f 75 6e |eight = |textBoun|
|000017c0| 64 73 2e 62 6f 74 74 6f | 6d 20 2d 20 74 65 78 74 |ds.botto|m - text|
|000017d0| 42 6f 75 6e 64 73 2e 74 | 6f 70 3b 0d 09 09 79 53 |Bounds.t|op;...yS|
|000017e0| 63 61 6c 65 20 3d 20 46 | 69 78 65 64 44 69 76 69 |cale = F|ixedDivi|
|000017f0| 64 65 20 28 20 62 69 74 | 6d 61 70 48 65 69 67 68 |de ( bit|mapHeigh|
|00001800| 74 2c 20 20 74 65 78 74 | 48 65 69 67 68 74 20 29 |t, text|Height )|
|00001810| 3b 0d 09 09 0d 09 09 47 | 58 53 63 61 6c 65 53 68 |;......G|XScaleSh|
|00001820| 61 70 65 28 20 74 68 65 | 43 6c 69 70 2c 20 78 53 |ape( the|Clip, xS|
|00001830| 63 61 6c 65 2c 20 20 79 | 53 63 61 6c 65 2c 20 62 |cale, y|Scale, b|
|00001840| 69 74 6d 61 70 42 6f 75 | 6e 64 73 2e 6c 65 66 74 |itmapBou|nds.left|
|00001850| 2c 20 62 69 74 6d 61 70 | 42 6f 75 6e 64 73 2e 74 |, bitmap|Bounds.t|
|00001860| 6f 70 20 29 3b 0d 0d 09 | 23 65 6c 73 65 0d 09 09 |op );...|#else...|
|00001870| 47 58 53 65 74 53 68 61 | 70 65 54 65 78 74 41 74 |GXSetSha|peTextAt|
|00001880| 74 72 69 62 75 74 65 73 | 20 28 20 74 68 65 43 6c |tributes| ( theCl|
|00001890| 69 70 2c 20 67 78 4e 6f | 4d 65 74 72 69 63 73 47 |ip, gxNo|MetricsG|
|000018a0| 72 69 64 54 65 78 74 20 | 7c 20 67 78 4e 6f 43 6f |ridText || gxNoCo|
|000018b0| 6e 74 6f 75 72 47 72 69 | 64 54 65 78 74 20 29 3b |ntourGri|dText );|
|000018c0| 0d 09 09 47 58 47 65 74 | 53 68 61 70 65 42 6f 75 |...GXGet|ShapeBou|
|000018d0| 6e 64 73 28 20 74 68 65 | 42 69 74 6d 61 70 2c 20 |nds( the|Bitmap, |
|000018e0| 30 2c 20 26 62 69 74 6d | 61 70 42 6f 75 6e 64 73 |0, &bitm|apBounds|
|000018f0| 20 29 3b 0d 09 09 47 58 | 53 65 74 53 68 61 70 65 | );...GX|SetShape|
|00001900| 42 6f 75 6e 64 73 28 20 | 74 68 65 43 6c 69 70 2c |Bounds( |theClip,|
|00001910| 20 26 62 69 74 6d 61 70 | 42 6f 75 6e 64 73 20 29 | &bitmap|Bounds )|
|00001920| 3b 0d 09 23 65 6e 64 69 | 66 0d 0d 09 2f 2f 20 a5 |;..#endi|f...// .|
|00001930| a5 a5 a5 a5 20 41 64 64 | 65 64 20 62 79 20 64 6b |.... Add|ed by dk|
|00001940| 6a 20 66 6f 72 20 64 65 | 76 65 6c 6f 70 0d 09 69 |j for de|velop..i|
|00001950| 66 28 67 53 68 6f 77 53 | 74 65 70 73 29 0d 09 09 |f(gShowS|teps)...|
|00001960| 53 68 6f 77 55 6e 74 69 | 6c 43 6c 69 63 6b 28 74 |ShowUnti|lClick(t|
|00001970| 68 65 42 69 74 6d 61 70 | 2c 20 74 68 65 43 6c 69 |heBitmap|, theCli|
|00001980| 70 29 3b 0d 0d 09 2f 2f | 0d 09 2f 2f 20 09 53 65 |p);...//|..// .Se|
|00001990| 74 20 74 68 65 20 63 6c | 69 70 20 6f 66 20 6f 75 |t the cl|ip of ou|
|000019a0| 72 20 62 69 74 6d 61 70 | 20 73 68 61 70 65 20 74 |r bitmap| shape t|
|000019b0| 6f 20 6f 75 72 20 74 65 | 78 74 20 73 68 61 70 65 |o our te|xt shape|
|000019c0| 20 61 6e 64 20 61 64 64 | 20 69 74 20 74 6f 20 6f | and add| it to o|
|000019d0| 75 72 20 70 69 63 74 75 | 72 65 2e 0d 09 2f 2f 0d |ur pictu|re...//.|
|000019e0| 09 47 58 53 65 74 53 68 | 61 70 65 43 6c 69 70 28 |.GXSetSh|apeClip(|
|000019f0| 20 74 68 65 42 69 74 6d | 61 70 2c 20 74 68 65 43 | theBitm|ap, theC|
|00001a00| 6c 69 70 20 29 3b 0d 09 | 0d 09 2f 2f 20 a5 a5 a5 |lip );..|..// ...|
|00001a10| a5 a5 20 41 64 64 65 64 | 20 62 79 20 64 6b 6a 20 |.. Added| by dkj |
|00001a20| 66 6f 72 20 64 65 76 65 | 6c 6f 70 0d 09 69 66 28 |for deve|lop..if(|
|00001a30| 67 53 68 6f 77 53 74 65 | 70 73 29 0d 09 09 53 68 |gShowSte|ps)...Sh|
|00001a40| 6f 77 55 6e 74 69 6c 43 | 6c 69 63 6b 28 74 68 65 |owUntilC|lick(the|
|00001a50| 42 69 74 6d 61 70 2c 20 | 6e 69 6c 29 3b 0d 0d 09 |Bitmap, |nil);...|
|00001a60| 47 58 53 65 74 50 69 63 | 74 75 72 65 50 61 72 74 |GXSetPic|turePart|
|00001a70| 73 28 67 74 68 65 50 69 | 63 74 75 72 65 2c 20 30 |s(gthePi|cture, 0|
|00001a80| 2c 20 30 2c 20 31 2c 20 | 26 74 68 65 42 69 74 6d |, 0, 1, |&theBitm|
|00001a90| 61 70 2c 20 6e 69 6c 2c | 20 6e 69 6c 2c 20 6e 69 |ap, nil,| nil, ni|
|00001aa0| 6c 20 29 3b 0d 09 47 58 | 44 69 73 70 6f 73 65 53 |l );..GX|DisposeS|
|00001ab0| 68 61 70 65 20 28 20 74 | 68 65 42 69 74 6d 61 70 |hape ( t|heBitmap|
|00001ac0| 20 29 3b 0d 0d 09 2f 2f | 0d 09 2f 2f 09 43 68 61 | );...//|..//.Cha|
|00001ad0| 6e 67 65 20 74 68 65 20 | 66 69 6c 6c 20 6f 66 20 |nge the |fill of |
|00001ae0| 6f 75 72 20 74 65 78 74 | 20 73 68 61 70 65 20 62 |our text| shape b|
|00001af0| 65 20 74 6f 20 74 68 65 | 20 6f 75 74 6c 69 6e 65 |e to the| outline|
|00001b00| 20 6f 66 20 74 68 65 20 | 74 65 78 74 2c 0d 09 2f | of the |text,../|
|00001b10| 2f 09 73 65 74 20 74 68 | 65 20 73 69 7a 65 20 75 |/.set th|e size u|
|00001b20| 73 65 64 2c 20 73 65 74 | 20 74 68 65 20 70 65 6e |sed, set| the pen|
|00001b30| 20 74 6f 20 63 72 75 69 | 73 65 20 6f 6e 20 74 68 | to crui|se on th|
|00001b40| 65 20 6f 75 74 73 69 64 | 65 0d 09 2f 2f 09 6f 66 |e outsid|e..//.of|
|00001b50| 20 74 68 65 20 63 6f 6e | 74 6f 75 72 20 6f 66 20 | the con|tour of |
|00001b60| 65 61 63 68 20 6c 65 74 | 74 65 72 2c 20 61 6e 64 |each let|ter, and|
|00001b70| 20 61 64 64 20 69 74 20 | 74 6f 20 6f 75 72 20 70 | add it |to our p|
|00001b80| 69 63 74 75 72 65 20 73 | 68 61 70 65 2e 0d 09 2f |icture s|hape.../|
|00001b90| 2f 0d 09 47 58 53 65 74 | 53 68 61 70 65 46 69 6c |/..GXSet|ShapeFil|
|00001ba0| 6c 28 20 74 68 65 43 6c | 69 70 2c 20 67 78 43 6c |l( theCl|ip, gxCl|
|00001bb0| 6f 73 65 64 46 72 61 6d | 65 46 69 6c 6c 20 29 3b |osedFram|eFill );|
|00001bc0| 0d 09 47 58 53 65 74 53 | 68 61 70 65 53 74 79 6c |..GXSetS|hapeStyl|
|00001bd0| 65 41 74 74 72 69 62 75 | 74 65 73 28 74 68 65 43 |eAttribu|tes(theC|
|00001be0| 6c 69 70 2c 20 67 78 4f | 75 74 73 69 64 65 46 72 |lip, gxO|utsideFr|
|00001bf0| 61 6d 65 53 74 79 6c 65 | 29 3b 0d 09 47 58 53 65 |ameStyle|);..GXSe|
|00001c00| 74 53 68 61 70 65 50 65 | 6e 28 20 74 68 65 43 6c |tShapePe|n( theCl|
|00001c10| 69 70 2c 20 66 66 28 33 | 29 29 3b 0d 09 53 65 74 |ip, ff(3|));..Set|
|00001c20| 53 68 61 70 65 43 6f 6d | 6d 6f 6e 43 6f 6c 6f 72 |ShapeCom|monColor|
|00001c30| 28 20 74 68 65 43 6c 69 | 70 2c 20 62 6c 75 65 29 |( theCli|p, blue)|
|00001c40| 3b 0d 0d 09 0d 09 2f 2f | 20 a5 a5 a5 a5 a5 20 41 |;.....//| ..... A|
|00001c50| 64 64 65 64 20 62 79 20 | 64 6b 6a 20 66 6f 72 20 |dded by |dkj for |
|00001c60| 64 65 76 65 6c 6f 70 0d | 09 69 66 28 67 53 68 6f |develop.|.if(gSho|
|00001c70| 77 53 74 65 70 73 29 0d | 09 09 53 68 6f 77 55 6e |wSteps).|..ShowUn|
|00001c80| 74 69 6c 43 6c 69 63 6b | 28 74 68 65 43 6c 69 70 |tilClick|(theClip|
|00001c90| 2c 20 6e 69 6c 29 3b 0d | 0d 09 47 58 53 65 74 50 |, nil);.|..GXSetP|
|00001ca0| 69 63 74 75 72 65 50 61 | 72 74 73 28 20 67 74 68 |icturePa|rts( gth|
|00001cb0| 65 50 69 63 74 75 72 65 | 2c 20 30 2c 20 30 2c 20 |ePicture|, 0, 0, |
|00001cc0| 31 2c 20 26 74 68 65 43 | 6c 69 70 2c 20 6e 69 6c |1, &theC|lip, nil|
|00001cd0| 2c 20 6e 69 6c 2c 20 6e | 69 6c 20 29 3b 0d 09 47 |, nil, n|il );..G|
|00001ce0| 58 44 69 73 70 6f 73 65 | 53 68 61 70 65 20 28 20 |XDispose|Shape ( |
|00001cf0| 74 68 65 43 6c 69 70 20 | 29 3b 0d 0d 09 47 58 4d |theClip |);...GXM|
|00001d00| 6f 76 65 53 68 61 70 65 | 28 67 74 68 65 50 69 63 |oveShape|(gthePic|
|00001d10| 74 75 72 65 2c 20 66 66 | 28 32 30 29 2c 20 66 66 |ture, ff|(20), ff|
|00001d20| 28 31 35 29 20 29 3b 09 | 0d 09 0d 09 2f 2f 20 a5 |(15) );.|....// .|
|00001d30| a5 a5 a5 a5 20 41 64 64 | 65 64 20 62 79 20 64 6b |.... Add|ed by dk|
|00001d40| 6a 20 66 6f 72 20 64 65 | 76 65 6c 6f 70 0d 09 69 |j for de|velop..i|
|00001d50| 66 28 67 53 68 6f 77 53 | 74 65 70 73 29 0d 09 09 |f(gShowS|teps)...|
|00001d60| 53 68 6f 77 55 6e 74 69 | 6c 43 6c 69 63 6b 28 67 |ShowUnti|lClick(g|
|00001d70| 74 68 65 50 69 63 74 75 | 72 65 2c 20 6e 69 6c 29 |thePictu|re, nil)|
|00001d80| 3b 0d 7d 0d 0d 0d 2f 2a | 2d 2d 2d 2d 2d 2d 20 44 |;.}.../*|------ D|
|00001d90| 6f 44 72 61 77 20 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |oDraw --|--------|
|00001da0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001db0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001dc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001dd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001de0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2a 2f 0d |--------|-----*/.|
|00001df0| 0d 76 6f 69 64 20 44 6f | 44 72 61 77 28 67 57 69 |.void Do|Draw(gWi|
|00001e00| 6e 64 6f 77 29 0d 57 69 | 6e 64 6f 77 50 74 72 20 |ndow).Wi|ndowPtr |
|00001e10| 67 57 69 6e 64 6f 77 3b | 0d 7b 0d 20 09 47 58 44 |gWindow;|.{. .GXD|
|00001e20| 72 61 77 53 68 61 70 65 | 20 28 67 74 68 65 50 69 |rawShape| (gthePi|
|00001e30| 63 74 75 72 65 29 3b 0d | 7d 0d 0d 0d 2f 2a 2d 2d |cture);.|}.../*--|
|00001e40| 2d 2d 2d 2d 20 44 6f 44 | 69 73 70 6f 73 65 20 2d |---- DoD|ispose -|
|00001e50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001e60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001e70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001e80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001e90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001ea0| 2d 2d 2d 2d 2a 2f 0d 0d | 76 6f 69 64 20 44 6f 44 |----*/..|void DoD|
|00001eb0| 69 73 70 6f 73 65 28 67 | 57 69 6e 64 6f 77 29 0d |ispose(g|Window).|
|00001ec0| 57 69 6e 64 6f 77 50 74 | 72 20 67 57 69 6e 64 6f |WindowPt|r gWindo|
|00001ed0| 77 3b 0d 7b 0d 09 2f 2a | 2a 20 20 0d 09 09 59 6f |w;.{../*|* ...Yo|
|00001ee0| 75 20 73 68 6f 75 6c 64 | 20 61 6c 77 61 79 73 20 |u should| always |
|00001ef0| 64 69 73 70 6f 73 65 20 | 6f 66 20 79 6f 75 72 20 |dispose |of your |
|00001f00| 47 58 20 67 72 61 70 68 | 69 63 73 20 6f 62 6a 65 |GX graph|ics obje|
|00001f10| 63 74 73 20 62 65 66 6f | 72 65 20 74 6f 73 73 69 |cts befo|re tossi|
|00001f20| 6e 67 20 79 6f 75 72 20 | 77 69 6e 64 6f 77 2e 20 |ng your |window. |
|00001f30| 57 68 79 3f 20 49 74 27 | 73 20 67 65 6e 65 72 61 |Why? It'|s genera|
|00001f40| 6c 6c 79 20 67 6f 6f 64 | 20 0d 09 09 66 6f 72 6d |lly good| ...form|
|00001f50| 20 61 6e 64 20 74 68 69 | 73 20 61 70 70 72 6f 61 | and thi|s approa|
|00001f60| 63 68 20 67 75 61 72 61 | 6e 74 65 65 73 20 74 68 |ch guara|ntees th|
|00001f70| 61 74 20 65 76 65 72 79 | 74 68 69 6e 67 20 69 73 |at every|thing is|
|00001f80| 20 64 69 73 70 6f 73 65 | 64 2e 20 49 66 20 79 6f | dispose|d. If yo|
|00001f90| 75 20 68 61 64 20 6e 6f | 74 20 64 69 73 70 6f 73 |u had no|t dispos|
|00001fa0| 65 64 20 6f 66 20 65 76 | 65 72 79 74 68 69 6e 67 |ed of ev|erything|
|00001fb0| 2c 20 74 68 65 0d 09 09 | 63 61 6c 6c 20 74 6f 20 |, the...|call to |
|00001fc0| 44 69 73 70 6f 73 65 57 | 69 6e 64 6f 77 20 73 68 |DisposeW|indow sh|
|00001fd0| 6f 75 6c 64 20 64 69 73 | 70 6f 73 65 20 6f 66 20 |ould dis|pose of |
|00001fe0| 74 68 65 20 6f 62 6a 65 | 63 74 73 2e 20 49 66 20 |the obje|cts. If |
|00001ff0| 79 6f 75 20 61 72 65 20 | 72 75 6e 6e 69 6e 67 20 |you are |running |
|00002000| 74 68 65 20 64 65 62 75 | 67 67 69 6e 67 20 76 65 |the debu|gging ve|
|00002010| 72 73 69 6f 6e 20 6f 66 | 20 74 68 65 20 0d 09 09 |rsion of| the ...|
|00002020| 53 65 63 72 65 74 47 72 | 61 70 68 69 63 73 20 69 |SecretGr|aphics i|
|00002030| 6e 69 74 20 77 69 74 68 | 20 6e 6f 74 69 63 65 73 |nit with| notices|
|00002040| 20 73 65 74 2c 20 79 6f | 75 20 77 69 6c 6c 20 72 | set, yo|u will r|
|00002050| 65 63 65 69 76 65 20 61 | 20 6e 6f 74 69 63 65 20 |eceive a| notice |
|00002060| 74 68 61 74 20 79 6f 75 | 20 68 61 64 20 6e 6f 74 |that you| had not|
|00002070| 20 64 69 73 70 6f 73 65 | 64 20 6f 66 20 65 76 65 | dispose|d of eve|
|00002080| 72 79 74 68 69 6e 67 2e | 20 59 6f 75 0d 09 09 63 |rything.| You...c|
|00002090| 61 6e 20 74 75 72 6e 20 | 6e 6f 74 69 63 65 73 20 |an turn |notices |
|000020a0| 6f 6e 20 69 6e 20 74 68 | 69 73 20 66 69 6c 65 20 |on in th|is file |
|000020b0| 62 79 20 73 65 74 74 69 | 6e 67 20 67 44 65 62 75 |by setti|ng gDebu|
|000020c0| 67 67 69 6e 67 20 3d 20 | 54 52 55 45 20 28 61 62 |gging = |TRUE (ab|
|000020d0| 6f 76 65 29 2e 0d 09 2a | 2a 2f 0d 09 44 69 73 70 |ove)...*|*/..Disp|
|000020e0| 6f 73 65 43 6f 6d 6d 6f | 6e 43 6f 6c 6f 72 73 20 |oseCommo|nColors |
|000020f0| 28 29 3b 0d 09 47 58 44 | 69 73 70 6f 73 65 53 68 |();..GXD|isposeSh|
|00002100| 61 70 65 28 67 74 68 65 | 50 69 63 74 75 72 65 29 |ape(gthe|Picture)|
|00002110| 3b 20 20 0d 20 09 47 58 | 44 69 73 70 6f 73 65 53 |; . .GX|DisposeS|
|00002120| 68 61 70 65 28 67 57 69 | 6e 64 6f 77 42 6f 75 6e |hape(gWi|ndowBoun|
|00002130| 64 73 53 68 61 70 65 29 | 3b 20 20 0d 20 20 20 20 |dsShape)|; . |
|00002140| 44 69 73 70 6f 73 65 57 | 69 6e 64 6f 77 28 67 57 |DisposeW|indow(gW|
|00002150| 69 6e 64 6f 77 29 3b 0d | 7d 0d 09 0d 0d 0d 2f 2a |indow);.|}...../*|
|00002160| 2d 2d 2d 2d 2d 2d 20 44 | 6f 43 6c 69 63 6b 20 2d |------ D|oClick -|
|00002170| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002180| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002190| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000021a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000021b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000021c0| 2d 2d 2d 2d 2d 2d 2a 2f | 0d 0d 76 6f 69 64 20 44 |------*/|..void D|
|000021d0| 6f 43 6c 69 63 6b 28 20 | 6f 72 67 4d 6f 75 73 65 |oClick( |orgMouse|
|000021e0| 4c 6f 63 2c 20 74 68 65 | 57 69 6e 64 6f 77 20 29 |Loc, the|Window )|
|000021f0| 0d 67 78 50 6f 69 6e 74 | 09 09 6f 72 67 4d 6f 75 |.gxPoint|..orgMou|
|00002200| 73 65 4c 6f 63 3b 0d 57 | 69 6e 64 6f 77 50 74 72 |seLoc;.W|indowPtr|
|00002210| 20 09 74 68 65 57 69 6e | 64 6f 77 3b 0d 7b 0d 7d | .theWin|dow;.{.}|
|00002220| 0d 0d 0d 2f 2a 2d 2d 2d | 2d 2d 2d 20 44 6f 49 64 |.../*---|--- DoId|
|00002230| 6c 65 20 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |le -----|--------|
|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 2d 2d |--------|--------|
|00002260| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002270| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002280| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2a 2f 0d 0d 76 |--------|---*/..v|
|00002290| 6f 69 64 20 44 6f 49 64 | 6c 65 28 67 57 69 6e 64 |oid DoId|le(gWind|
|000022a0| 6f 77 29 0d 57 69 6e 64 | 6f 77 50 74 72 20 67 57 |ow).Wind|owPtr gW|
|000022b0| 69 6e 64 6f 77 3b 0d 7b | 0d 7d 0d 00 00 00 00 00 |indow;.{|.}......|
|000022c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000022d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000022e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000022f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002300| 00 00 01 00 00 00 02 de | 00 00 01 de 00 00 00 66 |........|.......f|
|00002310| 00 9a d5 b8 00 9a d5 ea | 00 9a d6 10 00 9a d6 32 |........|.......2|
|00002320| 00 9a d6 54 00 9a d6 76 | 00 9a d6 9c 00 9a d6 c6 |...T...v|........|
|00002330| 18 42 69 74 6d 61 70 20 | 53 68 61 70 65 20 77 69 |.Bitmap |Shape wi|
|00002340| 74 68 20 43 6c 69 70 2e | 63 70 02 00 00 00 54 45 |th Clip.|cp....TE|
|00002350| 00 00 54 45 58 54 4b 41 | 48 4c 01 00 00 43 00 cf |..TEXTKA|HL...C..|
|00002360| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002370| 00 00 a8 b6 60 53 00 00 | 22 3b 00 00 03 44 d9 b6 |....`S..|";...D..|
|00002380| 00 9a d9 dc 00 9a da 02 | 00 9a da 24 00 9a da 46 |........|...$...F|
|00002390| 00 9a da 6c 00 9a da 92 | 00 9a da b4 00 9a da da |...l....|........|
|000023a0| 00 9a db 04 00 9a db 26 | 00 9a db 48 00 9a db 6e |.......&|...H...n|
|000023b0| 00 9a db 94 00 9a db ba | 00 9a db e0 00 9a dc 0a |........|........|
|000023c0| 00 9a dc 34 00 9a dc 5e | 00 9a dc 88 00 9a dc ae |...4...^|........|
|000023d0| 00 9a dc d4 00 9a dc fa | 00 9a dd 20 00 9a dd 46 |........|... ...F|
|000023e0| 00 9a dd 6c 00 9a dd 92 | 00 9a dd b4 00 9a dd da |...l....|........|
|000023f0| 00 9a de 00 00 9a de 26 | 00 9a de 58 00 9a de 86 |.......&|...X....|
|00002400| 00 00 00 14 00 00 0b 08 | ff ff 00 00 00 00 00 00 |........|........|
|00002410| 10 b3 ff ff 00 00 00 00 | 00 00 01 60 00 0a 00 28 |........|...`...(|
|00002420| 00 00 10 5f 00 83 00 a3 | 98 d8 00 00 19 62 69 74 |..._....|.....bit|
|00002430| 6d 61 70 42 6f 75 6e 64 | 73 2e 62 6f 74 74 6f 6d |mapBound|s.bottom|
|00002440| 20 3e 3e 20 31 36 00 26 | 00 00 10 5f 00 83 00 a3 | >> 16.&|..._....|
|00002450| 98 c8 00 00 17 62 69 74 | 6d 61 70 42 6f 75 6e 64 |.....bit|mapBound|
|00002460| 73 2e 74 6f 70 20 3e 3e | 20 31 36 20 00 26 00 00 |s.top >>| 16 .&..|
|00002470| 10 5f 00 83 00 a3 98 b8 | 00 00 17 62 69 74 6d 61 |._......|...bitma|
|00002480| 70 42 6f 75 6e 64 73 2e | 6c 65 66 74 20 3e 3e 20 |pBounds.|left >> |
|00002490| 31 36 00 28 00 00 10 5f | 00 83 00 a3 98 98 00 00 |16.(..._|........|
|000024a0| 19 62 69 74 6d 61 70 42 | 6f 75 6e 64 73 2e 72 69 |.bitmapB|ounds.ri|
|000024b0| 67 68 74 20 3e 3e 20 31 | 36 20 00 24 00 00 16 8a |ght >> 1|6 .$....|
|000024c0| 00 ab 00 a3 98 88 00 00 | 15 63 6c 69 70 53 68 61 |........|.clipSha|
|000024d0| 70 65 57 69 64 74 68 20 | 3e 3e 20 31 36 20 00 20 |peWidth |>> 16 . |
|000024e0| 00 00 16 8a 00 ab 00 a3 | 98 78 00 00 11 62 69 74 |........|.x...bit|
|000024f0| 6d 61 70 57 69 64 74 68 | 20 3e 3e 20 31 36 00 1c |mapWidth| >> 16..|
|00002500| 00 00 16 8a 00 ab 00 a3 | 98 68 00 00 0d 78 53 63 |........|.h...xSc|
|00002510| 61 6c 65 46 61 63 74 6f | 72 20 00 1c 00 00 17 5c |aleFacto|r .....\|
|00002520| 00 b0 00 a3 98 10 00 00 | 0d 79 53 63 61 6c 65 46 |........|.yScaleF|
|00002530| 61 63 74 6f 72 20 00 22 | 00 00 17 5c 00 b0 00 a3 |actor ."|...\....|
|00002540| 98 18 00 00 13 62 69 74 | 6d 61 70 48 65 69 67 68 |.....bit|mapHeigh|
|00002550| 74 20 3e 3e 20 31 36 20 | 00 24 00 00 17 29 00 af |t >> 16 |.$...)..|
|00002560| 00 a3 98 30 00 00 15 63 | 6c 69 70 53 68 61 70 65 |...0...c|lipShape|
|00002570| 48 65 69 67 68 74 20 3e | 3e 20 31 36 00 00 00 12 |Height >|> 16....|
|00002580| 00 01 00 00 07 15 00 00 | 07 15 07 23 64 65 66 69 |........|...#defi|
|00002590| 6e 65 00 00 00 48 00 09 | 4d 6f 6e 61 63 6f 00 00 |ne...H..|Monaco..|
|000025a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000025b0| 00 00 00 00 00 00 00 00 | 00 06 00 04 00 2a 00 03 |........|.....*..|
|000025c0| 01 dd 02 7d 00 38 00 14 | 01 d6 02 40 aa 54 15 b0 |...}.8..|...@.T..|
|000025d0| 00 00 07 f7 00 00 07 f7 | 00 00 00 00 00 00 00 00 |........|........|
|000025e0| 01 00 00 00 02 de 00 00 | 01 de 00 00 00 66 00 9b |........|.....f..|
|000025f0| 9d 1c 1d 04 00 00 00 1c | 00 66 00 02 42 4b 50 54 |........|.f..BKPT|
|00002600| 00 00 00 1a 44 54 56 55 | 00 00 00 26 4d 50 53 52 |....DTVU|...&MPSR|
|00002610| 00 01 00 32 31 78 ff ff | 00 00 00 00 00 00 00 00 |...21x..|........|
|00002620| 2a c3 ff ff 00 00 00 18 | 00 00 00 00 03 ef ff ff |*.......|........|
|00002630| 00 00 01 7c 00 00 00 00 | 03 ed ff ff 00 00 01 92 |...|....|........|
|00002640| 00 9c 6f ec 00 00 00 00 | 00 00 00 00 00 00 00 00 |..o.....|........|
|00002650| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002660| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002670| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+