Artifact 629245f9abbd51b3b0105617173e155e41bfcde5:
0000: 23 69 66 6e 64 65 66 20 5f 45 44 49 54 57 49 4e #ifndef _EDITWIN
0010: 47 5f 43 4f 4d 4d 4f 4e 5f 48 5f 0d 0a 23 64 65 G_COMMON_H_..#de
0020: 66 69 6e 65 20 5f 45 44 49 54 57 49 4e 47 5f 43 fine _EDITWING_C
0030: 4f 4d 4d 4f 4e 5f 48 5f 0d 0a 23 69 6e 63 6c 75 OMMON_H_..#inclu
0040: 64 65 20 22 2e 2e 2f 6b 69 6c 69 62 2f 6b 69 6c de "../kilib/kil
0050: 69 62 2e 68 22 0d 0a 23 69 66 6e 64 65 66 20 5f ib.h"..#ifndef _
0060: 5f 63 63 64 6f 63 5f 5f 0d 0a 6e 61 6d 65 73 70 _ccdoc__..namesp
0070: 61 63 65 20 65 64 69 74 77 69 6e 67 20 7b 0d 0a ace editwing {..
0080: 23 65 6e 64 69 66 0d 0a 0d 0a 0d 0a 2f 2f 3d 3d #endif......//==
0090: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
00a0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
00b0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
00c0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
00d0: 3d 3d 3d 3d 3d 3d 3d 0d 0a 2f 2f 20 55 6e 69 63 =======..// Unic
00e0: 6f 64 65 8a d6 8c 57 0d 0a 2f 2f 3d 3d 3d 3d 3d ode...W..//=====
00f0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0100: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0110: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0120: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0130: 3d 3d 3d 3d 0d 0a 0d 0a 69 6e 6c 69 6e 65 20 62 ====....inline b
0140: 6f 6f 6c 20 69 73 48 69 67 68 53 75 72 72 6f 67 ool isHighSurrog
0150: 61 74 65 28 75 6e 69 63 6f 64 65 20 63 68 29 0d ate(unicode ch).
0160: 0a 7b 0d 0a 09 72 65 74 75 72 6e 20 28 30 78 44 .{...return (0xD
0170: 38 30 30 20 3c 3d 20 63 68 20 26 26 20 63 68 20 800 <= ch && ch
0180: 3c 3d 20 30 78 44 42 46 46 29 3b 0d 0a 7d 0d 0a <= 0xDBFF);..}..
0190: 0d 0a 69 6e 6c 69 6e 65 20 62 6f 6f 6c 20 69 73 ..inline bool is
01a0: 4c 6f 77 53 75 72 72 6f 67 61 74 65 28 75 6e 69 LowSurrogate(uni
01b0: 63 6f 64 65 20 63 68 29 0d 0a 7b 0d 0a 09 72 65 code ch)..{...re
01c0: 74 75 72 6e 20 28 30 78 44 43 30 30 20 3c 3d 20 turn (0xDC00 <=
01d0: 63 68 20 26 26 20 63 68 20 3c 3d 20 30 78 44 46 ch && ch <= 0xDF
01e0: 46 46 29 3b 0d 0a 7d 0d 0a 0d 0a 2f 2f 3d 3d 3d FF);..}....//===
01f0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0200: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0210: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0220: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0230: 3d 3d 3d 3d 3d 3d 0d 0a 2f 2f 40 7b 20 40 70 6b ======..//@{ @pk
0240: 67 20 65 64 69 74 77 69 6e 67 2e 43 6f 6d 6d 6f g editwing.Commo
0250: 6e 20 2f 2f 40 7d 0d 0a 2f 2f 40 7b 0d 0a 2f 2f n //@}..//@{..//
0260: 09 83 65 83 4c 83 58 83 67 92 86 82 cc 88 ca 92 ..e.L.X.g.......
0270: 75 8f ee 95 f1 0d 0a 2f 2f 40 7d 0d 0a 2f 2f 3d u......//@}..//=
0280: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0290: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
02a0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
02b0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
02c0: 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a 0d 0a 73 74 72 75 ========....stru
02d0: 63 74 20 44 50 6f 73 20 3a 20 70 75 62 6c 69 63 ct DPos : public
02e0: 20 6b 69 3a 3a 4f 62 6a 65 63 74 0d 0a 7b 0d 0a ki::Object..{..
02f0: 09 2f 2f 40 7b 20 83 6f 83 62 83 74 83 40 92 86 .//@{ .o.b.t.@..
0300: 82 cc 83 41 83 68 83 8c 83 58 20 28 30 81 60 20 ...A.h...X (0.`
0310: 29 20 2f 2f 40 7d 0d 0a 09 75 6c 6f 6e 67 20 61 ) //@}...ulong a
0320: 64 3b 0d 0a 0d 0a 09 2f 2f 40 7b 20 98 5f 97 9d d;.....//@{ ._..
0330: 8d 73 94 d4 8d 86 20 28 30 81 60 20 29 20 2f 2f .s.... (0.` ) //
0340: 40 7d 0d 0a 09 75 6c 6f 6e 67 20 74 6c 3b 0d 0a @}...ulong tl;..
0350: 0d 0a 09 62 6f 6f 6c 20 6f 70 65 72 61 74 6f 72 ...bool operator
0360: 20 3d 3d 20 28 20 63 6f 6e 73 74 20 44 50 6f 73 == ( const DPos
0370: 26 20 72 20 29 20 63 6f 6e 73 74 0d 0a 09 09 7b & r ) const....{
0380: 20 72 65 74 75 72 6e 20 28 74 6c 3d 3d 72 2e 74 return (tl==r.t
0390: 6c 20 26 26 20 61 64 3d 3d 72 2e 61 64 29 3b 20 l && ad==r.ad);
03a0: 7d 0d 0a 09 62 6f 6f 6c 20 6f 70 65 72 61 74 6f }...bool operato
03b0: 72 20 21 3d 20 28 20 63 6f 6e 73 74 20 44 50 6f r != ( const DPo
03c0: 73 26 20 72 20 29 20 63 6f 6e 73 74 0d 0a 09 09 s& r ) const....
03d0: 7b 20 72 65 74 75 72 6e 20 28 74 6c 21 3d 72 2e { return (tl!=r.
03e0: 74 6c 20 7c 7c 20 61 64 21 3d 72 2e 61 64 29 3b tl || ad!=r.ad);
03f0: 20 7d 0d 0a 09 62 6f 6f 6c 20 6f 70 65 72 61 74 }...bool operat
0400: 6f 72 20 3c 20 20 28 20 63 6f 6e 73 74 20 44 50 or < ( const DP
0410: 6f 73 26 20 72 20 29 20 63 6f 6e 73 74 0d 0a 09 os& r ) const...
0420: 09 7b 20 72 65 74 75 72 6e 20 28 74 6c 3c 72 2e .{ return (tl<r.
0430: 74 6c 20 7c 7c 20 28 74 6c 3d 3d 72 2e 74 6c 20 tl || (tl==r.tl
0440: 26 26 20 61 64 3c 72 2e 61 64 29 29 3b 20 7d 0d && ad<r.ad)); }.
0450: 0a 09 62 6f 6f 6c 20 6f 70 65 72 61 74 6f 72 20 ..bool operator
0460: 3e 20 20 28 20 63 6f 6e 73 74 20 44 50 6f 73 26 > ( const DPos&
0470: 20 72 20 29 20 63 6f 6e 73 74 0d 0a 09 09 7b 20 r ) const....{
0480: 72 65 74 75 72 6e 20 28 74 6c 3e 72 2e 74 6c 20 return (tl>r.tl
0490: 7c 7c 20 28 74 6c 3d 3d 72 2e 74 6c 20 26 26 20 || (tl==r.tl &&
04a0: 61 64 3e 72 2e 61 64 29 29 3b 20 7d 0d 0a 09 62 ad>r.ad)); }...b
04b0: 6f 6f 6c 20 6f 70 65 72 61 74 6f 72 20 3c 3d 20 ool operator <=
04c0: 28 20 63 6f 6e 73 74 20 44 50 6f 73 26 20 72 20 ( const DPos& r
04d0: 29 20 63 6f 6e 73 74 0d 0a 09 09 7b 20 72 65 74 ) const....{ ret
04e0: 75 72 6e 20 28 74 6c 3c 72 2e 74 6c 20 7c 7c 20 urn (tl<r.tl ||
04f0: 28 74 6c 3d 3d 72 2e 74 6c 20 26 26 20 61 64 3c (tl==r.tl && ad<
0500: 3d 72 2e 61 64 29 29 3b 20 7d 0d 0a 09 62 6f 6f =r.ad)); }...boo
0510: 6c 20 6f 70 65 72 61 74 6f 72 20 3e 3d 20 28 20 l operator >= (
0520: 63 6f 6e 73 74 20 44 50 6f 73 26 20 72 20 29 20 const DPos& r )
0530: 63 6f 6e 73 74 0d 0a 09 09 7b 20 72 65 74 75 72 const....{ retur
0540: 6e 20 28 74 6c 3e 72 2e 74 6c 20 7c 7c 20 28 74 n (tl>r.tl || (t
0550: 6c 3d 3d 72 2e 74 6c 20 26 26 20 61 64 3e 3d 72 l==r.tl && ad>=r
0560: 2e 61 64 29 29 3b 20 7d 0d 0a 0d 0a 09 44 50 6f .ad)); }.....DPo
0570: 73 28 20 75 6c 6f 6e 67 20 74 2c 20 75 6c 6f 6e s( ulong t, ulon
0580: 67 20 61 20 29 20 3a 20 74 6c 28 74 29 2c 20 61 g a ) : tl(t), a
0590: 64 28 61 29 20 7b 7d 0d 0a 09 44 50 6f 73 28 29 d(a) {}...DPos()
05a0: 20 7b 7d 0d 0a 7d 3b 0d 0a 0d 0a 0d 0a 0d 0a 2f {}..};......../
05b0: 2f 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d /===============
05c0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
05d0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
05e0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
05f0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a 2f 2f 40 7b ==========..//@{
0600: 0d 0a 2f 2f 09 93 c1 8e ea 95 b6 8e 9a 82 f0 95 ..//............
0610: 5c 82 b7 92 e8 90 94 92 6c 0d 0a 2f 2f 40 7d 0d \.......l..//@}.
0620: 0a 2f 2f 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d .//=============
0630: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0640: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0650: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0660: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a 0d 0a ============....
0670: 65 6e 75 6d 20 53 70 65 63 69 61 6c 43 68 61 72 enum SpecialChar
0680: 73 0d 0a 7b 0d 0a 09 73 63 45 4f 46 20 3d 20 30 s..{...scEOF = 0
0690: 2c 20 2f 2f 20 45 4f 46 0d 0a 09 73 63 45 4f 4c , // EOF...scEOL
06a0: 20 3d 20 31 2c 20 2f 2f 20 89 fc 8d 73 0d 0a 09 = 1, // ...s...
06b0: 73 63 54 41 42 20 3d 20 32 2c 20 2f 2f 20 83 5e scTAB = 2, // .^
06c0: 83 75 0d 0a 09 73 63 48 53 50 20 3d 20 33 2c 20 .u...scHSP = 3,
06d0: 2f 2f 20 94 bc 8a 70 83 58 83 79 81 5b 83 58 0d // ...p.X.y.[.X.
06e0: 0a 09 73 63 5a 53 50 20 3d 20 34 20 20 2f 2f 20 ..scZSP = 4 //
06f0: 91 53 8a 70 83 58 83 79 81 5b 83 58 0d 0a 7d 3b .S.p.X.y.[.X..};
0700: 0d 0a 0d 0a 0d 0a 0d 0a 2f 2f 3d 3d 3d 3d 3d 3d ........//======
0710: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0720: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0730: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0740: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0750: 3d 3d 3d 0d 0a 2f 2f 40 7b 0d 0a 2f 2f 09 92 50 ===..//@{..//..P
0760: 8c ea 82 cc 8e ed 97 de 82 f0 95 5c 82 b7 92 e8 ...........\....
0770: 90 94 92 6c 0d 0a 2f 2f 40 7d 0d 0a 2f 2f 3d 3d ...l..//@}..//==
0780: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0790: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
07a0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
07b0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
07c0: 3d 3d 3d 3d 3d 3d 3d 0d 0a 0d 0a 65 6e 75 6d 20 =======....enum
07d0: 54 6f 6b 65 6e 54 79 70 65 0d 0a 7b 0d 0a 09 54 TokenType..{...T
07e0: 41 42 20 3d 20 30 78 30 30 2c 20 2f 2f 20 54 61 AB = 0x00, // Ta
07f0: 62 0d 0a 09 57 53 50 20 3d 20 30 78 30 34 2c 20 b...WSP = 0x04,
0800: 2f 2f 20 94 bc 8a 70 83 58 83 79 81 5b 83 58 0d // ...p.X.y.[.X.
0810: 0a 09 41 4c 50 20 3d 20 30 78 30 38 2c 20 2f 2f ..ALP = 0x08, //
0820: 20 95 81 92 ca 82 cc 8e 9a 0d 0a 09 20 43 45 20 ........... CE
0830: 3d 20 30 78 30 63 2c 20 2f 2f 20 83 52 83 81 83 = 0x0c, // .R...
0840: 93 83 67 8f 49 97 b9 83 5e 83 4f 0d 0a 09 20 43 ..g.I...^.O... C
0850: 42 20 3d 20 30 78 31 30 2c 20 2f 2f 20 83 52 83 B = 0x10, // .R.
0860: 81 83 93 83 67 8a 4a 8e 6e 83 5e 83 4f 0d 0a 09 ....g.J.n.^.O...
0870: 20 4c 42 20 3d 20 30 78 31 34 2c 20 2f 2f 20 8d LB = 0x14, // .
0880: 73 83 52 83 81 83 93 83 67 8a 4a 8e 6e 83 5e 83 s.R.....g.J.n.^.
0890: 4f 0d 0a 09 20 51 31 20 3d 20 30 78 31 38 2c 20 O... Q1 = 0x18,
08a0: 2f 2f 20 92 50 88 ea 88 f8 97 70 95 84 0d 0a 09 // .P.....p.....
08b0: 20 51 32 20 3d 20 30 78 31 63 20 20 2f 2f 20 93 Q2 = 0x1c // .
08c0: f1 8f 64 88 f8 97 70 95 84 0d 0a 7d 3b 0d 0a 0d ..d...p....};...
08d0: 0a 0d 0a 0d 0a 2f 2f 3d 3d 3d 3d 3d 3d 3d 3d 3d .....//=========
08e0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
08f0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0900: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0910: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0920: 0d 0a 2f 2f 40 7b 0d 0a 2f 2f 09 90 46 8e 77 92 ..//@{..//..F.w.
0930: e8 89 d3 8f 8a 82 f0 95 5c 82 b7 92 e8 90 94 92 ........\.......
0940: 6c 0d 0a 2f 2f 40 7d 0d 0a 2f 2f 3d 3d 3d 3d 3d l..//@}..//=====
0950: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0960: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0970: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0980: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0990: 3d 3d 3d 3d 0d 0a 0d 0a 65 6e 75 6d 20 43 6f 6c ====....enum Col
09a0: 6f 72 54 79 70 65 0d 0a 7b 0d 0a 09 54 58 54 20 orType..{...TXT
09b0: 3d 20 30 2c 20 2f 2f 20 95 b6 8e 9a 90 46 0d 0a = 0, // .....F..
09c0: 09 43 4d 54 20 3d 20 31 2c 20 2f 2f 20 83 52 83 .CMT = 1, // .R.
09d0: 81 83 93 83 67 95 b6 8e 9a 90 46 0d 0a 09 4b 57 ....g.....F...KW
09e0: 44 20 3d 20 32 2c 20 2f 2f 20 83 4c 81 5b 83 8f D = 2, // .L.[..
09f0: 81 5b 83 68 95 b6 8e 9a 90 46 0d 0a 09 2f 2f 20 .[.h.....F...//
0a00: 20 3d 20 33 2c 20 2f 2f 20 28 20 83 52 83 81 83 = 3, // ( .R...
0a10: 93 83 67 83 41 83 45 83 67 82 b3 82 ea 82 bd 83 ..g.A.E.g.......
0a20: 4c 81 5b 83 8f 81 5b 83 68 95 b6 8e 9a 90 46 20 L.[...[.h.....F
0a30: 29 0d 0a 09 43 54 4c 20 3d 20 34 2c 20 2f 2f 20 )...CTL = 4, //
0a40: 93 c1 8e ea 95 b6 8e 9a 90 46 0d 0a 09 42 47 20 .........F...BG
0a50: 20 3d 20 35 2c 20 2f 2f 20 94 77 8c 69 90 46 0d = 5, // .w.i.F.
0a60: 0a 09 4c 4e 20 20 3d 20 36 20 20 2f 2f 20 8d 73 ..LN = 6 // .s
0a70: 94 d4 8d 86 0d 0a 7d 3b 0d 0a 0d 0a 0d 0a 0d 0a ......};........
0a80: 2f 2f 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d //==============
0a90: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0aa0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0ab0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0ac0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a 2f 2f 40 ===========..//@
0ad0: 7b 0d 0a 2f 2f 09 90 dc 82 e8 95 d4 82 b5 88 ca {..//...........
0ae0: 92 75 82 f0 8e a6 82 b7 92 e8 90 94 92 6c 0d 0a .u...........l..
0af0: 2f 2f 40 7d 0d 0a 2f 2f 3d 3d 3d 3d 3d 3d 3d 3d //@}..//========
0b00: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0b10: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0b20: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0b30: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0b40: 3d 0d 0a 0d 0a 65 6e 75 6d 20 57 72 61 70 54 79 =....enum WrapTy
0b50: 70 65 0d 0a 7b 0d 0a 09 4e 4f 57 52 41 50 20 20 pe..{...NOWRAP
0b60: 20 20 3d 20 2d 31 2c 20 2f 2f 20 90 dc 82 e8 95 = -1, // .....
0b70: d4 82 b5 96 b3 82 b5 0d 0a 09 52 49 47 48 54 45 ..........RIGHTE
0b80: 44 47 45 20 3d 20 20 30 20 20 2f 2f 20 89 45 92 DGE = 0 // .E.
0b90: 5b 0d 0a 7d 3b 0d 0a 0d 0a 0d 0a 0d 0a 2f 2f 3d [..};........//=
0ba0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0bb0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0bc0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0bd0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0be0: 3d 3d 3d 3d 3d 3d 3d 3d 0d 0a 2f 2f 40 7b 0d 0a ========..//@{..
0bf0: 2f 2f 09 95 5c 8e a6 90 dd 92 e8 0d 0a 2f 2f 0d //..\........//.
0c00: 0a 2f 2f 09 83 74 83 48 83 93 83 67 81 45 90 46 .//..t.H...g.E.F
0c10: 81 45 83 5e 83 75 95 9d 81 45 93 c1 8e ea 95 b6 .E.^.u...E......
0c20: 8e 9a 82 cc 95 5c 8e a6 81 41 82 cc 8f ee 95 f1 .....\...A......
0c30: 82 f0 95 db 8e 9d 81 42 0d 0a 2f 2f 09 82 bd 82 .......B..//....
0c40: be 82 b5 81 41 8b ad 92 b2 92 50 8c ea 82 cc 8e ....A.....P.....
0c50: 77 92 e8 82 cd 20 44 6f 63 75 6d 65 6e 74 20 82 w.... Document .
0c60: c9 91 ce 82 b5 82 c4 8d 73 82 a4 81 42 0d 0a 2f ........s...B../
0c70: 2f 40 7d 0d 0a 2f 2f 3d 3d 3d 3d 3d 3d 3d 3d 3d /@}..//=========
0c80: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0c90: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0ca0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0cb0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
0cc0: 0d 0a 0d 0a 73 74 72 75 63 74 20 56 43 6f 6e 66 ....struct VConf
0cd0: 69 67 20 3a 20 70 75 62 6c 69 63 20 6b 69 3a 3a ig : public ki::
0ce0: 4f 62 6a 65 63 74 0d 0a 7b 0d 0a 09 2f 2f 40 7b Object..{...//@{
0cf0: 20 83 74 83 48 83 93 83 67 20 2f 2f 40 7d 0d 0a .t.H...g //@}..
0d00: 09 4c 4f 47 46 4f 4e 54 20 66 6f 6e 74 3b 0d 0a .LOGFONT font;..
0d10: 09 69 6e 74 20 66 6f 6e 74 73 69 7a 65 3b 0d 0a .int fontsize;..
0d20: 0d 0a 09 2f 2f 40 7b 20 83 5e 83 75 95 9d 95 b6 ...//@{ .^.u....
0d30: 8e 9a 90 94 20 2f 2f 40 7d 0d 0a 09 69 6e 74 20 .... //@}...int
0d40: 74 61 62 73 74 65 70 3b 0d 0a 0d 0a 09 2f 2f 40 tabstep;.....//@
0d50: 7b 20 90 46 20 2f 2f 40 7d 0d 0a 09 43 4f 4c 4f { .F //@}...COLO
0d60: 52 52 45 46 20 63 6f 6c 6f 72 5b 37 5d 3b 0d 0a RREF color[7];..
0d70: 0d 0a 09 2f 2f 40 7b 20 93 c1 8e ea 95 b6 8e 9a ...//@{ ........
0d80: 95 5c 8e a6 20 2f 2f 40 7d 0d 0a 09 62 6f 6f 6c .\.. //@}...bool
0d90: 20 73 63 5b 35 5d 3b 0d 0a 0d 0a 09 2f 2f 40 7b sc[5];.....//@{
0da0: 20 8a eb 8c af 82 c8 83 66 83 74 83 48 83 8b 83 .......f.t.H...
0db0: 67 83 52 83 93 83 58 83 67 83 89 83 4e 83 5e 20 g.R...X.g...N.^
0dc0: 2f 2f 40 7d 0d 0a 09 56 43 6f 6e 66 69 67 28 29 //@}...VConfig()
0dd0: 20 7b 7d 0d 0a 0d 0a 09 2f 2f 40 7b 20 83 74 83 {}.....//@{ .t.
0de0: 48 83 93 83 67 8a d6 8c 57 8f 89 8a fa 89 bb 20 H...g...W......
0df0: 2f 2f 40 7d 0d 0a 09 56 43 6f 6e 66 69 67 28 20 //@}...VConfig(
0e00: 63 6f 6e 73 74 20 54 43 48 41 52 2a 20 66 6e 61 const TCHAR* fna
0e10: 6d 2c 20 69 6e 74 20 66 73 69 7a 20 29 0d 0a 09 m, int fsiz )...
0e20: 7b 0d 0a 09 09 53 65 74 46 6f 6e 74 28 20 66 6e {....SetFont( fn
0e30: 61 6d 2c 66 73 69 7a 20 29 3b 0d 0a 09 09 74 61 am,fsiz );....ta
0e40: 62 73 74 65 70 20 20 20 20 3d 20 34 3b 0d 0a 09 bstep = 4;...
0e50: 09 63 6f 6c 6f 72 5b 54 58 54 5d 20 3d 0d 0a 09 .color[TXT] =...
0e60: 09 63 6f 6c 6f 72 5b 43 4d 54 5d 20 3d 0d 0a 09 .color[CMT] =...
0e70: 09 63 6f 6c 6f 72 5b 4b 57 44 5d 20 3d 0d 0a 09 .color[KWD] =...
0e80: 09 63 6f 6c 6f 72 5b 43 54 4c 5d 20 3d 20 52 47 .color[CTL] = RG
0e90: 42 28 30 2c 30 2c 30 29 3b 0d 0a 09 09 63 6f 6c B(0,0,0);....col
0ea0: 6f 72 5b 20 42 47 5d 20 3d 20 52 47 42 28 32 35 or[ BG] = RGB(25
0eb0: 35 2c 32 35 35 2c 32 35 35 29 3b 0d 0a 09 09 63 5,255,255);....c
0ec0: 6f 6c 6f 72 5b 20 4c 4e 5d 20 3d 20 52 47 42 28 olor[ LN] = RGB(
0ed0: 30 2c 30 2c 30 29 3b 2f 2f 32 35 35 2c 32 35 35 0,0,0);//255,255
0ee0: 2c 30 29 3b 0d 0a 09 09 73 63 5b 73 63 45 4f 46 ,0);....sc[scEOF
0ef0: 5d 20 20 3d 0d 0a 09 09 73 63 5b 73 63 45 4f 4c ] =....sc[scEOL
0f00: 5d 20 20 3d 0d 0a 09 09 73 63 5b 73 63 54 41 42 ] =....sc[scTAB
0f10: 5d 20 20 3d 0d 0a 09 09 73 63 5b 73 63 48 53 50 ] =....sc[scHSP
0f20: 5d 20 20 3d 0d 0a 09 09 73 63 5b 73 63 5a 53 50 ] =....sc[scZSP
0f30: 5d 20 20 3d 20 66 61 6c 73 65 3b 0d 0a 09 7d 0d ] = false;...}.
0f40: 0a 0d 0a 09 2f 2f 40 7b 20 83 74 83 48 83 93 83 ....//@{ .t.H...
0f50: 67 8a d6 8c 57 90 dd 92 e8 20 2f 2f 40 7d 0d 0a g...W.... //@}..
0f60: 09 76 6f 69 64 20 53 65 74 46 6f 6e 74 28 20 63 .void SetFont( c
0f70: 6f 6e 73 74 20 54 43 48 41 52 2a 20 66 6e 61 6d onst TCHAR* fnam
0f80: 2c 20 69 6e 74 20 66 73 69 7a 20 29 0d 0a 09 7b , int fsiz )...{
0f90: 0d 0a 09 09 66 6f 6e 74 73 69 7a 65 20 20 20 20 ....fontsize
0fa0: 20 20 20 20 20 20 20 20 20 20 3d 20 66 73 69 7a = fsiz
0fb0: 3b 0d 0a 09 09 66 6f 6e 74 2e 6c 66 57 69 64 74 ;....font.lfWidt
0fc0: 68 20 20 20 20 20 20 20 20 20 20 3d 20 30 3b 0d h = 0;.
0fd0: 0a 09 09 66 6f 6e 74 2e 6c 66 45 73 63 61 70 65 ...font.lfEscape
0fe0: 6d 65 6e 74 20 20 20 20 20 3d 20 30 3b 0d 0a 09 ment = 0;...
0ff0: 09 66 6f 6e 74 2e 6c 66 4f 72 69 65 6e 74 61 74 .font.lfOrientat
1000: 69 6f 6e 20 20 20 20 3d 20 30 3b 0d 0a 09 09 66 ion = 0;....f
1010: 6f 6e 74 2e 6c 66 57 65 69 67 68 74 20 20 20 20 ont.lfWeight
1020: 20 20 20 20 20 3d 20 46 57 5f 44 4f 4e 54 43 41 = FW_DONTCA
1030: 52 45 3b 0d 0a 09 09 66 6f 6e 74 2e 6c 66 49 74 RE;....font.lfIt
1040: 61 6c 69 63 20 20 20 20 20 20 20 20 20 3d 20 46 alic = F
1050: 41 4c 53 45 3b 0d 0a 09 09 66 6f 6e 74 2e 6c 66 ALSE;....font.lf
1060: 55 6e 64 65 72 6c 69 6e 65 20 20 20 20 20 20 3d Underline =
1070: 20 46 41 4c 53 45 3b 0d 0a 09 09 66 6f 6e 74 2e FALSE;....font.
1080: 6c 66 53 74 72 69 6b 65 4f 75 74 20 20 20 20 20 lfStrikeOut
1090: 20 3d 20 46 41 4c 53 45 3b 0d 0a 09 09 66 6f 6e = FALSE;....fon
10a0: 74 2e 6c 66 4f 75 74 50 72 65 63 69 73 69 6f 6e t.lfOutPrecision
10b0: 20 20 20 3d 20 4f 55 54 5f 44 45 46 41 55 4c 54 = OUT_DEFAULT
10c0: 5f 50 52 45 43 49 53 3b 0d 0a 09 09 66 6f 6e 74 _PRECIS;....font
10d0: 2e 6c 66 43 6c 69 70 50 72 65 63 69 73 69 6f 6e .lfClipPrecision
10e0: 20 20 3d 20 43 4c 49 50 5f 44 45 46 41 55 4c 54 = CLIP_DEFAULT
10f0: 5f 50 52 45 43 49 53 3b 0d 0a 09 09 66 6f 6e 74 _PRECIS;....font
1100: 2e 6c 66 51 75 61 6c 69 74 79 20 20 20 20 20 20 .lfQuality
1110: 20 20 3d 20 44 45 46 41 55 4c 54 5f 51 55 41 4c = DEFAULT_QUAL
1120: 49 54 59 3b 0d 0a 09 09 66 6f 6e 74 2e 6c 66 50 ITY;....font.lfP
1130: 69 74 63 68 41 6e 64 46 61 6d 69 6c 79 20 3d 20 itchAndFamily =
1140: 56 41 52 49 41 42 4c 45 5f 50 49 54 43 48 7c 46 VARIABLE_PITCH|F
1150: 46 5f 44 4f 4e 54 43 41 52 45 3b 0d 0a 09 09 66 F_DONTCARE;....f
1160: 6f 6e 74 2e 6c 66 43 68 61 72 53 65 74 20 20 20 ont.lfCharSet
1170: 20 20 20 20 20 3d 20 44 45 46 41 55 4c 54 5f 43 = DEFAULT_C
1180: 48 41 52 53 45 54 3b 0d 0a 0d 0a 09 09 3a 3a 6c HARSET;......::l
1190: 73 74 72 63 70 79 28 20 66 6f 6e 74 2e 6c 66 46 strcpy( font.lfF
11a0: 61 63 65 4e 61 6d 65 2c 20 66 6e 61 6d 20 29 3b aceName, fnam );
11b0: 0d 0a 0d 0a 09 09 48 44 43 20 68 20 3d 20 3a 3a ......HDC h = ::
11c0: 47 65 74 44 43 28 20 4e 55 4c 4c 20 29 3b 0d 0a GetDC( NULL );..
11d0: 09 09 66 6f 6e 74 2e 6c 66 48 65 69 67 68 74 20 ..font.lfHeight
11e0: 3d 20 2d 4d 75 6c 44 69 76 28 66 73 69 7a 2c 20 = -MulDiv(fsiz,
11f0: 3a 3a 47 65 74 44 65 76 69 63 65 43 61 70 73 28 ::GetDeviceCaps(
1200: 68 2c 4c 4f 47 50 49 58 45 4c 53 59 29 2c 20 37 h,LOGPIXELSY), 7
1210: 32 29 3b 0d 0a 09 09 3a 3a 52 65 6c 65 61 73 65 2);....::Release
1220: 44 43 28 20 4e 55 4c 4c 2c 20 68 20 29 3b 0d 0a DC( NULL, h );..
1230: 09 7d 0d 0a 0d 0a 09 2f 2f 40 7b 20 83 5e 83 75 .}.....//@{ .^.u
1240: 95 9d 90 dd 92 e8 20 2f 2f 40 7d 0d 0a 09 76 6f ...... //@}...vo
1250: 69 64 20 53 65 74 54 61 62 53 74 65 70 28 20 69 id SetTabStep( i
1260: 6e 74 20 74 61 62 20 29 0d 0a 09 7b 0d 0a 09 09 nt tab )...{....
1270: 74 61 62 73 74 65 70 20 3d 20 4d 61 78 28 20 31 tabstep = Max( 1
1280: 2c 20 74 61 62 20 29 3b 0d 0a 09 7d 0d 0a 7d 3b , tab );...}..};
1290: 0d 0a 0d 0a 0d 0a 0d 0a 2f 2f 3d 3d 3d 3d 3d 3d ........//======
12a0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
12b0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
12c0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
12d0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d ================
12e0: 3d 3d 3d 0d 0a 0d 0a 7d 20 20 20 20 20 20 2f 2f ===....} //
12f0: 20 6e 61 6d 65 73 70 61 63 65 20 65 64 69 74 77 namespace editw
1300: 69 6e 67 0d 0a 23 65 6e 64 69 66 20 2f 2f 20 5f ing..#endif // _
1310: 45 44 49 54 57 49 4e 47 5f 43 4f 4d 4d 4f 4e 5f EDITWING_COMMON_
1320: 48 5f 0d 0a H_..