Rev 259 | Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
178 | heavyiron | 1 | virtual at -20 |
2 | POPUP: |
||
3 | .actions dd ? |
||
4 | .data dd ? |
||
5 | .acc_ofs dd ? |
||
6 | .size: |
||
7 | .height dw ? |
||
8 | .width dw ? |
||
9 | .pos: |
||
10 | .y dw ? |
||
11 | .x dw ? |
||
12 | end virtual |
||
13 | |||
14 | macro popup_res _name,[_lang,_title,_accel,_action] |
||
15 | { |
||
16 | common |
||
17 | local s1,s2,m1,m2,c1,c2 |
||
18 | m1 = 0 |
||
19 | m2 = 0 |
||
20 | c1 = 0 |
||
21 | c2 = 0 |
||
22 | if used _name |
||
23 | dd _name#.actions |
||
24 | dd _name#.data |
||
25 | dd ? |
||
26 | dw ? ; height |
||
27 | dw ? ; width |
||
28 | dw ? ; y |
||
29 | dw ? ; x |
||
30 | _name: |
||
31 | forward |
||
32 | if (lang eq _lang) |
||
33 | db 1 |
||
34 | end if |
||
35 | common |
||
36 | .data: |
||
37 | forward |
||
38 | if lang eq _lang |
||
39 | if _title eq '-' |
||
40 | db 1,'-' |
||
41 | c2 = c2+1 |
||
42 | else |
||
43 | virtual at 0 |
||
44 | db _title |
||
45 | s1 = $ |
||
46 | end virtual |
||
47 | if m1 < s1 |
||
48 | m1 = s1 |
||
49 | end if |
||
50 | virtual at 0 |
||
51 | db _accel |
||
52 | s2 = $ |
||
53 | end virtual |
||
54 | if m2 < s2 |
||
55 | m2 = s2 |
||
56 | end if |
||
57 | db s1,_title,s2,_accel |
||
58 | c1 = c1+1 |
||
59 | end if |
||
60 | end if |
||
61 | common |
||
62 | db 0 |
||
63 | align 4 |
||
64 | .actions: |
||
65 | forward |
||
66 | if lang eq _lang |
||
67 | dd _action |
||
68 | end if |
||
69 | common |
||
70 | .size = $-_name+20 |
||
71 | .max_title = m1 |
||
72 | .max_accel = m2 |
||
73 | .cnt_item = c1 |
||
74 | .cnt_sep = c2 |
||
75 | if (m2 = 0) |
||
76 | m2 = -2 |
||
77 | end if |
||
78 | store word (m1*6+m2*6+6*8) at _name+POPUP.width |
||
79 | store word (c1*POP_IHEIGHT+c2*4+4) at _name+POPUP.height |
||
80 | store dword (((m1+2)*6-1)*65536) at _name+POPUP.acc_ofs |
||
81 | end if |
||
82 | } |
||
83 | |||
84 | macro menubar_res _name,[_lang,_title,_popup,_onshow] |
||
85 | { |
||
86 | common |
||
87 | local s,m,c,x |
||
88 | m = 0 |
||
89 | c = 0 |
||
90 | x = 2 |
||
91 | if used _name |
||
92 | _name: |
||
93 | forward |
||
94 | if lang eq _lang |
||
95 | virtual at 0 |
||
96 | db _title |
||
97 | s = $ |
||
98 | end virtual |
||
99 | if m < s |
||
100 | m = s |
||
101 | end if |
||
102 | dw (s+2)*6,x,ATOPH-1,0 |
||
103 | db s,_title |
||
104 | c = c+1 |
||
105 | x = x + (s+2)*6 |
||
106 | end if |
||
107 | common |
||
108 | db 0 |
||
109 | align 4 |
||
110 | .popups: |
||
111 | forward |
||
112 | if lang eq _lang |
||
113 | dd _popup |
||
114 | end if |
||
115 | common |
||
116 | align 4 |
||
117 | .onshow: |
||
118 | forward |
||
119 | if lang eq _lang |
||
120 | dd _onshow |
||
121 | end if |
||
122 | common |
||
123 | .size = $-_name |
||
124 | .max_title = m |
||
125 | .cnt_item = c |
||
126 | .width = x-7 |
||
127 | end if |
||
128 | } |
||
129 | |||
130 | ;// OPTIONS |
||
131 | |||
132 | OPTS_SECURESEL = 00000001b |
||
133 | OPTS_AUTOBRACES = 00000010b |
||
134 | OPTS_AUTOINDENT = 00000100b |
||
135 | OPTS_SMARTTAB = 00001000b |
||
136 | OPTS_OPTIMSAVE = 00010000b |
||
137 | OPTS_LINENUMS = 00100000b |
||
138 | |||
139 | ;// KEY MODIFIERS |
||
140 | |||
141 | KM_SHIFT = 0x00010000 |
||
142 | KM_CTRL = 0x00020000 |
||
143 | KM_ALT = 0x00040000 |
||
144 | |||
145 | KM_CTRLSHIFT = 0x00030000 |
||
146 | KM_ALTSHIFT = 0x00050000 |
||
147 | KM_CTRLALT = 0x00060000 |
||
148 | |||
149 | KM_CTRLALTSHIFT = 0x00070000 |
||
150 | |||
151 | ;// KEY CODES |
||
152 | |||
153 | KEY_ESCAPE = 0x00000001 |
||
154 | KEY_SNAPSHOT = 0x00000137 |
||
155 | KEY_PAUSE = 0x0000021D |
||
156 | |||
157 | KEY_F1 = 0x0000003B |
||
158 | KEY_F2 = 0x0000003C |
||
159 | KEY_F3 = 0x0000003D |
||
160 | KEY_F4 = 0x0000003E |
||
161 | KEY_F5 = 0x0000003F |
||
162 | KEY_F6 = 0x00000040 |
||
163 | KEY_F7 = 0x00000041 |
||
164 | KEY_F8 = 0x00000042 |
||
165 | KEY_F9 = 0x00000043 |
||
166 | KEY_F10 = 0x00000044 |
||
167 | KEY_F11 = 0x00000057 |
||
168 | KEY_F12 = 0x00000058 |
||
169 | |||
170 | KEY_TILDE = 0x00000029 |
||
171 | KEY_MINUS = 0x0000000C |
||
172 | KEY_EQUAL = 0x0000000D |
||
173 | KEY_BACKSPACE = 0x0000000E |
||
174 | KEY_TAB = 0x0000000F |
||
175 | KEY_SQBRACE1 = 0x0000001A |
||
176 | KEY_SQBRACE2 = 0x0000001B |
||
177 | KEY_SLASH1 = 0x00000035 |
||
178 | KEY_SLASH2 = 0x0000002B |
||
179 | KEY_SEMICOLON = 0x00000027 |
||
180 | KEY_QUOTE = 0x00000028 |
||
181 | KEY_COMMA = 0x00000033 |
||
182 | KEY_DOT = 0x00000034 |
||
183 | KEY_SPACE = 0x00000039 |
||
184 | |||
185 | KEY_1 = 0x00000002 |
||
186 | KEY_2 = 0x00000003 |
||
187 | KEY_3 = 0x00000004 |
||
188 | KEY_4 = 0x00000005 |
||
189 | KEY_5 = 0x00000006 |
||
190 | KEY_6 = 0x00000007 |
||
191 | KEY_7 = 0x00000008 |
||
192 | KEY_8 = 0x00000009 |
||
193 | KEY_9 = 0x0000000A |
||
194 | KEY_0 = 0x0000000B |
||
195 | |||
196 | KEY_A = 0x0000001E |
||
197 | KEY_B = 0x00000030 |
||
198 | KEY_C = 0x0000002E |
||
199 | KEY_D = 0x00000020 |
||
200 | KEY_E = 0x00000012 |
||
201 | KEY_F = 0x00000021 |
||
202 | KEY_G = 0x00000022 |
||
203 | KEY_H = 0x00000023 |
||
204 | KEY_I = 0x00000017 |
||
205 | KEY_J = 0x00000024 |
||
206 | KEY_K = 0x00000025 |
||
207 | KEY_L = 0x00000026 |
||
208 | KEY_M = 0x00000032 |
||
209 | KEY_N = 0x00000031 |
||
210 | KEY_O = 0x00000018 |
||
211 | KEY_P = 0x00000019 |
||
212 | KEY_Q = 0x00000010 |
||
213 | KEY_R = 0x00000013 |
||
214 | KEY_S = 0x0000001F |
||
215 | KEY_T = 0x00000014 |
||
216 | KEY_U = 0x00000016 |
||
217 | KEY_V = 0x0000002F |
||
218 | KEY_W = 0x00000011 |
||
219 | KEY_X = 0x0000002D |
||
220 | KEY_Y = 0x00000015 |
||
221 | KEY_Z = 0x0000002C |
||
222 | |||
223 | KEY_CAPSLK = 0x0000003A |
||
224 | KEY_SCRLK = 0x00000046 |
||
225 | KEY_NUMLK = 0x00000069 |
||
226 | |||
227 | KEY_RETURN = 0x0000001C |
||
228 | KEY_NUMRETURN = 0x0000011C |
||
229 | |||
230 | KEY_LCONTROL = 0x0000001D |
||
231 | KEY_RCONTROL = 0x0000011D |
||
232 | KEY_LSHIFT = 0x0000002A |
||
233 | KEY_RSHIFT = 0x00000036 |
||
234 | KEY_LALT = 0x00000038 |
||
235 | KEY_RALT = 0x00000138 |
||
236 | |||
237 | KEY_LWIN = 0x0000015B |
||
238 | KEY_RWIN = 0x0000015C |
||
239 | KEY_APPS = 0x0000015D |
||
240 | |||
241 | KEY_INSERT = 0x00000152 |
||
242 | KEY_DELETE = 0x00000153 |
||
243 | KEY_HOME = 0x00000147 |
||
244 | KEY_END = 0x0000014F |
||
245 | KEY_PAGEUP = 0x00000149 |
||
246 | KEY_PAGEDOWN = 0x00000151 |
||
247 | KEY_UP = 0x00000148 |
||
248 | KEY_LEFT = 0x0000014B |
||
249 | KEY_RIGHT = 0x0000014D |
||
250 | KEY_DOWN = 0x00000150 |
||
251 | |||
252 | KEY_DIVIDE = 0x00000135 |
||
253 | KEY_MULTIPLY = 0x00000037 |
||
254 | KEY_SUBTRACT = 0x0000004A |
||
255 | KEY_ADD = 0x0000004E |
||
256 | KEY_SEPARATOR = 0x00000053 |
||
257 | |||
258 | KEY_NUM1 = 0x0000004F |
||
259 | KEY_NUM2 = 0x00000050 |
||
260 | KEY_NUM3 = 0x00000051 |
||
261 | KEY_NUM4 = 0x0000004B |
||
262 | KEY_NUM5 = 0x0000004C |
||
263 | KEY_NUM6 = 0x0000004D |
||
264 | KEY_NUM7 = 0x00000047 |
||
265 | KEY_NUM8 = 0x00000048 |
||
266 | KEY_NUM9 = 0x00000049 |
||
267 | KEY_NUM0 = 0x00000052 |
||
268 | |||
269 | ;// EXTENDED KEY CODES (MULTIMEDIA KEYBOARDS) |
||
270 | |||
271 | KEY_MYDOCUMENTS = 0x0000014C |
||
272 | KEY_MYPICTURES = 0x00000164 |
||
273 | KEY_MYMUSIC = 0x0000013C |
||
274 | KEY_MUTE = 0x00000120 |
||
275 | KEY_PLAYPAUSE = 0x00000122 |
||
276 | KEY_STOP = 0x00000124 |
||
277 | KEY_VOLUMEUP = 0x00000130 |
||
278 | KEY_VOLUMEDOWN = 0x0000013E |
||
279 | KEY_PREVSONG = 0x00000110 |
||
280 | KEY_NEXTSONG = 0x00000119 |
||
281 | KEY_MEDIA = 0x0000016D |
||
282 | KEY_MAIL = 0x0000016C |
||
283 | KEY_WEBHOME = 0x00000132 |
||
284 | KEY_MESSENGER = 0x00000105 |
||
285 | |||
286 | KEY_CALCULATOR = 0x00000121 |
||
287 | KEY_LOGOFF = 0x00000116 |
||
288 | KEY_SLEEP = 0x0000015F>>> |