home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1995-04-27 | 34.9 KB | [TEXT/MMCC] |
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: MacBinary
(archive/macBinary).
Confidence | Program | Detection | Match Type | Support
|
---|
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 Apr 27 18:06:06 1995, modified Thu Apr 27 18:06:06 1995, creator 'MMCC', type ASCII, 34952 bytes "teutil.c" , at 0x8908 410 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 |
---|
key | value |
---|
macFileType | [TEXT] |
macFileCreator | [MMCC] |
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 08 74 65 75 74 69 6c | 2e 63 00 00 00 00 00 00 |..teutil|.c......|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|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 4d 4d 43 | 43 01 00 00 00 00 00 00 |.TEXTMMC|C.......|
|00000050| 00 00 00 00 00 88 88 00 | 00 01 9a ab c5 c5 ce ab |........|........|
|00000060| c5 c5 ce 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 0c 0f 00 00 |........|........|
|00000080| 2f 2a 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |/*------|--------|
|00000090| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000000a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000000b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000000c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 0d |--------|------..|
|000000d0| 09 74 65 75 74 69 6c 2e | 63 0d 0d 09 54 68 69 73 |.teutil.|c...This|
|000000e0| 20 72 65 75 73 61 62 6c | 65 20 6d 6f 64 75 6c 65 | reusabl|e module|
|000000f0| 20 63 6f 6e 74 61 69 6e | 73 20 6d 69 73 63 65 6c | contain|s miscel|
|00000100| 6c 61 6e 65 6f 75 73 20 | 54 65 78 74 45 64 69 74 |laneous |TextEdit|
|00000110| 20 75 74 69 6c 69 74 79 | 20 72 6f 75 74 69 6e 65 | utility| routine|
|00000120| 73 2e 0d 09 0d 09 43 6f | 70 79 72 69 67 68 74 20 |s.....Co|pyright |
|00000130| a9 20 31 39 39 34 2d 31 | 39 39 35 2c 20 4e 6f 72 |. 1994-1|995, Nor|
|00000140| 74 68 77 65 73 74 65 72 | 6e 20 55 6e 69 76 65 72 |thwester|n Univer|
|00000150| 73 69 74 79 2e 0d 0d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |sity...-|--------|
|00000160| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000170| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000180| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000190| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000001a0| 2d 2d 2d 2a 2f 0d 0d 23 | 69 6e 63 6c 75 64 65 20 |---*/..#|include |
|000001b0| 3c 63 74 79 70 65 2e 68 | 3e 0d 0d 23 69 6e 63 6c |<ctype.h|>..#incl|
|000001c0| 75 64 65 20 22 64 65 66 | 2e 68 22 0d 23 69 6e 63 |ude "def|.h".#inc|
|000001d0| 6c 75 64 65 20 22 74 65 | 75 74 69 6c 2e 68 22 0d |lude "te|util.h".|
|000001e0| 23 69 6e 63 6c 75 64 65 | 20 22 6d 65 6d 75 74 69 |#include| "memuti|
|000001f0| 6c 2e 68 22 0d 23 69 6e | 63 6c 75 64 65 20 22 64 |l.h".#in|clude "d|
|00000200| 72 61 77 75 74 69 6c 2e | 68 22 0d 23 69 6e 63 6c |rawutil.|h".#incl|
|00000210| 75 64 65 20 22 74 65 73 | 63 72 6f 6c 6c 2e 68 22 |ude "tes|croll.h"|
|00000220| 0d 0d 0d 0d 2f 2a 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |..../*--|--------|
|00000230| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000240| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000250| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000260| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000270| 2d 2d 0d 09 48 61 76 65 | 54 45 4f 75 74 6c 69 6e |--..Have|TEOutlin|
|00000280| 65 48 69 6c 69 74 65 46 | 65 61 74 75 72 65 20 0d |eHiliteF|eature .|
|00000290| 09 0d 09 44 65 74 65 72 | 6d 69 6e 65 20 77 68 65 |...Deter|mine whe|
|000002a0| 74 68 65 72 20 6f 72 20 | 6e 6f 74 20 74 68 69 73 |ther or |not this|
|000002b0| 20 73 79 73 74 65 6d 20 | 73 75 70 70 6f 72 74 73 | system |supports|
|000002c0| 20 74 68 65 20 6f 75 74 | 6c 69 6e 65 20 68 69 67 | the out|line hig|
|000002d0| 68 6c 69 67 68 74 69 6e | 67 0d 09 66 65 61 74 75 |hlightin|g..featu|
|000002e0| 72 65 2e 0d 09 09 09 0d | 09 45 78 69 74 3a 09 66 |re......|.Exit:.f|
|000002f0| 75 6e 63 74 69 6f 6e 20 | 72 65 73 75 6c 74 20 3d |unction |result =|
|00000300| 20 74 72 75 65 20 69 66 | 20 6f 75 74 6c 69 6e 65 | true if| outline|
|00000310| 20 68 69 67 68 6c 69 67 | 68 74 69 6e 67 20 73 75 | highlig|hting su|
|00000320| 70 70 6f 72 74 65 64 2e | 0d 2d 2d 2d 2d 2d 2d 2d |pported.|.-------|
|00000330| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000340| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000350| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000360| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000370| 2d 2d 2d 2d 2d 2a 2f 0d | 0d 42 6f 6f 6c 65 61 6e |-----*/.|.Boolean|
|00000380| 20 48 61 76 65 54 45 4f | 75 74 6c 69 6e 65 48 69 | HaveTEO|utlineHi|
|00000390| 6c 69 74 65 46 65 61 74 | 75 72 65 20 28 76 6f 69 |liteFeat|ure (voi|
|000003a0| 64 29 0d 7b 0d 09 4f 53 | 45 72 72 20 65 72 72 20 |d).{..OS|Err err |
|000003b0| 3d 20 6e 6f 45 72 72 3b | 0d 09 6c 6f 6e 67 20 72 |= noErr;|..long r|
|000003c0| 65 73 75 6c 74 3b 0d 0d | 09 65 72 72 20 3d 20 47 |esult;..|.err = G|
|000003d0| 65 73 74 61 6c 74 28 67 | 65 73 74 61 6c 74 54 65 |estalt(g|estaltTe|
|000003e0| 78 74 45 64 69 74 56 65 | 72 73 69 6f 6e 2c 20 26 |xtEditVe|rsion, &|
|000003f0| 72 65 73 75 6c 74 29 3b | 0d 09 72 65 74 75 72 6e |result);|..return|
|00000400| 20 65 72 72 20 3d 3d 20 | 6e 6f 45 72 72 20 26 26 | err == |noErr &&|
|00000410| 20 72 65 73 75 6c 74 20 | 3e 3d 20 67 65 73 74 61 | result |>= gesta|
|00000420| 6c 74 54 45 34 3b 0d 7d | 0d 0d 0d 0d 2f 2a 2d 2d |ltTE4;.}|..../*--|
|00000430| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000440| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000450| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000460| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000470| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 09 48 61 76 65 |--------|--..Have|
|00000480| 54 45 47 65 74 48 69 6c | 69 74 65 52 67 6e 20 0d |TEGetHil|iteRgn .|
|00000490| 09 0d 09 44 65 74 65 72 | 6d 69 6e 65 20 77 68 65 |...Deter|mine whe|
|000004a0| 74 68 65 72 20 6f 72 20 | 6e 6f 74 20 74 68 69 73 |ther or |not this|
|000004b0| 20 73 79 73 74 65 6d 20 | 73 75 70 70 6f 72 74 73 | system |supports|
|000004c0| 20 74 68 65 20 47 65 74 | 54 45 48 69 6c 69 74 65 | the Get|TEHilite|
|000004d0| 52 67 6e 0d 09 66 75 6e | 63 74 69 6f 6e 2e 0d 09 |Rgn..fun|ction...|
|000004e0| 09 09 0d 09 45 78 69 74 | 3a 09 66 75 6e 63 74 69 |....Exit|:.functi|
|000004f0| 6f 6e 20 72 65 73 75 6c | 74 20 3d 20 74 72 75 65 |on resul|t = true|
|00000500| 20 69 66 20 47 65 74 54 | 45 48 69 6c 69 74 65 52 | if GetT|EHiliteR|
|00000510| 67 6e 20 66 75 6e 63 74 | 69 6f 6e 20 61 76 61 69 |gn funct|ion avai|
|00000520| 6c 61 62 6c 65 2e 0d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |lable..-|--------|
|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 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000570| 2d 2d 2d 2a 2f 0d 0d 42 | 6f 6f 6c 65 61 6e 20 48 |---*/..B|oolean H|
|00000580| 61 76 65 54 45 47 65 74 | 48 69 6c 69 74 65 52 67 |aveTEGet|HiliteRg|
|00000590| 6e 20 28 76 6f 69 64 29 | 0d 7b 0d 09 4f 53 45 72 |n (void)|.{..OSEr|
|000005a0| 72 20 65 72 72 20 3d 20 | 6e 6f 45 72 72 3b 0d 09 |r err = |noErr;..|
|000005b0| 6c 6f 6e 67 20 72 65 73 | 75 6c 74 3b 0d 0d 09 65 |long res|ult;...e|
|000005c0| 72 72 20 3d 20 47 65 73 | 74 61 6c 74 28 67 65 73 |rr = Ges|talt(ges|
|000005d0| 74 61 6c 74 54 45 41 74 | 74 72 2c 20 26 72 65 73 |taltTEAt|tr, &res|
|000005e0| 75 6c 74 29 3b 0d 09 72 | 65 74 75 72 6e 20 65 72 |ult);..r|eturn er|
|000005f0| 72 20 3d 3d 20 6e 6f 45 | 72 72 20 26 26 20 28 72 |r == noE|rr && (r|
|00000600| 65 73 75 6c 74 20 3e 3e | 20 67 65 73 74 61 6c 74 |esult >>| gestalt|
|00000610| 54 45 48 61 73 47 65 74 | 48 69 6c 69 74 65 52 67 |TEHasGet|HiliteRg|
|00000620| 6e 29 20 26 20 31 20 21 | 3d 20 30 3b 0d 7d 0d 0d |n) & 1 !|= 0;.}..|
|00000630| 0d 0d 2f 2a 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |../*----|--------|
|00000640| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000650| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|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 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000680| 0d 09 4d 79 54 45 53 65 | 74 54 65 78 74 20 0d 09 |..MyTESe|tText ..|
|00000690| 0d 09 53 65 74 20 74 68 | 65 20 74 65 78 74 20 69 |..Set th|e text i|
|000006a0| 6e 20 61 20 54 65 78 74 | 45 64 69 74 20 72 65 63 |n a Text|Edit rec|
|000006b0| 6f 72 64 2c 20 77 69 74 | 68 20 6d 65 6d 6f 72 79 |ord, wit|h memory|
|000006c0| 20 70 72 65 66 6c 69 67 | 68 74 69 6e 67 2e 0d 09 | preflig|hting...|
|000006d0| 09 09 0d 09 45 6e 74 72 | 79 3a 09 74 65 78 74 50 |....Entr|y:.textP|
|000006e0| 74 72 20 3d 20 70 6f 69 | 6e 74 65 72 20 74 6f 20 |tr = poi|nter to |
|000006f0| 74 65 78 74 2e 0d 09 09 | 09 6c 65 6e 67 74 68 20 |text....|.length |
|00000700| 3d 20 6c 65 6e 67 74 68 | 20 6f 66 20 74 65 78 74 |= length| of text|
|00000710| 2e 0d 09 09 09 74 68 65 | 54 45 20 3d 20 68 61 6e |.....the|TE = han|
|00000720| 64 6c 65 20 74 6f 20 54 | 65 78 74 45 64 69 74 20 |dle to T|extEdit |
|00000730| 72 65 63 6f 72 64 2e 0d | 09 0d 09 45 78 69 74 3a |record..|...Exit:|
|00000740| 09 66 75 6e 63 74 69 6f | 6e 20 72 65 73 75 6c 74 |.functio|n result|
|00000750| 20 3d 20 65 72 72 6f 72 | 20 63 6f 64 65 2e 0d 2d | = error| code..-|
|00000760| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000770| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000780| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000790| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000007a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2a 2f 0d 0d 4f |--------|---*/..O|
|000007b0| 53 45 72 72 20 4d 79 54 | 45 53 65 74 54 65 78 74 |SErr MyT|ESetText|
|000007c0| 20 28 50 74 72 20 74 65 | 78 74 50 74 72 2c 20 6c | (Ptr te|xtPtr, l|
|000007d0| 6f 6e 67 20 6c 65 6e 67 | 74 68 2c 20 54 45 48 61 |ong leng|th, TEHa|
|000007e0| 6e 64 6c 65 20 74 68 65 | 54 45 29 0d 7b 0d 09 6c |ndle the|TE).{..l|
|000007f0| 6f 6e 67 20 65 78 74 72 | 61 4d 65 6d 3b 0d 0d 09 |ong extr|aMem;...|
|00000800| 65 78 74 72 61 4d 65 6d | 20 3d 20 6c 65 6e 67 74 |extraMem| = lengt|
|00000810| 68 20 2d 20 28 2a 2a 74 | 68 65 54 45 29 2e 74 65 |h - (**t|heTE).te|
|00000820| 4c 65 6e 67 74 68 3b 0d | 09 69 66 20 28 65 78 74 |Length;.|.if (ext|
|00000830| 72 61 4d 65 6d 20 3e 20 | 30 20 26 26 20 21 4d 65 |raMem > |0 && !Me|
|00000840| 6d 6f 72 79 41 76 61 69 | 6c 61 62 6c 65 28 65 78 |moryAvai|lable(ex|
|00000850| 74 72 61 4d 65 6d 20 2b | 20 32 30 30 30 29 29 20 |traMem +| 2000)) |
|00000860| 72 65 74 75 72 6e 20 6d | 65 6d 46 75 6c 6c 45 72 |return m|emFullEr|
|00000870| 72 3b 0d 09 54 45 53 65 | 74 54 65 78 74 28 74 65 |r;..TESe|tText(te|
|00000880| 78 74 50 74 72 2c 20 6c | 65 6e 67 74 68 2c 20 74 |xtPtr, l|ength, t|
|00000890| 68 65 54 45 29 3b 0d 09 | 72 65 74 75 72 6e 20 6e |heTE);..|return n|
|000008a0| 6f 45 72 72 3b 0d 7d 0d | 0d 0d 0d 2f 2a 2d 2d 2d |oErr;.}.|.../*---|
|000008b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000008c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000008d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000008e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000008f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 0d 09 4d 79 54 45 49 |--------|-..MyTEI|
|00000900| 6e 73 65 72 74 20 0d 09 | 0d 09 49 6e 73 65 72 74 |nsert ..|..Insert|
|00000910| 20 74 65 78 74 20 69 6e | 20 61 20 54 65 78 74 45 | text in| a TextE|
|00000920| 64 69 74 20 72 65 63 6f | 72 64 2c 20 77 69 74 68 |dit reco|rd, with|
|00000930| 20 6d 65 6d 6f 72 79 20 | 70 72 65 66 6c 69 67 68 | memory |prefligh|
|00000940| 74 69 6e 67 2e 0d 09 09 | 09 0d 09 45 6e 74 72 79 |ting....|...Entry|
|00000950| 3a 09 74 65 78 74 50 74 | 72 20 3d 20 70 6f 69 6e |:.textPt|r = poin|
|00000960| 74 65 72 20 74 6f 20 74 | 65 78 74 2e 0d 09 09 09 |ter to t|ext.....|
|00000970| 6c 65 6e 67 74 68 20 3d | 20 6c 65 6e 67 74 68 20 |length =| length |
|00000980| 6f 66 20 74 65 78 74 2e | 0d 09 09 09 74 68 65 54 |of text.|....theT|
|00000990| 45 20 3d 20 68 61 6e 64 | 6c 65 20 74 6f 20 54 65 |E = hand|le to Te|
|000009a0| 78 74 45 64 69 74 20 72 | 65 63 6f 72 64 2e 0d 09 |xtEdit r|ecord...|
|000009b0| 0d 09 45 78 69 74 3a 09 | 66 75 6e 63 74 69 6f 6e |..Exit:.|function|
|000009c0| 20 72 65 73 75 6c 74 20 | 3d 20 65 72 72 6f 72 20 | result |= error |
|000009d0| 63 6f 64 65 2e 0d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |code..--|--------|
|000009e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|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 2a 2f 0d 0d 4f 53 | 45 72 72 20 4d 79 54 45 |--*/..OS|Err MyTE|
|00000a30| 49 6e 73 65 72 74 20 28 | 50 74 72 20 74 65 78 74 |Insert (|Ptr text|
|00000a40| 50 74 72 2c 20 6c 6f 6e | 67 20 6c 65 6e 67 74 68 |Ptr, lon|g length|
|00000a50| 2c 20 54 45 48 61 6e 64 | 6c 65 20 74 68 65 54 45 |, TEHand|le theTE|
|00000a60| 29 0d 7b 0d 09 6c 6f 6e | 67 20 65 78 74 72 61 4d |).{..lon|g extraM|
|00000a70| 65 6d 3b 0d 09 0d 09 65 | 78 74 72 61 4d 65 6d 20 |em;....e|xtraMem |
|00000a80| 3d 20 28 2a 2a 74 68 65 | 54 45 29 2e 73 65 6c 45 |= (**the|TE).selE|
|00000a90| 6e 64 20 2d 20 28 2a 2a | 74 68 65 54 45 29 2e 73 |nd - (**|theTE).s|
|00000aa0| 65 6c 53 74 61 72 74 20 | 2b 20 6c 65 6e 67 74 68 |elStart |+ length|
|00000ab0| 3b 0d 09 69 66 20 28 65 | 78 74 72 61 4d 65 6d 20 |;..if (e|xtraMem |
|00000ac0| 3e 20 30 20 26 26 20 21 | 4d 65 6d 6f 72 79 41 76 |> 0 && !|MemoryAv|
|00000ad0| 61 69 6c 61 62 6c 65 28 | 65 78 74 72 61 4d 65 6d |ailable(|extraMem|
|00000ae0| 20 2b 20 32 30 30 30 29 | 29 20 72 65 74 75 72 6e | + 2000)|) return|
|00000af0| 20 6d 65 6d 46 75 6c 6c | 45 72 72 3b 0d 09 54 45 | memFull|Err;..TE|
|00000b00| 49 6e 73 65 72 74 28 74 | 65 78 74 50 74 72 2c 20 |Insert(t|extPtr, |
|00000b10| 6c 65 6e 67 74 68 2c 20 | 74 68 65 54 45 29 3b 0d |length, |theTE);.|
|00000b20| 09 72 65 74 75 72 6e 20 | 6e 6f 45 72 72 3b 0d 7d |.return |noErr;.}|
|00000b30| 0d 0d 0d 0d 2f 2a 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |..../*--|--------|
|00000b40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000b50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000b60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000b70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000b80| 2d 2d 0d 09 4d 79 54 45 | 47 65 74 53 63 72 61 70 |--..MyTE|GetScrap|
|00000b90| 4c 65 6e 20 0d 09 0d 09 | 47 65 74 20 74 68 65 20 |Len ....|Get the |
|00000ba0| 74 65 78 74 20 73 63 72 | 61 70 20 6c 65 6e 67 74 |text scr|ap lengt|
|00000bb0| 68 2e 0d 09 09 09 0d 09 | 45 78 69 74 3a 09 66 75 |h.......|Exit:.fu|
|00000bc0| 6e 63 74 69 6f 6e 20 72 | 65 73 75 6c 74 20 3d 20 |nction r|esult = |
|00000bd0| 73 63 72 61 70 20 6c 65 | 6e 67 74 68 2e 0d 09 09 |scrap le|ngth....|
|00000be0| 09 09 3d 20 30 20 69 66 | 20 6e 6f 20 74 65 78 74 |..= 0 if| no text|
|00000bf0| 20 69 6e 20 73 63 72 61 | 70 2e 0d 09 09 09 09 3d | in scra|p......=|
|00000c00| 20 30 78 38 30 30 30 20 | 69 66 20 74 65 78 74 20 | 0x8000 |if text |
|00000c10| 73 63 72 61 70 20 74 6f | 6f 20 62 69 67 2e 0d 2d |scrap to|o big..-|
|00000c20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000c30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000c40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000c50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000c60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2a 2f 0d 0d 6c |--------|---*/..l|
|00000c70| 6f 6e 67 20 4d 79 54 45 | 47 65 74 53 63 72 61 70 |ong MyTE|GetScrap|
|00000c80| 4c 65 6e 20 28 76 6f 69 | 64 29 0d 7b 0d 09 6c 6f |Len (voi|d).{..lo|
|00000c90| 6e 67 20 6c 65 6e 2c 20 | 6f 66 66 73 65 74 3b 0d |ng len, |offset;.|
|00000ca0| 09 4f 53 45 72 72 20 65 | 72 72 20 3d 20 6e 6f 45 |.OSErr e|rr = noE|
|00000cb0| 72 72 3b 0d 09 0d 09 6c | 65 6e 20 3d 20 47 65 74 |rr;....l|en = Get|
|00000cc0| 53 63 72 61 70 28 6e 69 | 6c 2c 20 27 54 45 58 54 |Scrap(ni|l, 'TEXT|
|00000cd0| 27 2c 20 26 6f 66 66 73 | 65 74 29 3b 0d 09 69 66 |', &offs|et);..if|
|00000ce0| 20 28 6c 65 6e 20 3c 20 | 30 29 20 72 65 74 75 72 | (len < |0) retur|
|00000cf0| 6e 20 30 3b 0d 09 69 66 | 20 28 6c 65 6e 20 3e 20 |n 0;..if| (len > |
|00000d00| 30 78 37 66 66 66 29 20 | 72 65 74 75 72 6e 20 30 |0x7fff) |return 0|
|00000d10| 78 38 30 30 30 3b 0d 09 | 65 72 72 20 3d 20 54 45 |x8000;..|err = TE|
|00000d20| 46 72 6f 6d 53 63 72 61 | 70 28 29 3b 0d 09 69 66 |FromScra|p();..if|
|00000d30| 20 28 65 72 72 20 3d 3d | 20 74 65 53 63 72 61 70 | (err ==| teScrap|
|00000d40| 53 69 7a 65 45 72 72 29 | 20 72 65 74 75 72 6e 20 |SizeErr)| return |
|00000d50| 30 78 38 30 30 30 3b 0d | 09 69 66 20 28 65 72 72 |0x8000;.|.if (err|
|00000d60| 20 21 3d 20 6e 6f 45 72 | 72 29 20 72 65 74 75 72 | != noEr|r) retur|
|00000d70| 6e 20 30 3b 0d 09 72 65 | 74 75 72 6e 20 6c 65 6e |n 0;..re|turn len|
|00000d80| 3b 0d 7d 0d 0d 0d 0d 2f | 2a 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| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000dc0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000dd0| 2d 2d 2d 2d 2d 0d 09 43 | 68 61 72 49 73 41 57 6f |-----..C|harIsAWo|
|00000de0| 72 64 20 0d 09 0d 09 44 | 65 74 65 72 6d 69 6e 65 |rd ....D|etermine|
|00000df0| 20 77 68 65 74 68 65 72 | 20 6f 72 20 6e 6f 74 20 | whether| or not |
|00000e00| 61 20 73 69 6e 67 6c 65 | 20 63 68 61 72 61 63 74 |a single| charact|
|00000e10| 65 72 20 69 73 20 61 20 | 22 77 6f 72 64 22 20 28 |er is a |"word" (|
|00000e20| 61 20 6c 65 74 74 65 72 | 20 6f 72 0d 09 64 69 67 |a letter| or..dig|
|00000e30| 69 74 29 2e 0d 09 0d 09 | 45 6e 74 72 79 3a 09 73 |it).....|Entry:.s|
|00000e40| 74 72 20 3d 20 70 6f 69 | 6e 74 65 72 20 74 6f 20 |tr = poi|nter to |
|00000e50| 73 74 72 69 6e 67 2e 0d | 09 09 09 6f 66 66 73 65 |string..|...offse|
|00000e60| 74 20 3d 20 6f 66 66 73 | 65 74 20 69 6e 20 73 74 |t = offs|et in st|
|00000e70| 72 69 6e 67 20 6f 66 20 | 63 68 61 72 61 63 74 65 |ring of |characte|
|00000e80| 72 2e 0d 09 0d 09 45 78 | 69 74 3a 09 66 75 6e 63 |r.....Ex|it:.func|
|00000e90| 74 69 6f 6e 20 72 65 73 | 75 6c 74 20 3d 20 74 72 |tion res|ult = tr|
|00000ea0| 75 65 20 69 66 20 63 68 | 61 72 61 63 74 65 72 20 |ue if ch|aracter |
|00000eb0| 69 73 20 61 20 22 77 6f | 72 64 22 2e 0d 2d 2d 2d |is a "wo|rd"..---|
|00000ec0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ed0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ee0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000ef0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000f00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2a 2f 0d 0d 73 74 61 |--------|-*/..sta|
|00000f10| 74 69 63 20 42 6f 6f 6c | 65 61 6e 20 43 68 61 72 |tic Bool|ean Char|
|00000f20| 49 73 41 57 6f 72 64 20 | 28 50 74 72 20 73 74 72 |IsAWord |(Ptr str|
|00000f30| 2c 20 73 68 6f 72 74 20 | 6f 66 66 73 65 74 29 0d |, short |offset).|
|00000f40| 7b 0d 09 73 68 6f 72 74 | 20 78 2c 20 63 68 61 72 |{..short| x, char|
|00000f50| 54 79 70 65 2c 20 63 68 | 61 72 43 6c 61 73 73 3b |Type, ch|arClass;|
|00000f60| 0d 0d 09 78 20 3d 20 43 | 68 61 72 54 79 70 65 28 |...x = C|harType(|
|00000f70| 73 74 72 2c 20 6f 66 66 | 73 65 74 29 3b 0d 09 63 |str, off|set);..c|
|00000f80| 68 61 72 54 79 70 65 20 | 3d 20 78 20 26 20 73 6d |harType |= x & sm|
|00000f90| 63 54 79 70 65 4d 61 73 | 6b 3b 0d 09 63 68 61 72 |cTypeMas|k;..char|
|00000fa0| 43 6c 61 73 73 20 3d 20 | 78 20 26 20 73 6d 63 43 |Class = |x & smcC|
|00000fb0| 6c 61 73 73 4d 61 73 6b | 3b 0d 09 69 66 20 28 63 |lassMask|;..if (c|
|00000fc0| 68 61 72 54 79 70 65 20 | 3d 3d 20 73 6d 43 68 61 |harType |== smCha|
|00000fd0| 72 41 73 63 69 69 20 7c | 7c 20 63 68 61 72 54 79 |rAscii ||| charTy|
|00000fe0| 70 65 20 3d 3d 20 73 6d | 43 68 61 72 45 78 74 41 |pe == sm|CharExtA|
|00000ff0| 73 63 69 69 29 20 72 65 | 74 75 72 6e 20 74 72 75 |scii) re|turn tru|
|00001000| 65 3b 0d 09 69 66 20 28 | 63 68 61 72 54 79 70 65 |e;..if (|charType|
|00001010| 20 3d 3d 20 73 6d 43 68 | 61 72 50 75 6e 63 74 20 | == smCh|arPunct |
|00001020| 26 26 20 63 68 61 72 43 | 6c 61 73 73 20 3d 3d 20 |&& charC|lass == |
|00001030| 73 6d 50 75 6e 63 74 4e | 75 6d 62 65 72 29 20 72 |smPunctN|umber) r|
|00001040| 65 74 75 72 6e 20 74 72 | 75 65 3b 0d 09 72 65 74 |eturn tr|ue;..ret|
|00001050| 75 72 6e 20 66 61 6c 73 | 65 3b 0d 7d 0d 0d 0d 0d |urn fals|e;.}....|
|00001060| 2f 2a 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |/*------|--------|
|00001070| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001080| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001090| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000010a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 09 |--------|------..|
|000010b0| 49 73 57 6f 72 64 53 74 | 61 72 74 20 0d 09 0d 09 |IsWordSt|art ....|
|000010c0| 44 65 74 65 72 6d 69 6e | 65 20 77 68 65 74 68 65 |Determin|e whethe|
|000010d0| 72 20 6f 72 20 6e 6f 74 | 20 61 20 67 69 76 65 6e |r or not| a given|
|000010e0| 20 6f 66 66 73 65 74 20 | 69 6e 20 61 20 73 74 72 | offset |in a str|
|000010f0| 69 6e 67 20 6f 66 20 74 | 65 78 74 20 69 73 20 74 |ing of t|ext is t|
|00001100| 68 65 20 0d 09 62 65 67 | 69 6e 6e 69 6e 67 20 6f |he ..beg|inning o|
|00001110| 66 20 61 20 77 6f 72 64 | 2e 0d 09 0d 09 45 6e 74 |f a word|.....Ent|
|00001120| 72 79 3a 09 73 74 72 20 | 3d 20 70 6f 69 6e 74 65 |ry:.str |= pointe|
|00001130| 72 20 74 6f 20 73 74 72 | 69 6e 67 2e 0d 09 09 09 |r to str|ing.....|
|00001140| 6c 65 6e 20 3d 20 6c 65 | 6e 67 74 68 20 6f 66 20 |len = le|ngth of |
|00001150| 73 74 72 69 6e 67 2e 0d | 09 09 09 6f 66 66 73 65 |string..|...offse|
|00001160| 74 20 3d 20 6f 66 66 73 | 65 74 20 69 6e 20 73 74 |t = offs|et in st|
|00001170| 72 69 6e 67 2e 0d 09 0d | 09 45 78 69 74 3a 09 66 |ring....|.Exit:.f|
|00001180| 75 6e 63 74 69 6f 6e 20 | 72 65 73 75 6c 74 20 3d |unction |result =|
|00001190| 20 74 72 75 65 20 69 66 | 20 6f 66 66 73 65 74 20 | true if| offset |
|000011a0| 69 73 20 61 74 20 62 65 | 67 69 6e 6e 69 6e 67 20 |is at be|ginning |
|000011b0| 6f 66 20 61 20 77 6f 72 | 64 2e 0d 2d 2d 2d 2d 2d |of a wor|d..-----|
|000011c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000011d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000011e0| 2d 2d 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 2d 2d 2d 2d 2d 2a | 2f 0d 0d 73 74 61 74 69 |-------*|/..stati|
|00001210| 63 20 42 6f 6f 6c 65 61 | 6e 20 49 73 57 6f 72 64 |c Boolea|n IsWord|
|00001220| 53 74 61 72 74 20 28 50 | 74 72 20 73 74 72 2c 20 |Start (P|tr str, |
|00001230| 73 68 6f 72 74 20 6c 65 | 6e 2c 20 73 68 6f 72 74 |short le|n, short|
|00001240| 20 6f 66 66 73 65 74 29 | 0d 7b 0d 09 4f 66 66 73 | offset)|.{..Offs|
|00001250| 65 74 54 61 62 6c 65 20 | 6f 66 66 73 65 74 73 3b |etTable |offsets;|
|00001260| 0d 09 73 68 6f 72 74 20 | 6f 66 66 46 69 72 73 74 |..short |offFirst|
|00001270| 2c 20 6f 66 66 53 65 63 | 6f 6e 64 3b 0d 0d 09 46 |, offSec|ond;...F|
|00001280| 69 6e 64 57 6f 72 64 28 | 73 74 72 2c 20 6c 65 6e |indWord(|str, len|
|00001290| 2c 20 6f 66 66 73 65 74 | 2c 20 74 72 75 65 2c 20 |, offset|, true, |
|000012a0| 6e 69 6c 2c 20 6f 66 66 | 73 65 74 73 29 3b 0d 09 |nil, off|sets);..|
|000012b0| 6f 66 66 46 69 72 73 74 | 20 3d 20 6f 66 66 73 65 |offFirst| = offse|
|000012c0| 74 73 5b 30 5d 2e 6f 66 | 66 46 69 72 73 74 3b 0d |ts[0].of|fFirst;.|
|000012d0| 09 6f 66 66 53 65 63 6f | 6e 64 20 3d 20 6f 66 66 |.offSeco|nd = off|
|000012e0| 73 65 74 73 5b 30 5d 2e | 6f 66 66 53 65 63 6f 6e |sets[0].|offSecon|
|000012f0| 64 3b 0d 09 69 66 20 28 | 6f 66 66 46 69 72 73 74 |d;..if (|offFirst|
|00001300| 20 21 3d 20 6f 66 66 73 | 65 74 29 20 72 65 74 75 | != offs|et) retu|
|00001310| 72 6e 20 66 61 6c 73 65 | 3b 0d 09 69 66 20 28 6f |rn false|;..if (o|
|00001320| 66 66 53 65 63 6f 6e 64 | 20 3e 20 6f 66 66 46 69 |ffSecond| > offFi|
|00001330| 72 73 74 20 2b 20 31 29 | 20 72 65 74 75 72 6e 20 |rst + 1)| return |
|00001340| 74 72 75 65 3b 0d 09 72 | 65 74 75 72 6e 20 43 68 |true;..r|eturn Ch|
|00001350| 61 72 49 73 41 57 6f 72 | 64 28 73 74 72 2c 20 6f |arIsAWor|d(str, o|
|00001360| 66 66 46 69 72 73 74 29 | 3b 0d 7d 0d 0d 0d 0d 2f |ffFirst)|;.}..../|
|00001370| 2a 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |*-------|--------|
|00001380| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001390| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000013a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000013b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 0d 09 49 |--------|-----..I|
|000013c0| 73 57 6f 72 64 45 6e 64 | 20 0d 09 0d 09 44 65 74 |sWordEnd| ....Det|
|000013d0| 65 72 6d 69 6e 65 20 77 | 68 65 74 68 65 72 20 6f |ermine w|hether o|
|000013e0| 72 20 6e 6f 74 20 61 20 | 67 69 76 65 6e 20 6f 66 |r not a |given of|
|000013f0| 66 73 65 74 20 69 6e 20 | 61 20 73 74 72 69 6e 67 |fset in |a string|
|00001400| 20 6f 66 20 74 65 78 74 | 20 69 73 20 74 68 65 20 | of text| is the |
|00001410| 0d 09 65 6e 64 20 6f 66 | 20 61 20 77 6f 72 64 2e |..end of| a word.|
|00001420| 0d 09 0d 09 45 6e 74 72 | 79 3a 09 73 74 72 20 3d |....Entr|y:.str =|
|00001430| 20 70 6f 69 6e 74 65 72 | 20 74 6f 20 73 74 72 69 | pointer| to stri|
|00001440| 6e 67 2e 0d 09 09 09 6c | 65 6e 20 3d 20 6c 65 6e |ng.....l|en = len|
|00001450| 67 74 68 20 6f 66 20 73 | 74 72 69 6e 67 2e 0d 09 |gth of s|tring...|
|00001460| 09 09 6f 66 66 73 65 74 | 20 3d 20 6f 66 66 73 65 |..offset| = offse|
|00001470| 74 20 69 6e 20 73 74 72 | 69 6e 67 2e 0d 09 0d 09 |t in str|ing.....|
|00001480| 45 78 69 74 3a 09 66 75 | 6e 63 74 69 6f 6e 20 72 |Exit:.fu|nction r|
|00001490| 65 73 75 6c 74 20 3d 20 | 74 72 75 65 20 69 66 20 |esult = |true if |
|000014a0| 6f 66 66 73 65 74 20 69 | 73 20 61 74 20 65 6e 64 |offset i|s at end|
|000014b0| 20 6f 66 20 61 20 77 6f | 72 64 2e 0d 2d 2d 2d 2d | of a wo|rd..----|
|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 | 2a 2f 0d 0d 73 74 61 74 |--------|*/..stat|
|00001510| 69 63 20 42 6f 6f 6c 65 | 61 6e 20 49 73 57 6f 72 |ic Boole|an IsWor|
|00001520| 64 45 6e 64 20 28 50 74 | 72 20 73 74 72 2c 20 73 |dEnd (Pt|r str, s|
|00001530| 68 6f 72 74 20 6c 65 6e | 2c 20 73 68 6f 72 74 20 |hort len|, short |
|00001540| 6f 66 66 73 65 74 29 0d | 7b 0d 09 4f 66 66 73 65 |offset).|{..Offse|
|00001550| 74 54 61 62 6c 65 20 6f | 66 66 73 65 74 73 3b 0d |tTable o|ffsets;.|
|00001560| 09 73 68 6f 72 74 20 6f | 66 66 46 69 72 73 74 2c |.short o|ffFirst,|
|00001570| 20 6f 66 66 53 65 63 6f | 6e 64 3b 0d 0d 09 46 69 | offSeco|nd;...Fi|
|00001580| 6e 64 57 6f 72 64 28 73 | 74 72 2c 20 6c 65 6e 2c |ndWord(s|tr, len,|
|00001590| 20 6f 66 66 73 65 74 2c | 20 66 61 6c 73 65 2c 20 | offset,| false, |
|000015a0| 6e 69 6c 2c 20 6f 66 66 | 73 65 74 73 29 3b 0d 09 |nil, off|sets);..|
|000015b0| 6f 66 66 46 69 72 73 74 | 20 3d 20 6f 66 66 73 65 |offFirst| = offse|
|000015c0| 74 73 5b 30 5d 2e 6f 66 | 66 46 69 72 73 74 3b 0d |ts[0].of|fFirst;.|
|000015d0| 09 6f 66 66 53 65 63 6f | 6e 64 20 3d 20 6f 66 66 |.offSeco|nd = off|
|000015e0| 73 65 74 73 5b 30 5d 2e | 6f 66 66 53 65 63 6f 6e |sets[0].|offSecon|
|000015f0| 64 3b 0d 09 69 66 20 28 | 6f 66 66 73 65 74 20 21 |d;..if (|offset !|
|00001600| 3d 20 6f 66 66 53 65 63 | 6f 6e 64 29 20 72 65 74 |= offSec|ond) ret|
|00001610| 75 72 6e 20 66 61 6c 73 | 65 3b 0d 09 69 66 20 28 |urn fals|e;..if (|
|00001620| 6f 66 66 53 65 63 6f 6e | 64 20 3e 20 6f 66 66 46 |offSecon|d > offF|
|00001630| 69 72 73 74 20 2b 20 31 | 29 20 72 65 74 75 72 6e |irst + 1|) return|
|00001640| 20 74 72 75 65 3b 0d 09 | 72 65 74 75 72 6e 20 43 | true;..|return C|
|00001650| 68 61 72 49 73 41 57 6f | 72 64 28 73 74 72 2c 20 |harIsAWo|rd(str, |
|00001660| 6f 66 66 46 69 72 73 74 | 29 3b 0d 7d 0d 0d 0d 0d |offFirst|);.}....|
|00001670| 2f 2a 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |/*------|--------|
|00001680| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001690| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000016a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000016b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 09 |--------|------..|
|000016c0| 4d 79 54 45 44 65 6c 65 | 74 65 20 0d 09 0d 09 44 |MyTEDele|te ....D|
|000016d0| 65 6c 65 74 65 20 74 65 | 78 74 20 69 6e 74 65 6c |elete te|xt intel|
|000016e0| 6c 69 67 65 6e 74 6c 79 | 2e 0d 09 0d 09 45 6e 74 |ligently|.....Ent|
|000016f0| 72 79 3a 09 74 68 65 54 | 45 20 3d 20 68 61 6e 64 |ry:.theT|E = hand|
|00001700| 6c 65 20 74 6f 20 54 65 | 78 74 45 64 69 74 20 72 |le to Te|xtEdit r|
|00001710| 65 63 6f 72 64 2e 0d 09 | 09 09 63 75 74 20 3d 20 |ecord...|..cut = |
|00001720| 74 72 75 65 20 74 6f 20 | 63 75 74 20 74 65 78 74 |true to |cut text|
|00001730| 20 74 6f 20 63 6c 69 70 | 62 6f 61 72 64 2c 20 66 | to clip|board, f|
|00001740| 61 6c 73 65 20 74 6f 20 | 6a 75 73 74 20 64 65 6c |alse to |just del|
|00001750| 65 74 65 20 69 74 2e 0d | 09 0d 09 45 78 69 74 3a |ete it..|...Exit:|
|00001760| 09 2a 65 78 74 72 61 53 | 70 61 63 65 44 65 6c 65 |.*extraS|paceDele|
|00001770| 74 65 64 20 3d 20 74 72 | 75 65 20 69 66 20 61 6e |ted = tr|ue if an|
|00001780| 20 65 78 74 72 61 20 73 | 70 61 63 65 20 63 68 61 | extra s|pace cha|
|00001790| 72 61 63 74 65 72 20 77 | 61 73 20 64 65 6c 65 74 |racter w|as delet|
|000017a0| 65 64 0d 09 09 09 09 62 | 65 66 6f 72 65 20 6f 72 |ed.....b|efore or|
|000017b0| 20 61 66 74 65 72 20 74 | 68 65 20 73 65 6c 65 63 | after t|he selec|
|000017c0| 74 65 64 20 74 65 78 74 | 2e 0d 09 0d 09 41 64 61 |ted text|.....Ada|
|000017d0| 70 74 65 64 20 66 72 6f | 6d 20 41 70 70 6c 65 27 |pted fro|m Apple'|
|000017e0| 73 20 22 44 72 61 67 54 | 65 78 74 22 20 73 61 6d |s "DragT|ext" sam|
|000017f0| 70 6c 65 20 63 6f 64 65 | 2e 0d 2d 2d 2d 2d 2d 2d |ple code|..------|
|00001800| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001810| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001820| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001830| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001840| 2d 2d 2d 2d 2d 2d 2a 2f | 0d 0d 76 6f 69 64 20 4d |------*/|..void M|
|00001850| 79 54 45 44 65 6c 65 74 | 65 20 28 54 45 48 61 6e |yTEDelet|e (TEHan|
|00001860| 64 6c 65 20 74 68 65 54 | 45 2c 20 42 6f 6f 6c 65 |dle theT|E, Boole|
|00001870| 61 6e 20 63 75 74 2c 20 | 42 6f 6f 6c 65 61 6e 20 |an cut, |Boolean |
|00001880| 2a 65 78 74 72 61 53 70 | 61 63 65 44 65 6c 65 74 |*extraSp|aceDelet|
|00001890| 65 64 29 0d 7b 09 0d 09 | 73 68 6f 72 74 20 73 65 |ed).{...|short se|
|000018a0| 6c 53 74 61 72 74 2c 20 | 73 65 6c 45 6e 64 2c 20 |lStart, |selEnd, |
|000018b0| 74 65 4c 65 6e 67 74 68 | 3b 0d 09 48 61 6e 64 6c |teLength|;..Handl|
|000018c0| 65 20 68 54 65 78 74 3b | 0d 09 63 68 61 72 20 73 |e hText;|..char s|
|000018d0| 74 61 74 65 3b 0d 09 42 | 6f 6f 6c 65 61 6e 20 73 |tate;..B|oolean s|
|000018e0| 65 6c 53 74 61 72 74 73 | 57 69 74 68 57 6f 72 64 |elStarts|WithWord|
|000018f0| 2c 20 73 65 6c 45 6e 64 | 73 57 69 74 68 57 6f 72 |, selEnd|sWithWor|
|00001900| 64 3b 0d 09 09 0d 09 73 | 65 6c 53 74 61 72 74 20 |d;.....s|elStart |
|00001910| 3d 20 28 2a 2a 74 68 65 | 54 45 29 2e 73 65 6c 53 |= (**the|TE).selS|
|00001920| 74 61 72 74 3b 0d 09 73 | 65 6c 45 6e 64 20 3d 20 |tart;..s|elEnd = |
|00001930| 28 2a 2a 74 68 65 54 45 | 29 2e 73 65 6c 45 6e 64 |(**theTE|).selEnd|
|00001940| 3b 0d 09 69 66 20 28 73 | 65 6c 53 74 61 72 74 20 |;..if (s|elStart |
|00001950| 3e 3d 20 73 65 6c 45 6e | 64 29 20 72 65 74 75 72 |>= selEn|d) retur|
|00001960| 6e 3b 0d 09 74 65 4c 65 | 6e 67 74 68 20 3d 20 28 |n;..teLe|ngth = (|
|00001970| 2a 2a 74 68 65 54 45 29 | 2e 74 65 4c 65 6e 67 74 |**theTE)|.teLengt|
|00001980| 68 3b 0d 09 68 54 65 78 | 74 20 3d 20 28 2a 2a 74 |h;..hTex|t = (**t|
|00001990| 68 65 54 45 29 2e 68 54 | 65 78 74 3b 0d 09 0d 09 |heTE).hT|ext;....|
|000019a0| 73 74 61 74 65 20 3d 20 | 4d 79 48 47 65 74 53 74 |state = |MyHGetSt|
|000019b0| 61 74 65 28 68 54 65 78 | 74 29 3b 0d 09 48 4c 6f |ate(hTex|t);..HLo|
|000019c0| 63 6b 28 68 54 65 78 74 | 29 3b 0d 09 73 65 6c 53 |ck(hText|);..selS|
|000019d0| 74 61 72 74 73 57 69 74 | 68 57 6f 72 64 20 3d 20 |tartsWit|hWord = |
|000019e0| 49 73 57 6f 72 64 53 74 | 61 72 74 28 2a 68 54 65 |IsWordSt|art(*hTe|
|000019f0| 78 74 2c 20 74 65 4c 65 | 6e 67 74 68 2c 20 73 65 |xt, teLe|ngth, se|
|00001a00| 6c 53 74 61 72 74 29 3b | 0d 09 73 65 6c 45 6e 64 |lStart);|..selEnd|
|00001a10| 73 57 69 74 68 57 6f 72 | 64 20 3d 20 49 73 57 6f |sWithWor|d = IsWo|
|00001a20| 72 64 45 6e 64 28 2a 68 | 54 65 78 74 2c 20 74 65 |rdEnd(*h|Text, te|
|00001a30| 4c 65 6e 67 74 68 2c 20 | 73 65 6c 45 6e 64 29 3b |Length, |selEnd);|
|00001a40| 0d 09 4d 79 48 53 65 74 | 53 74 61 74 65 28 68 54 |..MyHSet|State(hT|
|00001a50| 65 78 74 2c 20 73 74 61 | 74 65 29 3b 0d 09 0d 09 |ext, sta|te);....|
|00001a60| 69 66 20 28 63 75 74 29 | 20 7b 0d 09 09 54 45 43 |if (cut)| {...TEC|
|00001a70| 75 74 28 74 68 65 54 45 | 29 3b 0d 09 09 5a 65 72 |ut(theTE|);...Zer|
|00001a80| 6f 53 63 72 61 70 28 29 | 3b 0d 09 09 54 45 54 6f |oScrap()|;...TETo|
|00001a90| 53 63 72 61 70 28 29 3b | 0d 09 7d 20 65 6c 73 65 |Scrap();|..} else|
|00001aa0| 20 7b 0d 09 09 54 45 44 | 65 6c 65 74 65 28 74 68 | {...TED|elete(th|
|00001ab0| 65 54 45 29 3b 0d 09 7d | 0d 09 0d 09 2a 65 78 74 |eTE);..}|....*ext|
|00001ac0| 72 61 53 70 61 63 65 44 | 65 6c 65 74 65 64 20 3d |raSpaceD|eleted =|
|00001ad0| 20 66 61 6c 73 65 3b 0d | 09 69 66 20 28 73 65 6c | false;.|.if (sel|
|00001ae0| 53 74 61 72 74 73 57 69 | 74 68 57 6f 72 64 20 26 |StartsWi|thWord &|
|00001af0| 26 20 73 65 6c 45 6e 64 | 73 57 69 74 68 57 6f 72 |& selEnd|sWithWor|
|00001b00| 64 29 20 7b 0d 09 09 69 | 66 20 28 73 65 6c 53 74 |d) {...i|f (selSt|
|00001b10| 61 72 74 20 3e 20 30 20 | 26 26 20 28 2a 68 54 65 |art > 0 |&& (*hTe|
|00001b20| 78 74 29 5b 73 65 6c 53 | 74 61 72 74 2d 31 5d 20 |xt)[selS|tart-1] |
|00001b30| 3d 3d 20 27 20 27 29 20 | 7b 0d 09 09 09 54 45 53 |== ' ') |{....TES|
|00001b40| 65 74 53 65 6c 65 63 74 | 28 73 65 6c 53 74 61 72 |etSelect|(selStar|
|00001b50| 74 2d 31 2c 20 73 65 6c | 53 74 61 72 74 2c 20 74 |t-1, sel|Start, t|
|00001b60| 68 65 54 45 29 3b 0d 09 | 09 09 54 45 44 65 6c 65 |heTE);..|..TEDele|
|00001b70| 74 65 28 74 68 65 54 45 | 29 3b 0d 09 09 09 2a 65 |te(theTE|);....*e|
|00001b80| 78 74 72 61 53 70 61 63 | 65 44 65 6c 65 74 65 64 |xtraSpac|eDeleted|
|00001b90| 20 3d 20 74 72 75 65 3b | 0d 09 09 7d 20 65 6c 73 | = true;|...} els|
|00001ba0| 65 20 69 66 20 28 73 65 | 6c 45 6e 64 20 3c 20 74 |e if (se|lEnd < t|
|00001bb0| 65 4c 65 6e 67 74 68 20 | 26 26 20 28 2a 68 54 65 |eLength |&& (*hTe|
|00001bc0| 78 74 29 5b 73 65 6c 53 | 74 61 72 74 5d 20 3d 3d |xt)[selS|tart] ==|
|00001bd0| 20 27 20 27 29 20 7b 0d | 09 09 09 54 45 53 65 74 | ' ') {.|...TESet|
|00001be0| 53 65 6c 65 63 74 28 73 | 65 6c 53 74 61 72 74 2c |Select(s|elStart,|
|00001bf0| 20 73 65 6c 53 74 61 72 | 74 2b 31 2c 20 74 68 65 | selStar|t+1, the|
|00001c00| 54 45 29 3b 0d 09 09 09 | 54 45 44 65 6c 65 74 65 |TE);....|TEDelete|
|00001c10| 28 74 68 65 54 45 29 3b | 0d 09 09 09 2a 65 78 74 |(theTE);|....*ext|
|00001c20| 72 61 53 70 61 63 65 44 | 65 6c 65 74 65 64 20 3d |raSpaceD|eleted =|
|00001c30| 20 74 72 75 65 3b 0d 09 | 09 7d 0d 09 7d 0d 7d 0d | true;..|.}..}.}.|
|00001c40| 0d 0d 0d 2f 2a 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.../*---|--------|
|00001c50| 2d 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 2d 2d |--------|--------|
|00001c70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001c80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001c90| 2d 0d 09 4d 79 54 45 43 | 75 74 20 0d 09 0d 09 43 |-..MyTEC|ut ....C|
|00001ca0| 75 74 20 74 65 78 74 20 | 69 6e 74 65 6c 6c 69 67 |ut text |intellig|
|00001cb0| 65 6e 74 6c 79 2e 0d 09 | 0d 09 45 6e 74 72 79 3a |ently...|..Entry:|
|00001cc0| 09 74 68 65 54 45 20 3d | 20 68 61 6e 64 6c 65 20 |.theTE =| handle |
|00001cd0| 74 6f 20 54 65 78 74 45 | 64 69 74 20 72 65 63 6f |to TextE|dit reco|
|00001ce0| 72 64 2e 0d 09 0d 09 41 | 64 61 70 74 65 64 20 66 |rd.....A|dapted f|
|00001cf0| 72 6f 6d 20 41 70 70 6c | 65 27 73 20 22 44 72 61 |rom Appl|e's "Dra|
|00001d00| 67 54 65 78 74 22 20 73 | 61 6d 70 6c 65 20 63 6f |gText" s|ample co|
|00001d10| 64 65 2e 0d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |de..----|--------|
|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 2d 2d 2d 2d |--------|--------|
|00001d60| 2a 2f 0d 0d 76 6f 69 64 | 20 4d 79 54 45 43 75 74 |*/..void| MyTECut|
|00001d70| 20 28 54 45 48 61 6e 64 | 6c 65 20 74 68 65 54 45 | (TEHand|le theTE|
|00001d80| 29 0d 7b 09 0d 09 42 6f | 6f 6c 65 61 6e 20 65 78 |).{...Bo|olean ex|
|00001d90| 74 72 61 53 70 61 63 65 | 44 65 6c 65 74 65 64 3b |traSpace|Deleted;|
|00001da0| 0d 0d 09 4d 79 54 45 44 | 65 6c 65 74 65 28 74 68 |...MyTED|elete(th|
|00001db0| 65 54 45 2c 20 74 72 75 | 65 2c 20 26 65 78 74 72 |eTE, tru|e, &extr|
|00001dc0| 61 53 70 61 63 65 44 65 | 6c 65 74 65 64 29 3b 0d |aSpaceDe|leted);.|
|00001dd0| 7d 0d 0d 0d 0d 2f 2a 2d | 2d 2d 2d 2d 2d 2d 2d 2d |}..../*-|--------|
|00001de0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001df0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001e00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001e10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001e20| 2d 2d 2d 0d 09 4d 79 54 | 45 43 6f 70 79 20 0d 09 |---..MyT|ECopy ..|
|00001e30| 0d 09 43 6f 70 79 20 74 | 65 78 74 2e 0d 09 09 09 |..Copy t|ext.....|
|00001e40| 0d 09 45 6e 74 72 79 3a | 09 74 68 65 54 45 20 3d |..Entry:|.theTE =|
|00001e50| 20 68 61 6e 64 6c 65 20 | 74 6f 20 54 65 78 74 45 | handle |to TextE|
|00001e60| 64 69 74 20 72 65 63 6f | 72 64 2e 0d 2d 2d 2d 2d |dit reco|rd..----|
|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 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001eb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2a 2f 0d 0d 76 6f 69 64 |--------|*/..void|
|00001ec0| 20 4d 79 54 45 43 6f 70 | 79 20 28 54 45 48 61 6e | MyTECop|y (TEHan|
|00001ed0| 64 6c 65 20 74 68 65 54 | 45 29 0d 7b 0d 09 54 45 |dle theT|E).{..TE|
|00001ee0| 43 6f 70 79 28 74 68 65 | 54 45 29 3b 0d 09 5a 65 |Copy(the|TE);..Ze|
|00001ef0| 72 6f 53 63 72 61 70 28 | 29 3b 0d 09 54 45 54 6f |roScrap(|);..TETo|
|00001f00| 53 63 72 61 70 28 29 3b | 0d 7d 0d 0d 0d 0d 2f 2a |Scrap();|.}..../*|
|00001f10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001f20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001f30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001f40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00001f50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 0d 09 4d 79 |--------|----..My|
|00001f60| 54 45 50 61 73 74 65 20 | 0d 09 0d 09 50 61 73 74 |TEPaste |....Past|
|00001f70| 65 20 74 65 78 74 20 69 | 6e 74 65 6c 6c 69 67 65 |e text i|ntellige|
|00001f80| 6e 74 6c 79 2e 0d 09 09 | 09 0d 09 45 6e 74 72 79 |ntly....|...Entry|
|00001f90| 3a 09 74 65 78 74 20 3d | 20 70 6f 69 6e 74 65 72 |:.text =| pointer|
|00001fa0| 20 74 6f 20 74 65 78 74 | 20 74 6f 20 62 65 20 70 | to text| to be p|
|00001fb0| 61 73 74 65 64 2c 20 6f | 72 20 6e 69 6c 20 69 66 |asted, o|r nil if|
|00001fc0| 20 74 68 65 0d 09 09 09 | 09 74 65 78 74 20 74 6f | the....|.text to|
|00001fd0| 20 62 65 20 70 61 73 74 | 65 64 20 69 73 20 69 6e | be past|ed is in|
|00001fe0| 20 74 68 65 20 54 65 78 | 74 45 64 69 74 20 73 63 | the Tex|tEdit sc|
|00001ff0| 72 61 70 2e 0d 09 09 09 | 6c 65 6e 20 3d 20 6c 65 |rap.....|len = le|
|00002000| 6e 67 74 68 20 6f 66 20 | 74 65 78 74 20 74 6f 20 |ngth of |text to |
|00002010| 62 65 20 70 61 73 74 65 | 64 2e 0d 09 09 09 74 68 |be paste|d.....th|
|00002020| 65 54 45 20 3d 20 68 61 | 6e 64 6c 65 20 74 6f 20 |eTE = ha|ndle to |
|00002030| 54 65 78 74 45 64 69 74 | 20 72 65 63 6f 72 64 2e |TextEdit| record.|
|00002040| 0d 09 09 09 6d 61 78 4c | 65 6e 20 3d 20 6d 61 78 |....maxL|en = max|
|00002050| 69 6d 75 6d 20 6c 65 67 | 61 6c 20 6c 65 6e 67 74 |imum leg|al lengt|
|00002060| 68 20 66 6f 72 20 74 68 | 69 73 20 54 65 78 74 45 |h for th|is TextE|
|00002070| 64 69 74 20 66 69 65 6c | 64 2e 0d 09 09 09 0d 09 |dit fiel|d.......|
|00002080| 45 78 69 74 3a 09 2a 65 | 78 74 72 61 53 70 61 63 |Exit:.*e|xtraSpac|
|00002090| 65 41 64 64 65 64 49 6e | 46 72 6f 6e 74 20 3d 20 |eAddedIn|Front = |
|000020a0| 74 72 75 65 20 69 66 20 | 65 78 74 72 61 20 73 70 |true if |extra sp|
|000020b0| 61 63 65 20 63 68 61 72 | 61 63 74 65 72 20 61 64 |ace char|acter ad|
|000020c0| 64 65 64 0d 09 09 09 09 | 69 6e 20 66 72 6f 6e 74 |ded.....|in front|
|000020d0| 20 6f 66 20 70 61 73 74 | 65 64 20 74 65 78 74 2e | of past|ed text.|
|000020e0| 0d 09 0d 09 41 64 61 70 | 74 65 64 20 66 72 6f 6d |....Adap|ted from|
|000020f0| 20 41 70 70 6c 65 27 73 | 20 22 44 72 61 67 54 65 | Apple's| "DragTe|
|00002100| 78 74 22 20 73 61 6d 70 | 6c 65 20 63 6f 64 65 2e |xt" samp|le code.|
|00002110| 0d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.-------|--------|
|00002120| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002130| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002140| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002150| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2a 2f 0d |--------|-----*/.|
|00002160| 0d 76 6f 69 64 20 4d 79 | 54 45 50 61 73 74 65 20 |.void My|TEPaste |
|00002170| 28 50 74 72 20 74 65 78 | 74 2c 20 73 68 6f 72 74 |(Ptr tex|t, short|
|00002180| 20 6c 65 6e 2c 20 54 45 | 48 61 6e 64 6c 65 20 74 | len, TE|Handle t|
|00002190| 68 65 54 45 2c 20 73 68 | 6f 72 74 20 6d 61 78 4c |heTE, sh|ort maxL|
|000021a0| 65 6e 2c 20 0d 09 42 6f | 6f 6c 65 61 6e 20 2a 65 |en, ..Bo|olean *e|
|000021b0| 78 74 72 61 53 70 61 63 | 65 41 64 64 65 64 49 6e |xtraSpac|eAddedIn|
|000021c0| 46 72 6f 6e 74 29 0d 7b | 0d 09 48 61 6e 64 6c 65 |Front).{|..Handle|
|000021d0| 20 68 3b 0d 09 63 68 61 | 72 20 73 74 61 74 65 3b | h;..cha|r state;|
|000021e0| 0d 09 42 6f 6f 6c 65 61 | 6e 20 6e 65 77 54 65 78 |..Boolea|n newTex|
|000021f0| 74 53 74 61 72 74 73 57 | 69 74 68 57 6f 72 64 2c |tStartsW|ithWord,|
|00002200| 20 6e 65 77 54 65 78 74 | 45 6e 64 73 57 69 74 68 | newText|EndsWith|
|00002210| 57 6f 72 64 3b 0d 09 73 | 68 6f 72 74 20 73 65 6c |Word;..s|hort sel|
|00002220| 53 74 61 72 74 2c 20 73 | 65 6c 45 6e 64 2c 20 74 |Start, s|elEnd, t|
|00002230| 65 4c 65 6e 67 74 68 3b | 0d 09 48 61 6e 64 6c 65 |eLength;|..Handle|
|00002240| 20 68 54 65 78 74 3b 0d | 09 42 6f 6f 6c 65 61 6e | hText;.|.Boolean|
|00002250| 20 77 6f 72 64 50 72 65 | 63 65 65 64 73 53 65 6c | wordPre|ceedsSel|
|00002260| 2c 20 77 6f 72 64 46 6f | 6c 6c 6f 77 73 53 65 6c |, wordFo|llowsSel|
|00002270| 3b 0d 09 42 6f 6f 6c 65 | 61 6e 20 72 6f 6f 6d 46 |;..Boole|an roomF|
|00002280| 6f 72 45 78 74 72 61 53 | 70 61 63 65 3b 0d 09 0d |orExtraS|pace;...|
|00002290| 09 2a 65 78 74 72 61 53 | 70 61 63 65 41 64 64 65 |.*extraS|paceAdde|
|000022a0| 64 49 6e 46 72 6f 6e 74 | 20 3d 20 66 61 6c 73 65 |dInFront| = false|
|000022b0| 3b 0d 09 0d 09 69 66 20 | 28 74 65 78 74 20 3d 3d |;....if |(text ==|
|000022c0| 20 6e 69 6c 29 20 6c 65 | 6e 20 3d 20 4d 79 54 45 | nil) le|n = MyTE|
|000022d0| 47 65 74 53 63 72 61 70 | 4c 65 6e 28 29 3b 0d 20 |GetScrap|Len();. |
|000022e0| 09 69 66 20 28 6c 65 6e | 20 3d 3d 20 30 29 20 72 |.if (len| == 0) r|
|000022f0| 65 74 75 72 6e 3b 0d 09 | 0d 09 69 66 20 28 74 65 |eturn;..|..if (te|
|00002300| 78 74 20 3d 3d 20 6e 69 | 6c 29 20 7b 0d 09 09 68 |xt == ni|l) {...h|
|00002310| 20 3d 20 54 45 53 63 72 | 61 70 48 61 6e 64 6c 65 | = TEScr|apHandle|
|00002320| 28 29 3b 0d 09 09 73 74 | 61 74 65 20 3d 20 4d 79 |();...st|ate = My|
|00002330| 48 47 65 74 53 74 61 74 | 65 28 68 29 3b 0d 09 09 |HGetStat|e(h);...|
|00002340| 48 4c 6f 63 6b 28 68 29 | 3b 0d 09 09 6e 65 77 54 |HLock(h)|;...newT|
|00002350| 65 78 74 53 74 61 72 74 | 73 57 69 74 68 57 6f 72 |extStart|sWithWor|
|00002360| 64 20 3d 20 49 73 57 6f | 72 64 53 74 61 72 74 28 |d = IsWo|rdStart(|
|00002370| 2a 68 2c 20 6c 65 6e 2c | 20 30 29 3b 0d 09 09 6e |*h, len,| 0);...n|
|00002380| 65 77 54 65 78 74 45 6e | 64 73 57 69 74 68 57 6f |ewTextEn|dsWithWo|
|00002390| 72 64 20 3d 20 49 73 57 | 6f 72 64 45 6e 64 28 2a |rd = IsW|ordEnd(*|
|000023a0| 68 2c 20 6c 65 6e 2c 20 | 6c 65 6e 29 3b 0d 09 09 |h, len, |len);...|
|000023b0| 4d 79 48 53 65 74 53 74 | 61 74 65 28 68 2c 20 73 |MyHSetSt|ate(h, s|
|000023c0| 74 61 74 65 29 3b 0d 09 | 7d 20 65 6c 73 65 20 7b |tate);..|} else {|
|000023d0| 0d 09 09 6e 65 77 54 65 | 78 74 53 74 61 72 74 73 |...newTe|xtStarts|
|000023e0| 57 69 74 68 57 6f 72 64 | 20 3d 20 49 73 57 6f 72 |WithWord| = IsWor|
|000023f0| 64 53 74 61 72 74 28 74 | 65 78 74 2c 20 6c 65 6e |dStart(t|ext, len|
|00002400| 2c 20 30 29 3b 0d 09 09 | 6e 65 77 54 65 78 74 45 |, 0);...|newTextE|
|00002410| 6e 64 73 57 69 74 68 57 | 6f 72 64 20 3d 20 49 73 |ndsWithW|ord = Is|
|00002420| 57 6f 72 64 45 6e 64 28 | 74 65 78 74 2c 20 6c 65 |WordEnd(|text, le|
|00002430| 6e 2c 20 6c 65 6e 29 3b | 0d 09 7d 0d 09 0d 09 69 |n, len);|..}....i|
|00002440| 66 20 28 6e 65 77 54 65 | 78 74 53 74 61 72 74 73 |f (newTe|xtStarts|
|00002450| 57 69 74 68 57 6f 72 64 | 20 26 26 20 6e 65 77 54 |WithWord| && newT|
|00002460| 65 78 74 45 6e 64 73 57 | 69 74 68 57 6f 72 64 29 |extEndsW|ithWord)|
|00002470| 20 7b 0d 09 09 0d 09 09 | 73 65 6c 53 74 61 72 74 | {......|selStart|
|00002480| 20 3d 20 28 2a 2a 74 68 | 65 54 45 29 2e 73 65 6c | = (**th|eTE).sel|
|00002490| 53 74 61 72 74 3b 0d 09 | 09 73 65 6c 45 6e 64 20 |Start;..|.selEnd |
|000024a0| 3d 20 28 2a 2a 74 68 65 | 54 45 29 2e 73 65 6c 45 |= (**the|TE).selE|
|000024b0| 6e 64 3b 0d 09 09 74 65 | 4c 65 6e 67 74 68 20 3d |nd;...te|Length =|
|000024c0| 20 28 2a 2a 74 68 65 54 | 45 29 2e 74 65 4c 65 6e | (**theT|E).teLen|
|000024d0| 67 74 68 3b 0d 09 09 68 | 54 65 78 74 20 3d 20 28 |gth;...h|Text = (|
|000024e0| 2a 2a 74 68 65 54 45 29 | 2e 68 54 65 78 74 3b 0d |**theTE)|.hText;.|
|000024f0| 09 09 0d 09 09 73 74 61 | 74 65 20 3d 20 4d 79 48 |.....sta|te = MyH|
|00002500| 47 65 74 53 74 61 74 65 | 28 68 54 65 78 74 29 3b |GetState|(hText);|
|00002510| 0d 09 09 48 4c 6f 63 6b | 28 68 54 65 78 74 29 3b |...HLock|(hText);|
|00002520| 0d 09 09 77 6f 72 64 50 | 72 65 63 65 65 64 73 53 |...wordP|receedsS|
|00002530| 65 6c 20 3d 20 73 65 6c | 53 74 61 72 74 20 3e 20 |el = sel|Start > |
|00002540| 30 20 26 26 20 49 73 57 | 6f 72 64 45 6e 64 28 2a |0 && IsW|ordEnd(*|
|00002550| 68 54 65 78 74 2c 20 74 | 65 4c 65 6e 67 74 68 2c |hText, t|eLength,|
|00002560| 20 73 65 6c 53 74 61 72 | 74 29 3b 0d 09 09 77 6f | selStar|t);...wo|
|00002570| 72 64 46 6f 6c 6c 6f 77 | 73 53 65 6c 20 3d 20 73 |rdFollow|sSel = s|
|00002580| 65 6c 45 6e 64 20 3c 20 | 74 65 4c 65 6e 67 74 68 |elEnd < |teLength|
|00002590| 20 26 26 20 49 73 57 6f | 72 64 53 74 61 72 74 28 | && IsWo|rdStart(|
|000025a0| 2a 68 54 65 78 74 2c 20 | 74 65 4c 65 6e 67 74 68 |*hText, |teLength|
|000025b0| 2c 20 73 65 6c 45 6e 64 | 29 3b 0d 09 09 4d 79 48 |, selEnd|);...MyH|
|000025c0| 53 65 74 53 74 61 74 65 | 28 68 54 65 78 74 2c 20 |SetState|(hText, |
|000025d0| 73 74 61 74 65 29 3b 0d | 09 09 0d 09 09 72 6f 6f |state);.|.....roo|
|000025e0| 6d 46 6f 72 45 78 74 72 | 61 53 70 61 63 65 20 3d |mForExtr|aSpace =|
|000025f0| 20 74 65 4c 65 6e 67 74 | 68 20 2d 20 28 73 65 6c | teLengt|h - (sel|
|00002600| 45 6e 64 20 2d 20 73 65 | 6c 53 74 61 72 74 29 20 |End - se|lStart) |
|00002610| 2b 20 6c 65 6e 20 3c 20 | 6d 61 78 4c 65 6e 3b 0d |+ len < |maxLen;.|
|00002620| 09 09 0d 09 09 69 66 20 | 28 72 6f 6f 6d 46 6f 72 |.....if |(roomFor|
|00002630| 45 78 74 72 61 53 70 61 | 63 65 29 20 7b 0d 09 09 |ExtraSpa|ce) {...|
|00002640| 09 69 66 20 28 77 6f 72 | 64 50 72 65 63 65 65 64 |.if (wor|dPreceed|
|00002650| 73 53 65 6c 29 20 7b 0d | 09 09 09 09 54 45 4b 65 |sSel) {.|....TEKe|
|00002660| 79 28 27 20 27 2c 20 74 | 68 65 54 45 29 3b 0d 09 |y(' ', t|heTE);..|
|00002670| 09 09 09 2a 65 78 74 72 | 61 53 70 61 63 65 41 64 |...*extr|aSpaceAd|
|00002680| 64 65 64 49 6e 46 72 6f | 6e 74 20 3d 20 74 72 75 |dedInFro|nt = tru|
|00002690| 65 3b 0d 09 09 09 7d 20 | 65 6c 73 65 20 69 66 20 |e;....} |else if |
|000026a0| 28 77 6f 72 64 46 6f 6c | 6c 6f 77 73 53 65 6c 29 |(wordFol|lowsSel)|
|000026b0| 20 7b 0d 09 09 09 09 54 | 45 4b 65 79 28 27 20 27 | {.....T|EKey(' '|
|000026c0| 2c 20 74 68 65 54 45 29 | 3b 0d 09 09 09 09 54 45 |, theTE)|;.....TE|
|000026d0| 53 65 74 53 65 6c 65 63 | 74 28 73 65 6c 53 74 61 |SetSelec|t(selSta|
|000026e0| 72 74 2c 20 73 65 6c 53 | 74 61 72 74 2c 20 74 68 |rt, selS|tart, th|
|000026f0| 65 54 45 29 3b 0d 09 09 | 09 7d 0d 09 09 7d 0d 09 |eTE);...|.}...}..|
|00002700| 09 0d 09 7d 0d 09 0d 09 | 69 66 20 28 74 65 78 74 |...}....|if (text|
|00002710| 20 3d 3d 20 6e 69 6c 29 | 20 7b 0d 09 09 54 45 50 | == nil)| {...TEP|
|00002720| 61 73 74 65 28 74 68 65 | 54 45 29 3b 0d 09 7d 20 |aste(the|TE);..} |
|00002730| 65 6c 73 65 20 7b 0d 09 | 09 54 45 44 65 6c 65 74 |else {..|.TEDelet|
|00002740| 65 28 74 68 65 54 45 29 | 3b 0d 09 09 54 45 49 6e |e(theTE)|;...TEIn|
|00002750| 73 65 72 74 28 74 65 78 | 74 2c 20 6c 65 6e 2c 20 |sert(tex|t, len, |
|00002760| 74 68 65 54 45 29 3b 0d | 09 7d 0d 7d 0d 0d 0d 0d |theTE);.|.}.}....|
|00002770| 2f 2a 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |/*------|--------|
|00002780| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002790| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000027a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000027b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 0d 09 |--------|------..|
|000027c0| 50 74 49 6e 54 45 48 69 | 6c 69 74 65 52 67 6e 20 |PtInTEHi|liteRgn |
|000027d0| 0d 09 0d 09 44 65 74 65 | 72 6d 69 6e 65 20 77 68 |....Dete|rmine wh|
|000027e0| 65 74 68 65 72 20 6f 72 | 20 6e 6f 74 20 61 20 70 |ether or| not a p|
|000027f0| 6f 69 6e 74 20 69 73 20 | 69 6e 20 74 68 65 20 63 |oint is |in the c|
|00002800| 75 72 72 65 6e 74 20 54 | 65 78 74 45 64 69 74 20 |urrent T|extEdit |
|00002810| 68 69 6c 69 74 65 0d 09 | 72 65 67 69 6f 6e 2e 0d |hilite..|region..|
|00002820| 09 09 09 0d 09 45 6e 74 | 72 79 3a 09 77 68 65 72 |.....Ent|ry:.wher|
|00002830| 65 20 3d 20 70 6f 69 6e | 74 20 69 6e 20 6c 6f 63 |e = poin|t in loc|
|00002840| 61 6c 20 63 6f 6f 72 64 | 73 2e 0d 09 09 09 74 68 |al coord|s.....th|
|00002850| 65 54 45 20 3d 20 68 61 | 6e 64 6c 65 20 74 6f 20 |eTE = ha|ndle to |
|00002860| 54 65 78 74 45 64 69 74 | 20 72 65 63 6f 72 64 2e |TextEdit| record.|
|00002870| 0d 09 09 09 0d 09 45 78 | 69 74 3a 09 66 75 6e 63 |......Ex|it:.func|
|00002880| 74 69 6f 6e 20 72 65 73 | 75 6c 74 20 3d 20 74 72 |tion res|ult = tr|
|00002890| 75 65 20 69 66 20 70 6f | 69 6e 74 20 69 73 20 69 |ue if po|int is i|
|000028a0| 6e 20 74 68 65 20 68 69 | 6c 69 74 65 20 72 65 67 |n the hi|lite reg|
|000028b0| 69 6f 6e 2e 0d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |ion..---|--------|
|000028c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000028d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000028e0| 2d 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 2d |--------|--------|
|00002900| 2d 2a 2f 0d 0d 42 6f 6f | 6c 65 61 6e 20 50 74 49 |-*/..Boo|lean PtI|
|00002910| 6e 54 45 48 69 6c 69 74 | 65 52 67 6e 20 28 50 6f |nTEHilit|eRgn (Po|
|00002920| 69 6e 74 20 77 68 65 72 | 65 2c 20 54 45 48 61 6e |int wher|e, TEHan|
|00002930| 64 6c 65 20 74 68 65 54 | 45 29 0d 7b 0d 09 42 6f |dle theT|E).{..Bo|
|00002940| 6f 6c 65 61 6e 20 72 65 | 73 75 6c 74 20 3d 20 66 |olean re|sult = f|
|00002950| 61 6c 73 65 3b 0d 09 52 | 67 6e 48 61 6e 64 6c 65 |alse;..R|gnHandle|
|00002960| 20 72 67 6e 20 3d 20 6e | 69 6c 3b 0d 09 4f 53 45 | rgn = n|il;..OSE|
|00002970| 72 72 20 65 72 72 20 3d | 20 6e 6f 45 72 72 3b 0d |rr err =| noErr;.|
|00002980| 09 0d 09 69 66 20 28 21 | 48 61 76 65 54 45 47 65 |...if (!|HaveTEGe|
|00002990| 74 48 69 6c 69 74 65 52 | 67 6e 28 29 29 20 72 65 |tHiliteR|gn()) re|
|000029a0| 74 75 72 6e 20 66 61 6c | 73 65 3b 0d 09 72 67 6e |turn fal|se;..rgn|
|000029b0| 20 3d 20 4e 65 77 52 67 | 6e 28 29 3b 0d 09 65 72 | = NewRg|n();..er|
|000029c0| 72 20 3d 20 54 45 47 65 | 74 48 69 6c 69 74 65 52 |r = TEGe|tHiliteR|
|000029d0| 67 6e 28 72 67 6e 2c 20 | 74 68 65 54 45 29 3b 0d |gn(rgn, |theTE);.|
|000029e0| 09 69 66 20 28 65 72 72 | 20 21 3d 20 6e 6f 45 72 |.if (err| != noEr|
|000029f0| 72 29 20 67 6f 74 6f 20 | 65 78 69 74 3b 0d 09 72 |r) goto |exit;..r|
|00002a00| 65 73 75 6c 74 20 3d 20 | 50 74 49 6e 52 67 6e 28 |esult = |PtInRgn(|
|00002a10| 77 68 65 72 65 2c 20 72 | 67 6e 29 3b 0d 09 0d 65 |where, r|gn);...e|
|00002a20| 78 69 74 3a 0d 0d 09 69 | 66 20 28 72 67 6e 20 21 |xit:...i|f (rgn !|
|00002a30| 3d 20 6e 69 6c 29 20 44 | 69 73 70 6f 73 65 52 67 |= nil) D|isposeRg|
|00002a40| 6e 28 72 67 6e 29 3b 0d | 09 72 65 74 75 72 6e 20 |n(rgn);.|.return |
|00002a50| 72 65 73 75 6c 74 3b 0d | 7d 0d 0d 0d 0d 2f 2a 2d |result;.|}..../*-|
|00002a60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002a70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002a80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002a90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002aa0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 09 53 75 62 |--------|---..Sub|
|00002ab0| 74 72 61 63 74 54 45 48 | 69 6c 69 74 65 52 67 6e |tractTEH|iliteRgn|
|00002ac0| 20 0d 09 0d 09 53 75 62 | 74 72 61 63 74 20 61 20 | ....Sub|tract a |
|00002ad0| 54 45 20 68 69 6c 69 74 | 65 20 72 65 67 69 6f 6e |TE hilit|e region|
|00002ae0| 20 66 72 6f 6d 20 61 6e | 6f 74 68 65 72 20 72 65 | from an|other re|
|00002af0| 67 69 6f 6e 2e 0d 09 09 | 09 0d 09 45 6e 74 72 79 |gion....|...Entry|
|00002b00| 3a 09 72 67 6e 20 3d 20 | 72 65 67 69 6f 6e 20 68 |:.rgn = |region h|
|00002b10| 61 6e 64 6c 65 2c 20 69 | 6e 20 67 6c 6f 62 61 6c |andle, i|n global|
|00002b20| 20 63 6f 6f 72 64 69 6e | 61 74 65 73 2e 0d 09 09 | coordin|ates....|
|00002b30| 09 74 68 65 54 45 20 3d | 20 68 61 6e 64 6c 65 20 |.theTE =| handle |
|00002b40| 74 6f 20 54 65 78 74 45 | 64 69 74 20 72 65 63 6f |to TextE|dit reco|
|00002b50| 72 64 2e 0d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |rd..----|--------|
|00002b60| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|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 2d |--------|--------|
|00002b90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002ba0| 2a 2f 0d 0d 76 6f 69 64 | 20 53 75 62 74 72 61 63 |*/..void| Subtrac|
|00002bb0| 74 54 45 48 69 6c 69 74 | 65 52 67 6e 20 28 52 67 |tTEHilit|eRgn (Rg|
|00002bc0| 6e 48 61 6e 64 6c 65 20 | 72 67 6e 2c 20 54 45 48 |nHandle |rgn, TEH|
|00002bd0| 61 6e 64 6c 65 20 74 68 | 65 54 45 29 0d 7b 0d 09 |andle th|eTE).{..|
|00002be0| 52 67 6e 48 61 6e 64 6c | 65 20 68 69 6c 69 74 65 |RgnHandl|e hilite|
|00002bf0| 52 67 6e 20 3d 20 6e 69 | 6c 3b 0d 09 4f 53 45 72 |Rgn = ni|l;..OSEr|
|00002c00| 72 20 65 72 72 20 3d 20 | 6e 6f 45 72 72 3b 0d 09 |r err = |noErr;..|
|00002c10| 0d 09 69 66 20 28 21 48 | 61 76 65 54 45 47 65 74 |..if (!H|aveTEGet|
|00002c20| 48 69 6c 69 74 65 52 67 | 6e 28 29 29 20 72 65 74 |HiliteRg|n()) ret|
|00002c30| 75 72 6e 3b 0d 09 68 69 | 6c 69 74 65 52 67 6e 20 |urn;..hi|liteRgn |
|00002c40| 3d 20 4e 65 77 52 67 6e | 28 29 3b 0d 09 65 72 72 |= NewRgn|();..err|
|00002c50| 20 3d 20 54 45 47 65 74 | 48 69 6c 69 74 65 52 67 | = TEGet|HiliteRg|
|00002c60| 6e 28 68 69 6c 69 74 65 | 52 67 6e 2c 20 74 68 65 |n(hilite|Rgn, the|
|00002c70| 54 45 29 3b 0d 09 69 66 | 20 28 65 72 72 20 21 3d |TE);..if| (err !=|
|00002c80| 20 6e 6f 45 72 72 29 20 | 67 6f 74 6f 20 65 78 69 | noErr) |goto exi|
|00002c90| 74 3b 0d 09 4c 6f 63 61 | 6c 54 6f 47 6c 6f 62 61 |t;..Loca|lToGloba|
|00002ca0| 6c 52 67 6e 28 68 69 6c | 69 74 65 52 67 6e 29 3b |lRgn(hil|iteRgn);|
|00002cb0| 0d 09 44 69 66 66 52 67 | 6e 28 72 67 6e 2c 20 68 |..DiffRg|n(rgn, h|
|00002cc0| 69 6c 69 74 65 52 67 6e | 2c 20 72 67 6e 29 3b 0d |iliteRgn|, rgn);.|
|00002cd0| 09 0d 65 78 69 74 3a 0d | 0d 09 69 66 20 28 68 69 |..exit:.|..if (hi|
|00002ce0| 6c 69 74 65 52 67 6e 20 | 21 3d 20 6e 69 6c 29 20 |liteRgn |!= nil) |
|00002cf0| 44 69 73 70 6f 73 65 52 | 67 6e 28 68 69 6c 69 74 |DisposeR|gn(hilit|
|00002d00| 65 52 67 6e 29 3b 0d 7d | 0d 0d 0d 0d 2f 2a 2d 2d |eRgn);.}|..../*--|
|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 2d 2d 2d 2d |--------|--------|
|00002d30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002d40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002d50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 09 44 72 61 77 |--------|--..Draw|
|00002d60| 54 45 43 61 72 65 74 20 | 0d 09 0d 09 44 72 61 77 |TECaret |....Draw|
|00002d70| 20 61 20 63 61 72 65 74 | 20 61 74 20 61 20 67 69 | a caret| at a gi|
|00002d80| 76 65 6e 20 6f 66 66 73 | 65 74 20 69 6e 74 6f 20 |ven offs|et into |
|00002d90| 61 20 54 65 78 74 45 64 | 69 74 20 66 69 65 6c 64 |a TextEd|it field|
|00002da0| 2e 0d 09 09 09 0d 09 45 | 6e 74 72 79 3a 09 6f 66 |.......E|ntry:.of|
|00002db0| 66 73 65 74 20 3d 20 6f | 66 66 73 65 74 20 69 6e |fset = o|ffset in|
|00002dc0| 74 6f 20 66 69 65 6c 64 | 2e 0d 09 09 09 74 68 65 |to field|.....the|
|00002dd0| 54 45 20 3d 20 68 61 6e | 64 6c 65 20 74 6f 20 54 |TE = han|dle to T|
|00002de0| 65 78 74 45 64 69 74 20 | 72 65 63 6f 72 64 2e 0d |extEdit |record..|
|00002df0| 09 09 09 0d 09 49 66 20 | 61 20 63 61 72 65 74 20 |.....If |a caret |
|00002e00| 69 73 20 61 6c 72 65 61 | 64 79 20 64 72 61 77 6e |is alrea|dy drawn|
|00002e10| 20 61 74 20 74 68 69 73 | 20 6c 6f 63 61 74 69 6f | at this| locatio|
|00002e20| 6e 2c 20 69 74 20 69 73 | 20 65 72 61 73 65 64 2e |n, it is| erased.|
|00002e30| 0d 09 0d 09 41 64 61 70 | 74 65 64 20 66 72 6f 6d |....Adap|ted from|
|00002e40| 20 41 70 70 6c 65 27 73 | 20 22 44 72 61 67 54 65 | Apple's| "DragTe|
|00002e50| 78 74 22 20 73 61 6d 70 | 6c 65 20 63 6f 64 65 2e |xt" samp|le code.|
|00002e60| 0d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.-------|--------|
|00002e70| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002e80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002e90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00002ea0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2a 2f 0d |--------|-----*/.|
|00002eb0| 0d 76 6f 69 64 20 44 72 | 61 77 54 45 43 61 72 65 |.void Dr|awTECare|
|00002ec0| 74 20 28 73 68 6f 72 74 | 20 6f 66 66 73 65 74 2c |t (short| offset,|
|00002ed0| 20 54 45 48 61 6e 64 6c | 65 20 74 68 65 54 45 29 | TEHandl|e theTE)|
|00002ee0| 0d 7b 0d 09 73 68 6f 72 | 74 20 6c 69 6e 65 48 65 |.{..shor|t lineHe|
|00002ef0| 69 67 68 74 2c 20 74 65 | 4c 65 6e 67 74 68 3b 0d |ight, te|Length;.|
|00002f00| 09 48 61 6e 64 6c 65 20 | 68 54 65 78 74 3b 0d 09 |.Handle |hText;..|
|00002f10| 50 6f 69 6e 74 20 77 68 | 65 72 65 3b 0d 09 73 68 |Point wh|ere;..sh|
|00002f20| 6f 72 74 20 70 6e 4d 6f | 64 65 3b 0d 09 0d 09 6c |ort pnMo|de;....l|
|00002f30| 69 6e 65 48 65 69 67 68 | 74 20 3d 20 28 2a 2a 74 |ineHeigh|t = (**t|
|00002f40| 68 65 54 45 29 2e 6c 69 | 6e 65 48 65 69 67 68 74 |heTE).li|neHeight|
|00002f50| 3b 0d 09 74 65 4c 65 6e | 67 74 68 20 3d 20 28 2a |;..teLen|gth = (*|
|00002f60| 2a 74 68 65 54 45 29 2e | 74 65 4c 65 6e 67 74 68 |*theTE).|teLength|
|00002f70| 3b 0d 09 68 54 65 78 74 | 20 3d 20 28 2a 2a 74 68 |;..hText| = (**th|
|00002f80| 65 54 45 29 2e 68 54 65 | 78 74 3b 0d 09 77 68 65 |eTE).hTe|xt;..whe|
|00002f90| 72 65 20 3d 20 54 45 47 | 65 74 50 6f 69 6e 74 28 |re = TEG|etPoint(|
|00002fa0| 6f 66 66 73 65 74 2c 20 | 74 68 65 54 45 29 3b 0d |offset, |theTE);.|
|00002fb0| 09 69 66 20 28 6f 66 66 | 73 65 74 20 3d 3d 20 74 |.if (off|set == t|
|00002fc0| 65 4c 65 6e 67 74 68 20 | 26 26 20 74 65 4c 65 6e |eLength |&& teLen|
|00002fd0| 67 74 68 20 3e 20 30 20 | 26 26 20 28 2a 68 54 65 |gth > 0 |&& (*hTe|
|00002fe0| 78 74 29 5b 74 65 4c 65 | 6e 67 74 68 20 2d 20 31 |xt)[teLe|ngth - 1|
|00002ff0| 5d 20 3d 3d 20 43 52 29 | 0d 09 09 77 68 65 72 65 |] == CR)|...where|
|00003000| 2e 76 20 2b 3d 20 6c 69 | 6e 65 48 65 69 67 68 74 |.v += li|neHeight|
|00003010| 3b 0d 09 70 6e 4d 6f 64 | 65 20 3d 20 71 64 2e 74 |;..pnMod|e = qd.t|
|00003020| 68 65 50 6f 72 74 2d 3e | 70 6e 4d 6f 64 65 3b 0d |hePort->|pnMode;.|
|00003030| 09 50 65 6e 4d 6f 64 65 | 28 70 61 74 58 6f 72 29 |.PenMode|(patXor)|
|00003040| 3b 0d 09 4d 6f 76 65 54 | 6f 28 77 68 65 72 65 2e |;..MoveT|o(where.|
|00003050| 68 20 2d 20 31 2c 20 77 | 68 65 72 65 2e 76 20 2d |h - 1, w|here.v -|
|00003060| 20 31 29 3b 0d 09 4c 69 | 6e 65 28 30 2c 20 31 20 | 1);..Li|ne(0, 1 |
|00003070| 2d 20 6c 69 6e 65 48 65 | 69 67 68 74 29 3b 0d 09 |- lineHe|ight);..|
|00003080| 50 65 6e 4d 6f 64 65 28 | 70 6e 4d 6f 64 65 29 3b |PenMode(|pnMode);|
|00003090| 0d 7d 0d 0d 0d 0d 2f 2a | 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 2d 2d 2d 2d 2d 2d |--------|--------|
|000030d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000030e0| 2d 2d 2d 2d 0d 09 54 45 | 49 73 46 72 6f 6e 74 4f |----..TE|IsFrontO|
|000030f0| 66 4c 69 6e 65 20 0d 09 | 0d 09 44 65 74 65 72 6d |fLine ..|..Determ|
|00003100| 69 6e 65 20 77 68 65 74 | 68 65 72 20 61 6e 20 6f |ine whet|her an o|
|00003110| 66 66 73 65 74 20 69 6e | 20 61 20 54 65 78 74 45 |ffset in| a TextE|
|00003120| 64 69 74 20 66 69 65 6c | 64 20 69 73 20 61 74 20 |dit fiel|d is at |
|00003130| 74 68 65 20 62 65 67 69 | 6e 6e 69 6e 67 20 6f 66 |the begi|nning of|
|00003140| 20 61 0d 09 6c 69 6e 65 | 2e 0d 09 09 09 0d 09 45 | a..line|.......E|
|00003150| 6e 74 72 79 3a 09 6f 66 | 66 73 65 74 20 3d 20 6f |ntry:.of|fset = o|
|00003160| 66 66 73 65 74 20 69 6e | 74 6f 20 66 69 65 6c 64 |ffset in|to field|
|00003170| 2e 0d 09 09 09 74 68 65 | 54 45 20 3d 20 68 61 6e |.....the|TE = han|
|00003180| 64 6c 65 20 74 6f 20 54 | 65 78 74 45 64 69 74 20 |dle to T|extEdit |
|00003190| 72 65 63 6f 72 64 2e 0d | 09 09 09 0d 09 45 78 69 |record..|.....Exi|
|000031a0| 74 3a 09 66 75 6e 63 74 | 69 6f 6e 20 72 65 73 75 |t:.funct|ion resu|
|000031b0| 6c 74 20 3d 20 74 72 75 | 65 20 69 66 20 6f 66 66 |lt = tru|e if off|
|000031c0| 73 65 74 20 69 73 20 61 | 74 20 62 65 67 69 6e 6e |set is a|t beginn|
|000031d0| 69 6e 67 20 6f 66 20 6c | 69 6e 65 2e 0d 09 0d 09 |ing of l|ine.....|
|000031e0| 41 64 61 70 74 65 64 20 | 66 72 6f 6d 20 41 70 70 |Adapted |from App|
|000031f0| 6c 65 27 73 20 22 44 72 | 61 67 54 65 78 74 22 20 |le's "Dr|agText" |
|00003200| 73 61 6d 70 6c 65 20 63 | 6f 64 65 2e 0d 2d 2d 2d |sample c|ode..---|
|00003210| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003220| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003230| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003240| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003250| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2a 2f 0d 0d 42 6f 6f |--------|-*/..Boo|
|00003260| 6c 65 61 6e 20 54 45 49 | 73 46 72 6f 6e 74 4f 66 |lean TEI|sFrontOf|
|00003270| 4c 69 6e 65 20 28 73 68 | 6f 72 74 20 6f 66 66 73 |Line (sh|ort offs|
|00003280| 65 74 2c 20 54 45 48 61 | 6e 64 6c 65 20 74 68 65 |et, TEHa|ndle the|
|00003290| 54 45 29 0d 7b 09 0d 09 | 73 68 6f 72 74 20 6c 69 |TE).{...|short li|
|000032a0| 6e 65 20 3d 20 30 2c 20 | 74 65 4c 65 6e 67 74 68 |ne = 0, |teLength|
|000032b0| 3b 0d 09 48 61 6e 64 6c | 65 20 68 54 65 78 74 3b |;..Handl|e hText;|
|000032c0| 0d 09 73 68 6f 72 74 20 | 2a 6c 69 6e 65 53 74 61 |..short |*lineSta|
|000032d0| 72 74 73 3b 0d 0d 09 74 | 65 4c 65 6e 67 74 68 20 |rts;...t|eLength |
|000032e0| 3d 20 28 2a 2a 74 68 65 | 54 45 29 2e 74 65 4c 65 |= (**the|TE).teLe|
|000032f0| 6e 67 74 68 3b 0d 09 68 | 54 65 78 74 20 3d 20 28 |ngth;..h|Text = (|
|00003300| 2a 2a 74 68 65 54 45 29 | 2e 68 54 65 78 74 3b 0d |**theTE)|.hText;.|
|00003310| 09 6c 69 6e 65 53 74 61 | 72 74 73 20 3d 20 28 2a |.lineSta|rts = (*|
|00003320| 2a 74 68 65 54 45 29 2e | 6c 69 6e 65 53 74 61 72 |*theTE).|lineStar|
|00003330| 74 73 3b 0d 0d 09 69 66 | 20 28 74 65 4c 65 6e 67 |ts;...if| (teLeng|
|00003340| 74 68 20 3d 3d 20 30 29 | 20 72 65 74 75 72 6e 20 |th == 0)| return |
|00003350| 74 72 75 65 3b 0d 0d 09 | 69 66 20 28 6f 66 66 73 |true;...|if (offs|
|00003360| 65 74 20 3e 3d 20 74 65 | 4c 65 6e 67 74 68 29 0d |et >= te|Length).|
|00003370| 09 09 72 65 74 75 72 6e | 20 28 2a 68 54 65 78 74 |..return| (*hText|
|00003380| 29 5b 74 65 4c 65 6e 67 | 74 68 20 2d 20 31 5d 20 |)[teLeng|th - 1] |
|00003390| 3d 3d 20 43 52 3b 0d 0d | 09 77 68 69 6c 65 20 28 |== CR;..|.while (|
|000033a0| 6c 69 6e 65 53 74 61 72 | 74 73 5b 6c 69 6e 65 5d |lineStar|ts[line]|
|000033b0| 20 3c 20 6f 66 66 73 65 | 74 29 20 6c 69 6e 65 2b | < offse|t) line+|
|000033c0| 2b 3b 0d 0d 09 72 65 74 | 75 72 6e 20 6c 69 6e 65 |+;...ret|urn line|
|000033d0| 53 74 61 72 74 73 5b 6c | 69 6e 65 5d 20 3d 3d 20 |Starts[l|ine] == |
|000033e0| 6f 66 66 73 65 74 3b 0d | 7d 0d 0d 0d 0d 2f 2a 2d |offset;.|}..../*-|
|000033f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003400| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003410| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003420| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003430| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 0d 09 4d 79 54 |--------|---..MyT|
|00003440| 45 47 65 74 4f 66 66 73 | 65 74 20 0d 09 0d 09 47 |EGetOffs|et ....G|
|00003450| 65 74 20 74 68 65 20 6f | 66 66 73 65 74 20 69 6e |et the o|ffset in|
|00003460| 20 74 68 65 20 74 65 78 | 74 20 63 6f 72 72 65 73 | the tex|t corres|
|00003470| 70 6f 6e 64 69 6e 67 20 | 74 6f 20 61 20 70 6f 69 |ponding |to a poi|
|00003480| 6e 74 20 69 6e 20 61 20 | 54 65 78 74 45 64 69 74 |nt in a |TextEdit|
|00003490| 20 66 69 65 6c 64 2e 0d | 09 09 09 0d 09 45 6e 74 | field..|.....Ent|
|000034a0| 72 79 3a 09 77 68 65 72 | 65 20 3d 20 70 6f 69 6e |ry:.wher|e = poin|
|000034b0| 74 20 69 6e 20 6c 6f 63 | 61 6c 20 63 6f 6f 72 64 |t in loc|al coord|
|000034c0| 73 2e 0d 09 09 09 74 68 | 65 54 45 20 3d 20 68 61 |s.....th|eTE = ha|
|000034d0| 6e 64 6c 65 20 74 6f 20 | 54 65 78 74 45 64 69 74 |ndle to |TextEdit|
|000034e0| 20 72 65 63 6f 72 64 2e | 0d 09 09 09 0d 09 45 78 | record.|......Ex|
|000034f0| 69 74 3a 09 66 75 6e 63 | 74 69 6f 6e 20 72 65 73 |it:.func|tion res|
|00003500| 75 6c 74 20 3d 20 6f 66 | 66 73 65 74 20 69 6e 74 |ult = of|fset int|
|00003510| 6f 20 74 65 78 74 2e 0d | 09 0d 09 41 64 61 70 74 |o text..|...Adapt|
|00003520| 65 64 20 66 72 6f 6d 20 | 41 70 70 6c 65 27 73 20 |ed from |Apple's |
|00003530| 22 44 72 61 67 54 65 78 | 74 22 20 73 61 6d 70 6c |"DragTex|t" sampl|
|00003540| 65 20 63 6f 64 65 2e 0d | 2d 2d 2d 2d 2d 2d 2d 2d |e code..|--------|
|00003550| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003560| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003570| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003580| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003590| 2d 2d 2d 2d 2a 2f 0d 0d | 73 68 6f 72 74 20 4d 79 |----*/..|short My|
|000035a0| 54 45 47 65 74 4f 66 66 | 73 65 74 20 28 50 6f 69 |TEGetOff|set (Poi|
|000035b0| 6e 74 20 77 68 65 72 65 | 2c 20 54 45 48 61 6e 64 |nt where|, TEHand|
|000035c0| 6c 65 20 74 68 65 54 45 | 29 0d 7b 0d 09 73 68 6f |le theTE|).{..sho|
|000035d0| 72 74 20 6f 66 66 73 65 | 74 3b 0d 09 48 61 6e 64 |rt offse|t;..Hand|
|000035e0| 6c 65 20 68 54 65 78 74 | 3b 0d 09 63 68 61 72 20 |le hText|;..char |
|000035f0| 70 72 65 76 43 68 61 72 | 3b 0d 09 50 6f 69 6e 74 |prevChar|;..Point|
|00003600| 20 70 74 3b 0d 09 0d 09 | 6f 66 66 73 65 74 20 3d | pt;....|offset =|
|00003610| 20 54 45 47 65 74 4f 66 | 66 73 65 74 28 77 68 65 | TEGetOf|fset(whe|
|00003620| 72 65 2c 20 74 68 65 54 | 45 29 3b 0d 09 68 54 65 |re, theT|E);..hTe|
|00003630| 78 74 20 3d 20 28 2a 2a | 74 68 65 54 45 29 2e 68 |xt = (**|theTE).h|
|00003640| 54 65 78 74 3b 0d 09 69 | 66 20 28 21 54 45 49 73 |Text;..i|f (!TEIs|
|00003650| 46 72 6f 6e 74 4f 66 4c | 69 6e 65 28 6f 66 66 73 |FrontOfL|ine(offs|
|00003660| 65 74 2c 20 74 68 65 54 | 45 29 29 20 72 65 74 75 |et, theT|E)) retu|
|00003670| 72 6e 20 6f 66 66 73 65 | 74 3b 0d 09 69 66 20 28 |rn offse|t;..if (|
|00003680| 6f 66 66 73 65 74 20 3d | 3d 20 30 29 20 72 65 74 |offset =|= 0) ret|
|00003690| 75 72 6e 20 6f 66 66 73 | 65 74 3b 0d 09 70 72 65 |urn offs|et;..pre|
|000036a0| 76 43 68 61 72 20 3d 20 | 28 2a 68 54 65 78 74 29 |vChar = |(*hText)|
|000036b0| 5b 6f 66 66 73 65 74 2d | 31 5d 3b 0d 09 69 66 20 |[offset-|1];..if |
|000036c0| 28 70 72 65 76 43 68 61 | 72 20 3d 3d 20 43 52 29 |(prevCha|r == CR)|
|000036d0| 20 72 65 74 75 72 6e 20 | 6f 66 66 73 65 74 3b 0d | return |offset;.|
|000036e0| 09 69 66 20 28 21 69 73 | 4c 57 53 50 28 70 72 65 |.if (!is|LWSP(pre|
|000036f0| 76 43 68 61 72 29 29 20 | 72 65 74 75 72 6e 20 6f |vChar)) |return o|
|00003700| 66 66 73 65 74 3b 0d 09 | 70 74 20 3d 20 54 45 47 |ffset;..|pt = TEG|
|00003710| 65 74 50 6f 69 6e 74 28 | 6f 66 66 73 65 74 2d 31 |etPoint(|offset-1|
|00003720| 2c 20 74 68 65 54 45 29 | 3b 0d 09 69 66 20 28 70 |, theTE)|;..if (p|
|00003730| 74 2e 68 20 3e 3d 20 77 | 68 65 72 65 2e 68 29 20 |t.h >= w|here.h) |
|00003740| 72 65 74 75 72 6e 20 6f | 66 66 73 65 74 3b 0d 09 |return o|ffset;..|
|00003750| 72 65 74 75 72 6e 20 6f | 66 66 73 65 74 20 2d 20 |return o|ffset - |
|00003760| 31 3b 0d 7d 0d 0d 0d 0d | 2f 2a 2d 2d 2d 2d 2d 2d |1;.}....|/*------|
|00003770| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003780| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003790| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000037a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000037b0| 2d 2d 2d 2d 2d 2d 0d 09 | 4d 79 54 45 41 63 74 69 |------..|MyTEActi|
|000037c0| 76 61 74 65 20 0d 09 0d | 09 41 63 74 69 76 61 74 |vate ...|.Activat|
|000037d0| 65 20 61 20 54 65 78 74 | 45 64 69 74 20 66 69 65 |e a Text|Edit fie|
|000037e0| 6c 64 2c 20 62 75 74 20 | 6f 6e 6c 79 20 69 66 20 |ld, but |only if |
|000037f0| 74 68 65 20 77 69 6e 64 | 6f 77 20 63 6f 6e 74 61 |the wind|ow conta|
|00003800| 69 6e 69 6e 67 20 74 68 | 65 20 66 69 65 6c 64 0d |ining th|e field.|
|00003810| 09 69 73 20 61 63 74 69 | 76 65 2e 0d 09 09 09 0d |.is acti|ve......|
|00003820| 09 45 6e 74 72 79 3a 09 | 74 68 65 54 45 20 3d 20 |.Entry:.|theTE = |
|00003830| 68 61 6e 64 6c 65 20 74 | 6f 20 54 65 78 74 45 64 |handle t|o TextEd|
|00003840| 69 74 20 72 65 63 6f 72 | 64 2e 0d 2d 2d 2d 2d 2d |it recor|d..-----|
|00003850| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003860| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003870| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003880| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003890| 2d 2d 2d 2d 2d 2d 2d 2a | 2f 0d 0d 76 6f 69 64 20 |-------*|/..void |
|000038a0| 4d 79 54 45 41 63 74 69 | 76 61 74 65 20 28 54 45 |MyTEActi|vate (TE|
|000038b0| 48 61 6e 64 6c 65 20 74 | 68 65 54 45 29 0d 7b 0d |Handle t|heTE).{.|
|000038c0| 09 57 69 6e 64 6f 77 50 | 65 65 6b 20 77 69 6e 64 |.WindowP|eek wind|
|000038d0| 50 65 65 6b 3b 0d 0d 09 | 77 69 6e 64 50 65 65 6b |Peek;...|windPeek|
|000038e0| 20 3d 20 28 57 69 6e 64 | 6f 77 50 65 65 6b 29 28 | = (Wind|owPeek)(|
|000038f0| 2a 2a 74 68 65 54 45 29 | 2e 69 6e 50 6f 72 74 3b |**theTE)|.inPort;|
|00003900| 0d 09 69 66 20 28 77 69 | 6e 64 50 65 65 6b 2d 3e |..if (wi|ndPeek->|
|00003910| 68 69 6c 69 74 65 64 29 | 20 54 45 41 63 74 69 76 |hilited)| TEActiv|
|00003920| 61 74 65 28 74 68 65 54 | 45 29 3b 0d 7d 0d 0d 0d |ate(theT|E);.}...|
|00003930| 0d 2f 2a 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |./*-----|--------|
|00003940| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003950| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003960| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003970| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 0d |--------|-------.|
|00003980| 09 47 65 74 42 6f 6c 20 | 0d 09 0d 09 47 65 74 20 |.GetBol |....Get |
|00003990| 74 68 65 20 62 65 67 69 | 6e 6e 69 6e 67 20 6f 66 |the begi|nning of|
|000039a0| 20 74 68 65 20 6c 69 6e | 65 20 63 6f 6e 74 61 69 | the lin|e contai|
|000039b0| 6e 69 6e 67 20 61 20 63 | 68 61 72 61 63 74 65 72 |ning a c|haracter|
|000039c0| 2e 0d 09 09 09 0d 09 45 | 6e 74 72 79 3a 09 6f 66 |.......E|ntry:.of|
|000039d0| 66 73 65 74 20 3d 20 6f | 66 66 73 65 74 20 69 6e |fset = o|ffset in|
|000039e0| 74 6f 20 74 65 78 74 20 | 6f 66 20 63 68 61 72 61 |to text |of chara|
|000039f0| 63 74 65 72 2e 0d 09 09 | 09 63 6c 69 6b 53 74 75 |cter....|.clikStu|
|00003a00| 66 66 20 3d 20 30 20 69 | 66 20 6f 66 66 73 65 74 |ff = 0 i|f offset|
|00003a10| 20 6f 6e 20 6c 69 6e 65 | 20 62 6f 75 6e 64 61 72 | on line| boundar|
|00003a20| 79 20 69 73 20 61 74 20 | 65 6e 64 20 6f 66 0d 09 |y is at |end of..|
|00003a30| 09 09 09 70 72 65 76 69 | 6f 75 73 20 6c 69 6e 65 |...previ|ous line|
|00003a40| 2c 20 6e 6f 6e 2d 7a 65 | 72 6f 20 69 66 20 6f 66 |, non-ze|ro if of|
|00003a50| 66 73 65 74 20 6f 6e 20 | 6c 69 6e 65 20 62 6f 75 |fset on |line bou|
|00003a60| 6e 64 61 72 79 0d 09 09 | 09 09 69 73 20 61 74 20 |ndary...|..is at |
|00003a70| 62 65 67 69 6e 6e 69 6e | 67 20 6f 66 20 6e 65 78 |beginnin|g of nex|
|00003a80| 74 20 6c 69 6e 65 2e 20 | 0d 09 09 09 74 68 65 54 |t line. |....theT|
|00003a90| 45 20 3d 20 68 61 6e 64 | 6c 65 20 74 6f 20 54 65 |E = hand|le to Te|
|00003aa0| 78 74 45 64 69 74 20 72 | 65 63 6f 72 64 2e 0d 09 |xtEdit r|ecord...|
|00003ab0| 09 09 0d 09 45 78 69 74 | 3a 09 66 75 6e 63 74 69 |....Exit|:.functi|
|00003ac0| 6f 6e 20 72 65 73 75 6c | 74 20 3d 20 6f 66 66 73 |on resul|t = offs|
|00003ad0| 65 74 20 69 6e 74 6f 20 | 74 65 78 74 20 6f 66 20 |et into |text of |
|00003ae0| 62 65 67 69 6e 6e 69 6e | 67 20 6f 66 20 6c 69 6e |beginnin|g of lin|
|00003af0| 65 20 0d 09 09 09 09 63 | 6f 6e 74 61 69 6e 69 6e |e .....c|ontainin|
|00003b00| 67 20 74 68 65 20 63 68 | 61 72 61 63 74 65 72 2e |g the ch|aracter.|
|00003b10| 0d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.-------|--------|
|00003b20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003b30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003b40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003b50| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2a 2f 0d |--------|-----*/.|
|00003b60| 0d 73 74 61 74 69 63 20 | 73 68 6f 72 74 20 47 65 |.static |short Ge|
|00003b70| 74 42 6f 6c 20 28 73 68 | 6f 72 74 20 6f 66 66 73 |tBol (sh|ort offs|
|00003b80| 65 74 2c 20 73 68 6f 72 | 74 20 63 6c 69 6b 53 74 |et, shor|t clikSt|
|00003b90| 75 66 66 2c 20 54 45 48 | 61 6e 64 6c 65 20 74 68 |uff, TEH|andle th|
|00003ba0| 65 54 45 29 0d 7b 0d 09 | 73 68 6f 72 74 20 2a 6c |eTE).{..|short *l|
|00003bb0| 69 6e 65 53 74 61 72 74 | 73 3b 0d 09 73 68 6f 72 |ineStart|s;..shor|
|00003bc0| 74 20 74 65 4c 65 6e 67 | 74 68 3b 0d 0d 09 74 65 |t teLeng|th;...te|
|00003bd0| 4c 65 6e 67 74 68 20 3d | 20 28 2a 2a 74 68 65 54 |Length =| (**theT|
|00003be0| 45 29 2e 74 65 4c 65 6e | 67 74 68 3b 0d 09 6c 69 |E).teLen|gth;..li|
|00003bf0| 6e 65 53 74 61 72 74 73 | 20 3d 20 28 2a 2a 74 68 |neStarts| = (**th|
|00003c00| 65 54 45 29 2e 6c 69 6e | 65 53 74 61 72 74 73 3b |eTE).lin|eStarts;|
|00003c10| 0d 09 69 66 20 28 6f 66 | 66 73 65 74 20 3c 3d 20 |..if (of|fset <= |
|00003c20| 30 29 20 7b 0d 09 09 72 | 65 74 75 72 6e 20 30 3b |0) {...r|eturn 0;|
|00003c30| 0d 09 7d 20 65 6c 73 65 | 20 69 66 20 28 6f 66 66 |..} else| if (off|
|00003c40| 73 65 74 20 3e 3d 20 74 | 65 4c 65 6e 67 74 68 29 |set >= t|eLength)|
|00003c50| 20 7b 0d 09 09 6f 66 66 | 73 65 74 20 3d 20 74 65 | {...off|set = te|
|00003c60| 4c 65 6e 67 74 68 3b 0d | 09 7d 0d 09 77 68 69 6c |Length;.|.}..whil|
|00003c70| 65 20 28 2a 6c 69 6e 65 | 53 74 61 72 74 73 20 3c |e (*line|Starts <|
|00003c80| 20 6f 66 66 73 65 74 29 | 20 6c 69 6e 65 53 74 61 | offset)| lineSta|
|00003c90| 72 74 73 2b 2b 3b 0d 09 | 69 66 20 28 2a 6c 69 6e |rts++;..|if (*lin|
|00003ca0| 65 53 74 61 72 74 73 20 | 3d 3d 20 6f 66 66 73 65 |eStarts |== offse|
|00003cb0| 74 20 26 26 20 63 6c 69 | 6b 53 74 75 66 66 20 21 |t && cli|kStuff !|
|00003cc0| 3d 20 30 29 20 7b 0d 09 | 09 72 65 74 75 72 6e 20 |= 0) {..|.return |
|00003cd0| 2a 6c 69 6e 65 53 74 61 | 72 74 73 3b 0d 09 7d 20 |*lineSta|rts;..} |
|00003ce0| 65 6c 73 65 20 7b 0d 09 | 09 72 65 74 75 72 6e 20 |else {..|.return |
|00003cf0| 2a 28 6c 69 6e 65 53 74 | 61 72 74 73 2d 31 29 3b |*(lineSt|arts-1);|
|00003d00| 0d 09 7d 0d 7d 0d 0d 0d | 0d 2f 2a 2d 2d 2d 2d 2d |..}.}...|./*-----|
|00003d10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003d20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003d30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003d40| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003d50| 2d 2d 2d 2d 2d 2d 2d 0d | 09 47 65 74 45 6f 6c 20 |-------.|.GetEol |
|00003d60| 0d 09 0d 09 47 65 74 20 | 74 68 65 20 65 6e 64 20 |....Get |the end |
|00003d70| 6f 66 20 74 68 65 20 6c | 69 6e 65 20 63 6f 6e 74 |of the l|ine cont|
|00003d80| 61 69 6e 69 6e 67 20 61 | 20 63 68 61 72 61 63 74 |aining a| charact|
|00003d90| 65 72 2e 0d 09 09 09 0d | 09 45 6e 74 72 79 3a 09 |er......|.Entry:.|
|00003da0| 6f 66 66 73 65 74 20 3d | 20 6f 66 66 73 65 74 20 |offset =| offset |
|00003db0| 69 6e 74 6f 20 74 65 78 | 74 20 6f 66 20 63 68 61 |into tex|t of cha|
|00003dc0| 72 61 63 74 65 72 2e 0d | 09 09 09 63 6c 69 6b 53 |racter..|...clikS|
|00003dd0| 74 75 66 66 20 3d 20 30 | 20 69 66 20 6f 66 66 73 |tuff = 0| if offs|
|00003de0| 65 74 20 6f 6e 20 6c 69 | 6e 65 20 62 6f 75 6e 64 |et on li|ne bound|
|00003df0| 61 72 79 20 69 73 20 61 | 74 20 65 6e 64 20 6f 66 |ary is a|t end of|
|00003e00| 0d 09 09 09 09 70 72 65 | 76 69 6f 75 73 20 6c 69 |.....pre|vious li|
|00003e10| 6e 65 2c 20 6e 6f 6e 2d | 7a 65 72 6f 20 69 66 20 |ne, non-|zero if |
|00003e20| 6f 66 66 73 65 74 20 6f | 6e 20 6c 69 6e 65 20 62 |offset o|n line b|
|00003e30| 6f 75 6e 64 61 72 79 0d | 09 09 09 09 69 73 20 61 |oundary.|....is a|
|00003e40| 74 20 62 65 67 69 6e 6e | 69 6e 67 20 6f 66 20 6e |t beginn|ing of n|
|00003e50| 65 78 74 20 6c 69 6e 65 | 2e 20 0d 09 09 09 74 68 |ext line|. ....th|
|00003e60| 65 54 45 20 3d 20 68 61 | 6e 64 6c 65 20 74 6f 20 |eTE = ha|ndle to |
|00003e70| 54 65 78 74 45 64 69 74 | 20 72 65 63 6f 72 64 2e |TextEdit| record.|
|00003e80| 0d 09 09 09 0d 09 45 78 | 69 74 3a 09 66 75 6e 63 |......Ex|it:.func|
|00003e90| 74 69 6f 6e 20 72 65 73 | 75 6c 74 20 3d 20 6f 66 |tion res|ult = of|
|00003ea0| 66 73 65 74 20 69 6e 74 | 6f 20 74 65 78 74 20 6f |fset int|o text o|
|00003eb0| 66 20 65 6e 64 20 6f 66 | 20 6c 69 6e 65 20 0d 09 |f end of| line ..|
|00003ec0| 09 09 09 63 6f 6e 74 61 | 69 6e 69 6e 67 20 74 68 |...conta|ining th|
|00003ed0| 65 20 63 68 61 72 61 63 | 74 65 72 2e 0d 2d 2d 2d |e charac|ter..---|
|00003ee0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003ef0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003f00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003f10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00003f20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2a 2f 0d 0d 73 74 61 |--------|-*/..sta|
|00003f30| 74 69 63 20 73 68 6f 72 | 74 20 47 65 74 45 6f 6c |tic shor|t GetEol|
|00003f40| 20 28 73 68 6f 72 74 20 | 6f 66 66 73 65 74 2c 20 | (short |offset, |
|00003f50| 73 68 6f 72 74 20 63 6c | 69 6b 53 74 75 66 66 2c |short cl|ikStuff,|
|00003f60| 20 54 45 48 61 6e 64 6c | 65 20 74 68 65 54 45 29 | TEHandl|e theTE)|
|00003f70| 0d 7b 0d 09 73 68 6f 72 | 74 20 2a 6c 69 6e 65 53 |.{..shor|t *lineS|
|00003f80| 74 61 72 74 73 3b 0d 09 | 73 68 6f 72 74 20 74 65 |tarts;..|short te|
|00003f90| 4c 65 6e 67 74 68 3b 0d | 0d 09 74 65 4c 65 6e 67 |Length;.|..teLeng|
|00003fa0| 74 68 20 3d 20 28 2a 2a | 74 68 65 54 45 29 2e 74 |th = (**|theTE).t|
|00003fb0| 65 4c 65 6e 67 74 68 3b | 0d 09 6c 69 6e 65 53 74 |eLength;|..lineSt|
|00003fc0| 61 72 74 73 20 3d 20 28 | 2a 2a 74 68 65 54 45 29 |arts = (|**theTE)|
|00003fd0| 2e 6c 69 6e 65 53 74 61 | 72 74 73 3b 0d 09 69 66 |.lineSta|rts;..if|
|00003fe0| 20 28 6f 66 66 73 65 74 | 20 3c 3d 20 30 29 20 7b | (offset| <= 0) {|
|00003ff0| 0d 09 09 6f 66 66 73 65 | 74 20 3d 20 30 3b 0d 09 |...offse|t = 0;..|
|00004000| 09 63 6c 69 6b 53 74 75 | 66 66 20 3d 20 30 78 66 |.clikStu|ff = 0xf|
|00004010| 66 66 66 3b 0d 09 7d 20 | 65 6c 73 65 20 69 66 20 |fff;..} |else if |
|00004020| 28 6f 66 66 73 65 74 20 | 3e 3d 20 74 65 4c 65 6e |(offset |>= teLen|
|00004030| 67 74 68 29 20 7b 0d 09 | 09 72 65 74 75 72 6e 20 |gth) {..|.return |
|00004040| 74 65 4c 65 6e 67 74 68 | 3b 0d 09 7d 0d 09 77 68 |teLength|;..}..wh|
|00004050| 69 6c 65 20 28 2a 6c 69 | 6e 65 53 74 61 72 74 73 |ile (*li|neStarts|
|00004060| 20 3c 20 6f 66 66 73 65 | 74 29 20 6c 69 6e 65 53 | < offse|t) lineS|
|00004070| 74 61 72 74 73 2b 2b 3b | 0d 09 69 66 20 28 2a 6c |tarts++;|..if (*l|
|00004080| 69 6e 65 53 74 61 72 74 | 73 20 3d 3d 20 6f 66 66 |ineStart|s == off|
|00004090| 73 65 74 20 26 26 20 63 | 6c 69 6b 53 74 75 66 66 |set && c|likStuff|
|000040a0| 20 21 3d 20 30 29 20 7b | 0d 09 09 72 65 74 75 72 | != 0) {|...retur|
|000040b0| 6e 20 2a 28 6c 69 6e 65 | 53 74 61 72 74 73 2b 31 |n *(line|Starts+1|
|000040c0| 29 3b 0d 09 7d 20 65 6c | 73 65 20 7b 0d 09 09 72 |);..} el|se {...r|
|000040d0| 65 74 75 72 6e 20 2a 6c | 69 6e 65 53 74 61 72 74 |eturn *l|ineStart|
|000040e0| 73 3b 0d 09 7d 0d 7d 0d | 0d 0d 0d 2f 2a 2d 2d 2d |s;..}.}.|.../*---|
|000040f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004100| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004110| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004120| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004130| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 0d 09 47 65 74 54 45 |--------|-..GetTE|
|00004140| 50 61 67 65 48 65 69 67 | 68 74 20 0d 09 0d 09 47 |PageHeig|ht ....G|
|00004150| 65 74 20 74 68 65 20 70 | 61 67 65 20 68 65 69 67 |et the p|age heig|
|00004160| 68 74 20 66 6f 72 20 61 | 20 54 65 78 74 45 64 69 |ht for a| TextEdi|
|00004170| 74 20 66 69 65 6c 64 20 | 2d 20 74 68 65 20 6e 75 |t field |- the nu|
|00004180| 6d 62 65 72 20 6f 66 20 | 6c 69 6e 65 73 20 69 6e |mber of |lines in|
|00004190| 0d 09 74 68 65 20 76 69 | 65 77 20 72 65 63 74 61 |..the vi|ew recta|
|000041a0| 6e 67 6c 65 20 6d 69 6e | 75 73 20 31 2e 0d 09 09 |ngle min|us 1....|
|000041b0| 09 0d 09 45 6e 74 72 79 | 3a 09 74 68 65 54 45 20 |...Entry|:.theTE |
|000041c0| 3d 20 68 61 6e 64 6c 65 | 20 74 6f 20 54 65 78 74 |= handle| to Text|
|000041d0| 45 64 69 74 20 72 65 63 | 6f 72 64 2e 0d 09 09 09 |Edit rec|ord.....|
|000041e0| 0d 09 45 78 69 74 3a 09 | 66 75 6e 63 74 69 6f 6e |..Exit:.|function|
|000041f0| 20 72 65 73 75 6c 74 20 | 3d 20 70 61 67 65 20 68 | result |= page h|
|00004200| 65 69 67 68 74 0d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |eight.--|--------|
|00004210| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004220| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004230| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004240| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004250| 2d 2d 2a 2f 0d 0d 73 68 | 6f 72 74 20 47 65 74 54 |--*/..sh|ort GetT|
|00004260| 45 50 61 67 65 48 65 69 | 67 68 74 20 28 54 45 48 |EPageHei|ght (TEH|
|00004270| 61 6e 64 6c 65 20 74 68 | 65 54 45 29 0d 7b 0d 09 |andle th|eTE).{..|
|00004280| 73 68 6f 72 74 20 6c 69 | 6e 65 48 65 69 67 68 74 |short li|neHeight|
|00004290| 3b 0d 09 52 65 63 74 20 | 76 69 65 77 52 65 63 74 |;..Rect |viewRect|
|000042a0| 3b 0d 0d 09 6c 69 6e 65 | 48 65 69 67 68 74 20 3d |;...line|Height =|
|000042b0| 20 28 2a 2a 74 68 65 54 | 45 29 2e 6c 69 6e 65 48 | (**theT|E).lineH|
|000042c0| 65 69 67 68 74 3b 0d 09 | 76 69 65 77 52 65 63 74 |eight;..|viewRect|
|000042d0| 20 3d 20 28 2a 2a 74 68 | 65 54 45 29 2e 76 69 65 | = (**th|eTE).vie|
|000042e0| 77 52 65 63 74 3b 0d 09 | 72 65 74 75 72 6e 20 28 |wRect;..|return (|
|000042f0| 76 69 65 77 52 65 63 74 | 2e 62 6f 74 74 6f 6d 20 |viewRect|.bottom |
|00004300| 2d 20 76 69 65 77 52 65 | 63 74 2e 74 6f 70 29 20 |- viewRe|ct.top) |
|00004310| 2f 20 6c 69 6e 65 48 65 | 69 67 68 74 20 2d 20 31 |/ lineHe|ight - 1|
|00004320| 3b 0d 7d 0d 0d 0d 0d 2f | 2a 2d 2d 2d 2d 2d 2d 2d |;.}..../|*-------|
|00004330| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004340| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004350| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004360| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004370| 2d 2d 2d 2d 2d 0d 09 47 | 65 74 42 6f 70 20 0d 09 |-----..G|etBop ..|
|00004380| 0d 09 47 65 74 20 74 68 | 65 20 62 65 67 69 6e 6e |..Get th|e beginn|
|00004390| 69 6e 67 20 6f 66 20 74 | 68 65 20 70 61 67 65 2e |ing of t|he page.|
|000043a0| 0d 09 09 09 0d 09 45 6e | 74 72 79 3a 09 6f 66 66 |......En|try:.off|
|000043b0| 73 65 74 20 3d 20 6f 66 | 66 73 65 74 20 69 6e 74 |set = of|fset int|
|000043c0| 6f 20 74 65 78 74 20 6f | 66 20 63 68 61 72 61 63 |o text o|f charac|
|000043d0| 74 65 72 2e 0d 09 09 09 | 74 68 65 54 45 20 3d 20 |ter.....|theTE = |
|000043e0| 68 61 6e 64 6c 65 20 74 | 6f 20 54 65 78 74 45 64 |handle t|o TextEd|
|000043f0| 69 74 20 72 65 63 6f 72 | 64 2e 0d 09 09 09 70 61 |it recor|d.....pa|
|00004400| 67 65 48 65 69 67 68 74 | 20 3d 20 6e 75 6d 62 65 |geHeight| = numbe|
|00004410| 72 20 6f 66 20 6c 69 6e | 65 73 20 69 6e 20 61 20 |r of lin|es in a |
|00004420| 70 61 67 65 2c 20 6f 72 | 20 30 20 74 6f 0d 09 09 |page, or| 0 to...|
|00004430| 09 09 63 6f 6d 70 75 74 | 65 20 74 68 69 73 20 62 |..comput|e this b|
|00004440| 61 73 65 64 20 6f 6e 20 | 74 68 65 20 61 73 73 75 |ased on |the assu|
|00004450| 6d 70 74 69 6f 6e 20 74 | 68 61 74 20 74 68 65 0d |mption t|hat the.|
|00004460| 09 09 09 09 76 69 65 77 | 20 72 65 63 74 61 6e 67 |....view| rectang|
|00004470| 6c 65 20 6f 66 20 74 68 | 65 20 54 65 78 74 45 64 |le of th|e TextEd|
|00004480| 69 74 20 66 69 65 6c 64 | 20 69 73 20 61 20 70 61 |it field| is a pa|
|00004490| 67 65 2e 0d 09 09 09 0d | 09 45 78 69 74 3a 09 66 |ge......|.Exit:.f|
|000044a0| 75 6e 63 74 69 6f 6e 20 | 72 65 73 75 6c 74 20 3d |unction |result =|
|000044b0| 20 6f 66 66 73 65 74 20 | 69 6e 74 6f 20 74 65 78 | offset |into tex|
|000044c0| 74 20 6f 66 20 62 65 67 | 69 6e 6e 69 6e 67 20 6f |t of beg|inning o|
|000044d0| 66 20 70 61 67 65 20 0d | 09 09 09 09 63 6f 6e 74 |f page .|....cont|
|000044e0| 61 69 6e 69 6e 67 20 74 | 68 65 20 63 68 61 72 61 |aining t|he chara|
|000044f0| 63 74 65 72 2c 20 6f 72 | 20 62 65 67 69 6e 6e 69 |cter, or| beginni|
|00004500| 6e 67 20 6f 66 20 70 72 | 65 76 69 6f 75 73 0d 09 |ng of pr|evious..|
|00004510| 09 09 09 70 61 67 65 20 | 69 66 20 61 6c 72 65 61 |...page |if alrea|
|00004520| 64 79 20 61 74 20 74 6f | 70 20 6f 66 20 70 61 67 |dy at to|p of pag|
|00004530| 65 2e 0d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |e..-----|--------|
|00004540| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004550| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004560| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004570| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2a |--------|-------*|
|00004580| 2f 0d 0d 73 74 61 74 69 | 63 20 73 68 6f 72 74 20 |/..stati|c short |
|00004590| 47 65 74 42 6f 70 20 28 | 73 68 6f 72 74 20 6f 66 |GetBop (|short of|
|000045a0| 66 73 65 74 2c 20 54 45 | 48 61 6e 64 6c 65 20 74 |fset, TE|Handle t|
|000045b0| 68 65 54 45 2c 20 73 68 | 6f 72 74 20 70 61 67 65 |heTE, sh|ort page|
|000045c0| 48 65 69 67 68 74 29 0d | 7b 0d 09 52 65 63 74 20 |Height).|{..Rect |
|000045d0| 76 69 65 77 52 65 63 74 | 3b 0d 09 50 6f 69 6e 74 |viewRect|;..Point|
|000045e0| 20 77 68 65 72 65 3b 0d | 09 73 68 6f 72 74 20 62 | where;.|.short b|
|000045f0| 6f 70 3b 0d 09 73 68 6f | 72 74 20 2a 6c 69 6e 65 |op;..sho|rt *line|
|00004600| 53 74 61 72 74 73 2c 20 | 2a 70 3b 0d 09 0d 09 76 |Starts, |*p;....v|
|00004610| 69 65 77 52 65 63 74 20 | 3d 20 28 2a 2a 74 68 65 |iewRect |= (**the|
|00004620| 54 45 29 2e 76 69 65 77 | 52 65 63 74 3b 0d 09 77 |TE).view|Rect;..w|
|00004630| 68 65 72 65 2e 68 20 3d | 20 76 69 65 77 52 65 63 |here.h =| viewRec|
|00004640| 74 2e 6c 65 66 74 3b 0d | 09 77 68 65 72 65 2e 76 |t.left;.|.where.v|
|00004650| 20 3d 20 76 69 65 77 52 | 65 63 74 2e 74 6f 70 20 | = viewR|ect.top |
|00004660| 2b 20 32 3b 0d 09 62 6f | 70 20 3d 20 4d 79 54 45 |+ 2;..bo|p = MyTE|
|00004670| 47 65 74 4f 66 66 73 65 | 74 28 77 68 65 72 65 2c |GetOffse|t(where,|
|00004680| 20 74 68 65 54 45 29 3b | 0d 09 69 66 20 28 62 6f | theTE);|..if (bo|
|00004690| 70 20 3c 20 6f 66 66 73 | 65 74 29 20 72 65 74 75 |p < offs|et) retu|
|000046a0| 72 6e 20 62 6f 70 3b 0d | 09 69 66 20 28 70 61 67 |rn bop;.|.if (pag|
|000046b0| 65 48 65 69 67 68 74 20 | 3d 3d 20 30 29 20 70 61 |eHeight |== 0) pa|
|000046c0| 67 65 48 65 69 67 68 74 | 20 3d 20 47 65 74 54 45 |geHeight| = GetTE|
|000046d0| 50 61 67 65 48 65 69 67 | 68 74 28 74 68 65 54 45 |PageHeig|ht(theTE|
|000046e0| 29 3b 0d 09 6c 69 6e 65 | 53 74 61 72 74 73 20 3d |);..line|Starts =|
|000046f0| 20 28 2a 2a 74 68 65 54 | 45 29 2e 6c 69 6e 65 53 | (**theT|E).lineS|
|00004700| 74 61 72 74 73 3b 0d 09 | 70 20 3d 20 6c 69 6e 65 |tarts;..|p = line|
|00004710| 53 74 61 72 74 73 3b 0d | 09 77 68 69 6c 65 20 28 |Starts;.|.while (|
|00004720| 2a 70 20 3c 20 62 6f 70 | 29 20 70 2b 2b 3b 0d 09 |*p < bop|) p++;..|
|00004730| 70 20 2d 3d 20 70 61 67 | 65 48 65 69 67 68 74 3b |p -= pag|eHeight;|
|00004740| 0d 09 69 66 20 28 70 20 | 3c 20 6c 69 6e 65 53 74 |..if (p |< lineSt|
|00004750| 61 72 74 73 29 20 70 20 | 3d 20 6c 69 6e 65 53 74 |arts) p |= lineSt|
|00004760| 61 72 74 73 3b 0d 09 72 | 65 74 75 72 6e 20 2a 70 |arts;..r|eturn *p|
|00004770| 3b 0d 7d 0d 0d 0d 0d 2f | 2a 2d 2d 2d 2d 2d 2d 2d |;.}..../|*-------|
|00004780| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004790| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000047a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000047b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000047c0| 2d 2d 2d 2d 2d 0d 09 47 | 65 74 45 6f 70 20 0d 09 |-----..G|etEop ..|
|000047d0| 0d 09 47 65 74 20 74 68 | 65 20 65 6e 64 20 6f 66 |..Get th|e end of|
|000047e0| 20 74 68 65 20 70 61 67 | 65 2e 0d 09 09 09 0d 09 | the pag|e.......|
|000047f0| 45 6e 74 72 79 3a 09 6f | 66 66 73 65 74 20 3d 20 |Entry:.o|ffset = |
|00004800| 6f 66 66 73 65 74 20 69 | 6e 74 6f 20 74 65 78 74 |offset i|nto text|
|00004810| 20 6f 66 20 63 68 61 72 | 61 63 74 65 72 2e 0d 09 | of char|acter...|
|00004820| 09 09 74 68 65 54 45 20 | 3d 20 68 61 6e 64 6c 65 |..theTE |= handle|
|00004830| 20 74 6f 20 54 65 78 74 | 45 64 69 74 20 72 65 63 | to Text|Edit rec|
|00004840| 6f 72 64 2e 0d 09 09 09 | 70 61 67 65 48 65 69 67 |ord.....|pageHeig|
|00004850| 68 74 20 3d 20 6e 75 6d | 62 65 72 20 6f 66 20 6c |ht = num|ber of l|
|00004860| 69 6e 65 73 20 69 6e 20 | 61 20 70 61 67 65 2c 20 |ines in |a page, |
|00004870| 6f 72 20 30 20 74 6f 0d | 09 09 09 09 63 6f 6d 70 |or 0 to.|....comp|
|00004880| 75 74 65 20 74 68 69 73 | 20 62 61 73 65 64 20 6f |ute this| based o|
|00004890| 6e 20 74 68 65 20 61 73 | 73 75 6d 70 74 69 6f 6e |n the as|sumption|
|000048a0| 20 74 68 61 74 20 74 68 | 65 0d 09 09 09 09 76 69 | that th|e.....vi|
|000048b0| 65 77 20 72 65 63 74 61 | 6e 67 6c 65 20 6f 66 20 |ew recta|ngle of |
|000048c0| 74 68 65 20 54 65 78 74 | 45 64 69 74 20 66 69 65 |the Text|Edit fie|
|000048d0| 6c 64 20 69 73 20 61 20 | 70 61 67 65 2e 0d 09 09 |ld is a |page....|
|000048e0| 09 0d 09 45 78 69 74 3a | 09 66 75 6e 63 74 69 6f |...Exit:|.functio|
|000048f0| 6e 20 72 65 73 75 6c 74 | 20 3d 20 6f 66 66 73 65 |n result| = offse|
|00004900| 74 20 69 6e 74 6f 20 74 | 65 78 74 20 6f 66 20 65 |t into t|ext of e|
|00004910| 6e 64 20 6f 66 20 70 61 | 67 65 20 0d 09 09 09 09 |nd of pa|ge .....|
|00004920| 63 6f 6e 74 61 69 6e 69 | 6e 67 20 74 68 65 20 63 |containi|ng the c|
|00004930| 68 61 72 61 63 74 65 72 | 2c 20 6f 72 20 65 6e 64 |haracter|, or end|
|00004940| 20 6f 66 20 6e 65 78 74 | 0d 09 09 09 09 70 61 67 | of next|.....pag|
|00004950| 65 20 69 66 20 61 6c 72 | 65 61 64 79 20 61 74 20 |e if alr|eady at |
|00004960| 65 6e 64 20 6f 66 20 70 | 61 67 65 2e 0d 2d 2d 2d |end of p|age..---|
|00004970| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004980| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004990| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000049a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000049b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2a 2f 0d 0d 73 74 61 |--------|-*/..sta|
|000049c0| 74 69 63 20 73 68 6f 72 | 74 20 47 65 74 45 6f 70 |tic shor|t GetEop|
|000049d0| 20 28 73 68 6f 72 74 20 | 6f 66 66 73 65 74 2c 20 | (short |offset, |
|000049e0| 54 45 48 61 6e 64 6c 65 | 20 74 68 65 54 45 2c 20 |TEHandle| theTE, |
|000049f0| 73 68 6f 72 74 20 70 61 | 67 65 48 65 69 67 68 74 |short pa|geHeight|
|00004a00| 29 0d 7b 0d 09 52 65 63 | 74 20 76 69 65 77 52 65 |).{..Rec|t viewRe|
|00004a10| 63 74 3b 0d 09 50 6f 69 | 6e 74 20 77 68 65 72 65 |ct;..Poi|nt where|
|00004a20| 3b 0d 09 73 68 6f 72 74 | 20 65 6f 70 3b 0d 09 73 |;..short| eop;..s|
|00004a30| 68 6f 72 74 20 2a 6c 69 | 6e 65 53 74 61 72 74 73 |hort *li|neStarts|
|00004a40| 2c 20 2a 70 2c 20 2a 6c | 69 6e 65 53 74 61 72 74 |, *p, *l|ineStart|
|00004a50| 73 45 6e 64 3b 0d 09 73 | 68 6f 72 74 20 74 65 4c |sEnd;..s|hort teL|
|00004a60| 65 6e 67 74 68 3b 0d 09 | 48 61 6e 64 6c 65 20 68 |ength;..|Handle h|
|00004a70| 54 65 78 74 3b 0d 09 0d | 09 76 69 65 77 52 65 63 |Text;...|.viewRec|
|00004a80| 74 20 3d 20 28 2a 2a 74 | 68 65 54 45 29 2e 76 69 |t = (**t|heTE).vi|
|00004a90| 65 77 52 65 63 74 3b 0d | 09 77 68 65 72 65 2e 68 |ewRect;.|.where.h|
|00004aa0| 20 3d 20 76 69 65 77 52 | 65 63 74 2e 72 69 67 68 | = viewR|ect.righ|
|00004ab0| 74 20 2d 20 32 3b 0d 09 | 77 68 65 72 65 2e 76 20 |t - 2;..|where.v |
|00004ac0| 3d 20 76 69 65 77 52 65 | 63 74 2e 62 6f 74 74 6f |= viewRe|ct.botto|
|00004ad0| 6d 20 2d 20 32 3b 0d 09 | 65 6f 70 20 3d 20 4d 79 |m - 2;..|eop = My|
|00004ae0| 54 45 47 65 74 4f 66 66 | 73 65 74 28 77 68 65 72 |TEGetOff|set(wher|
|00004af0| 65 2c 20 74 68 65 54 45 | 29 3b 0d 09 74 65 4c 65 |e, theTE|);..teLe|
|00004b00| 6e 67 74 68 20 3d 20 28 | 2a 2a 74 68 65 54 45 29 |ngth = (|**theTE)|
|00004b10| 2e 74 65 4c 65 6e 67 74 | 68 3b 0d 09 68 54 65 78 |.teLengt|h;..hTex|
|00004b20| 74 20 3d 20 28 2a 2a 74 | 68 65 54 45 29 2e 68 54 |t = (**t|heTE).hT|
|00004b30| 65 78 74 3b 0d 09 69 66 | 20 28 65 6f 70 20 3c 20 |ext;..if| (eop < |
|00004b40| 74 65 4c 65 6e 67 74 68 | 20 26 26 20 2a 28 2a 68 |teLength| && *(*h|
|00004b50| 54 65 78 74 20 2b 20 65 | 6f 70 29 20 3d 3d 20 43 |Text + e|op) == C|
|00004b60| 52 29 20 65 6f 70 2b 2b | 3b 0d 09 69 66 20 28 6f |R) eop++|;..if (o|
|00004b70| 66 66 73 65 74 20 3c 20 | 74 65 4c 65 6e 67 74 68 |ffset < |teLength|
|00004b80| 20 26 26 20 2a 28 2a 68 | 54 65 78 74 20 2b 20 6f | && *(*h|Text + o|
|00004b90| 66 66 73 65 74 29 20 3d | 3d 20 43 52 29 20 6f 66 |ffset) =|= CR) of|
|00004ba0| 66 73 65 74 2b 2b 3b 0d | 09 69 66 20 28 65 6f 70 |fset++;.|.if (eop|
|00004bb0| 20 3e 20 6f 66 66 73 65 | 74 29 20 72 65 74 75 72 | > offse|t) retur|
|00004bc0| 6e 20 65 6f 70 3b 0d 09 | 69 66 20 28 70 61 67 65 |n eop;..|if (page|
|00004bd0| 48 65 69 67 68 74 20 3d | 3d 20 30 29 20 70 61 67 |Height =|= 0) pag|
|00004be0| 65 48 65 69 67 68 74 20 | 3d 20 47 65 74 54 45 50 |eHeight |= GetTEP|
|00004bf0| 61 67 65 48 65 69 67 68 | 74 28 74 68 65 54 45 29 |ageHeigh|t(theTE)|
|00004c00| 3b 0d 09 6c 69 6e 65 53 | 74 61 72 74 73 20 3d 20 |;..lineS|tarts = |
|00004c10| 28 2a 2a 74 68 65 54 45 | 29 2e 6c 69 6e 65 53 74 |(**theTE|).lineSt|
|00004c20| 61 72 74 73 3b 0d 09 6c | 69 6e 65 53 74 61 72 74 |arts;..l|ineStart|
|00004c30| 73 45 6e 64 20 3d 20 6c | 69 6e 65 53 74 61 72 74 |sEnd = l|ineStart|
|00004c40| 73 20 2b 20 28 2a 2a 74 | 68 65 54 45 29 2e 6e 4c |s + (**t|heTE).nL|
|00004c50| 69 6e 65 73 3b 0d 09 70 | 20 3d 20 6c 69 6e 65 53 |ines;..p| = lineS|
|00004c60| 74 61 72 74 73 3b 0d 09 | 77 68 69 6c 65 20 28 2a |tarts;..|while (*|
|00004c70| 70 20 3c 20 65 6f 70 29 | 20 70 2b 2b 3b 0d 09 70 |p < eop)| p++;..p|
|00004c80| 20 2b 3d 20 70 61 67 65 | 48 65 69 67 68 74 3b 0d | += page|Height;.|
|00004c90| 09 69 66 20 28 70 20 3e | 20 6c 69 6e 65 53 74 61 |.if (p >| lineSta|
|00004ca0| 72 74 73 45 6e 64 29 20 | 70 20 3d 20 6c 69 6e 65 |rtsEnd) |p = line|
|00004cb0| 53 74 61 72 74 73 45 6e | 64 3b 0d 09 72 65 74 75 |StartsEn|d;..retu|
|00004cc0| 72 6e 20 2a 70 3b 0d 7d | 0d 0d 0d 0d 2f 2a 2d 2d |rn *p;.}|..../*--|
|00004cd0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004ce0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004cf0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004d00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004d10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 0d 09 47 65 74 50 |--------|--..GetP|
|00004d20| 69 78 65 6c 73 46 72 6f | 6d 42 6f 6c 47 69 76 65 |ixelsFro|mBolGive|
|00004d30| 6e 4f 66 66 73 65 74 20 | 0d 09 0d 09 47 65 74 20 |nOffset |....Get |
|00004d40| 74 68 65 20 74 68 65 20 | 6e 75 6d 62 65 72 20 6f |the the |number o|
|00004d50| 66 20 70 69 78 65 6c 73 | 20 66 72 6f 6d 20 74 68 |f pixels| from th|
|00004d60| 65 20 62 65 67 69 6e 6e | 69 6e 67 20 6f 66 20 61 |e beginn|ing of a|
|00004d70| 20 6c 69 6e 65 20 74 6f | 20 61 20 67 69 76 65 6e | line to| a given|
|00004d80| 0d 09 63 68 61 72 61 63 | 74 65 72 20 69 6e 20 74 |..charac|ter in t|
|00004d90| 68 65 20 6c 69 6e 65 2e | 0d 0d 09 45 6e 74 72 79 |he line.|...Entry|
|00004da0| 3a 09 62 6f 6c 20 3d 20 | 6f 66 66 73 65 74 20 69 |:.bol = |offset i|
|00004db0| 6e 74 6f 20 74 65 78 74 | 20 6f 66 20 62 65 67 69 |nto text| of begi|
|00004dc0| 6e 6e 69 6e 67 20 6f 66 | 20 6c 69 6e 65 20 63 6f |nning of| line co|
|00004dd0| 6e 74 61 69 6e 69 6e 67 | 20 74 68 65 0d 09 09 09 |ntaining| the....|
|00004de0| 09 63 68 61 72 61 63 74 | 65 72 2e 0d 09 09 09 6f |.charact|er.....o|
|00004df0| 66 66 73 65 74 20 3d 20 | 6f 66 66 73 65 74 20 69 |ffset = |offset i|
|00004e00| 6e 74 6f 20 74 65 78 74 | 20 6f 66 20 63 68 61 72 |nto text| of char|
|00004e10| 61 63 74 65 72 2e 0d 09 | 09 09 74 68 65 54 45 20 |acter...|..theTE |
|00004e20| 3d 20 68 61 6e 64 6c 65 | 20 74 6f 20 54 65 78 74 |= handle| to Text|
|00004e30| 45 64 69 74 20 72 65 63 | 6f 72 64 2e 0d 09 09 09 |Edit rec|ord.....|
|00004e40| 0d 09 45 78 69 74 3a 09 | 66 75 6e 63 74 69 6f 6e |..Exit:.|function|
|00004e50| 20 72 65 73 75 6c 74 20 | 3d 20 6e 75 6d 62 65 72 | result |= number|
|00004e60| 20 6f 66 20 70 69 78 65 | 6c 73 20 66 72 6f 6d 20 | of pixe|ls from |
|00004e70| 74 68 65 20 62 65 67 69 | 6e 6e 69 6e 67 20 6f 66 |the begi|nning of|
|00004e80| 20 74 68 65 0d 09 09 09 | 09 6c 69 6e 65 20 74 6f | the....|.line to|
|00004e90| 20 74 68 65 20 63 68 61 | 72 61 63 74 65 72 2e 0d | the cha|racter..|
|00004ea0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004eb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004ec0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004ed0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00004ee0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2a 2f 0d 0d |--------|----*/..|
|00004ef0| 73 74 61 74 69 63 20 73 | 68 6f 72 74 20 47 65 74 |static s|hort Get|
|00004f00| 50 69 78 65 6c 73 46 72 | 6f 6d 42 6f 6c 47 69 76 |PixelsFr|omBolGiv|
|00004f10| 65 6e 4f 66 66 73 65 74 | 20 28 73 68 6f 72 74 20 |enOffset| (short |
|00004f20| 62 6f 6c 2c 20 73 68 6f | 72 74 20 6f 66 66 73 65 |bol, sho|rt offse|
|00004f30| 74 2c 20 54 45 48 61 6e | 64 6c 65 20 74 68 65 54 |t, TEHan|dle theT|
|00004f40| 45 29 0d 7b 0d 09 48 61 | 6e 64 6c 65 20 68 54 65 |E).{..Ha|ndle hTe|
|00004f50| 78 74 3b 0d 09 63 68 61 | 72 20 73 74 61 74 65 3b |xt;..cha|r state;|
|00004f60| 0d 09 73 68 6f 72 74 20 | 72 65 73 75 6c 74 3b 0d |..short |result;.|
|00004f70| 0d 09 68 54 65 78 74 20 | 3d 20 28 2a 2a 74 68 65 |..hText |= (**the|
|00004f80| 54 45 29 2e 68 54 65 78 | 74 3b 0d 09 73 74 61 74 |TE).hTex|t;..stat|
|00004f90| 65 20 3d 20 4d 79 48 47 | 65 74 53 74 61 74 65 28 |e = MyHG|etState(|
|00004fa0| 68 54 65 78 74 29 3b 0d | 09 48 4c 6f 63 6b 28 68 |hText);.|.HLock(h|
|00004fb0| 54 65 78 74 29 3b 0d 09 | 72 65 73 75 6c 74 20 3d |Text);..|result =|
|00004fc0| 20 54 65 78 74 57 69 64 | 74 68 28 2a 68 54 65 78 | TextWid|th(*hTex|
|00004fd0| 74 2c 20 62 6f 6c 2c 20 | 6f 66 66 73 65 74 2d 62 |t, bol, |offset-b|
|00004fe0| 6f 6c 29 3b 0d 09 4d 79 | 48 53 65 74 53 74 61 74 |ol);..My|HSetStat|
|00004ff0| 65 28 68 54 65 78 74 2c | 20 73 74 61 74 65 29 3b |e(hText,| state);|
|00005000| 0d 09 72 65 74 75 72 6e | 20 72 65 73 75 6c 74 3b |..return| result;|
|00005010| 0d 7d 0d 0d 0d 0d 2f 2a | 2d 2d 2d 2d 2d 2d 2d 2d |.}..../*|--------|
|00005020| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005030| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005040| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005050| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005060| 2d 2d 2d 2d 0d 09 47 65 | 74 4f 66 66 73 65 74 47 |----..Ge|tOffsetG|
|00005070| 69 76 65 6e 50 69 78 65 | 6c 73 46 72 6f 6d 42 6f |ivenPixe|lsFromBo|
|00005080| 6c 20 0d 09 0d 09 47 65 | 74 20 74 68 65 20 6f 66 |l ....Ge|t the of|
|00005090| 66 73 65 74 20 6f 66 20 | 74 68 65 20 63 68 61 72 |fset of |the char|
|000050a0| 61 63 74 65 72 20 77 68 | 69 63 68 20 69 73 20 61 |acter wh|ich is a|
|000050b0| 20 67 69 76 65 6e 20 6e | 75 6d 62 65 72 20 6f 66 | given n|umber of|
|000050c0| 20 70 69 78 65 6c 73 20 | 69 6e 74 6f 20 0d 09 61 | pixels |into ..a|
|000050d0| 20 6c 69 6e 65 2e 0d 09 | 09 09 0d 09 45 6e 74 72 | line...|....Entr|
|000050e0| 79 3a 09 62 6f 6c 20 3d | 20 6f 66 66 73 65 74 20 |y:.bol =| offset |
|000050f0| 69 6e 74 6f 20 74 65 78 | 74 20 6f 66 20 62 65 67 |into tex|t of beg|
|00005100| 69 6e 6e 69 6e 67 20 6f | 66 20 6c 69 6e 65 2e 0d |inning o|f line..|
|00005110| 09 09 09 70 69 78 65 6c | 73 46 72 6f 6d 42 6f 6c |...pixel|sFromBol|
|00005120| 20 3d 20 6e 75 6d 62 65 | 72 20 6f 66 20 70 69 78 | = numbe|r of pix|
|00005130| 65 6c 73 2e 0d 09 09 09 | 74 68 65 54 45 20 3d 20 |els.....|theTE = |
|00005140| 68 61 6e 64 6c 65 20 74 | 6f 20 54 65 78 74 45 64 |handle t|o TextEd|
|00005150| 69 74 20 72 65 63 6f 72 | 64 2e 0d 09 09 09 0d 09 |it recor|d.......|
|00005160| 45 78 69 74 3a 09 66 75 | 6e 63 74 69 6f 6e 20 72 |Exit:.fu|nction r|
|00005170| 65 73 75 6c 74 20 3d 20 | 6f 66 66 73 65 74 20 69 |esult = |offset i|
|00005180| 6e 74 6f 20 74 65 78 74 | 20 6f 66 20 74 68 65 20 |nto text| of the |
|00005190| 63 68 61 72 61 63 74 65 | 72 20 77 68 69 63 68 20 |characte|r which |
|000051a0| 69 73 0d 09 09 09 09 74 | 68 65 20 67 69 76 65 6e |is.....t|he given|
|000051b0| 20 6e 75 6d 62 65 72 20 | 6f 66 20 70 69 78 65 6c | number |of pixel|
|000051c0| 73 20 69 6e 74 6f 20 74 | 68 65 20 6c 69 6e 65 2e |s into t|he line.|
|000051d0| 0d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |.-------|--------|
|000051e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000051f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005200| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005210| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2a 2f 0d |--------|-----*/.|
|00005220| 0d 73 74 61 74 69 63 20 | 73 68 6f 72 74 20 47 65 |.static |short Ge|
|00005230| 74 4f 66 66 73 65 74 47 | 69 76 65 6e 50 69 78 65 |tOffsetG|ivenPixe|
|00005240| 6c 73 46 72 6f 6d 42 6f | 6c 20 28 73 68 6f 72 74 |lsFromBo|l (short|
|00005250| 20 62 6f 6c 2c 20 73 68 | 6f 72 74 20 70 69 78 65 | bol, sh|ort pixe|
|00005260| 6c 73 46 72 6f 6d 42 6f | 6c 2c 20 54 45 48 61 6e |lsFromBo|l, TEHan|
|00005270| 64 6c 65 20 74 68 65 54 | 45 29 0d 7b 0d 09 48 61 |dle theT|E).{..Ha|
|00005280| 6e 64 6c 65 20 68 54 65 | 78 74 3b 0d 09 63 68 61 |ndle hTe|xt;..cha|
|00005290| 72 20 73 74 61 74 65 3b | 0d 09 73 68 6f 72 74 20 |r state;|..short |
|000052a0| 72 65 73 75 6c 74 3b 0d | 09 73 68 6f 72 74 20 65 |result;.|.short e|
|000052b0| 6f 6c 3b 0d 0d 09 68 54 | 65 78 74 20 3d 20 28 2a |ol;...hT|ext = (*|
|000052c0| 2a 74 68 65 54 45 29 2e | 68 54 65 78 74 3b 0d 09 |*theTE).|hText;..|
|000052d0| 73 74 61 74 65 20 3d 20 | 4d 79 48 47 65 74 53 74 |state = |MyHGetSt|
|000052e0| 61 74 65 28 68 54 65 78 | 74 29 3b 0d 09 48 4c 6f |ate(hTex|t);..HLo|
|000052f0| 63 6b 28 68 54 65 78 74 | 29 3b 0d 09 0d 09 65 6f |ck(hText|);....eo|
|00005300| 6c 20 3d 20 47 65 74 45 | 6f 6c 28 62 6f 6c 2c 20 |l = GetE|ol(bol, |
|00005310| 30 78 66 66 66 66 2c 20 | 74 68 65 54 45 29 3b 0d |0xffff, |theTE);.|
|00005320| 09 72 65 73 75 6c 74 20 | 3d 20 62 6f 6c 3b 0d 09 |.result |= bol;..|
|00005330| 77 68 69 6c 65 20 28 72 | 65 73 75 6c 74 20 3c 20 |while (r|esult < |
|00005340| 65 6f 6c 20 26 26 20 54 | 65 78 74 57 69 64 74 68 |eol && T|extWidth|
|00005350| 28 2a 68 54 65 78 74 2c | 20 62 6f 6c 2c 20 72 65 |(*hText,| bol, re|
|00005360| 73 75 6c 74 20 2d 20 62 | 6f 6c 29 20 3c 20 70 69 |sult - b|ol) < pi|
|00005370| 78 65 6c 73 46 72 6f 6d | 42 6f 6c 29 20 72 65 73 |xelsFrom|Bol) res|
|00005380| 75 6c 74 2b 2b 3b 0d 09 | 0d 09 4d 79 48 53 65 74 |ult++;..|..MyHSet|
|00005390| 53 74 61 74 65 28 68 54 | 65 78 74 2c 20 73 74 61 |State(hT|ext, sta|
|000053a0| 74 65 29 3b 0d 09 72 65 | 74 75 72 6e 20 72 65 73 |te);..re|turn res|
|000053b0| 75 6c 74 3b 0d 7d 0d 0d | 0d 0d 2f 2a 2d 2d 2d 2d |ult;.}..|../*----|
|000053c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000053d0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000053e0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000053f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005400| 2d 2d 2d 2d 2d 2d 2d 2d | 0d 09 4d 79 47 65 74 43 |--------|..MyGetC|
|00005410| 6c 69 6b 53 74 75 66 66 | 20 0d 09 0d 09 47 65 74 |likStuff| ....Get|
|00005420| 20 74 68 65 20 63 6c 69 | 6b 53 74 75 66 66 20 66 | the cli|kStuff f|
|00005430| 69 65 6c 64 20 66 72 6f | 6d 20 61 6e 20 65 64 69 |ield fro|m an edi|
|00005440| 74 20 72 65 63 6f 72 64 | 2c 20 61 64 6a 75 73 74 |t record|, adjust|
|00005450| 65 64 20 69 66 20 74 68 | 65 20 69 6e 73 65 72 74 |ed if th|e insert|
|00005460| 69 6f 6e 0d 09 70 6f 69 | 6e 74 20 66 6f 6c 6c 6f |ion..poi|nt follo|
|00005470| 77 73 20 61 20 66 69 6e | 61 6c 20 43 52 20 69 6e |ws a fin|al CR in|
|00005480| 20 74 68 65 20 66 69 65 | 6c 64 2e 20 0d 09 09 09 | the fie|ld. ....|
|00005490| 0d 09 45 6e 74 72 79 3a | 09 74 68 65 54 45 20 3d |..Entry:|.theTE =|
|000054a0| 20 68 61 6e 64 6c 65 20 | 74 6f 20 54 65 78 74 45 | handle |to TextE|
|000054b0| 64 69 74 20 72 65 63 6f | 72 64 2e 0d 09 09 09 0d |dit reco|rd......|
|000054c0| 09 45 78 69 74 3a 09 66 | 75 6e 63 74 69 6f 6e 20 |.Exit:.f|unction |
|000054d0| 72 65 73 75 6c 74 20 3d | 20 61 64 6a 75 73 74 65 |result =| adjuste|
|000054e0| 64 20 63 6c 69 6b 53 74 | 75 66 66 20 66 69 65 6c |d clikSt|uff fiel|
|000054f0| 64 2e 0d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |d..-----|--------|
|00005500| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005510| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005520| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005530| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2a |--------|-------*|
|00005540| 2f 0d 0d 73 68 6f 72 74 | 20 4d 79 47 65 74 43 6c |/..short| MyGetCl|
|00005550| 69 6b 53 74 75 66 66 20 | 28 54 45 48 61 6e 64 6c |ikStuff |(TEHandl|
|00005560| 65 20 74 68 65 54 45 29 | 0d 7b 0d 09 73 68 6f 72 |e theTE)|.{..shor|
|00005570| 74 20 73 65 6c 53 74 61 | 72 74 2c 20 73 65 6c 45 |t selSta|rt, selE|
|00005580| 6e 64 2c 20 63 6c 69 6b | 53 74 75 66 66 2c 20 74 |nd, clik|Stuff, t|
|00005590| 65 4c 65 6e 67 74 68 3b | 0d 09 48 61 6e 64 6c 65 |eLength;|..Handle|
|000055a0| 20 68 54 65 78 74 3b 0d | 09 0d 09 73 65 6c 53 74 | hText;.|...selSt|
|000055b0| 61 72 74 20 3d 20 28 2a | 2a 74 68 65 54 45 29 2e |art = (*|*theTE).|
|000055c0| 73 65 6c 53 74 61 72 74 | 3b 0d 09 73 65 6c 45 6e |selStart|;..selEn|
|000055d0| 64 20 3d 20 28 2a 2a 74 | 68 65 54 45 29 2e 73 65 |d = (**t|heTE).se|
|000055e0| 6c 45 6e 64 3b 0d 09 63 | 6c 69 6b 53 74 75 66 66 |lEnd;..c|likStuff|
|000055f0| 20 3d 20 28 2a 2a 74 68 | 65 54 45 29 2e 63 6c 69 | = (**th|eTE).cli|
|00005600| 6b 53 74 75 66 66 3b 0d | 09 68 54 65 78 74 20 3d |kStuff;.|.hText =|
|00005610| 20 28 2a 2a 74 68 65 54 | 45 29 2e 68 54 65 78 74 | (**theT|E).hText|
|00005620| 3b 0d 09 74 65 4c 65 6e | 67 74 68 20 3d 20 28 2a |;..teLen|gth = (*|
|00005630| 2a 74 68 65 54 45 29 2e | 74 65 4c 65 6e 67 74 68 |*theTE).|teLength|
|00005640| 3b 0d 09 69 66 20 28 73 | 65 6c 53 74 61 72 74 20 |;..if (s|elStart |
|00005650| 3d 3d 20 73 65 6c 45 6e | 64 20 26 26 20 73 65 6c |== selEn|d && sel|
|00005660| 53 74 61 72 74 20 3d 3d | 20 74 65 4c 65 6e 67 74 |Start ==| teLengt|
|00005670| 68 29 20 7b 0d 09 09 69 | 66 20 28 63 6c 69 6b 53 |h) {...i|f (clikS|
|00005680| 74 75 66 66 20 3d 3d 20 | 30 20 26 26 20 73 65 6c |tuff == |0 && sel|
|00005690| 53 74 61 72 74 20 3e 20 | 30 20 26 26 20 2a 28 2a |Start > |0 && *(*|
|000056a0| 68 54 65 78 74 20 2b 20 | 73 65 6c 53 74 61 72 74 |hText + |selStart|
|000056b0| 20 2d 20 31 29 20 3d 3d | 20 43 52 29 20 7b 0d 09 | - 1) ==| CR) {..|
|000056c0| 09 09 28 2a 2a 74 68 65 | 54 45 29 2e 63 6c 69 6b |..(**the|TE).clik|
|000056d0| 53 74 75 66 66 20 3d 20 | 63 6c 69 6b 53 74 75 66 |Stuff = |clikStuf|
|000056e0| 66 20 3d 20 30 78 66 66 | 66 66 3b 0d 09 09 7d 20 |f = 0xff|ff;...} |
|000056f0| 65 6c 73 65 20 69 66 20 | 28 63 6c 69 6b 53 74 75 |else if |(clikStu|
|00005700| 66 66 20 21 3d 20 30 20 | 26 26 20 28 73 65 6c 53 |ff != 0 |&& (selS|
|00005710| 74 61 72 74 20 3d 3d 20 | 30 20 7c 7c 20 2a 28 2a |tart == |0 || *(*|
|00005720| 68 54 65 78 74 20 2b 20 | 73 65 6c 53 74 61 72 74 |hText + |selStart|
|00005730| 20 2d 20 31 29 20 21 3d | 20 43 52 29 29 20 7b 0d | - 1) !=| CR)) {.|
|00005740| 09 09 09 28 2a 2a 74 68 | 65 54 45 29 2e 63 6c 69 |...(**th|eTE).cli|
|00005750| 6b 53 74 75 66 66 20 3d | 20 63 6c 69 6b 53 74 75 |kStuff =| clikStu|
|00005760| 66 66 20 3d 20 30 3b 0d | 09 09 7d 0d 09 7d 0d 09 |ff = 0;.|..}..}..|
|00005770| 72 65 74 75 72 6e 20 63 | 6c 69 6b 53 74 75 66 66 |return c|likStuff|
|00005780| 3b 0d 7d 0d 0d 0d 0d 2f | 2a 2d 2d 2d 2d 2d 2d 2d |;.}..../|*-------|
|00005790| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000057a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000057b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000057c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000057d0| 2d 2d 2d 2d 2d 0d 09 4d | 79 47 65 74 54 45 48 69 |-----..M|yGetTEHi|
|000057e0| 6c 69 74 65 4f 72 43 61 | 72 65 74 52 67 6e 20 0d |liteOrCa|retRgn .|
|000057f0| 09 0d 09 47 65 74 20 74 | 68 65 20 63 75 72 72 65 |...Get t|he curre|
|00005800| 6e 74 20 68 69 6c 69 74 | 65 20 72 65 67 69 6f 6e |nt hilit|e region|
|00005810| 20 66 6f 72 20 61 20 54 | 65 78 74 45 64 69 74 20 | for a T|extEdit |
|00005820| 66 69 65 6c 64 20 69 66 | 20 74 68 65 72 65 20 69 |field if| there i|
|00005830| 73 0d 09 61 20 73 65 6c | 65 63 74 69 6f 6e 20 72 |s..a sel|ection r|
|00005840| 61 6e 67 65 2c 20 6f 72 | 20 61 20 72 65 67 69 6f |ange, or| a regio|
|00005850| 6e 20 63 6f 6e 74 61 69 | 6e 69 6e 67 20 74 68 65 |n contai|ning the|
|00005860| 20 63 61 72 65 74 20 69 | 66 20 74 68 65 72 65 0d | caret i|f there.|
|00005870| 09 69 73 20 6e 6f 20 73 | 65 6c 65 63 74 69 6f 6e |.is no s|election|
|00005880| 20 72 61 6e 67 65 2e 0d | 09 09 09 0d 09 45 6e 74 | range..|.....Ent|
|00005890| 72 79 3a 09 72 67 6e 20 | 3d 20 68 61 6e 64 6c 65 |ry:.rgn |= handle|
|000058a0| 20 74 6f 20 72 65 67 69 | 6f 6e 2e 0d 09 09 09 74 | to regi|on.....t|
|000058b0| 68 65 54 45 20 3d 20 68 | 61 6e 64 6c 65 20 74 6f |heTE = h|andle to|
|000058c0| 20 54 65 78 74 45 64 69 | 74 20 72 65 63 6f 72 64 | TextEdi|t record|
|000058d0| 2e 0d 09 09 09 09 0d 09 | 45 78 69 74 3a 09 72 67 |........|Exit:.rg|
|000058e0| 6e 20 6d 6f 64 69 66 69 | 65 64 20 74 6f 20 63 6f |n modifi|ed to co|
|000058f0| 6e 74 61 69 6e 20 68 69 | 6c 69 74 65 20 6f 72 20 |ntain hi|lite or |
|00005900| 63 61 72 65 74 20 72 65 | 67 69 6f 6e 2e 0d 2d 2d |caret re|gion..--|
|00005910| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005920| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005930| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005940| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005950| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2a 2f 0d 0d 73 74 |--------|--*/..st|
|00005960| 61 74 69 63 20 76 6f 69 | 64 20 4d 79 47 65 74 54 |atic voi|d MyGetT|
|00005970| 45 48 69 6c 69 74 65 4f | 72 43 61 72 65 74 52 67 |EHiliteO|rCaretRg|
|00005980| 6e 20 28 52 67 6e 48 61 | 6e 64 6c 65 20 72 67 6e |n (RgnHa|ndle rgn|
|00005990| 2c 20 54 45 48 61 6e 64 | 6c 65 20 74 68 65 54 45 |, TEHand|le theTE|
|000059a0| 29 0d 7b 0d 09 73 68 6f | 72 74 20 73 65 6c 53 74 |).{..sho|rt selSt|
|000059b0| 61 72 74 2c 20 73 65 6c | 45 6e 64 2c 20 6c 69 6e |art, sel|End, lin|
|000059c0| 65 48 65 69 67 68 74 3b | 0d 09 50 6f 69 6e 74 20 |eHeight;|..Point |
|000059d0| 77 68 65 72 65 3b 0d 09 | 0d 09 73 65 6c 53 74 61 |where;..|..selSta|
|000059e0| 72 74 20 3d 20 28 2a 2a | 74 68 65 54 45 29 2e 73 |rt = (**|theTE).s|
|000059f0| 65 6c 53 74 61 72 74 3b | 0d 09 73 65 6c 45 6e 64 |elStart;|..selEnd|
|00005a00| 20 3d 20 28 2a 2a 74 68 | 65 54 45 29 2e 73 65 6c | = (**th|eTE).sel|
|00005a10| 45 6e 64 3b 0d 09 6c 69 | 6e 65 48 65 69 67 68 74 |End;..li|neHeight|
|00005a20| 20 3d 20 28 2a 2a 74 68 | 65 54 45 29 2e 6c 69 6e | = (**th|eTE).lin|
|00005a30| 65 48 65 69 67 68 74 3b | 0d 09 69 66 20 28 73 65 |eHeight;|..if (se|
|00005a40| 6c 53 74 61 72 74 20 3d | 3d 20 73 65 6c 45 6e 64 |lStart =|= selEnd|
|00005a50| 29 20 7b 0d 09 09 77 68 | 65 72 65 20 3d 20 54 45 |) {...wh|ere = TE|
|00005a60| 47 65 74 50 6f 69 6e 74 | 28 73 65 6c 53 74 61 72 |GetPoint|(selStar|
|00005a70| 74 2c 20 74 68 65 54 45 | 29 3b 0d 09 09 53 65 74 |t, theTE|);...Set|
|00005a80| 52 65 63 74 52 67 6e 28 | 72 67 6e 2c 20 77 68 65 |RectRgn(|rgn, whe|
|00005a90| 72 65 2e 68 20 2d 20 31 | 2c 20 77 68 65 72 65 2e |re.h - 1|, where.|
|00005aa0| 76 20 2d 20 6c 69 6e 65 | 48 65 69 67 68 74 2c 20 |v - line|Height, |
|00005ab0| 77 68 65 72 65 2e 68 20 | 2b 20 31 2c 20 77 68 65 |where.h |+ 1, whe|
|00005ac0| 72 65 2e 76 29 3b 0d 09 | 7d 20 65 6c 73 65 20 7b |re.v);..|} else {|
|00005ad0| 0d 09 09 54 45 47 65 74 | 48 69 6c 69 74 65 52 67 |...TEGet|HiliteRg|
|00005ae0| 6e 28 72 67 6e 2c 20 74 | 68 65 54 45 29 3b 0d 09 |n(rgn, t|heTE);..|
|00005af0| 7d 0d 7d 0d 0d 0d 0d 2f | 2a 2d 2d 2d 2d 2d 2d 2d |}.}..../|*-------|
|00005b00| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005b10| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005b20| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005b30| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005b40| 2d 2d 2d 2d 2d 0d 09 54 | 45 41 72 72 6f 77 4b 65 |-----..T|EArrowKe|
|00005b50| 79 20 0d 09 0d 09 48 61 | 6e 64 6c 65 20 61 72 72 |y ....Ha|ndle arr|
|00005b60| 6f 77 20 6b 65 79 73 20 | 69 6e 20 54 65 78 74 45 |ow keys |in TextE|
|00005b70| 64 69 74 20 77 69 6e 64 | 6f 77 73 2e 0d 09 09 09 |dit wind|ows.....|
|00005b80| 0d 09 45 6e 74 72 79 3a | 09 74 68 65 43 68 61 72 |..Entry:|.theChar|
|00005b90| 20 3d 20 6c 65 66 74 41 | 72 72 6f 77 2c 20 72 69 | = leftA|rrow, ri|
|00005ba0| 67 68 74 41 72 72 6f 77 | 2c 20 75 70 41 72 72 6f |ghtArrow|, upArro|
|00005bb0| 77 2c 20 6f 72 20 64 6f | 77 6e 41 72 72 6f 77 2e |w, or do|wnArrow.|
|00005bc0| 0d 09 09 09 6d 6f 64 69 | 66 69 65 72 73 20 3d 20 |....modi|fiers = |
|00005bd0| 6d 6f 64 69 66 69 65 72 | 73 20 66 69 65 6c 64 20 |modifier|s field |
|00005be0| 66 72 6f 6d 20 65 76 65 | 6e 74 20 72 65 63 6f 72 |from eve|nt recor|
|00005bf0| 64 2e 0d 09 09 09 74 68 | 65 54 45 20 3d 20 68 61 |d.....th|eTE = ha|
|00005c00| 6e 64 6c 65 20 74 6f 20 | 54 65 78 74 45 64 69 74 |ndle to |TextEdit|
|00005c10| 20 72 65 63 6f 72 64 2e | 0d 09 09 09 70 61 67 65 | record.|....page|
|00005c20| 48 65 69 67 68 74 20 3d | 20 6e 75 6d 62 65 72 20 |Height =| number |
|00005c30| 6f 66 20 6c 69 6e 65 73 | 20 69 6e 20 61 20 70 61 |of lines| in a pa|
|00005c40| 67 65 2c 20 6f 72 20 30 | 20 74 6f 20 68 61 76 65 |ge, or 0| to have|
|00005c50| 20 54 45 41 72 72 6f 77 | 4b 65 79 0d 09 09 09 09 | TEArrow|Key.....|
|00005c60| 63 6f 6d 70 75 74 65 20 | 74 68 69 73 20 69 74 73 |compute |this its|
|00005c70| 65 6c 66 20 62 61 73 65 | 64 20 6f 6e 20 74 68 65 |elf base|d on the|
|00005c80| 20 61 73 73 75 6d 70 74 | 69 6f 6e 20 74 68 61 74 | assumpt|ion that|
|00005c90| 20 74 68 65 0d 09 09 09 | 09 76 69 65 77 20 72 65 | the....|.view re|
|00005ca0| 63 74 61 6e 67 6c 65 20 | 6f 66 20 74 68 65 20 54 |ctangle |of the T|
|00005cb0| 65 78 74 45 64 69 74 20 | 66 69 65 6c 64 20 69 73 |extEdit |field is|
|00005cc0| 20 61 20 70 61 67 65 2e | 0d 09 09 09 70 72 65 76 | a page.|....prev|
|00005cd0| 45 76 65 6e 74 20 3d 20 | 70 6f 69 6e 74 65 72 20 |Event = |pointer |
|00005ce0| 74 6f 20 70 72 65 76 69 | 6f 75 73 20 65 76 65 6e |to previ|ous even|
|00005cf0| 74 2e 0d 09 09 09 09 0d | 09 45 78 69 74 3a 09 73 |t.......|.Exit:.s|
|00005d00| 65 6c 65 63 74 69 6f 6e | 20 72 61 6e 67 65 20 61 |election| range a|
|00005d10| 64 6a 75 73 74 65 64 20 | 69 6e 20 74 68 65 20 54 |djusted |in the T|
|00005d20| 65 78 74 45 64 69 74 20 | 72 65 63 6f 72 64 2e 0d |extEdit |record..|
|00005d30| 09 09 09 2a 73 63 72 6f | 6c 6c 49 6e 74 6f 56 69 |...*scro|llIntoVi|
|00005d40| 65 77 20 3d 20 6f 66 66 | 73 65 74 20 69 6e 74 6f |ew = off|set into|
|00005d50| 20 54 65 78 74 45 64 69 | 74 20 72 65 63 6f 72 64 | TextEdi|t record|
|00005d60| 20 77 68 69 63 68 0d 09 | 09 09 09 73 68 6f 75 6c | which..|...shoul|
|00005d70| 64 20 62 65 20 73 63 72 | 6f 6c 6c 65 64 20 69 6e |d be scr|olled in|
|00005d80| 74 6f 20 76 69 65 77 2e | 0d 09 0d 09 57 61 72 6e |to view.|....Warn|
|00005d90| 69 6e 67 3a 20 54 68 65 | 20 66 75 6e 63 74 69 6f |ing: The| functio|
|00005da0| 6e 20 70 72 6f 76 65 73 | 20 74 68 61 74 20 69 66 |n proves| that if|
|00005db0| 20 79 6f 75 20 68 61 63 | 6b 20 6c 6f 6e 67 20 65 | you hac|k long e|
|00005dc0| 6e 6f 75 67 68 2c 20 79 | 6f 75 20 63 61 6e 20 6d |nough, y|ou can m|
|00005dd0| 61 6b 65 0d 09 54 65 78 | 74 45 64 69 74 20 64 6f |ake..Tex|tEdit do|
|00005de0| 20 61 6e 79 74 68 69 6e | 67 20 79 6f 75 20 77 61 | anythin|g you wa|
|00005df0| 6e 74 20 69 74 20 74 6f | 20 64 6f 2c 20 62 75 74 |nt it to| do, but|
|00005e00| 20 6f 6e 6c 79 20 61 74 | 20 74 68 65 20 72 69 73 | only at| the ris|
|00005e10| 6b 20 6f 66 20 74 79 69 | 6e 67 20 0d 09 79 6f 75 |k of tyi|ng ..you|
|00005e20| 72 20 62 72 61 69 6e 20 | 69 6e 74 6f 20 63 6f 6d |r brain |into com|
|00005e30| 70 6c 65 74 65 20 6b 6e | 6f 74 73 2e 20 54 68 69 |plete kn|ots. Thi|
|00005e40| 73 20 63 6f 64 65 20 69 | 73 20 69 6e 63 72 65 64 |s code i|s incred|
|00005e50| 69 62 6c 79 20 63 6f 6d | 70 6c 69 63 61 74 65 64 |ibly com|plicated|
|00005e60| 20 61 6e 64 20 0d 09 73 | 65 6e 73 69 74 69 76 65 | and ..s|ensitive|
|00005e70| 2e 0d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |..------|--------|
|00005e80| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005e90| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005ea0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00005eb0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2a 2f |--------|------*/|
|00005ec0| 0d 0d 76 6f 69 64 20 54 | 45 41 72 72 6f 77 4b 65 |..void T|EArrowKe|
|00005ed0| 79 20 28 63 68 61 72 20 | 74 68 65 43 68 61 72 2c |y (char |theChar,|
|00005ee0| 20 73 68 6f 72 74 20 6d | 6f 64 69 66 69 65 72 73 | short m|odifiers|
|00005ef0| 2c 20 54 45 48 61 6e 64 | 6c 65 20 74 68 65 54 45 |, TEHand|le theTE|
|00005f00| 2c 20 0d 09 73 68 6f 72 | 74 20 70 61 67 65 48 65 |, ..shor|t pageHe|
|00005f10| 69 67 68 74 2c 20 45 76 | 65 6e 74 52 65 63 6f 72 |ight, Ev|entRecor|
|00005f20| 64 20 2a 70 72 65 76 45 | 76 65 6e 74 2c 20 73 68 |d *prevE|vent, sh|
|00005f30| 6f 72 74 20 2a 73 63 72 | 6f 6c 6c 49 6e 74 6f 56 |ort *scr|ollIntoV|
|00005f40| 69 65 77 29 0d 7b 0d 09 | 73 68 6f 72 74 20 73 65 |iew).{..|short se|
|00005f50| 6c 53 74 61 72 74 2c 20 | 73 65 6c 45 6e 64 2c 20 |lStart, |selEnd, |
|00005f60| 74 65 4c 65 6e 67 74 68 | 2c 20 6f 66 66 73 65 74 |teLength|, offset|
|00005f70| 2c 20 62 6f 6c 2c 20 65 | 6f 6c 3b 0d 09 42 6f 6f |, bol, e|ol;..Boo|
|00005f80| 6c 65 61 6e 20 73 68 69 | 66 74 2c 20 6f 70 74 69 |lean shi|ft, opti|
|00005f90| 6f 6e 2c 20 63 6f 6d 6d | 61 6e 64 3b 0d 09 42 6f |on, comm|and;..Bo|
|00005fa0| 6f 6c 65 61 6e 20 70 72 | 65 76 57 61 73 41 72 72 |olean pr|evWasArr|
|00005fb0| 6f 77 4b 65 79 3b 0d 09 | 63 68 61 72 20 70 72 65 |owKey;..|char pre|
|00005fc0| 76 43 68 61 72 3b 0d 09 | 73 68 6f 72 74 20 70 72 |vChar;..|short pr|
|00005fd0| 65 76 4d 6f 64 69 66 69 | 65 72 73 3b 0d 09 42 6f |evModifi|ers;..Bo|
|00005fe0| 6f 6c 65 61 6e 20 69 73 | 55 70 44 6f 77 6e 3b 0d |olean is|UpDown;.|
|00005ff0| 09 42 6f 6f 6c 65 61 6e | 20 73 68 69 66 74 41 72 |.Boolean| shiftAr|
|00006000| 72 6f 77 53 65 71 75 65 | 6e 63 65 2c 20 75 70 44 |rowSeque|nce, upD|
|00006010| 6f 77 6e 41 72 72 6f 77 | 53 65 71 75 65 6e 63 65 |ownArrow|Sequence|
|00006020| 3b 0d 09 48 61 6e 64 6c | 65 20 68 54 65 78 74 3b |;..Handl|e hText;|
|00006030| 0d 09 42 6f 6f 6c 65 61 | 6e 20 68 61 76 65 54 45 |..Boolea|n haveTE|
|00006040| 4f 75 74 6c 69 6e 65 48 | 69 6c 69 74 65 3b 0d 09 |OutlineH|ilite;..|
|00006050| 73 68 6f 72 74 20 73 61 | 76 65 64 4f 75 74 6c 69 |short sa|vedOutli|
|00006060| 6e 65 48 69 6c 69 74 65 | 3b 0d 09 4f 66 66 73 65 |neHilite|;..Offse|
|00006070| 74 54 61 62 6c 65 20 77 | 6f 72 64 4f 66 66 73 65 |tTable w|ordOffse|
|00006080| 74 73 3b 0d 09 63 68 61 | 72 20 73 74 61 74 65 3b |ts;..cha|r state;|
|00006090| 0d 09 63 68 61 72 20 63 | 3b 0d 09 73 68 6f 72 74 |..char c|;..short|
|000060a0| 20 6e 65 77 53 65 6c 53 | 74 61 72 74 2c 20 6e 65 | newSelS|tart, ne|
|000060b0| 77 53 65 6c 45 6e 64 2c | 20 6f 6c 64 4f 66 66 73 |wSelEnd,| oldOffs|
|000060c0| 65 74 3b 0d 09 73 74 61 | 74 69 63 20 52 67 6e 48 |et;..sta|tic RgnH|
|000060d0| 61 6e 64 6c 65 20 73 65 | 6c 52 67 6e 4f 6c 64 20 |andle se|lRgnOld |
|000060e0| 3d 20 6e 69 6c 2c 20 73 | 65 6c 52 67 6e 4e 65 77 |= nil, s|elRgnNew|
|000060f0| 20 3d 20 6e 69 6c 3b 0d | 09 73 74 61 74 69 63 20 | = nil;.|.static |
|00006100| 73 68 6f 72 74 20 61 6e | 63 68 6f 72 20 3d 20 30 |short an|chor = 0|
|00006110| 3b 0d 09 73 74 61 74 69 | 63 20 73 68 6f 72 74 20 |;..stati|c short |
|00006120| 75 70 44 6f 77 6e 50 69 | 78 65 6c 73 46 72 6f 6d |upDownPi|xelsFrom|
|00006130| 42 6f 6c 20 3d 20 30 3b | 0d 09 73 74 61 74 69 63 |Bol = 0;|..static|
|00006140| 20 73 68 6f 72 74 20 63 | 6c 69 6b 53 74 75 66 66 | short c|likStuff|
|00006150| 20 3d 20 30 78 66 66 66 | 66 3b 0d 09 0d 09 73 65 | = 0xfff|f;....se|
|00006160| 6c 53 74 61 72 74 20 3d | 20 28 2a 2a 74 68 65 54 |lStart =| (**theT|
|00006170| 45 29 2e 73 65 6c 53 74 | 61 72 74 3b 0d 09 73 65 |E).selSt|art;..se|
|00006180| 6c 45 6e 64 20 3d 20 28 | 2a 2a 74 68 65 54 45 29 |lEnd = (|**theTE)|
|00006190| 2e 73 65 6c 45 6e 64 3b | 0d 09 74 65 4c 65 6e 67 |.selEnd;|..teLeng|
|000061a0| 74 68 20 3d 20 28 2a 2a | 74 68 65 54 45 29 2e 74 |th = (**|theTE).t|
|000061b0| 65 4c 65 6e 67 74 68 3b | 0d 09 68 54 65 78 74 20 |eLength;|..hText |
|000061c0| 3d 20 28 2a 2a 74 68 65 | 54 45 29 2e 68 54 65 78 |= (**the|TE).hTex|
|000061d0| 74 3b 0d 09 73 68 69 66 | 74 20 3d 20 28 6d 6f 64 |t;..shif|t = (mod|
|000061e0| 69 66 69 65 72 73 20 26 | 20 73 68 69 66 74 4b 65 |ifiers &| shiftKe|
|000061f0| 79 29 20 21 3d 20 30 3b | 0d 09 6f 70 74 69 6f 6e |y) != 0;|..option|
|00006200| 20 3d 20 28 6d 6f 64 69 | 66 69 65 72 73 20 26 20 | = (modi|fiers & |
|00006210| 6f 70 74 69 6f 6e 4b 65 | 79 29 20 21 3d 20 30 3b |optionKe|y) != 0;|
|00006220| 0d 09 63 6f 6d 6d 61 6e | 64 20 3d 20 28 6d 6f 64 |..comman|d = (mod|
|00006230| 69 66 69 65 72 73 20 26 | 20 63 6d 64 4b 65 79 29 |ifiers &| cmdKey)|
|00006240| 20 21 3d 20 30 3b 0d 09 | 69 73 55 70 44 6f 77 6e | != 0;..|isUpDown|
|00006250| 20 3d 20 74 68 65 43 68 | 61 72 20 3d 3d 20 75 70 | = theCh|ar == up|
|00006260| 41 72 72 6f 77 20 7c 7c | 20 74 68 65 43 68 61 72 |Arrow ||| theChar|
|00006270| 20 3d 3d 20 64 6f 77 6e | 41 72 72 6f 77 3b 0d 09 | == down|Arrow;..|
|00006280| 70 72 65 76 43 68 61 72 | 20 3d 20 70 72 65 76 45 |prevChar| = prevE|
|00006290| 76 65 6e 74 2d 3e 6d 65 | 73 73 61 67 65 20 26 20 |vent->me|ssage & |
|000062a0| 30 78 66 66 3b 0d 09 70 | 72 65 76 4d 6f 64 69 66 |0xff;..p|revModif|
|000062b0| 69 65 72 73 20 3d 20 70 | 72 65 76 45 76 65 6e 74 |iers = p|revEvent|
|000062c0| 2d 3e 6d 6f 64 69 66 69 | 65 72 73 3b 0d 09 70 72 |->modifi|ers;..pr|
|000062d0| 65 76 57 61 73 41 72 72 | 6f 77 4b 65 79 20 3d 20 |evWasArr|owKey = |
|000062e0| 28 70 72 65 76 45 76 65 | 6e 74 2d 3e 77 68 61 74 |(prevEve|nt->what|
|000062f0| 20 3d 3d 20 6b 65 79 44 | 6f 77 6e 20 7c 7c 20 70 | == keyD|own || p|
|00006300| 72 65 76 45 76 65 6e 74 | 2d 3e 77 68 61 74 20 3d |revEvent|->what =|
|00006310| 3d 20 61 75 74 6f 4b 65 | 79 29 20 26 26 0d 09 09 |= autoKe|y) &&...|
|00006320| 49 73 41 72 72 6f 77 4b | 65 79 28 70 72 65 76 43 |IsArrowK|ey(prevC|
|00006330| 68 61 72 29 3b 0d 09 73 | 68 69 66 74 41 72 72 6f |har);..s|hiftArro|
|00006340| 77 53 65 71 75 65 6e 63 | 65 20 3d 20 73 68 69 66 |wSequenc|e = shif|
|00006350| 74 20 26 26 20 70 72 65 | 76 57 61 73 41 72 72 6f |t && pre|vWasArro|
|00006360| 77 4b 65 79 20 26 26 20 | 0d 09 09 28 70 72 65 76 |wKey && |...(prev|
|00006370| 4d 6f 64 69 66 69 65 72 | 73 20 26 20 73 68 69 66 |Modifier|s & shif|
|00006380| 74 4b 65 79 29 20 21 3d | 20 30 3b 20 0d 09 75 70 |tKey) !=| 0; ..up|
|00006390| 44 6f 77 6e 41 72 72 6f | 77 53 65 71 75 65 6e 63 |DownArro|wSequenc|
|000063a0| 65 20 3d 20 69 73 55 70 | 44 6f 77 6e 20 26 26 20 |e = isUp|Down && |
|000063b0| 70 72 65 76 57 61 73 41 | 72 72 6f 77 4b 65 79 20 |prevWasA|rrowKey |
|000063c0| 26 26 20 21 6f 70 74 69 | 6f 6e 20 26 26 20 21 63 |&& !opti|on && !c|
|000063d0| 6f 6d 6d 61 6e 64 20 26 | 26 20 0d 09 09 28 70 72 |ommand &|& ...(pr|
|000063e0| 65 76 43 68 61 72 20 3d | 3d 20 75 70 41 72 72 6f |evChar =|= upArro|
|000063f0| 77 20 7c 7c 20 70 72 65 | 76 43 68 61 72 20 3d 3d |w || pre|vChar ==|
+--------+-------------------------+-------------------------+--------+--------+
Only 25.0 KB of data is shown above.