Rev 7469 | Rev 7777 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 7469 | Rev 7776 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
2 | ; Hot Angles Config ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
2 | ; Hot Angles Config ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
3 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
3 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
4 | ; Compile with FASM |
4 | ; Compile with FASM |
5 | ; Version 0.3.8: Oct 14, 2018 |
5 | ; Version 0.3.9: Apr 11, 2020 |
Line 6... | Line 6... | ||
6 | 6 | ||
7 | ; Copyright (c) 2018, Efremenkov Sergey aka TheOnlyMirage |
7 | ; Copyright (c) 2018, Efremenkov Sergey aka TheOnlyMirage |
8 | ; All rights reserved. |
8 | ; All rights reserved. |
9 | ; Redistribution and use in source and binary forms, with or without modification, |
9 | ; Redistribution and use in source and binary forms, with or without modification, |
Line 28... | Line 28... | ||
28 | ;P.S. Êîäó òðåáóåòñÿ îïòèìèçàöèÿ è äîðàáîòêà (ñì. òåìó ôîðóìà) |
28 | ;P.S. Êîäó òðåáóåòñÿ îïòèìèçàöèÿ è äîðàáîòêà (ñì. òåìó ôîðóìà) |
29 | format binary as "" ; Binary file format without extension |
29 | format binary as "" ; Binary file format without extension |
30 | use32 ; Tell compiler to use 32 bit instructions |
30 | use32 ; Tell compiler to use 32 bit instructions |
31 | org 0 ; the base address of code, always 0x0 |
31 | org 0 ; the base address of code, always 0x0 |
Line 32... | Line 32... | ||
32 | 32 | ||
33 | ; Çàãîëîâîê èñïîëíÿåìîãî ôàéëà Êîëèáðè ÎÑ |
33 | ; àãîëîâîê èñïîëíÿåìîãî ôàéëà Êîëèáðè ÎÑ |
34 | db 'MENUET01' |
34 | db 'MENUET01' |
35 | dd 1 |
35 | dd 1 |
36 | dd START |
36 | dd START |
37 | dd I_END |
37 | dd I_END |
Line 53... | Line 53... | ||
53 | KMENUITEM_SEPARATOR equ 2 |
53 | KMENUITEM_SEPARATOR equ 2 |
Line 54... | Line 54... | ||
54 | 54 | ||
Line 55... | Line 55... | ||
55 | Otstup = 30 |
55 | Otstup = 30 |
56 | 56 | ||
57 | START: |
57 | START: |
Line 58... | Line 58... | ||
58 | call copyKill ;ïðîñòåéøàÿ çàùèòà îò çàïóñêà âòîðîé êîïèè ïðèëîæåíèÿ |
58 | call copyKill ;ïðîñòåéøàß çàùèòà îò çàïóñêà âòîðîé êîïèè ïðèëîæåíèß |
59 | mcall 68, 11 ;èíèöèàëèçàöèÿ êó÷è |
59 | mcall 68, 11 ;èíèöèàëèçàöèß êó÷è |
60 | 60 | ||
61 | ;mcall 48,3,sc,sizeof.system_colors ;ïîëó÷èòü ñèñòåìíûå öâåòà |
61 | ;mcall 48,3,sc,sizeof.system_colors ;ïîëó÷èòü ñèñòåìíûå öâåòà |
Line 67... | Line 67... | ||
67 | 67 | ||
68 | stdcall dll.Load, @IMPORT |
68 | stdcall dll.Load, @IMPORT |
69 | or eax, eax |
69 | or eax, eax |
Line 70... | Line 70... | ||
70 | jnz exit |
70 | jnz exit |
71 | 71 | ||
72 | mov eax,40 ;óñòàíîâèòü ìàñêó äëÿ îæèäàåìûõ ñîáûòèé |
72 | mov eax,40 ;óñòàíîâèòü ìàñêó äëß îæèäàåìûõ ñîáûòèé |
Line 73... | Line 73... | ||
73 | mov ebx,0x27 ;ñèñòåìà áóäåò ðåàãèðîâàòü òîëüêî íà ñîîáùåíèå î ïåðåðèñîâêå, íàæàòà êíîïêà, îïðåäåë¸ííàÿ ðàíåå, ñîáûòèå îò ìûøè (÷òî-òî ñëó÷èëîñü - íàæàòèå íà êíîïêó ìûøè èëè ïåðåìåùåíèå; ñáðàñûâàåòñÿ ïðè ïðî÷òåíèè) |
73 | mov ebx,0x27 ;ñèñòåìà áóäåò ðåàãèðîâàòü òîëüêî íà ñîîáùåíèå î ïåðåðèñîâêå, íàæàòà êíîïêà, îïðåäåëÞííàß ðàíåå, ñîáûòèå îò ìûøè (÷òî-òî ñëó÷èëîñü - íàæàòèå íà êíîïêó ìûøè èëè ïåðåìåùåíèå; ñáðàñûâàåòñß ïðè ïðî÷òåíèè) |
74 | mcall |
74 | mcall |
Line 88... | Line 88... | ||
88 | stdcall [ksubmenu_add], [modeMenu], eax |
88 | stdcall [ksubmenu_add], [modeMenu], eax |
89 | stdcall [kmenuitem_new], KMENUITEM_NORMAL, valueModeMenu3, 113 |
89 | stdcall [kmenuitem_new], KMENUITEM_NORMAL, valueModeMenu3, 113 |
90 | stdcall [ksubmenu_add], [modeMenu], eax |
90 | stdcall [ksubmenu_add], [modeMenu], eax |
91 | stdcall [kmenuitem_new], KMENUITEM_SUBMENU, valueModeMenu1, [modeMenu] |
91 | stdcall [kmenuitem_new], KMENUITEM_SUBMENU, valueModeMenu1, [modeMenu] |
Line 92... | Line 92... | ||
92 | 92 | ||
93 | call loadConfig ;çàãðóæàåì êîíôèãóðàöèþ èç ôàéëà, åñëè íåò - òî âûñòàâëÿåì ïàðàìåòðû ïî óìîë÷àíèþ |
- | |
94 | call defaultElems ;óñòàíàâëèâàåì ðàçìåðû ýëåìåíòîâ â çàâèñèìîñòè îò íàñòðîåê |
- | |
95 | call resizeElems |
93 | call loadConfig ;çàãðóæàåì êîíôèãóðàöèþ èç ôàéëà, åñëè íåò - òî âûñòàâëßåì ïàðàìåòðû ïî óìîë÷àíèþ |
Line 96... | Line 94... | ||
96 | call draw_window ;îòðèñîâàòü îêíî ïðèëîæåíèÿ |
94 | call draw_window ;îòðèñîâàòü îêíî ïðèëîæåíèß |
97 | 95 | ||
98 | ; Îáðàáîòêà öèêëà ñîáûòèé |
96 | ; Îáðàáîòêà öèêëà ñîáûòèé |
99 | event_wait: |
97 | event_wait: |
Line 110... | Line 108... | ||
110 | 108 | ||
111 | cmp eax, 3 ; Event button in buffer ? |
109 | cmp eax, 3 ; Event button in buffer ? |
112 | je button ; Expl.: User has pressed one of the |
110 | je button ; Expl.: User has pressed one of the |
Line 113... | Line 111... | ||
113 | ; applications buttons. |
111 | ; applications buttons. |
114 | 112 | ||
115 | invoke edit_box_mouse, editLU ;ïðîâåðêà ñîáûòèé ìûøè äëÿ editBox'îâ |
113 | invoke edit_box_mouse, editLU ;ïðîâåðêà ñîáûòèé ìûøè äëß editBox'îâ |
116 | invoke edit_box_mouse, editLD |
114 | invoke edit_box_mouse, editLD |
- | 115 | invoke edit_box_mouse, editRU |
|
117 | invoke edit_box_mouse, editRU |
116 | invoke edit_box_mouse, editRD |
Line 118... | Line 117... | ||
118 | invoke edit_box_mouse, editRD |
117 | ;stdcall [kmainmenu_dispatch_cursorevent], [modeMenu] ;ïðîâåðêà ìûøè äëß êîìáîáîêñà |
Line 119... | Line 118... | ||
119 | invoke edit_box_mouse, editRadius |
118 | invoke edit_box_mouse, editRadius |
120 | 119 | ||
121 | jmp event_wait |
120 | jmp event_wait |
Line 122... | Line 121... | ||
122 | 121 | ||
123 | 122 | ||
Line 141... | Line 140... | ||
141 | jne event_wait |
140 | jne event_wait |
142 | cmp al, 0 |
141 | cmp al, 0 |
143 | jne .next |
142 | jne .next |
144 | mov byte[hkSymbol], ah |
143 | mov byte[hkSymbol], ah |
Line 145... | Line 144... | ||
145 | 144 | ||
146 | push eax ecx esi ;ñîõðàíÿåì ñêàíêîä êëàâèøè |
145 | push eax ecx esi ;ñîõðàíßåì ñêàíêîä êëàâèøè |
147 | shr eax, 16 |
146 | shr eax, 16 |
148 | mov byte[keyscan], al |
147 | mov byte[keyscan], al |
149 | mov ecx, 0 |
148 | mov ecx, 0 |
150 | mov cl, al ;byte[keyscan] |
149 | mov cl, al ;byte[keyscan] |
Line 161... | Line 160... | ||
161 | inc ecx |
160 | inc ecx |
162 | ;cmp ecx, 4 |
161 | ;cmp ecx, 4 |
163 | ;je @f |
162 | ;je @f |
164 | jmp @b |
163 | jmp @b |
165 | @@: |
164 | @@: |
166 | ;è ñîõðàíÿåì åãî |
165 | ;è ñîõðàíßåì åãî |
167 | mov dword[keystr.size], ecx |
166 | mov dword[keystr.size], ecx |
Line 168... | Line 167... | ||
168 | 167 | ||
169 | pop esi ecx eax |
168 | pop esi ecx eax |
170 | jmp red |
169 | jmp red |
171 | .next: |
170 | .next: |
172 | ;cmp al, 2 |
171 | ;cmp al, 2 |
173 | ;jne @f |
172 | ;jne @f |
174 | ;cmp ah, 0 |
173 | ;cmp ah, 0 |
175 | ;jne @f |
174 | ;jne @f |
176 | ;ñ÷èòûâàåì óïðàâëÿþùèå êëàâèøè |
175 | ;ñ÷èòûâàåì óïðàâëßþùèå êëàâèøè |
177 | ;shr eax, 16 |
176 | ;shr eax, 16 |
178 | ;bt eax, 0 ;left shift |
177 | ;bt eax, 0 ;left shift |
179 | ;jne @f |
178 | ;jne @f |
180 | ;mov byte[hkSymbol], 2 |
179 | ;mov byte[hkSymbol], 2 |
Line 192... | Line 191... | ||
192 | mov eax,-1 ; Function -1 : close this program |
191 | mov eax,-1 ; Function -1 : close this program |
193 | mcall |
192 | mcall |
194 | noclose: |
193 | noclose: |
195 | cmp ah, 2 ;êíîïêà "Ïðèìåíèòü" |
194 | cmp ah, 2 ;êíîïêà "Ïðèìåíèòü" |
196 | jne @f ;butend |
195 | jne @f ;butend |
197 | call applyButton ;âûçîâ íàøåãî îáðàáîò÷èêà íàæàòèÿ êíîïêè |
196 | call applyButton ;âûçîâ íàøåãî îáðàáîò÷èêà íàæàòèß êíîïêè |
198 | jmp event_wait |
197 | jmp event_wait |
199 | @@: |
198 | @@: |
200 | cmp ah, 4 |
199 | cmp ah, 4 |
201 | jne @f |
200 | jne @f |
202 | mov byte[editID], 4 |
201 | mov byte[editID], 4 |
Line 225... | Line 224... | ||
225 | jne @f |
224 | jne @f |
226 | push eax ebx ecx |
225 | push eax ebx ecx |
227 | mcall 9, pi, -1 ;get window coord |
226 | mcall 9, pi, -1 ;get window coord |
Line 228... | Line 227... | ||
228 | 227 | ||
229 | mov eax, dword[pi+34] |
228 | mov eax, dword[pi+34] |
230 | add eax, Otstup ;buttonModeX ;+ 5 |
229 | add eax, buttonModeX ;+ 5 |
Line 231... | Line 230... | ||
231 | mov word[coordModeMenu.x], ax |
230 | mov word[coordModeMenu.x], ax |
232 | - | ||
233 | mov eax, dword[pi+38] |
- | |
234 | add ax, word[elem.butModeY] |
231 | |
235 | add ax, word[elem.butDialHeight] |
232 | mov eax, dword[pi+38] |
Line 236... | Line 233... | ||
236 | dec ax ;add eax, buttonModeY + 13 ;17 |
233 | add eax, buttonModeY + 13 ;17 |
237 | mov word[coordModeMenu.y], ax |
234 | mov word[coordModeMenu.y], ax |
238 | 235 | ||
Line 268... | Line 265... | ||
268 | butend: |
265 | butend: |
269 | jmp event_wait ;this is for ignored events, useful at development |
266 | jmp event_wait ;this is for ignored events, useful at development |
Line 270... | Line 267... | ||
270 | 267 | ||
271 | 268 | ||
Line 272... | Line 269... | ||
272 | 269 | ||
273 | ;èìÿ êîíôèãóðàöèîííîãî ôàéëà |
270 | ;èìß êîíôèãóðàöèîííîãî ôàéëà |
274 | fileName: db 'SETTINGS/HOTANGLES.CFG', 0 |
271 | fileName: db 'SETTINGS/HOTANGLES.CFG', 0 |
275 | 272 | ||
276 | ;ñòðóêòóðà äëÿ ñîçäàíèÿ/ïåðåçàïèñè ôàéëà |
273 | ;ñòðóêòóðà äëß ñîçäàíèß/ïåðåçàïèñè ôàéëà |
277 | createFile: |
274 | createFile: |
278 | .func dd 2 ;íîìåð ïîäôóíêöèè |
275 | .func dd 2 ;íîìåð ïîäôóíêöèè |
279 | .re dd 0, 0 ;çàðåçåðâèðîâàíî |
276 | .re dd 0, 0 ;çàðåçåðâèðîâàíî |
Line 280... | Line 277... | ||
280 | .size dd 0 ;ñêîëüêî áàéò ïèñàòü |
277 | .size dd 0 ;ñêîëüêî áàéò ïèñàòü |
281 | .data_adr dd 0 ;óêàçàòåëü íà äàííûå |
278 | .data_adr dd 0 ;óêàçàòåëü íà äàííûå |
282 | .path db 0 |
279 | .path db 0 |
Line 283... | Line 280... | ||
283 | .path_adr dd fileName ;ïóòü |
280 | .path_adr dd fileName ;ïóòü |
Line 292... | Line 289... | ||
292 | mov ecx, dword[ebx] ;÷èòàåì ðàçìåð ñòðîêè |
289 | mov ecx, dword[ebx] ;÷èòàåì ðàçìåð ñòðîêè |
Line 293... | Line 290... | ||
293 | 290 | ||
294 | cmp ecx, 0 ;ïóñòà ëè ñòðîêà? |
291 | cmp ecx, 0 ;ïóñòà ëè ñòðîêà? |
Line 295... | Line 292... | ||
295 | jne copyParam.copy ;åñëè íåò, òî ïåðåõîäèì ê êîïèðîâàíèþ ñîäåðæèìîãî ñòðîêè (ê öèêëó) |
292 | jne copyParam.copy ;åñëè íåò, òî ïåðåõîäèì ê êîïèðîâàíèþ ñîäåðæèìîãî ñòðîêè (ê öèêëó) |
296 | 293 | ||
297 | mov byte[eax], '-' ;åñëè æå ïóñòî, òî çàìåíÿåì ñèìâîëîì ìèíóñ '-' |
294 | mov byte[eax], '-' ;åñëè æå ïóñòî, òî çàìåíßåì ñèìâîëîì ìèíóñ '-' |
298 | inc eax |
295 | inc eax |
Line 299... | Line 296... | ||
299 | ;jmp copyParam.copyEnd ;è âûõîäèì |
296 | ;jmp copyParam.copyEnd ;è âûõîäèì |
300 | ;äàëåå â íà÷àëå öèêëà ïðîèçîéä¸ò ñðàâíåíèå è âûõîä |
297 | ;äàëåå â íà÷àëå öèêëà ïðîèçîéäÞò ñðàâíåíèå è âûõîä |
301 | 298 | ||
302 | .copy: ;êîïèðóåì ñèìâîëû |
299 | .copy: ;êîïèðóåì ñèìâîëû |
Line 311... | Line 308... | ||
311 | .copyEnd: |
308 | .copyEnd: |
312 | pop ecx ebx esi |
309 | pop ecx ebx esi |
313 | ret |
310 | ret |
Line 314... | Line 311... | ||
314 | 311 | ||
315 | 312 | ||
316 | addPerenos: ;äîáàâëÿåò ïåðåíîñ ñòðîêè â áóôåð |
313 | addPerenos: ;äîáàâëßåò ïåðåíîñ ñòðîêè â áóôåð |
317 | mov byte[eax], 13 |
314 | mov byte[eax], 13 |
318 | inc eax |
315 | inc eax |
319 | mov byte[eax], 10 |
316 | mov byte[eax], 10 |
Line 325... | Line 322... | ||
325 | push eax ebx ecx |
322 | push eax ebx ecx |
326 | ;mov dword[createFile.data_adr], defaultDataForConfig |
323 | ;mov dword[createFile.data_adr], defaultDataForConfig |
327 | ;mov dword[createFile.size], defaultDataSize |
324 | ;mov dword[createFile.size], defaultDataSize |
Line 328... | Line 325... | ||
328 | 325 | ||
329 | ;âû÷èñëèì ðàçìåð ôàéëà êîíôèãóðàöèè â áàéòàõ |
326 | ;âû÷èñëèì ðàçìåð ôàéëà êîíôèãóðàöèè â áàéòàõ |
330 | mov ecx, 9*2+1 ;1 áàéò íà ñîñòîÿíèå àêòèâíîñòè è 9 ïàð ïåðåíîñîâ ñòðîê (ñèìâîëû 13, 10) |
327 | mov ecx, 9*2+1 ;1 áàéò íà ñîñòîßíèå àêòèâíîñòè è 9 ïàð ïåðåíîñîâ ñòðîê (ñèìâîëû 13, 10) |
331 | add ecx, dword[editLU.size] ;ïëþñ ðàçìåð êàæäîé ñòðîêè â áàéòàõ |
328 | add ecx, dword[editLU.size] ;ïëþñ ðàçìåð êàæäîé ñòðîêè â áàéòàõ |
332 | add ecx, dword[editLD.size] |
329 | add ecx, dword[editLD.size] |
333 | add ecx, dword[editRU.size] |
330 | add ecx, dword[editRU.size] |
334 | add ecx, dword[editRD.size] ;dataBuffer.size4] |
331 | add ecx, dword[editRD.size] ;dataBuffer.size4] |
335 | add ecx, dword[editRadius.size] |
332 | add ecx, dword[editRadius.size] |
336 | add ecx, dword[hkSize] ;ðàçìåð èìåíè àêòèâàöèîííîé êíîïêè |
333 | add ecx, dword[hkSize] ;ðàçìåð èìåíè àêòèâàöèîííîé êíîïêè |
337 | add ecx, dword[keystr.size] ;ðàçìåð ñêàíêîäà àêòèâàöèîííîé êíîïêè |
334 | add ecx, dword[keystr.size] ;ðàçìåð ñêàíêîäà àêòèâàöèîííîé êíîïêè |
Line -... | Line 335... | ||
- | 335 | inc ecx ; åùÞ 1 áàéò äëß õðàíåíèß ðàçìåðà ýëåìåíòîâ |
|
- | 336 | ||
- | 337 | ;cmp dword[keystr.size], 3 |
|
- | 338 | ;jbe @f |
|
- | 339 | ;mcall -1 |
|
338 | inc ecx ; åù¸ 1 áàéò äëÿ õðàíåíèÿ ðàçìåðà ýëåìåíòîâ |
340 | ;@@: |
339 | 341 | ||
340 | ;åñëè çàäàíû ïóñòûå ñòðîêè, òî ìû àâòîìàòè÷åñêè äîáàâëÿåì çíàê ìèíóñ, çíà÷èò ðàçìåð +1 áàéò |
342 | ;åñëè çàäàíû ïóñòûå ñòðîêè, òî ìû àâòîìàòè÷åñêè äîáàâëßåì çíàê ìèíóñ, çíà÷èò ðàçìåð +1 áàéò |
341 | cmp dword[editLU.size], 0 |
343 | cmp dword[editLU.size], 0 |
342 | jne @f |
344 | jne @f |
343 | inc ecx |
345 | inc ecx |
Line 354... | Line 356... | ||
354 | jne @f |
356 | jne @f |
355 | inc ecx |
357 | inc ecx |
356 | @@: |
358 | @@: |
Line 357... | Line 359... | ||
357 | 359 | ||
358 | ;òåïåðü ðàçìåð ôàéëà êîíôèãóðàöèè â ecx |
360 | ;òåïåðü ðàçìåð ôàéëà êîíôèãóðàöèè â ecx |
359 | mov dword[createFile.size], ecx ;ïîëîæèì ðàçìåð áàéò â ñòðóêòóðó ñîçäàíèÿ/ïåðåçàïèñè ôàéëà |
361 | mov dword[createFile.size], ecx ;ïîëîæèì ðàçìåð áàéò â ñòðóêòóðó ñîçäàíèß/ïåðåçàïèñè ôàéëà |
360 | mcall 68, 12, ecx ;âûäåëÿåì áëîê ïàìÿòè ïîä áóôåð ñîäåðæèìîãî |
362 | mcall 68, 12, ecx ;âûäåëßåì áëîê ïàìßòè ïîä áóôåð ñîäåðæèìîãî |
Line 361... | Line 363... | ||
361 | mov dword[createFile.data_adr], eax ;ñîõðàíÿåì àäðåñ áóôåðà â ñòðóêòóðó |
363 | mov dword[createFile.data_adr], eax ;ñîõðàíßåì àäðåñ áóôåðà â ñòðóêòóðó |
362 | 364 | ||
363 | ;çàïîëíèì áóôåð ñîäåðæèìîãî: |
365 | ;çàïîëíèì áóôåð ñîäåðæèìîãî: |
364 | push ebx ;ñîõðàíÿåì âûáðàííûé ðåæèì |
366 | push ebx ;ñîõðàíßåì âûáðàííûé ðåæèì |
365 | mov bl, byte[mode] |
367 | mov bl, byte[mode] |
Line 366... | Line 368... | ||
366 | mov byte[eax], bl |
368 | mov byte[eax], bl |
367 | pop ebx |
369 | pop ebx |
Line 368... | Line 370... | ||
368 | 370 | ||
369 | inc eax |
371 | inc eax |
Line 370... | Line 372... | ||
370 | call addPerenos |
372 | call addPerenos |
371 | 373 | ||
372 | push esi ebx |
374 | push esi ebx |
373 | call UpdateEditsSizes ;îáíîâèòü ðàçìåðû òåêñòà â edit'àõ |
375 | call UpdateEditsSizes ;îáíîâèòü ðàçìåðû òåêñòà â edit'àõ |
Line 374... | Line 376... | ||
374 | 376 | ||
375 | mov esi, dataBuffer.1 |
377 | mov esi, dataBuffer.1 ;editLU.text |
376 | mov ebx, dataBuffer.size1 |
378 | mov ebx, dataBuffer.size1 ;editLU.size |
377 | call copyParam |
379 | call copyParam |
Line 378... | Line 380... | ||
378 | call addPerenos ;äîáàâëÿåì ïåðåíîñ ñòðîêè |
380 | call addPerenos ;äîáàâëßåì ïåðåíîñ ñòðîêè |
379 | 381 | ||
380 | mov esi, dataBuffer.2 |
382 | mov esi, dataBuffer.2 |
381 | mov ebx, dataBuffer.size2 |
383 | mov ebx, dataBuffer.size2 |
Line 382... | Line 384... | ||
382 | call copyParam |
384 | call copyParam |
383 | call addPerenos ;äîáàâëÿåì ïåðåíîñ ñòðîêè |
385 | call addPerenos ;äîáàâëßåì ïåðåíîñ ñòðîêè |
384 | 386 | ||
385 | mov esi, dataBuffer.3 |
387 | mov esi, dataBuffer.3 |
Line 386... | Line 388... | ||
386 | mov ebx, dataBuffer.size3 |
388 | mov ebx, dataBuffer.size3 |
387 | call copyParam |
389 | call copyParam |
388 | call addPerenos ;äîáàâëÿåì ïåðåíîñ ñòðîêè |
390 | call addPerenos ;äîáàâëßåì ïåðåíîñ ñòðîêè |
Line 389... | Line 391... | ||
389 | 391 | ||
390 | mov esi, dataBuffer.4 |
392 | mov esi, dataBuffer.4 |
391 | mov ebx, dataBuffer.size4 |
393 | mov ebx, dataBuffer.size4 |
392 | call copyParam |
394 | call copyParam |
393 | call addPerenos ;äîáàâëÿåì ïåðåíîñ ñòðîêè |
395 | call addPerenos ;äîáàâëßåì ïåðåíîñ ñòðîêè |
394 | 396 | ||
Line 410... | Line 412... | ||
410 | jae @f |
412 | jae @f |
411 | jmp @b |
413 | jmp @b |
412 | @@: |
414 | @@: |
413 | call addPerenos |
415 | call addPerenos |
Line 414... | Line 416... | ||
414 | 416 | ||
415 | ;ñîõðàíÿåì ðàäèóñ |
417 | ;ñîõðàíßåì ðàäèóñ |
416 | ;!!! åñëè ðàäèóñ îñòàâëåí ïóñòûì, òî íóæíî ñîõðàíÿòü çíà÷åíèå ïî óìîë÷àíèþ (ñåé÷àñ ïèøåòñÿ '-') |
418 | ;!!! åñëè ðàäèóñ îñòàâëåí ïóñòûì, òî íóæíî ñîõðàíßòü çíà÷åíèå ïî óìîë÷àíèþ (ñåé÷àñ ïèøåòñß '-') |
417 | mov esi, radiusBuffer.data |
419 | mov esi, radiusBuffer.data |
418 | mov ebx, editRadius.size ;radiusBuffer.size |
420 | mov ebx, editRadius.size ;radiusBuffer.size |
419 | call copyParam |
421 | call copyParam |
Line 420... | Line 422... | ||
420 | call addPerenos |
422 | call addPerenos |
421 | 423 | ||
422 | ;äîáàâëÿåì ðàçìåð ýëåìåíòîâ |
424 | ;äîáàâëßåì ðàçìåð ýëåìåíòîâ |
423 | push ebx ;ñîõðàíÿåì âûáðàííûé ðåæèì |
425 | push ebx ;ñîõðàíßåì âûáðàííûé ðåæèì |
424 | mov bl, byte[sizeStyle] |
426 | mov bl, byte[sizeStyle] |
425 | mov byte[eax], bl |
427 | mov byte[eax], bl |
426 | pop ebx |
428 | pop ebx |
Line 434... | Line 436... | ||
434 | mcall 70 |
436 | mcall 70 |
435 | cmp eax, 0 |
437 | cmp eax, 0 |
436 | je .end |
438 | je .end |
437 | ;èíà÷å çäåñü íóæíî âûâåñòè îêíî ñ îøèáêîé !!! |
439 | ;èíà÷å çäåñü íóæíî âûâåñòè îêíî ñ îøèáêîé !!! |
438 | .end: |
440 | .end: |
439 | mcall 68, 13, dword[createFile.data_adr] ;îñâîáîæäàåì ïàìÿòü ïîä áóôåð |
441 | mcall 68, 13, dword[createFile.data_adr] ;îñâîáîæäàåì ïàìßòü ïîä áóôåð |
440 | call finishHotAnglesApp ;çàâåðøàåì ðàáîòó âñåõ êîïèé ñåðâèñà @HOTANGLES |
442 | call finishHotAnglesApp ;çàâåðøàåì ðàáîòó âñåõ êîïèé ñåðâèñà @HOTANGLES |
441 | call loadConfig ;ïåðåçàãðóæàåì ôàéë êîíôèãà |
443 | call loadConfig ;ïåðåçàãðóæàåì ôàéë êîíôèãà |
442 | call draw_window ;ïåðåðèñîâûâàåì îêíî |
444 | call draw_window ;ïåðåðèñîâûâàåì îêíî |
443 | call startHotAnglesApp ;ïåðåçàïóñêàåì @HOTANGLES |
445 | call startHotAnglesApp ;ïåðåçàïóñêàåì @HOTANGLES |
444 | pop ecx ebx eax |
446 | pop ecx ebx eax |
Line 469... | Line 471... | ||
469 | pop ebx ecx esi edi |
471 | pop ebx ecx esi edi |
470 | ret |
472 | ret |
Line 471... | Line 473... | ||
471 | 473 | ||
472 | 474 | ||
473 | finishHotAnglesApp: |
475 | finishHotAnglesApp: |
474 | ;íàõîäèì âñå êîïèè ïðèëîæåíèÿ ïî èìåíè è çàâåðøàåì èõ |
476 | ;íàõîäèì âñå êîïèè ïðèëîæåíèß ïî èìåíè è çàâåðøàåì èõ |
475 | push eax ebx ecx esi edi |
477 | push eax ebx ecx esi edi |
476 | ;óêàçàòåëè, êîòîðûå íèêîãäà íå ìåíÿþòñÿ: |
478 | ;óêàçàòåëè, êîòîðûå íèêîãäà íå ìåíßþòñß: |
477 | mov esi, startAppData.file_name ;ïåðâàÿ ñòðîêà - èñêîìîå èìÿ ïðèëîæåíèÿ |
479 | mov esi, startAppData.file_name ;ïåðâàß ñòðîêà - èñêîìîå èìß ïðèëîæåíèß |
Line 478... | Line 480... | ||
478 | mov edi, buf ;âòîðàÿ ñòðîêà - èìÿ òåêóùåãî ñëîòà |
480 | mov edi, buf ;âòîðàß ñòðîêà - èìß òåêóùåãî ñëîòà |
479 | add edi, 10 |
481 | add edi, 10 |
480 | 482 | ||
481 | mov ecx, 1 |
483 | mov ecx, 1 |
Line 482... | Line 484... | ||
482 | @@: |
484 | @@: |
483 | mcall 9, buf, ecx ;ïîëó÷àåì äàííûå î÷åðåäíîãî ñëîòà |
485 | mcall 9, buf, ecx ;ïîëó÷àåì äàííûå î÷åðåäíîãî ñëîòà |
484 | mov dword[slotMax], eax |
486 | mov dword[slotMax], eax |
Line 485... | Line 487... | ||
485 | 487 | ||
486 | call compareBytes2 ;ñðàâíèâàåì èìÿ |
488 | call compareBytes2 ;ñðàâíèâàåì èìß |
Line 539... | Line 541... | ||
539 | fileAdr dd 0 |
541 | fileAdr dd 0 |
Line 540... | Line 542... | ||
540 | 542 | ||
541 | loadConfig: |
543 | loadConfig: |
542 | push eax ebx ecx edx |
544 | push eax ebx ecx edx |
543 | mcall 68, 27, fileName ;çàãðóæàåì êîíôèãóðàöèîííûé ôàéë â ÎÇÓ |
545 | mcall 68, 27, fileName ;çàãðóæàåì êîíôèãóðàöèîííûé ôàéë â ÎÇÓ |
544 | mov dword[fileAdr], eax ;ñîõðàíÿåì àäðåñ áëîêà ïàìÿòè ôàéëà |
546 | mov dword[fileAdr], eax ;ñîõðàíßåì àäðåñ áëîêà ïàìßòè ôàéëà |
545 | cmp eax, 0 |
547 | cmp eax, 0 |
546 | je loadConfig.default ;åñëè ôàéëà êîíôèãóðàöèè íåò, òî ñòàâèì íàñòðîéêè ïî óìîë÷àíèþ |
548 | je loadConfig.default ;åñëè ôàéëà êîíôèãóðàöèè íåò, òî ñòàâèì íàñòðîéêè ïî óìîë÷àíèþ |
547 | ;èíà÷å äàííûå çàãðóæåíû â ÎÇÓ, ðàçìåð â edx |
549 | ;èíà÷å äàííûå çàãðóæåíû â ÎÇÓ, ðàçìåð â edx |
548 | cmp edx, 0 ;åñëè ôàéë ïóñò, â í¸ì íåò äàííûõ, òî ñòàâèì íàñòðîéêè ïî óìîë÷àíèþ |
550 | cmp edx, 0 ;åñëè ôàéë ïóñò, â íÞì íåò äàííûõ, òî ñòàâèì íàñòðîéêè ïî óìîë÷àíèþ |
549 | je loadConfig.default |
551 | je loadConfig.default |
550 | .start: |
552 | .start: |
Line 551... | Line 553... | ||
551 | add edx, eax ;êëàä¸ì â edx - àäðåñ êîíöà êîíôèã.äàííûõ |
553 | add edx, eax ;êëàäÞì â edx - àäðåñ êîíöà êîíôèã.äàííûõ |
Line 552... | Line 554... | ||
552 | 554 | ||
553 | .chStart: |
555 | .chStart: |
554 | 556 | ||
555 | push ebx |
557 | push ebx |
556 | mov bl, byte[eax] |
558 | mov bl, byte[eax] |
557 | cmp bl, 48 ; åñëè çíà÷åíèå âûõîäèò çà äîïóñòèìûå ïðåäåëû, òî ïðîâåðÿåì íà 'n' (äëÿ ñîâìåñòèìîñòè) |
559 | cmp bl, 48 ; åñëè çíà÷åíèå âûõîäèò çà äîïóñòèìûå ïðåäåëû, òî ïðîâåðßåì íà 'n' (äëß ñîâìåñòèìîñòè) |
Line 558... | Line 560... | ||
558 | jb loadConfig.checkN |
560 | jb loadConfig.checkN |
559 | cmp bl, 51 |
561 | cmp bl, 51 |
560 | ja loadConfig.checkN |
562 | ja loadConfig.checkN |
561 | 563 | ||
562 | mov byte[mode], bl ;èíà÷å óñòàíàâëèâàåì ýòîò ðåæèì êàê åñòü |
564 | mov byte[mode], bl ;èíà÷å óñòàíàâëèâàåì ýòîò ðåæèì êàê åñòü |
563 | jmp loadConfig.modeEnd ;è èä¸ì äàëüøå |
565 | jmp loadConfig.modeEnd ;è èäÞì äàëüøå |
564 | .checkN: |
566 | .checkN: |
Line 571... | Line 573... | ||
571 | jne @f |
573 | jne @f |
572 | mov byte[mode], 49 ;'1' |
574 | mov byte[mode], 49 ;'1' |
573 | jmp loadConfig.modeEnd |
575 | jmp loadConfig.modeEnd |
574 | @@: |
576 | @@: |
575 | mov byte[mode], 48 ;'0' èíà÷å ïî óìîë÷àíèþ îòêëþ÷åíî |
577 | mov byte[mode], 48 ;'0' èíà÷å ïî óìîë÷àíèþ îòêëþ÷åíî |
576 | ;mov byte[mode], 49 ;'1' èíà÷å ïî óìîë÷àíèþ âêëþ÷¸í êëàññè÷åñêèé ðåæèì ðàáîòû |
578 | ;mov byte[mode], 49 ;'1' èíà÷å ïî óìîë÷àíèþ âêëþ÷Þí êëàññè÷åñêèé ðåæèì ðàáîòû |
577 | .modeEnd: |
579 | .modeEnd: |
578 | pop ebx |
580 | pop ebx |
579 | ;jmp loadConfig.end ;êîìàíäà äëÿ óäîáñòâà îòëàäêè è ïîèñêà îøèáîê |
581 | ;jmp loadConfig.end ;êîìàíäà äëß óäîáñòâà îòëàäêè è ïîèñêà îøèáîê |
Line 580... | Line 582... | ||
580 | 582 | ||
581 | ;êîïèðóåì ñîäåðæèìîå ñòðîê â áóôåð |
583 | ;êîïèðóåì ñîäåðæèìîå ñòðîê â áóôåð |
582 | push edi esi ecx ebx eax |
584 | push edi esi ecx ebx eax |
583 | ;èíèöèàëèçèðóåì óêàçàòåëè íà àäðåñà áóôåðà ñòðîêè è å¸ ðàçìåðà |
585 | ;èíèöèàëèçèðóåì óêàçàòåëè íà àäðåñà áóôåðà ñòðîêè è åÞ ðàçìåðà |
584 | mov edi, dataBuffer.1 |
586 | mov edi, dataBuffer.1 |
585 | mov esi, dataBuffer.size1 |
587 | mov esi, dataBuffer.size1 |
586 | ;ecx - ñ÷¸ò÷èê áàéò â ñòðîêå |
588 | ;ecx - ñ÷Þò÷èê áàéò â ñòðîêå |
587 | .block: |
589 | .block: |
588 | xor ecx, ecx ;îáíóëÿåì ñ÷¸ò÷èê |
590 | xor ecx, ecx ;îáíóëßåì ñ÷Þò÷èê |
589 | inc eax |
591 | inc eax |
590 | cmp byte[eax], 10 ;åñëè î÷åðåäíîé êîä ñèìâîëà 10 èëè 13, òî ïðîïóñêàåì ñèìâîëû |
592 | cmp byte[eax], 10 ;åñëè î÷åðåäíîé êîä ñèìâîëà 10 èëè 13, òî ïðîïóñêàåì ñèìâîëû |
591 | je loadConfig.block ;äî ïåðâîãî îòëè÷íîãî îò íèõ |
593 | je loadConfig.block ;äî ïåðâîãî îòëè÷íîãî îò íèõ |
592 | cmp byte[eax], 13 |
594 | cmp byte[eax], 13 |
Line 595... | Line 597... | ||
595 | ; ñèìâîë îòëè÷åí îò ïåðåíîñà ñòðîêè è âîçâðàòà êàðåòêè - íà÷èíàåì êîïèðîâàòü îòñþäà â áóôåð |
597 | ; ñèìâîë îòëè÷åí îò ïåðåíîñà ñòðîêè è âîçâðàòà êàðåòêè - íà÷èíàåì êîïèðîâàòü îòñþäà â áóôåð |
596 | mov bl, byte[eax] |
598 | mov bl, byte[eax] |
597 | mov byte[edi], bl |
599 | mov byte[edi], bl |
598 | inc edi |
600 | inc edi |
599 | inc eax |
601 | inc eax |
600 | inc ecx ;óâåëè÷èâàåì ñ÷¸ò÷èê ñèìâîëîâ â ñòðîêå |
602 | inc ecx ;óâåëè÷èâàåì ñ÷Þò÷èê ñèìâîëîâ â ñòðîêå |
Line 601... | Line 603... | ||
601 | 603 | ||
602 | ;èä¸ì äî êîíöà ýòîé ñòðîêè: ïîêà íå âñòðåòèì î÷åðåäíîé 10, 13, 0 èëè file end |
604 | ;èäÞì äî êîíöà ýòîé ñòðîêè: ïîêà íå âñòðåòèì î÷åðåäíîé 10, 13, 0 èëè file end |
603 | .while: ;è êîïèðóåì âñ¸ â áóôåð |
605 | .while: ;è êîïèðóåì âñÞ â áóôåð |
604 | cmp eax, edx ;ïðîâåðÿåì çàêîí÷èëñÿ ëè ôàéë, à êîíöà ñòðîêè íå áûëî !!! |
606 | cmp eax, edx ;ïðîâåðßåì çàêîí÷èëñß ëè ôàéë, à êîíöà ñòðîêè íå áûëî !!! |
605 | ja loadConfig.ura |
607 | ja loadConfig.ura |
606 | cmp byte[eax], 10 |
608 | cmp byte[eax], 10 |
607 | je loadConfig.ura |
609 | je loadConfig.ura |
608 | cmp byte[eax], 0 |
610 | cmp byte[eax], 0 |
Line 617... | Line 619... | ||
617 | inc ecx |
619 | inc ecx |
618 | cmp ecx, 511 |
620 | cmp ecx, 511 |
619 | jae loadConfig.ura |
621 | jae loadConfig.ura |
620 | jmp loadConfig.while |
622 | jmp loadConfig.while |
621 | .ura: |
623 | .ura: |
622 | mov byte[edi], 0 ;êëàä¸ì çàâåðøàþùèé 0 â ñòðîêó |
624 | mov byte[edi], 0 ;êëàäÞì çàâåðøàþùèé 0 â ñòðîêó |
623 | mov dword[esi], ecx ;ñîõðàíÿåì ðàçìåð ñòðîêè |
625 | mov dword[esi], ecx ;ñîõðàíßåì ðàçìåð ñòðîêè |
624 | add esi, 4 ;ïåðåõîäèì íà ðàçìåð ñëåäóþùåãî áóôåðà |
626 | add esi, 4 ;ïåðåõîäèì íà ðàçìåð ñëåäóþùåãî áóôåðà |
625 | sub edi, ecx ;ïåðåõîäèì íà ñëåäóþùèé áóôåð |
627 | sub edi, ecx ;ïåðåõîäèì íà ñëåäóþùèé áóôåð |
626 | add edi, 512 |
628 | add edi, 512 |
627 | ;xor ecx, ecx ;îáíóëÿåì ðàçìåð ñòðîêè |
629 | ;xor ecx, ecx ;îáíóëßåì ðàçìåð ñòðîêè |
Line 628... | Line 630... | ||
628 | 630 | ||
629 | cmp edi, dataBuffer.size1 ;åñëè ýòî áûë ïîñëåäíèé áóôåð (è ìû âûøëè çà àäðåñà ðàçìåðîâ áóôåðîâ), òî âûõîäèì |
631 | cmp edi, dataBuffer.size1 ;åñëè ýòî áûë ïîñëåäíèé áóôåð (è ìû âûøëè çà àäðåñà ðàçìåðîâ áóôåðîâ), òî âûõîäèì |
Line 630... | Line 632... | ||
630 | jb loadConfig.block |
632 | jb loadConfig.block |
Line 634... | Line 636... | ||
634 | 636 | ||
635 | ;ñ÷èòûâàåì ñêàíêîä êëàâèøè |
637 | ;ñ÷èòûâàåì ñêàíêîä êëàâèøè |
636 | call readScanKey |
638 | call readScanKey |
Line 637... | Line 639... | ||
637 | call gotoEndString |
639 | call gotoEndString |
638 | 640 | ||
639 | call readOptRadius ;ñ÷èòûâàåì çíà÷åíèå ðàäèóñà äëÿ mode 3 |
641 | call readOptRadius ;ñ÷èòûâàåì çíà÷åíèå ðàäèóñà äëß mode 3 |
640 | call gotoEndString |
642 | call gotoEndString |
Line 641... | Line 643... | ||
641 | call readOptSize ;ñ÷èòûâàåì ðàçìåð ýëåìåíòîâ |
643 | call readOptSize ;ñ÷èòûâàåì ðàçìåð ýëåìåíòîâ |
Line 650... | Line 652... | ||
650 | jmp loadConfig.start |
652 | jmp loadConfig.start |
651 | .end: |
653 | .end: |
652 | mov ecx, dword[fileAdr] ;åñëè ôàéë áûë çàãðóæåí, òî |
654 | mov ecx, dword[fileAdr] ;åñëè ôàéë áûë çàãðóæåí, òî |
653 | cmp ecx, 0 |
655 | cmp ecx, 0 |
654 | je @f |
656 | je @f |
655 | mcall 68, 13, ecx ;âûãðóæàåì ôàéë èç ïàìÿòè |
657 | mcall 68, 13, ecx ;âûãðóæàåì ôàéë èç ïàìßòè |
656 | @@: |
658 | @@: |
657 | call updateParams ;ïðèìåíÿåì íàñòðîéêè êàæäîãî áóôåðà |
659 | call updateParams ;ïðèìåíßåì íàñòðîéêè êàæäîãî áóôåðà |
658 | call setMySize ;ïðèìåíÿåì íàñòðîéêè ðàçìåðà ýëåìåíòîâ |
660 | call setMySize ;ïðèìåíßåì íàñòðîéêè ðàçìåðà ýëåìåíòîâ |
659 | pop edx ecx ebx eax |
661 | pop edx ecx ebx eax |
660 | ret |
662 | ret |
Line 661... | Line 663... | ||
661 | 663 | ||
662 | 664 | ||
663 | setMySize: |
665 | setMySize: |
664 | push eax |
666 | push eax |
665 | ;âûñòàâëÿåì mysize â çàâèñèìîñòè îò çíà÷åíèÿ sizeStyle |
667 | ;âûñòàâëßåì mysize â çàâèñèìîñòè îò çíà÷åíèß sizeStyle |
666 | cmp byte[sizeStyle], '0' |
668 | cmp byte[sizeStyle], '0' |
667 | jb @f |
669 | jb @f |
668 | cmp byte[sizeStyle], '7' |
670 | cmp byte[sizeStyle], '7' |
669 | ja @f |
671 | ja @f |
670 | mov eax, 0 ;åñëè çíà÷åíèå ðàçìåðà çàäàíî, òî åãî è âûñòàâëÿåì |
672 | mov eax, 0 ;åñëè çíà÷åíèå ðàçìåðà çàäàíî, òî åãî è âûñòàâëßåì |
671 | mov al, byte[sizeStyle] |
673 | mov al, byte[sizeStyle] |
672 | sub al, '0' |
674 | sub al, '0' |
673 | jmp .end |
675 | jmp .end |
674 | @@: |
676 | @@: |
675 | cmp byte[sizeStyle], 'a' |
677 | cmp byte[sizeStyle], 'a' |
676 | je .auto |
678 | je .auto |
677 | cmp byte[sizeStyle], 'x' |
679 | ;cmp byte[sizeStyle], 's' |
678 | je .x |
680 | ;je .system |
- | 681 | .system: ;èíà÷å çíà÷åíèå ïî óìîë÷àíèþ: s - ñèñòåìíàß |
|
- | 682 | ; push ebx ecx |
|
679 | .system: ;èíà÷å çíà÷åíèå ïî óìîë÷àíèþ: s - ñèñòåìíàÿ |
683 | ;!!! |
680 | push ebx ecx edx |
684 | ; mov eax, 9 |
681 | mcall 48, 11 ;ïîëó÷àåì ñèñòåìíûé ðàçìåð øðèôòà |
- | |
682 | ;òåïåðü eax - âûñîòà øðèôòà â ïèêñåëÿõ |
685 | ; mcall 48, 11 ;ïîëó÷àåì ñèñòåìíûé ðàçìåð øðèôòà |
683 | mov ebx, 9 ;temp fix - äåëèì íà òåêóùèé ðàçìåð øðèôòà and -1 |
686 | ;eax - âûñîòà øðèôòà â ïèêñåëßõ |
- | 687 | ; mov ecx, eax |
|
684 | mov edx, 0 |
688 | ; push eax |
685 | div ebx |
- | |
686 | pop edx ecx ebx |
689 | ; mcall 48, 12, ecx ;ïðèìåíßåì ðàçìåð øðèôòà |
- | 690 | ; pop eax |
|
687 | 691 | ; pop ecx ebx |
|
688 | cmp eax, 0 |
692 | ;temp fix - äåëèì íà òåêóùèé ðàçìåð øðèôòà and -1 |
689 | je .end |
693 | ; push ebx edx |
690 | cmp eax, 7 |
694 | ; mov ebx, 9 |
691 | jae .size7 |
695 | ;div ebx |
692 | dec eax |
696 | ; pop edx ebx |
693 | ;mov eax, 0 ;test |
- | |
694 | jmp .end |
697 | ;cmp eax, 0 |
695 | .x: |
698 | ;je .end |
696 | mov byte[sizeStyle], 'x' |
699 | ;dec eax |
697 | mov eax, 0 |
700 | mov eax, 0 ;xor eax, eax ;test temp |
- | 701 | jmp .end |
|
698 | jmp .end |
702 | .auto: ;a - âûñòàâëßåì â çàâèñèìîñòè îò ðàçðåøåíèß ýêðàíà |
699 | .auto: ;a - âûñòàâëÿåì â çàâèñèìîñòè îò ðàçðåøåíèÿ ýêðàíà |
703 | ;!!! |
700 | mcall 14 |
704 | mcall 14 |
701 | push ebx |
705 | push ebx |
702 | xor ebx, ebx |
706 | xor ebx, ebx |
703 | mov bx, ax |
707 | mov bx, ax |
704 | shr eax, 16 |
708 | shr eax, 16 |
705 | cmp ax, bx ;ïîëó÷àåì áîëüøèé ðàçìåð ñòîðîíû |
709 | cmp ax, bx ;ïîëó÷àåì áîëüøèé ðàçìåð ñòîðîíû |
706 | jae .a |
710 | jae .a |
707 | mov ax, bx |
711 | mov ax, bx |
708 | .a: |
712 | .a: |
709 | pop ebx |
713 | pop ebx |
710 | cmp ax, 1300 ;1919 ;ðàçìåðû ïîëó÷åííûå âûøå îò 0 è íà 1 ìåíüøå |
- | |
711 | jb .size0 |
- | |
712 | cmp ax, 1899 ;919 |
714 | cmp ax, 1919 ;ðàçìåðû ïîëó÷åííûå âûøå îò 0 è íà 1 ìåíüøå |
713 | jb .x |
715 | jb .size0 |
714 | cmp ax, 2047 |
716 | cmp ax, 2047 |
715 | jb .size1 |
717 | jb .size1 |
716 | cmp ax, 4095 |
718 | cmp ax, 4095 |
717 | jb .size2 |
719 | jb .size2 |
718 | cmp ax, 8191 |
- | |
719 | jb .size3 |
- | |
720 | cmp ax, 16383 |
- | |
721 | jb .size4 |
- | |
722 | cmp ax, 32767 |
- | |
723 | jb .size5 |
- | |
Line 724... | Line 720... | ||
724 | cmp ax, 65535 |
720 | cmp ax, 8191 |
Line 725... | Line 721... | ||
725 | jb .size6 |
721 | jb .size3 |
726 | 722 | ||
727 | jmp .size7 |
723 | jmp .size4 |
728 | 724 | ||
Line 759... | Line 755... | ||
759 | ret |
755 | ret |
Line 760... | Line 756... | ||
760 | 756 | ||
761 | 757 | ||
762 | readScanKey: |
758 | readScanKey: |
763 | ;ïðîïóñêàåì ïåðåíîñû ñòðîê â íà÷àëå |
759 | ;ïðîïóñêàåì ïåðåíîñû ñòðîê â íà÷àëå |
764 | cmp eax, edx ;åñëè ôàéë çàêîí÷èëñÿ, òî |
760 | cmp eax, edx ;åñëè ôàéë çàêîí÷èëñß, òî |
765 | ja .default ;íàñòðîéêè ïî óìîë÷àíèþ |
761 | ja .default ;íàñòðîéêè ïî óìîë÷àíèþ |
766 | cmp byte[eax], 10 |
762 | cmp byte[eax], 10 |
767 | je @f |
763 | je @f |
Line 805... | Line 801... | ||
805 | .end: |
801 | .end: |
806 | ret |
802 | ret |
Line 807... | Line 803... | ||
807 | 803 | ||
808 | readOptKey: ;1;3;4;5 - space or shift |
804 | readOptKey: ;1;3;4;5 - space or shift |
809 | ;ïðîïóñêàåì ïåðåíîñû ñòðîê â íà÷àëå |
805 | ;ïðîïóñêàåì ïåðåíîñû ñòðîê â íà÷àëå |
810 | cmp eax, edx ;åñëè ôàéë çàêîí÷èëñÿ, òî |
806 | cmp eax, edx ;åñëè ôàéë çàêîí÷èëñß, òî |
811 | ja .default ;íàñòðîéêè ïî óìîë÷àíèþ |
807 | ja .default ;íàñòðîéêè ïî óìîë÷àíèþ |
812 | cmp byte[eax], 10 |
808 | cmp byte[eax], 10 |
813 | je @f |
809 | je @f |
814 | cmp byte[eax], 0 |
810 | cmp byte[eax], 0 |
Line 838... | Line 834... | ||
838 | jne .notAlt |
834 | jne .notAlt |
839 | mov byte[hkSymbol], 1 |
835 | mov byte[hkSymbol], 1 |
840 | mov dword[hkSize], 3 |
836 | mov dword[hkSize], 3 |
841 | jmp .end |
837 | jmp .end |
842 | .notAlt: |
838 | .notAlt: |
843 | ;óáåäèìñÿ, ÷òî òàì 1 ñèìâîë, à íå ñòðîêà |
839 | ;óáåäèìñß, ÷òî òàì 1 ñèìâîë, à íå ñòðîêà |
844 | cmp byte[eax+1], 10 |
840 | cmp byte[eax+1], 10 |
845 | je .oneSymb |
841 | je .oneSymb |
846 | cmp byte[eax+1], 0 |
842 | cmp byte[eax+1], 0 |
847 | je .oneSymb |
843 | je .oneSymb |
848 | cmp byte[eax+1], 13 |
844 | cmp byte[eax+1], 13 |
849 | je .oneSymb |
845 | je .oneSymb |
850 | jmp .default |
846 | jmp .default |
851 | .oneSymb: |
847 | .oneSymb: |
852 | ;ïðîâåðÿåì, ÷òî ñèìâîë ðàçðåø¸ííûé !!! |
848 | ;ïðîâåðßåì, ÷òî ñèìâîë ðàçðåøÞííûé !!! |
Line 853... | Line 849... | ||
853 | 849 | ||
854 | ;äîáàâëÿåì ñèìâîë êàê åñòü |
850 | ;äîáàâëßåì ñèìâîë êàê åñòü |
855 | push ebx |
851 | push ebx |
856 | ;xor ebx, ebx |
852 | ;xor ebx, ebx |
857 | mov bl, byte[eax] |
853 | mov bl, byte[eax] |
858 | mov byte[hkSymbol], bl |
854 | mov byte[hkSymbol], bl |
Line 871... | Line 867... | ||
871 | mov byte[hkSymbol+1], 0 |
867 | mov byte[hkSymbol+1], 0 |
872 | ret |
868 | ret |
Line 873... | Line 869... | ||
873 | 869 | ||
874 | ;ïðîõîäèì äî êîíöà òåêóùåé ñòðîêè |
870 | ;ïðîõîäèì äî êîíöà òåêóùåé ñòðîêè |
875 | gotoEndString: |
871 | gotoEndString: |
876 | cmp eax, edx ;åñëè ôàéë çàêîí÷èëñÿ, òî |
872 | cmp eax, edx ;åñëè ôàéë çàêîí÷èëñß, òî |
877 | ja @f ;âûõîäèì |
873 | ja @f ;âûõîäèì |
878 | cmp byte[eax], 10 |
874 | cmp byte[eax], 10 |
879 | je @f |
875 | je @f |
880 | cmp byte[eax], 0 |
876 | cmp byte[eax], 0 |
Line 887... | Line 883... | ||
887 | @@: |
883 | @@: |
888 | ret |
884 | ret |
Line 889... | Line 885... | ||
889 | 885 | ||
890 | readOptRadius: |
886 | readOptRadius: |
891 | ;ïðîïóñêàåì ïåðåíîñû ñòðîê â íà÷àëå |
887 | ;ïðîïóñêàåì ïåðåíîñû ñòðîê â íà÷àëå |
892 | cmp eax, edx ;åñëè ôàéë çàêîí÷èëñÿ, òî |
888 | cmp eax, edx ;åñëè ôàéë çàêîí÷èëñß, òî |
893 | ja .default ;íàñòðîéêè ïî óìîë÷àíèþ |
889 | ja .default ;íàñòðîéêè ïî óìîë÷àíèþ |
894 | cmp byte[eax], 10 |
890 | cmp byte[eax], 10 |
895 | je @f |
891 | je @f |
896 | cmp byte[eax], 0 |
892 | cmp byte[eax], 0 |
Line 904... | Line 900... | ||
904 | .readValue: |
900 | .readValue: |
905 | mov bl, byte[eax] |
901 | mov bl, byte[eax] |
906 | mov byte[radiusBuffer.data+ecx], bl |
902 | mov byte[radiusBuffer.data+ecx], bl |
907 | inc ecx |
903 | inc ecx |
908 | inc eax |
904 | inc eax |
909 | cmp eax, edx ;åñëè ôàéë çàêîí÷èëñÿ, òî âûõîä |
905 | cmp eax, edx ;åñëè ôàéë çàêîí÷èëñß, òî âûõîä |
910 | ja .readEnd |
906 | ja .readEnd |
911 | cmp byte[eax], 10 |
907 | cmp byte[eax], 10 |
912 | je .readEnd |
908 | je .readEnd |
913 | cmp byte[eax], 0 |
909 | cmp byte[eax], 0 |
914 | je .readEnd |
910 | je .readEnd |
Line 935... | Line 931... | ||
935 | ret |
931 | ret |
Line 936... | Line 932... | ||
936 | 932 | ||
937 | 933 | ||
938 | readOptSize: |
934 | readOptSize: |
939 | ;ïðîïóñêàåì ïåðåíîñû ñòðîê â íà÷àëå |
935 | ;ïðîïóñêàåì ïåðåíîñû ñòðîê â íà÷àëå |
940 | cmp eax, edx ;åñëè ôàéë çàêîí÷èëñÿ, òî |
936 | cmp eax, edx ;åñëè ôàéë çàêîí÷èëñß, òî |
941 | ja .default ;íàñòðîéêè ïî óìîë÷àíèþ |
937 | ja .default ;íàñòðîéêè ïî óìîë÷àíèþ |
942 | cmp byte[eax], 10 |
938 | cmp byte[eax], 10 |
943 | je @f |
939 | je @f |
944 | cmp byte[eax], 0 |
940 | cmp byte[eax], 0 |
945 | je @f |
941 | je @f |
Line 946... | Line 942... | ||
946 | cmp byte[eax], 13 |
942 | cmp byte[eax], 13 |
947 | je @f |
943 | je @f |
948 | 944 | ||
949 | ;ïðîâåðÿåì, ÷òî ýòî äîïóñòèìîå çíà÷åíèå: 1-7, a, s |
945 | ;ïðîâåðßåì, ÷òî ýòî äîïóñòèìîå çíà÷åíèå: 1-7, a, s |
950 | cmp byte[eax], 'a' |
946 | cmp byte[eax], 'a' |
951 | je .setValue |
- | |
952 | cmp byte[eax], 's' |
- | |
953 | je .setValue |
947 | je .setValue |
954 | cmp byte[eax], 'x' |
948 | cmp byte[eax], 's' |
955 | je .setValue |
949 | je .setValue |
956 | cmp byte[eax], '0' |
950 | cmp byte[eax], '0' |
957 | je .setValue |
951 | je .setValue |
Line 1043... | Line 1037... | ||
1043 | selfPID dd 0 |
1037 | selfPID dd 0 |
1044 | buf db 1024 dup(0) |
1038 | buf db 1024 dup(0) |
1045 | copyKill: |
1039 | copyKill: |
1046 | push eax ebx ecx esi edi |
1040 | push eax ebx ecx esi edi |
Line 1047... | Line 1041... | ||
1047 | 1041 | ||
1048 | ;ñïåðâà ïðî÷ò¸ì ñâîþ èíôîðìàöèþ |
1042 | ;ñïåðâà ïðî÷òÞì ñâîþ èíôîðìàöèþ |
1049 | mcall 9, buf, -1 |
1043 | mcall 9, buf, -1 |
1050 | mov eax, dword[buf+30] |
1044 | mov eax, dword[buf+30] |
Line 1051... | Line 1045... | ||
1051 | mov dword[selfPID], eax |
1045 | mov dword[selfPID], eax |
1052 | 1046 | ||
1053 | ;óêàçàòåëè, êîòîðûå íèêîãäà íå ìåíÿþòñÿ: |
1047 | ;óêàçàòåëè, êîòîðûå íèêîãäà íå ìåíßþòñß: |
1054 | mov esi, selfName ;ïåðâàÿ ñòðîêà - èìÿ òåêóùåãî ïðèëîæåíèÿ |
1048 | mov esi, selfName ;ïåðâàß ñòðîêà - èìß òåêóùåãî ïðèëîæåíèß |
Line 1055... | Line 1049... | ||
1055 | mov edi, buf ;âòîðàÿ ñòðîêà - èìÿ òåêóùåãî ñëîòà |
1049 | mov edi, buf ;âòîðàß ñòðîêà - èìß òåêóùåãî ñëîòà |
1056 | add edi, 10 |
1050 | add edi, 10 |
1057 | 1051 | ||
Line 1082... | Line 1076... | ||
1082 | ret |
1076 | ret |
1083 | @@: |
1077 | @@: |
1084 | pop edi esi ecx ebx eax |
1078 | pop edi esi ecx ebx eax |
1085 | ret |
1079 | ret |
Line 1086... | Line -... | ||
1086 | - | ||
1087 | - | ||
1088 | - | ||
1089 | - | ||
1090 | reg: dw 0 |
- | |
1091 | shlRegForSizeElems: |
- | |
1092 | push eax edx |
- | |
1093 | xor eax, eax |
- | |
1094 | xor edx, edx |
- | |
1095 | mov ax, word[reg] |
- | |
1096 | mov dl, byte[mysize] |
- | |
1097 | @@: |
- | |
1098 | cmp dl, 0 |
- | |
1099 | je @f |
- | |
1100 | shl ax, 1 |
- | |
1101 | dec dl |
- | |
1102 | jmp @b |
- | |
1103 | @@: |
- | |
1104 | mov word[reg], ax |
- | |
1105 | pop edx eax |
- | |
1106 | ret |
- | |
1107 | 1080 | ||
1108 | WindowsWidth = 450 |
1081 | WindowsWidth = 550 |
1109 | WindowsHeight = 195 + 35 - 5 |
1082 | WindowsHeight = 235 |
1110 | coord: ;êîîðäèíàòû îêíà ïðèëîæåíèÿ |
1083 | coord: ;êîîðäèíàòû îêíà ïðèëîæåíèß |
1111 | .y dw 0 |
1084 | .y dw 0 |
Line 1112... | Line -... | ||
1112 | .x dw 0 |
- | |
1113 | - | ||
1114 | - | ||
1115 | - | ||
1116 | - | ||
1117 | - | ||
1118 | BaseY = 36 ;ñìåùåíèå äî ïåðâîãî, ñàìîãî âåðõíåãî, ýëåìåíòà âíóòðè îêíà |
- | |
1119 | - | ||
1120 | elem: |
- | |
1121 | .winWidth: dw 450 |
- | |
1122 | .winHeight: dw 225 |
- | |
1123 | .butAppleWidth: dw 80 |
- | |
1124 | .butAppleHeight: dw 20 |
- | |
1125 | .textDelta: dw 3 ;îòñòóï ìåæäó ñòðîêàìè ìíîãîñòðî÷íîãî òåêñòà |
- | |
1126 | .butDialWidth: dw 30 ;âûñîòà è øèðèíà äëÿ 4 êíîïîê äèàëîãîâîãî îêíà |
- | |
1127 | .butDialHeight: dw 14 |
- | |
1128 | .textHeight: dw 9 ;ðàçìåð âûñîòà øðèôòà |
- | |
1129 | ;.editHeight: dw |
- | |
1130 | .editCommandWidth: dw 150 ;180-butDialWidth |
- | |
1131 | .butModeWidth: dw 221 |
- | |
1132 | ;.textCommandUpY: dw 74 |
- | |
1133 | .butModeY: dw 160 |
- | |
1134 | ;.editRadiusWidth: dw 40 |
- | |
1135 | elemEnd: |
- | |
1136 | - | ||
1137 | - | ||
1138 | ;âûñòàâëÿåì âñå çíà÷åíèÿ ïî óìîë÷àíèþ |
- | |
1139 | defaultElems: |
- | |
1140 | mov word[elem.winWidth], 450 |
- | |
1141 | mov word[elem.winHeight], 225 |
- | |
1142 | mov word[elem.butAppleWidth], 80 |
- | |
1143 | mov word[elem.butAppleHeight], 20 |
- | |
1144 | mov word[elem.textDelta], 3 |
- | |
1145 | mov word[elem.butDialWidth], 30 |
- | |
1146 | mov word[elem.butDialHeight], 14 |
- | |
1147 | mov word[elem.textHeight], 9 |
- | |
1148 | mov word[elem.editCommandWidth], 150 |
- | |
1149 | mov word[elem.butModeWidth], 221 |
- | |
1150 | mov word[elem.butModeY], 160 |
- | |
1151 | ;mov word[elem.editRadiusWidth], 40 |
- | |
1152 | ret |
- | |
1153 | - | ||
1154 | ;ïðîõîäèì ïî âñåì ýëåìåíòàì è ïåðåâû÷èñëÿåì ïàðàìåòðû (ôóíêöèÿ âûïîëíÿåòñÿ 1 ðàç ïðè çàãðóçêå êîíôèãóðàöèè) |
- | |
1155 | resizeElems: |
- | |
1156 | push ebx esi |
- | |
1157 | xor ebx, ebx |
- | |
1158 | mov esi, elem |
- | |
1159 | @@: |
- | |
1160 | cmp esi, elemEnd |
- | |
1161 | jae @f |
- | |
1162 | - | ||
1163 | mov bx, word[esi] |
- | |
1164 | mov word[reg], bx |
- | |
1165 | call shlRegForSizeElems |
- | |
1166 | mov bx, word[reg] |
- | |
1167 | mov word[esi], bx |
- | |
1168 | add esi, 2 |
- | |
1169 | jmp @b |
- | |
1170 | @@: |
- | |
1171 | pop esi ebx |
- | |
1172 | ret |
- | |
1173 | - | ||
1174 | - | ||
1175 | - | ||
1176 | - | ||
1177 | - | ||
1178 | - | ||
1179 | 1085 | .x dw 0 |
|
1180 | 1086 | ||
1181 | draw_window: |
- | |
1182 | ;óäàëÿåì êíîïêó, åñëè åñòü |
- | |
Line 1183... | Line -... | ||
1183 | mov edx, 0x80000002 |
- | |
1184 | mcall 8 |
- | |
1185 | - | ||
1186 | ;óäàëÿåì åù¸ 4 êíîïêè åñëè îíè åñòü |
- | |
1187 | mov edx, 0x80000004 |
- | |
1188 | mcall 8 |
- | |
1189 | mov edx, 0x80000005 |
- | |
1190 | mcall 8 |
- | |
1191 | mov edx, 0x80000006 |
- | |
1192 | mcall 8 |
- | |
1193 | mov edx, 0x80000007 |
- | |
1194 | mcall 8 |
- | |
1195 | - | ||
1196 | mov eax, 12 ; function 12: tell os about windowdraw |
- | |
1197 | mov ebx, 1 ; 1, start of draw |
- | |
1198 | mcall |
- | |
1199 | - | ||
1200 | cmp byte[sizeStyle], 'x' |
- | |
1201 | je draw_window_x |
- | |
1202 | jmp draw_window_old |
- | |
1203 | - | ||
1204 | draw_window_x: |
- | |
1205 | mov word[elem.winWidth], 450+150 |
- | |
1206 | mov word[elem.winHeight], 225+220/2 |
- | |
1207 | mov word[elem.butAppleWidth], 80+80/3 |
- | |
1208 | mov word[elem.butAppleHeight], 20+20/3 |
- | |
1209 | mov word[elem.textDelta], 3 |
- | |
1210 | mov word[elem.butDialWidth], 30+10 |
- | |
1211 | mov word[elem.butDialHeight], 14+7 |
- | |
1212 | mov word[elem.textHeight], 9*2 |
- | |
1213 | mov word[elem.editCommandWidth], 150+50 |
- | |
1214 | mov word[elem.butModeWidth], 221 |
- | |
1215 | mov word[elem.butModeY], 160+90 |
1087 | draw_window: |
1216 | 1088 | mcall 12, 1 ; Start window redraw |
|
1217 | draw_window_old: |
1089 | |
1218 | ;îòîáðàçèì îêíî ïî öåíòðó ýêðàíà äëÿ ýòîãî: |
1090 | ;îòîáðàçèì îêíî ïî öåíòðó ýêðàíà äëß ýòîãî: |
1219 | mcall 14 ;ïîëó÷èì ðàçìåðû ýêðàíà |
1091 | mcall 14 ;ïîëó÷èì ðàçìåðû ýêðàíà |
Line 1220... | Line 1092... | ||
1220 | mov dword[coord], eax ;ïîëîæèì ðàçìåðû ýêðàíà â êîîðäèíàòû |
1092 | mov dword[coord], eax ;ïîëîæèì ðàçìåðû ýêðàíà â êîîðäèíàòû |
1221 | shr word[coord.x], 1 ;âåðíåå ïîëîæèì èõ ïîëîâèíó |
- | |
1222 | shr word[coord.y], 1 |
- | |
1223 | 1093 | shr word[coord.x], 1 ;âåðíåå ïîëîæèì èõ ïîëîâèíó |
|
1224 | ;âû÷èñëÿåì êîîðäèíàòû îêíà, ÷òîáû îêíî áûëî ïî ñåðåäèíå ýêðàíà |
- | |
1225 | mov bx, word[elem.winWidth] ;îòíèìàåì îò ñåðåäèíû ýêðàíà ïîëîâèíó ðàçìåðà îêíà |
- | |
1226 | shr bx, 1 |
- | |
1227 | sub word[coord.x], bx |
1094 | shr word[coord.y], 1 |
Line 1228... | Line 1095... | ||
1228 | 1095 | ||
1229 | mov bx, word[elem.winHeight] |
1096 | ;âû÷èñëßåì êîîðäèíàòû îêíà, ÷òîáû îêíî áûëî ïî ñåðåäèíå ýêðàíà |
1230 | shr bx, 1 |
1097 | sub word[coord.x], WindowsWidth/2 |
1231 | sub word[coord.y], bx |
1098 | sub word[coord.y], WindowsHeight/2 |
1232 | 1099 | ||
Line 1233... | Line 1100... | ||
1233 | mov eax, 0 ; function 0 : define and draw window |
1100 | mov eax, 0 ; function 0 : define and draw window |
1234 | mov ebx, 0 ; [x start] *65536 + [x size] |
1101 | mov ebx, 0 ; [x start] *65536 + [x size] |
1235 | mov bx, word[coord.x] |
1102 | mov bx, word[coord.x] |
1236 | shl ebx, 16 |
1103 | shl ebx, 16 |
Line 1237... | Line 1104... | ||
1237 | mov bx, word[elem.winWidth] |
1104 | mov bx, WindowsWidth |
1238 | 1105 | ||
1239 | mov ecx, 0 |
1106 | mov ecx, 0 |
1240 | mov cx, word[coord.y] ; [y start] *65536 + [y size] |
1107 | mov cx, word[coord.y] ; [y start] *65536 + [y size] |
1241 | shl ecx, 16 |
1108 | shl ecx, 16 |
1242 | mov cx, word[elem.winHeight] |
1109 | mov cx, WindowsHeight |
Line 1243... | Line -... | ||
1243 | - | ||
1244 | mov edx, 0x14ffffff ; color of work area RRGGBB |
- | |
1245 | ; 0x02000000 = window type 4 (fixed size, skinned window) |
- | |
1246 | mov esi, 0x808899ff ; color of grab bar RRGGBB |
- | |
1247 | ; 0x80000000 = color glide |
- | |
1248 | mov edi, title |
- | |
1249 | mcall |
- | |
1250 | - | ||
1251 | - | ||
1252 | ;ðàçìåðû è êîîðäèíàòû |
- | |
1253 | ;push eax |
- | |
1254 | xor eax, eax ;mov eax, 0 |
- | |
1255 | mov ax, word[elem.editCommandWidth] |
- | |
1256 | mov dword[editLU.width], eax |
- | |
1257 | mov dword[editLD.width], eax |
- | |
1258 | mov dword[editRU.width], eax |
- | |
1259 | mov dword[editRD.width], eax |
- | |
1260 | - | ||
1261 | ;mov ax, word[elem.editRadiusWidth] |
- | |
1262 | mov ax, word[elem.winWidth] |
- | |
1263 | sub ax, word[elem.butModeWidth] |
- | |
1264 | sub ax, Otstup |
- | |
1265 | sub ax, word[elem.butAppleHeight] ;Otstup |
- | |
1266 | shr ax, 1 |
- | |
1267 | sub ax, Otstup |
- | |
1268 | mov dword[editRadius.width], eax |
- | |
1269 | - | ||
1270 | ;mov ax, word[elem.butDialHeight] |
- | |
1271 | xor ecx, ecx |
- | |
1272 | call setNewSizeForText |
- | |
1273 | mov dword[editLU.text_color], ecx ;0x90000000 ;eax |
- | |
1274 | mov dword[editLD.text_color], ecx |
- | |
1275 | mov dword[editRU.text_color], ecx |
- | |
1276 | mov dword[editRD.text_color], ecx |
- | |
1277 | mov dword[editRadius.text_color], ecx |
- | |
1278 | - | ||
1279 | ;mov ecx, dword[editRadius.height] |
- | |
1280 | ;mov word[elem.butDialHeight], cx |
- | |
1281 | - | ||
1282 | ;mov eax, 0 |
- | |
1283 | mov ax, word[elem.winWidth] |
- | |
1284 | sub ax, Otstup |
- | |
1285 | sub ax, word[elem.butDialWidth] |
- | |
1286 | sub ax, word[elem.editCommandWidth] |
- | |
1287 | mov dword[editRU.left], eax |
- | |
1288 | mov dword[editRD.left], eax |
- | |
1289 | - | ||
1290 | mov ax, Otstup |
- | |
1291 | add ax, word[elem.butDialWidth] |
- | |
1292 | mov dword[editLU.left], eax |
- | |
1293 | mov dword[editLD.left], eax |
- | |
1294 | - | ||
1295 | mov ax, word[elem.textHeight] |
- | |
1296 | add ax, word[elem.textDelta] |
- | |
1297 | shl ax, 2 |
- | |
1298 | add ax, BaseY+2 |
- | |
1299 | mov dword[editLU.top], eax |
- | |
1300 | mov dword[editRU.top], eax |
- | |
1301 | - | ||
1302 | add ax, 4 |
- | |
1303 | ;mov ax, word[elem.textHeight] |
- | |
1304 | ;add ax, word[elem.textDelta] |
- | |
1305 | ;shl ax, 2 |
- | |
1306 | sub ax, word[elem.textHeight] |
- | |
1307 | ;add ax, BaseY |
- | |
1308 | add ax, word[elem.textHeight] |
- | |
1309 | ;add ax, 6 |
- | |
1310 | add ax, word[elem.butDialHeight] |
- | |
1311 | add ax, word[elem.textHeight] |
- | |
1312 | add ax, word[elem.textHeight] |
1110 | |
1313 | mov dword[editLD.top], eax |
1111 | mov edx, 0x14ffffff ; color of work area RRGGBB |
1314 | mov dword[editRD.top], eax |
1112 | ; 0x02000000 = window type 4 (fixed size, skinned window) |
1315 | 1113 | mov esi, 0x808899ff ; color of grab bar RRGGBB |
|
Line 1316... | Line -... | ||
1316 | ;pop eax |
- | |
1317 | ;mcall 48,3,sc,40 |
- | |
1318 | ;edit_boxes_set_sys_color editRadius, sc ;editLU, editLD, editRU, editRD, editRadius, sc |
- | |
1319 | - | ||
1320 | invoke edit_box_draw, editLU ;ðèñîâàíèå edit box'îâ |
- | |
1321 | invoke edit_box_draw, editLD |
- | |
1322 | invoke edit_box_draw, editRU |
- | |
1323 | invoke edit_box_draw, editRD |
- | |
1324 | - | ||
1325 | ;ðèñóåì êíîïêó |
- | |
1326 | mov bx, word[elem.winWidth] ;êîîðäèíàòà X êíîïêè |
- | |
1327 | sub bx, word[elem.butAppleWidth] |
- | |
1328 | sub bx, Otstup |
- | |
1329 | shl ebx, 16 |
- | |
1330 | add bx, word[elem.butAppleWidth] ;øèðèíà êíîïêè |
- | |
1331 | - | ||
1332 | mov cx, word[elem.winHeight] ;êîîðäèíàòà Y |
1114 | ; 0x80000000 = color glide |
1333 | sub cx, word[elem.butAppleHeight] |
- | |
1334 | sub cx, 15 |
- | |
1335 | shl ecx, 16 |
- | |
1336 | add cx, word[elem.butAppleHeight] ;âûñîòà êíîïêè |
- | |
1337 | - | ||
1338 | mov edx, 0x00000002 ;íîìåð êíîïêè |
- | |
1339 | mov esi, 0x00AABBCC ;öâåò êíîïêè |
- | |
1340 | mcall 8 |
1115 | mov edi, title |
1341 | ;ðèñóåì òåêñò êíîïêè |
- | |
1342 | mov bx, word[elem.winWidth] ;êîîðäèíàòà X òåêñòà |
- | |
1343 | sub bx, word[elem.butAppleWidth] |
- | |
1344 | sub bx, Otstup |
1116 | mcall |
1345 | add bx, 25 |
- | |
1346 | sub bx, buttonTextXoffset ;!!!use size |
- | |
1347 | shl ebx, 16 |
1117 | |
1348 | add bx, word[elem.winHeight] ;êîîðäèíàòà Y òåêñòà |
- | |
Line 1349... | Line 1118... | ||
1349 | sub bx, word[elem.butAppleHeight] |
1118 | invoke edit_box_draw, editLU ;ðèñîâàíèå edit box'îâ |
1350 | sub bx, 15 |
1119 | invoke edit_box_draw, editLD |
1351 | add bx, 6 ;!!!use size |
- | |
1352 | 1120 | invoke edit_box_draw, editRU |
|
1353 | mov ecx, 0xFFFFFF ;áåëûé öâåò òåêñòà |
- | |
1354 | call setNewSizeForText |
- | |
- | 1121 | invoke edit_box_draw, editRD |
|
1355 | mov edx, buttonText |
1122 | |
1356 | mov esi, buttonTextSize ;ðàçìåð òåêñòà â ñèìâîëàõ |
- | |
1357 | mcall 4 |
- | |
1358 | 1123 | ;ðèñóåì êíîïêó è åå òåêñò |
|
1359 | ;ðèñóåì åù¸ 4 êíîïêè äëÿ äèàëîãîâîãî îêíà âûáîðà ôàéëà |
- | |
1360 | ;íîìåðà 4,5,6 è 7 |
- | |
1361 | buttonH = 14 |
- | |
1362 | buttonW = 30 |
- | |
1363 | - | ||
1364 | - | ||
1365 | ;ëåâûé âåðõíèé óãîë |
- | |
1366 | mov ebx, Otstup ;êîîðäèíàòà X |
- | |
1367 | shl ebx, 16 |
- | |
1368 | add bx, word[elem.butDialWidth] ;øèðèíà êíîïêè |
- | |
1369 | - | ||
1370 | ;mov ecx, 85 ;êîîðäèíàòà Y 36+3*9+2*3+ 5 +9+2 |
- | |
1371 | ;BaseY+4*(word[elem.textHeight]+word[elem.textDelta])+2 |
- | |
1372 | mov cx, word[elem.textHeight] |
- | |
1373 | add cx, word[elem.textDelta] |
1124 | buttonAppleY = WindowsHeight-40 |
1374 | shl cx, 2 |
1125 | mcall 8, |
1375 | add cx, BaseY+2 |
- | |
1376 | shl ecx, 16 |
- | |
1377 | add cx, word[elem.butDialHeight] ;âûñîòà êíîïêè |
- | |
1378 | - | ||
1379 | mov edx, 0x00000004 ;íîìåð êíîïêè |
- | |
1380 | mov esi, 0x00AABBCC ;öâåò êíîïêè |
- | |
1381 | mcall 8 |
- | |
1382 | - | ||
1383 | ;ëåâûé íèæíèé óãîë |
- | |
1384 | mov ebx, Otstup ;êîîðäèíàòà X |
- | |
1385 | shl ebx, 16 |
- | |
1386 | add bx, word[elem.butDialWidth] ;øèðèíà êíîïêè |
- | |
1387 | ;mov ecx, 120 ;êîîðäèíàòà Y |
- | |
1388 | mov cx, word[elem.textHeight] |
- | |
1389 | add cx, word[elem.textDelta] |
- | |
1390 | shl cx, 2 |
- | |
1391 | sub cx, word[elem.textHeight] |
- | |
1392 | add cx, BaseY |
- | |
1393 | add cx, word[elem.textHeight] |
- | |
1394 | add cx, 6 |
- | |
1395 | add cx, word[elem.butDialHeight] |
- | |
1396 | add cx, word[elem.textHeight] |
1126 | mcall 4, |
1397 | add cx, word[elem.textHeight] |
1127 | |
1398 | - | ||
1399 | shl ecx, 16 |
- | |
1400 | add cx, word[elem.butDialHeight] ;âûñîòà êíîïêè |
- | |
1401 | - | ||
1402 | mov edx, 0x00000005 ;íîìåð êíîïêè |
- | |
1403 | mov esi, 0x00AABBCC ;öâåò êíîïêè |
- | |
1404 | mcall 8 |
- | |
1405 | - | ||
1406 | ;ïðàâûé âåðõíèé óãîë |
- | |
1407 | ;mov ebx, (WindowsWidth-Otstup-buttonW)*65536 + buttonW ;êîîðäèíàòà X, øèðèíà êíîïêè |
- | |
1408 | mov bx, word[elem.winWidth] ;êîîðäèíàòà X |
- | |
1409 | sub bx, Otstup |
- | |
1410 | sub bx, word[elem.butDialWidth] |
- | |
1411 | - | ||
1412 | shl ebx, 16 |
- | |
1413 | add bx, word[elem.butDialWidth] ;øèðèíà êíîïêè |
- | |
1414 | - | ||
1415 | ;mov ecx, 85 ;êîîðäèíàòà Y 36+3*9+2*3+ 5 +9+2 |
- | |
1416 | ;BaseY+4*(word[elem.textHeight]+word[elem.textDelta])+2 |
- | |
1417 | mov cx, word[elem.textHeight] |
- | |
1418 | add cx, word[elem.textDelta] |
- | |
1419 | shl cx, 2 |
- | |
1420 | add cx, BaseY+2 |
- | |
1421 | shl ecx, 16 |
1128 | ;ðèñóåì åùÞ 4 êíîïêè äëß äèàëîãîâîãî îêíà âûáîðà ôàéëà |
1422 | add cx, word[elem.butDialHeight] ;âûñîòà êíîïêè |
- | |
1423 | - | ||
1424 | mov edx, 0x00000006 ;íîìåð êíîïêè |
- | |
1425 | mov esi, 0x00AABBCC ;öâåò êíîïêè |
- | |
1426 | mcall 8 |
- | |
1427 | - | ||
1428 | 1129 | ;íîìåðà 4,5,6 è 7 |
|
1429 | - | ||
1430 | - | ||
1431 | ;ïðàâûé íèæíèé óãîë |
- | |
1432 | mov bx, word[elem.winWidth] ;êîîðäèíàòà X |
- | |
1433 | sub bx, Otstup |
- | |
1434 | sub bx, word[elem.butDialWidth] |
- | |
1435 | shl ebx, 16 |
- | |
1436 | add bx, word[elem.butDialWidth] ;øèðèíà êíîïêè |
- | |
1437 | - | ||
1438 | mov cx, word[elem.textHeight] ;êîîðäèíàòà Y |
- | |
1439 | add cx, word[elem.textDelta] |
- | |
1440 | shl cx, 2 |
- | |
1441 | sub cx, word[elem.textHeight] |
- | |
1442 | add cx, BaseY |
- | |
1443 | add cx, word[elem.textHeight] |
- | |
Line 1444... | Line 1130... | ||
1444 | add cx, 6 |
1130 | buttonW = 30 |
1445 | add cx, word[elem.butDialHeight] |
1131 | buttonH = 21 |
1446 | add cx, word[elem.textHeight] |
- | |
1447 | add cx, word[elem.textHeight] |
1132 | ;ëåâûé âåðõíèé óãîë |
1448 | shl ecx, 16 |
1133 | mcall 8, |
1449 | add cx, word[elem.butDialHeight] ;âûñîòà êíîïêè |
1134 | ;ëåâûé íèæíèé óãîë |
1450 | 1135 | mcall 8, |
|
1451 | mov edx, 0x00000007 ;íîìåð êíîïêè |
1136 | ;ïðàâûé âåðõíèé óãîë |
1452 | mov esi, 0x00AABBCC ;öâåò êíîïêè |
1137 | mcall 8, |
1453 | mcall 8 |
- | |
1454 | - | ||
1455 | ;ðèñóåì òåêñòû äëÿ ýòèõ 4 êíîïîê |
- | |
1456 | mov ecx, 0xFFFFFF ;áåëûé öâåò òåêñòà |
- | |
1457 | call setNewSizeForText |
- | |
1458 | mov edx, commonButtonText ;ñòðîêà òåêñòà |
- | |
1459 | mov esi, commonButtonTextSize ;ðàçìåð òåêñòà â ñèìâîëàõ |
- | |
1460 | ;êîîðäèíàòû òåêñòà (x, y) |
- | |
1461 | deltaCommonTextX = 7 |
- | |
1462 | deltaCommonTextY = 2 |
- | |
1463 | ;mov ebx, (Otstup+deltaCommonTextX) * 65536 + (85 + deltaCommonTextY) |
- | |
1464 | mov ebx, Otstup+deltaCommonTextX |
1138 | ;ïðàâûé íèæíèé óãîë |
1465 | shl ebx, 16 |
- | |
1466 | mov bx, word[elem.textHeight] |
- | |
1467 | add bx, word[elem.textDelta] |
- | |
1468 | shl bx, 2 |
- | |
1469 | add bx, BaseY+2 |
- | |
1470 | add bx, deltaCommonTextY |
- | |
1471 | - | ||
1472 | mcall 4 |
- | |
1473 | - | ||
1474 | ; |
- | |
1475 | ;mov ebx, (Otstup+deltaCommonTextX) * 65536 + (120 + deltaCommonTextY) |
- | |
1476 | mov ebx, Otstup+deltaCommonTextX |
- | |
1477 | shl ebx, 16 |
- | |
1478 | mov bx, word[elem.textHeight] ;êîîðäèíàòà Y |
- | |
1479 | add bx, word[elem.textDelta] |
- | |
1480 | shl bx, 2 |
- | |
1481 | sub bx, word[elem.textHeight] |
- | |
1482 | add bx, BaseY |
1139 | mcall 8, |
1483 | add bx, word[elem.textHeight] |
- | |
1484 | add bx, 6 |
- | |
1485 | add bx, word[elem.butDialHeight] |
- | |
1486 | add bx, word[elem.textHeight] |
- | |
1487 | add bx, word[elem.textHeight] |
- | |
1488 | add bx, deltaCommonTextY |
- | |
1489 | - | ||
1490 | mcall 4 |
- | |
1491 | - | ||
1492 | - | ||
1493 | ;mov ebx, (WindowsWidth-Otstup-buttonW+deltaCommonTextX) * 65536 + (85 + deltaCommonTextY) |
- | |
1494 | mov bx, word[elem.winWidth] ;êîîðäèíàòà X |
- | |
1495 | sub bx, Otstup |
- | |
1496 | sub bx, word[elem.butDialWidth] |
1140 | |
1497 | add bx, deltaCommonTextX |
- | |
1498 | shl ebx, 16 |
- | |
1499 | mov bx, word[elem.textHeight] |
- | |
1500 | add bx, word[elem.textDelta] |
- | |
1501 | shl bx, 2 |
- | |
1502 | add bx, BaseY+2 |
- | |
1503 | add bx, deltaCommonTextY |
- | |
1504 | - | ||
1505 | mcall 4 |
- | |
1506 | - | ||
1507 | ;mov ebx, (WindowsWidth-Otstup-buttonW+deltaCommonTextX) * 65536 + (120 + deltaCommonTextY) |
- | |
1508 | mov bx, word[elem.winWidth] ;êîîðäèíàòà X |
- | |
1509 | sub bx, Otstup |
- | |
1510 | sub bx, word[elem.butDialWidth] |
- | |
1511 | add bx, deltaCommonTextX |
- | |
1512 | shl ebx, 16 |
- | |
1513 | mov bx, word[elem.textHeight] ;êîîðäèíàòà Y |
- | |
1514 | add bx, word[elem.textDelta] |
- | |
Line 1515... | Line 1141... | ||
1515 | shl bx, 2 |
1141 | ;ðèñóåì òåêñòû äëß ýòèõ 4 êíîïîê |
1516 | sub bx, word[elem.textHeight] |
1142 | mov ecx, 0xFFFFFF ;áåëûé öâåò òåêñòà |
1517 | add bx, BaseY |
1143 | mov edx, commonButtonText ;ñòðîêà òåêñòà |
1518 | add bx, word[elem.textHeight] |
1144 | mov esi, commonButtonTextSize ;ðàçìåð òåêñòà â ñèìâîëàõ |
1519 | add bx, 6 |
1145 | ;êîîðäèíàòû òåêñòà (x, y) |
1520 | add bx, word[elem.butDialHeight] |
1146 | deltaCommonTextX = 7 |
1521 | add bx, word[elem.textHeight] |
1147 | deltaCommonTextY = 6 |
1522 | add bx, word[elem.textHeight] |
1148 | mcall 4, |
1523 | add bx, deltaCommonTextY |
1149 | mcall 4, |
1524 | 1150 | mcall 4, |
|
1525 | mcall 4 |
- | |
1526 | - | ||
1527 | ;delete mode button, if it exist |
- | |
1528 | mov edx, 0x80000008 |
- | |
1529 | mcall 8 |
- | |
1530 | ;draw button Mode |
1151 | mcall 4, |
1531 | buttonModeX = 30 |
- | |
1532 | buttonModeY = 160 |
- | |
1533 | buttonModeWidth = 221 |
- | |
1534 | buttonModeHeight = 14 |
- | |
1535 | buttonModeTextYoffset = 3 |
- | |
1536 | buttonModeTextXoffset = 5 |
- | |
1537 | ;mov ebx, buttonModeX*65536 + buttonModeWidth ;X + Width |
- | |
1538 | mov ebx, Otstup |
1152 | |
1539 | shl ebx, 16 |
- | |
1540 | add bx, word[elem.butModeWidth] |
- | |
1541 | - | ||
1542 | mov cx, word[elem.butModeY] ;buttonModeY;*65536 + buttonModeHeight ;Y + Height |
- | |
1543 | shl ecx, 16 |
- | |
1544 | mov cx, word[elem.butDialHeight] |
- | |
1545 | - | ||
1546 | mov edx, 0x00000008 ;button id |
- | |
1547 | mov esi, 0x00FFFFFF ;color button |
- | |
1548 | mcall 8 |
- | |
1549 | - | ||
1550 | ;mov ebx, (buttonModeX+2+buttonModeWidth-20)*65536 + (20-2) ;X + Width |
- | |
1551 | mov ebx, Otstup+2 |
- | |
1552 | add bx, word[elem.butModeWidth] |
- | |
1553 | sub bx, 20 |
- | |
1554 | shl ebx, 16 |
1153 | ;delete mode button, if it exist |
1555 | add bx, 20-2 |
1154 | mov edx, 0x80000008 |
1556 | - | ||
1557 | ; mov ecx, (buttonModeY+1)*65536 + buttonModeHeight-2 ;Y + Height |
- | |
1558 | mov cx, word[elem.butModeY] |
1155 | mcall 8 |
1559 | inc ecx |
- | |
1560 | shl ecx, 16 |
- | |
1561 | mov cx, word[elem.butDialHeight] |
1156 | ;draw button Mode |
1562 | sub cx, 2 |
1157 | buttonModeX = 30 ;433 |
1563 | - | ||
1564 | mov edx, 0xAABBCC |
- | |
1565 | mcall 13 |
- | |
1566 | ;draw text for button Mode |
- | |
1567 | mov ebx, (Otstup+buttonModeTextXoffset) * 65536 ;(x, y) |
1158 | buttonModeY = 160 ;50 |
1568 | mov bx, word[elem.butModeY] |
- | |
1569 | add bx, buttonModeTextYoffset |
- | |
1570 | mov ecx, 0x000000 |
- | |
1571 | call setNewSizeForText |
- | |
1572 | and ecx, 0x7FFFFFFF |
- | |
1573 | call setTextModeMenu |
1159 | buttonModeWidth = 300 |
1574 | mov esi, valueModeMenuSize |
- | |
1575 | cmp byte[sizeStyle], 'x' |
1160 | buttonModeHeight = 20 |
1576 | jne @f |
- | |
1577 | mov esi, 25 ;valueModeMenuSize -3 ;ðåæèì æåñòà ïî êëàâèøå àê |
- | |
1578 | @@: |
- | |
1579 | mcall 4 |
- | |
1580 | 1161 | buttonModeTextYoffset = 3 |
|
1581 | mov ebx, (Otstup-12) |
- | |
1582 | add bx, word[elem.butModeWidth] |
1162 | buttonModeTextXoffset = 5 |
Line 1583... | Line 1163... | ||
1583 | shl ebx, 16 |
1163 | mcall 8, |
1584 | mov bx, word[elem.butModeY] |
1164 | mcall 13, |
1585 | add bx, buttonModeTextYoffset |
1165 | ;draw text for button Mode |
1586 | 1166 | mov ebx, (buttonModeX+buttonModeTextXoffset) * 65536 + (buttonModeY+buttonModeTextYoffset) ;(x, y) |
|
1587 | mov ecx, 0x80FFFFFF ;80 |
1167 | mov ecx, 0x10000000 |
1588 | call setNewSizeForText |
1168 | call setTextModeMenu |
1589 | and ecx, 0x7FFFFFFF |
1169 | mov esi, valueModeMenuSize |
1590 | ;or ecx, 0x80000000 |
1170 | mcall 4 |
1591 | 1171 | mov ebx, (buttonModeX+buttonModeWidth-12) * 65536 + (buttonModeY+buttonModeTextYoffset+3) |
|
1592 | mov edx, symbolDownArrow |
1172 | mov ecx, 0x80FFFFFF |
1593 | mov esi, 1 |
- | |
1594 | mcall 4 |
- | |
1595 | - | ||
1596 | ;êíîïêà âûáîðà ãîðÿ÷åé êëàâèøè |
- | |
1597 | buttonHotKeyX = 270 |
- | |
1598 | buttonHotKeyWidth = 90 |
- | |
1599 | mov edx, 0x80000009 ;óäàëÿåì |
- | |
1600 | mcall 8 |
- | |
1601 | cmp byte[mode], 49 ;ðèñóåì âûáîð êëàâèøè, òîëüêî åñëè mode > 1 |
- | |
1602 | jbe @f |
- | |
1603 | ;ðèñóåì íîâóþ |
1173 | mov edx, symbolDownArrow |
1604 | push eax ebx ecx edx esi |
- | |
1605 | ; mov ebx, buttonHotKeyX*65536 + buttonHotKeyWidth ;X + Width |
- | |
1606 | mov ebx, Otstup |
- | |
1607 | add bx, word[elem.butModeWidth] |
- | |
1608 | add bx, word[elem.butAppleHeight] |
1174 | mcall 4 |
1609 | shl ebx, 16 |
1175 | |
1610 | mov bx, word[elem.winWidth] ;buttonHotKeyWidth |
1176 | ;êíîïêà âûáîðà ãîðß÷åé êëàâèøè |
1611 | sub bx, word[elem.butModeWidth] |
1177 | buttonHotKeyX = 350-10 |
1612 | sub bx, Otstup |
1178 | buttonHotKeyWidth = 90 |
1613 | sub bx, word[elem.butAppleHeight] ;Otstup |
1179 | mov edx, 0x80000009 ;óäàëßåì |
1614 | shr bx, 1 |
- | |
1615 | sub bx, Otstup |
- | |
1616 | ; mov ecx, buttonModeY*65536 + buttonModeHeight ;Y + Height |
- | |
1617 | mov cx, word[elem.butModeY] |
- | |
1618 | shl ecx, 16 |
- | |
1619 | mov cx, word[elem.butDialHeight] |
- | |
1620 | - | ||
1621 | mov edx, 0x00000009 ;button id |
- | |
1622 | mov esi, 0x00FFFFFF ;color button |
- | |
1623 | mcall 8 |
- | |
1624 | pop esi edx ecx ebx eax |
- | |
1625 | ;òåêñò ïîäñêàçêè äëÿ ãîðÿ÷åé êëàâèøè |
- | |
1626 | ;mov ebx, (buttonHotKeyX+buttonModeTextXoffset) * 65536 + (buttonModeY+buttonModeTextYoffset) ;(x, y) |
1180 | mcall 8 |
1627 | mov ebx, Otstup |
- | |
1628 | add bx, word[elem.butModeWidth] |
- | |
1629 | add bx, word[elem.butAppleHeight] |
- | |
1630 | add bx, buttonModeTextYoffset |
- | |
1631 | shl ebx, 16 |
1181 | cmp byte[mode], 49 ;ðèñóåì âûáîð êëàâèøè, òîëüêî åñëè mode > 1 |
1632 | mov bx, word[elem.butModeY] |
1182 | jbe @f |
1633 | add bx, buttonModeTextYoffset |
1183 | ;ðèñóåì íîâóþ |
1634 | 1184 | push eax ebx ecx edx esi |
|
1635 | ; xor ecx, ecx |
1185 | mov ebx, buttonHotKeyX*65536 + buttonHotKeyWidth ;X + Width |
1636 | ; mov ch, byte[mysize] |
1186 | mov ecx, buttonModeY*65536 + buttonModeHeight ;Y + Height |
1637 | ; shl ecx, 16 |
- | |
1638 | ; add ecx, 0x80224466 |
- | |
1639 | mov ecx, 0x224466 |
- | |
1640 | call setNewSizeForText |
- | |
1641 | ;and ecx, 0x7FFFFFFF |
- | |
1642 | or ecx, 0x80000000 |
- | |
1643 | - | ||
1644 | call setTextForHotKey |
- | |
1645 | mov esi, valueModeMenuSize |
- | |
1646 | mcall 4 |
- | |
1647 | ;çàãîëîâîê |
- | |
1648 | push eax ebx ecx edx edi esi |
- | |
1649 | ;mov ebx, buttonHotKeyX * 65536 + (buttonModeY-11) |
1187 | mov edx, 0x00000009 ;button id |
1650 | mov ebx, Otstup ;buttonHotKeyX ;Otstup |
- | |
1651 | add bx, word[elem.butModeWidth] |
- | |
1652 | add bx, word[elem.butAppleHeight] |
- | |
1653 | shl ebx, 16 |
- | |
1654 | add bx, word[elem.butModeY] |
1188 | mov esi, 0x00FFFFFF ;color button |
1655 | sub bx, 2 |
1189 | mcall 8 |
1656 | sub bx, word[elem.textHeight] |
1190 | pop esi edx ecx ebx eax |
1657 | 1191 | ;òåêñò ïîäñêàçêè äëß ãîðß÷åé êëàâèøè |
|
1658 | ; xor ecx, ecx |
1192 | mov ebx, (buttonHotKeyX+buttonModeTextXoffset) * 65536 + (buttonModeY+buttonModeTextYoffset) ;(x, y) |
Line 1659... | Line 1193... | ||
1659 | ; mov ch, byte[mysize] |
1193 | mov ecx, 0x90224466 |
1660 | ; shl ecx, 16 |
1194 | call setTextForHotKey |
1661 | ; add ecx, 0x80224466 |
1195 | mov esi, valueModeMenuSize |
1662 | mov ecx, 0x224466 |
1196 | mcall 4 |
1663 | call setNewSizeForText |
1197 | ;çàãîëîâîê |
1664 | ;and ecx, 0x7FFFFFFF |
- | |
1665 | or ecx, 0x80000000 |
- | |
1666 | - | ||
1667 | mov edx, hkCaption |
- | |
1668 | mov esi, 3 |
- | |
1669 | mcall 4 |
1198 | push eax ebx ecx edx edi esi |
1670 | pop esi edi edx ecx ebx eax |
- | |
1671 | @@: |
- | |
1672 | - | ||
1673 | ;îòîáðàæàåì íàñòðîéêó ðàäèóñà äåéñòâèÿ æåñòà, òîëüêî åñëè âûáðàí ðåæèì 3 |
- | |
1674 | cmp byte[mode], 51 |
- | |
1675 | jne @f |
- | |
1676 | ;çàãîëîâîê |
- | |
1677 | push eax ebx ecx edx edi esi |
- | |
1678 | xor ebx, ebx |
- | |
1679 | mov bx, word[elem.winWidth] |
- | |
1680 | sub bx, Otstup |
- | |
1681 | sub ebx, dword[editRadius.width] |
- | |
1682 | shl ebx, 16 |
- | |
1683 | add bx, word[elem.butModeY] |
1199 | mov ebx, buttonHotKeyX * 65536 + (buttonModeY-11) |
1684 | sub bx, 2 |
1200 | mov ecx, 0x80224466 |
1685 | sub bx, word[elem.textHeight] |
1201 | mov edx, hkCaption |
1686 | 1202 | mov esi, 3 |
|
1687 | ; mov ecx, 0 |
1203 | mcall 4 |
1688 | ; mov ch, byte[mysize] |
- | |
1689 | ; shl ecx, 16 |
- | |
1690 | ; add ecx, 0x80224466 |
- | |
1691 | - | ||
1692 | mov ecx, 0x224466 |
- | |
1693 | call setNewSizeForText |
- | |
1694 | ;and ecx, 0x7FFFFFFF |
- | |
1695 | or ecx, 0x80000000 |
- | |
1696 | - | ||
1697 | ;mov ecx, 0x80224466 |
- | |
1698 | mov edx, radiusCaption |
1204 | pop esi edi edx ecx ebx eax |
1699 | mov esi, 3 |
1205 | @@: |
Line 1700... | Line 1206... | ||
1700 | mcall 4 |
1206 | |
Line 1701... | Line 1207... | ||
1701 | pop esi edi edx ecx ebx eax |
1207 | ;îòîáðàæàåì íàñòðîéêó ðàäèóñà äåéñòâèß æåñòà, òîëüêî åñëè âûáðàí ðåæèì 3 |
1702 | 1208 | cmp byte[mode], 51 |
|
Line -... | Line 1209... | ||
- | 1209 | jne @f |
|
- | 1210 | ;çàãîëîâîê |
|
- | 1211 | push eax ebx ecx edx edi esi |
|
1703 | 1212 | mov ebx, (buttonHotKeyX + buttonHotKeyWidth + 20) * 65536 + (buttonModeY-11) |
|
1704 | xor eax, eax |
1213 | mov ecx, 0x80224466 |
1705 | mov ax, word[elem.winWidth] |
1214 | mov edx, radiusCaption |
Line 1706... | Line 1215... | ||
1706 | sub ax, Otstup |
1215 | mov esi, 3 |
1707 | sub eax, dword[editRadius.width] |
1216 | mcall 4 |
1708 | mov dword[editRadius.left], eax |
1217 | pop esi edi edx ecx ebx eax |
Line 1709... | Line 1218... | ||
1709 | mov ax, word[elem.butModeY] |
1218 | invoke edit_box_draw, editRadius |
1710 | mov dword[editRadius.top], eax |
1219 | @@: |
1711 | - | ||
1712 | invoke edit_box_draw, editRadius |
1220 | |
1713 | @@: |
- | |
1714 | 1221 | call draw_super_text |
|
1715 | call draw_super_text |
1222 | |
1716 | 1223 | LineLength = 62 |
|
Line 1717... | Line -... | ||
1717 | LineLength = 62 |
- | |
1718 | mov ebx, 40 * 65536 + BaseY ; draw info text with function 4 (x, y) |
1224 | mov ebx, Otstup * 65536 + 32 ; draw info text with function 4 (x, y) |
1719 | - | ||
1720 | mov ecx, 0x224466 |
- | |
1721 | call setNewSizeForText |
- | |
1722 | and ecx, 0x7FFFFFFF |
- | |
Line 1723... | Line -... | ||
1723 | - | ||
1724 | mov edx, text |
- | |
1725 | mov esi, LineLength |
- | |
1726 | mov eax, 4 |
- | |
1727 | - | ||
1728 | .newline: ; text from the DATA AREA |
- | |
1729 | mcall |
- | |
1730 | add bx, word[elem.textHeight] ;9*n+3 ;12 |
- | |
1731 | add bx, word[elem.textDelta] |
- | |
1732 | - | ||
1733 | add edx, LineLength |
- | |
1734 | cmp byte[edx], 0 |
- | |
1735 | jne .newline |
- | |
1736 | - | ||
1737 | mov eax, 12 ; function 12:tell os about windowdraw |
- | |
1738 | mov ebx, 2 ; 2, end of draw |
1225 | |
Line 1739... | Line 1226... | ||
1739 | mcall |
1226 | ;xor ecx, ecx |
Line 1740... | Line 1227... | ||
1740 | 1227 | ;mov cl, 1 ;byte[mysize] |
|
Line 1822... | Line 1309... | ||
1822 | ;jmp setTextForHotKey.symb |
1309 | ;jmp setTextForHotKey.symb |
1823 | mov edx, hkSymbol |
1310 | mov edx, hkSymbol |
1824 | mov dword[hkSize], 1 |
1311 | mov dword[hkSize], 1 |
1825 | jmp setTextForHotKey.end |
1312 | jmp setTextForHotKey.end |
1826 | @@: |
1313 | @@: |
1827 | mov word[hkSymbol], 0 ;åñëè æå ïîïàëî ÷òî-òî íåèçâåñòíîå, òî ñîòð¸ì åãî |
1314 | mov word[hkSymbol], 0 ;åñëè æå ïîïàëî ÷òî-òî íåèçâåñòíîå, òî ñîòðÞì åãî |
1828 | mov edx, hkHint |
1315 | mov edx, hkHint |
1829 | mov dword[hkSize], 5 ;shift or space - çíà÷åíèå ïî óìîë÷àíèþ |
1316 | mov dword[hkSize], 5 ;shift or space - çíà÷åíèå ïî óìîë÷àíèþ |
1830 | .end: |
1317 | .end: |
1831 | pop eax |
1318 | pop eax |
1832 | ret |
1319 | ret |
Line 1913... | Line 1400... | ||
1913 | check_box_draw, 'check_box_draw2',\ |
1400 | check_box_draw, 'check_box_draw2',\ |
1914 | check_box_mouse, 'check_box_mouse2',\ |
1401 | check_box_mouse, 'check_box_mouse2',\ |
1915 | option_box_draw, 'option_box_draw',\ |
1402 | option_box_draw, 'option_box_draw',\ |
1916 | option_box_mouse, 'option_box_mouse' |
1403 | option_box_mouse, 'option_box_mouse' |
Line 1917... | Line 1404... | ||
1917 | 1404 | ||
1918 | commonButtonText db '...', 0 ;òåêñò äëÿ êíîïîê âûçîâà OpenDial |
1405 | commonButtonText db '...', 0 ;òåêñò äëß êíîïîê âûçîâà OpenDial |
Line 1919... | Line 1406... | ||
1919 | commonButtonTextSize = 3 |
1406 | commonButtonTextSize = 3 |
Line 1920... | Line 1407... | ||
1920 | 1407 | ||
1921 | if lang eq ru ;åñëè ÿçûê ñáîðêè ðóññêèé |
1408 | if lang eq ru ;åñëè ßçûê ñáîðêè ðóññêèé |
1922 | 1409 | ||
1923 | text db "®ä¨£ãà â®à Hot Angles ®â¢¥ç ¥â § áâனªã ªâ¨¢ëå 㣫®¢. " |
1410 | text db "®ä¨£ãà â®à Hot Angles ®â¢¥ç ¥â § áâனªã ªâ¨¢ëå 㣫®¢. " |
1924 | db " áâன⥠¯ à ¬¥âàë ¯®¤ á¥¡ï ¨«¨ ®âª«îç¨â¥ íâã ®¯æ¨î. ", 0 |
1411 | db " áâன⥠¯ à ¬¥âàë ¯®¤ á¥¡ï ¨«¨ ®âª«îç¨â¥ íâã ®¯æ¨î. " |
1925 | ; db " ", 0 |
1412 | db " ", 0 |
1926 | hed: |
1413 | hed: |
1927 | title db "®ä¨£ãà â®à ã⨫¨âë Hot Angles", 0 |
- | |
Line 1928... | Line 1414... | ||
1928 | buttonText db "ਬ¥¨âì", 0 |
1414 | title db "®ä¨£ãà â®à ã⨫¨âë Hot Angles", 0 |
Line 1929... | Line 1415... | ||
1929 | buttonTextSize = 9 |
1415 | buttonText db "ਬ¥¨âì", 0 |
1930 | buttonTextXoffset = 12 |
1416 | buttonTextSize = 9 |
Line 1951... | Line 1437... | ||
1951 | err_message_import0 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'proc_lib.obj',39,0 |
1437 | err_message_import0 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'proc_lib.obj',39,0 |
1952 | err_message_found_lib1 db '¥ ©¤¥ ¡¨¡«¨®â¥ª ',39,'kmenu.obj',39,0 |
1438 | err_message_found_lib1 db '¥ ©¤¥ ¡¨¡«¨®â¥ª ',39,'kmenu.obj',39,0 |
1953 | err_message_import1 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'kmenu',39,0 |
1439 | err_message_import1 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'kmenu',39,0 |
Line 1954... | Line 1440... | ||
1954 | 1440 | ||
- | 1441 | hkCaption: db '« ¢¨è :',0 |
|
1955 | hkCaption: db '« ¢¨è :',0 |
1442 | ;hkHint: db ' ¦¬¨â¥ «î¡ãî ª« ¢¨èã',0 |
Line 1956... | Line 1443... | ||
1956 | radiusCaption: db ' ¤¨ãá:',0 |
1443 | radiusCaption: db ' ¤¨ãá:',0 |
Line 1957... | Line 1444... | ||
1957 | 1444 | ||
1958 | else ;èíà÷å àíãëèéñêèé òåêñò |
1445 | else ;èíà÷å àíãëèéñêèé òåêñò |
1959 | 1446 | ||
1960 | text db "This is a Hot Angles Configurator. " |
1447 | text db "This is a Hot Angles Configurator. " |
1961 | db "Set the parameters bellow for yourself or disable this option.", 0 |
1448 | db "Set the parameters bellow for yourself or disable this option." |
1962 | ; db " ", 0 |
1449 | db " ", 0 |
1963 | hed: |
1450 | hed: |
1964 | title db "Hot Angles Configurator", 0 |
- | |
Line 1965... | Line 1451... | ||
1965 | buttonText db "Apply", 0 |
1451 | title db "Hot Angles Configurator", 0 |
Line 1966... | Line 1452... | ||
1966 | buttonTextSize = 5 |
1452 | buttonText db " Apply ", 0 |
1967 | buttonTextXoffset = 0 |
1453 | buttonTextSize = 5 |
1968 | 1454 | ||
1969 | ch_text db 'Activate "Hot Angles"',0 ;ñîïðîâîæäàþùèé òåêñò äëÿ ÷åê áîêñà |
1455 | ch_text db 'Activate "Hot Angles"',0 ;ñîïðîâîæäàþùèé òåêñò äëß ÷åê áîêñà |
Line 1988... | Line 1474... | ||
1988 | err_message_import0 db 'Error importing library ',39,'proc_lib.obj',39,0 |
1474 | err_message_import0 db 'Error importing library ',39,'proc_lib.obj',39,0 |
1989 | err_message_found_lib1 db 'Could not find library ',39,'kmenu.obj',39,0 |
1475 | err_message_found_lib1 db 'Could not find library ',39,'kmenu.obj',39,0 |
1990 | err_message_import1 db 'Error importing library ',39,'kmenu',39,0 |
1476 | err_message_import1 db 'Error importing library ',39,'kmenu',39,0 |
Line 1991... | Line 1477... | ||
1991 | 1477 | ||
- | 1478 | hkCaption: db 'Key:',0 |
|
1992 | hkCaption: db 'Key:',0 |
1479 | ;hkHint: db 'press any key',0 |
Line 1993... | Line 1480... | ||
1993 | radiusCaption: db 'Radius:',0 |
1480 | radiusCaption: db 'Radius:',0 |
Line 1994... | Line 1481... | ||
1994 | 1481 | ||
Line 2002... | Line 1489... | ||
2002 | hkSize: rd 1 ;ðàçìåð ñòðîêè ñ èìåíåì êëàâèøè |
1489 | hkSize: rd 1 ;ðàçìåð ñòðîêè ñ èìåíåì êëàâèøè |
Line 2003... | Line 1490... | ||
2003 | 1490 | ||
2004 | draw_super_text: |
1491 | draw_super_text: |
Line 2005... | Line 1492... | ||
2005 | push eax ebx ecx edx edi esi |
1492 | push eax ebx ecx edx edi esi |
2006 | 1493 | ||
2007 | ; mov ecx, 0 |
1494 | mov ecx, 0 |
2008 | ; mov ch, byte[mysize] |
1495 | mov ch, byte[mysize] |
2009 | ; shl ecx, 16 |
- | |
2010 | ; add ecx, 0x224466 |
- | |
2011 | mov ecx, 0x224466 |
- | |
2012 | call setNewSizeForText |
- | |
2013 | ;and ecx, 0x7FFFFFFF |
- | |
2014 | or ecx, 0x80000000 |
- | |
2015 | - | ||
2016 | ;mov ebx, Otstup * 65536 + 74 ; draw info text with function 4 (x, y) |
- | |
2017 | mov bx, Otstup |
- | |
2018 | shl ebx, 16 |
- | |
2019 | mov bx, word[elem.textHeight] |
- | |
2020 | add bx, word[elem.textDelta] |
- | |
2021 | shl bx, 2 |
- | |
2022 | sub bx, word[elem.textHeight] |
- | |
2023 | add bx, BaseY |
- | |
2024 | - | ||
2025 | ;mov ecx, 0x224466 |
- | |
2026 | mov eax, superText.lu |
- | |
2027 | mov edx, eax |
- | |
2028 | mov esi, superTextSize |
- | |
2029 | mcall 4 |
- | |
2030 | - | ||
2031 | ;mov ebx, Otstup * 65536 + 109 ;9+2+14+(9+1) |
- | |
2032 | add bx, word[elem.textHeight] |
- | |
2033 | add bx, 4;3 |
- | |
2034 | add bx, word[elem.butDialHeight] |
- | |
2035 | add bx, word[elem.textHeight] |
- | |
2036 | - | ||
2037 | mov edx, superText.ld |
- | |
2038 | mov esi, superTextSize |
- | |
2039 | mcall 4 |
- | |
2040 | - | ||
2041 | ;mov ebx, 240 * 65536 + 74 |
- | |
2042 | mov bx, word[elem.winWidth] |
- | |
2043 | sub bx, word[elem.butDialWidth] |
- | |
2044 | sub bx, word[elem.editCommandWidth] |
- | |
2045 | sub bx, Otstup |
- | |
2046 | shl ebx, 16 |
- | |
2047 | mov bx, word[elem.textHeight] |
- | |
2048 | add bx, word[elem.textDelta] |
- | |
2049 | shl bx, 2 |
- | |
2050 | sub bx, word[elem.textHeight] |
- | |
2051 | add bx, BaseY |
- | |
2052 | - | ||
2053 | mov edx, superText.ru |
- | |
2054 | mov esi, superTextSize |
- | |
2055 | mcall 4 |
- | |
2056 | - | ||
2057 | ;mov ebx, 240 * 65536 + 109 |
- | |
2058 | add bx, word[elem.textHeight] |
- | |
2059 | add bx, 4;3;2 |
- | |
Line 2060... | Line 1496... | ||
2060 | add bx, word[elem.butDialHeight] |
1496 | shl ecx, 16 |
2061 | add bx, word[elem.textHeight] |
1497 | add ecx, 0x224466 |
2062 | - | ||
2063 | mov edx, superText.rd |
- | |
2064 | mov esi, superTextSize |
1498 | |
2065 | mcall 4 |
- | |
2066 | - | ||
2067 | ;mov ebx, Otstup * 65536 + (buttonModeY-11) |
1499 | mcall 4, |
2068 | mov ebx, Otstup |
- | |
2069 | shl ebx, 16 |
- | |
Line -... | Line 1500... | ||
- | 1500 | mcall 4, |
|
2070 | add bx, word[elem.butModeY] |
1501 | mcall 4, <290,74> ,,superText.ru,superTextSize |
2071 | sub bx, 2 |
1502 | mcall 4, <290,109> ,,superText.rd,superTextSize |
2072 | sub bx, word[elem.textHeight] |
1503 | |
2073 | 1504 | mov ebx, Otstup * 65536 + (buttonModeY-11) |
|
Line -... | Line 1505... | ||
- | 1505 | or ecx, 0x80000000 |
|
- | 1506 | mov edx, ModeMenu |
|
- | 1507 | mov esi, 3 |
|
- | 1508 | mcall 4 |
|
- | 1509 | ||
- | 1510 | ; mov ebx, buttonHotKeyX * 65536 + (buttonModeY-11) |
|
2074 | or ecx, 0x80000000 |
1511 | ; or ecx, 0x80000000 |
2075 | mov edx, ModeMenu |
1512 | ; mov edx, hkCaption |
Line 2076... | Line 1513... | ||
2076 | mov esi, 3 |
1513 | ; mov esi, 3 |
2077 | mcall 4 |
1514 | ; mcall 4 |
Line 2173... | Line 1610... | ||
2173 | inc esi |
1610 | inc esi |
2174 | cmp eax, 0 |
1611 | cmp eax, 0 |
2175 | je .end |
1612 | je .end |
2176 | jmp .next |
1613 | jmp .next |
2177 | .end: |
1614 | .end: |
2178 | mov byte[esi], 0 ;êëàä¸ì çàâåðøàþùèé íîëü |
1615 | mov byte[esi], 0 ;êëàäÞì çàâåðøàþùèé íîëü |
2179 | pop esi edx ecx eax |
1616 | pop esi edx ecx eax |
2180 | call reverseString ;äåëàåì ðåâåðñ ñòðîêè |
1617 | call reverseString ;äåëàåì ðåâåðñ ñòðîêè |
2181 | ret |
1618 | ret |
Line 2182... | Line 1619... | ||
2182 | 1619 | ||
2183 | ;âõîä: esi - óêàçàòåëü íà ñòðîêó |
1620 | ;âõîä: esi - óêàçàòåëü íà ñòðîêó |
2184 | reverseString: |
1621 | reverseString: |
Line 2185... | Line 1622... | ||
2185 | push eax esi edi |
1622 | push eax esi edi |
2186 | 1623 | ||
2187 | mov al, byte[esi] ;åñëè ñòðîêà ïóñòàÿ òî âûõîäèì ðåâåðñ äåëàòü íå íàäî |
1624 | mov al, byte[esi] ;åñëè ñòðîêà ïóñòàß òî âûõîäèì ðåâåðñ äåëàòü íå íàäî |
Line 2188... | Line 1625... | ||
2188 | cmp al, 0 |
1625 | cmp al, 0 |
2189 | je reverseString.end |
1626 | je reverseString.end |
2190 | 1627 | ||
2191 | mov edi, esi ;èíà÷å íàéä¸ì ïîçèöèþ ïîñëåäíåãî ñèìâîëà ñòðîêè è ïîëîæèì å¸ â edi |
1628 | mov edi, esi ;èíà÷å íàéäÞì ïîçèöèþ ïîñëåäíåãî ñèìâîëà ñòðîêè è ïîëîæèì åÞ â edi |
2192 | .go_last_symbol: |
1629 | .go_last_symbol: |
Line 2200... | Line 1637... | ||
2200 | push ebx |
1637 | push ebx |
2201 | .rev: |
1638 | .rev: |
2202 | cmp esi, edi |
1639 | cmp esi, edi |
2203 | jae @f |
1640 | jae @f |
Line 2204... | Line 1641... | ||
2204 | 1641 | ||
2205 | ;ìåíÿåì ìåñòàìè ñèìâîëû â öèêëå |
1642 | ;ìåíßåì ìåñòàìè ñèìâîëû â öèêëå |
2206 | mov al, byte[edi] |
1643 | mov al, byte[edi] |
2207 | mov bl, byte[esi] |
1644 | mov bl, byte[esi] |
2208 | mov byte[edi], bl |
1645 | mov byte[edi], bl |
Line 2237... | Line 1674... | ||
2237 | ;... |
1674 | ;... |
2238 | .end_open: |
1675 | .end_open: |
2239 | popad |
1676 | popad |
2240 | ret |
1677 | ret |
Line 2241... | Line 1678... | ||
2241 | 1678 | ||
2242 | ;äàííûå äëÿ äèàëîãà îòêðûòèÿ ôàéëîâ |
1679 | ;äàííûå äëß äèàëîãà îòêðûòèß ôàéëîâ |
2243 | align 4 |
1680 | align 4 |
2244 | OpenDialog_data: |
1681 | OpenDialog_data: |
2245 | .type dd 0 ;0 - îòêðûòü, 1 - ñîõðàíèòü, 2 - âûáðàòü äèðåêòîðèþ |
1682 | .type dd 0 ;0 - îòêðûòü, 1 - ñîõðàíèòü, 2 - âûáðàòü äèðåêòîðèþ |
2246 | .procinfo dd procinfo |
1683 | .procinfo dd procinfo |
2247 | .com_area_name dd communication_area_name ;+8 |
1684 | .com_area_name dd communication_area_name ;+8 |
2248 | .com_area dd 0 ;+12 |
1685 | .com_area dd 0 ;+12 |
2249 | .opendir_path dd plugin_path ;+16 |
1686 | .opendir_path dd plugin_path ;+16 |
2250 | .dir_default_path dd default_dir ;+20 |
1687 | .dir_default_path dd default_dir ;+20 |
2251 | .start_path dd file_name ;+24 ïóòü ê äèàëîãó îòêðûòèÿ ôàéëîâ |
1688 | .start_path dd file_name ;+24 ïóòü ê äèàëîãó îòêðûòèß ôàéëîâ |
2252 | .draw_window dd draw_window ;+28 |
1689 | .draw_window dd draw_window ;+28 |
2253 | .status dd 0 ;+32 |
1690 | .status dd 0 ;+32 |
2254 | .openfile_path dd openfile_path ;+36 ïóòü ê îòêðûâàåìîìó ôàéëó |
1691 | .openfile_path dd openfile_path ;+36 ïóòü ê îòêðûâàåìîìó ôàéëó |
2255 | .filename_area dd filename_area ;+40 |
1692 | .filename_area dd filename_area ;+40 |
Line 2259... | Line 1696... | ||
2259 | .x_start dw 10 ;+50 ; Window X position |
1696 | .x_start dw 10 ;+50 ; Window X position |
2260 | .y: |
1697 | .y: |
2261 | .y_size dw 320 ;+52 ; Window y size |
1698 | .y_size dw 320 ;+52 ; Window y size |
2262 | .y_start dw 10 ;+54 ; Window Y position |
1699 | .y_start dw 10 ;+54 ; Window Y position |
Line 2263... | Line 1700... | ||
2263 | 1700 | ||
2264 | default_dir db '/rd/1',0 ;äèðåêòîðèÿ ïî óìîë÷àíèþ |
1701 | default_dir db '/rd/1',0 ;äèðåêòîðèß ïî óìîë÷àíèþ |
2265 | communication_area_name: db 'FFFFFFFF_open_dialog',0 |
1702 | communication_area_name: db 'FFFFFFFF_open_dialog',0 |
2266 | open_dialog_name: db 'opendial',0 |
1703 | open_dialog_name: db 'opendial',0 |
Line 2267... | Line 1704... | ||
2267 | communication_area_default_path: db '/rd/1/File managers/',0 |
1704 | communication_area_default_path: db '/rd/1/File managers/',0 |
Line 2303... | Line 1740... | ||
2303 | 1740 | ||
2304 | edMaxSize = 510 ;òåïåðü ñ íîâûì êîìïîíåíòîì ìîæíî è 511 óêàçàòü |
1741 | edMaxSize = 510 ;òåïåðü ñ íîâûì êîìïîíåíòîì ìîæíî è 511 óêàçàòü |
Line 2305... | Line 1742... | ||
2305 | edMax = 0 ;max, size, pos |
1742 | edMax = 0 ;max, size, pos |
2306 | 1743 | ||
2307 | align 4 |
1744 | align 4 |
2308 | editLU edit_box 180-buttonW,Otstup+buttonW,85, 0xffffff, 0x6a9480, 0, 0xAABBCC, 0, edMaxSize, dataBuffer.1, mouse_dd, 0, edMax, edMax ;ed_focus |
1745 | editLU edit_box 230-buttonW,Otstup+buttonW,85, 0xffffff, 0x6a9480, 0, 0xAABBCC, 0x10000000, edMaxSize, dataBuffer.1, mouse_dd, 0, edMax, edMax ;ed_focus |
2309 | editLD edit_box 180-buttonW,Otstup+buttonW,120, 0xffffff, 0x6a9480, 0, 0xAABBCC, 0, edMaxSize, dataBuffer.2, mouse_dd, 0, edMax, edMax |
1746 | editLD edit_box 230-buttonW,Otstup+buttonW,120, 0xffffff, 0x6a9480, 0, 0xAABBCC, 0x10000000, edMaxSize, dataBuffer.2, mouse_dd, 0, edMax, edMax |
2310 | editRU edit_box 180-buttonW,240,85, 0xffffff, 0x6a9480, 0, 0xAABBCC, 0, edMaxSize, dataBuffer.3, mouse_dd, 0, edMax, edMax |
1747 | editRU edit_box 230-buttonW,290,85, 0xffffff, 0x6a9480, 0, 0xAABBCC, 0x10000000, edMaxSize, dataBuffer.3, mouse_dd, 0, edMax, edMax |
Line 2311... | Line 1748... | ||
2311 | editRD edit_box 180-buttonW,240,120, 0xffffff, 0x6a9480, 0, 0xAABBCC, 0, edMaxSize, dataBuffer.4, mouse_dd, 0, edMax, edMax |
1748 | editRD edit_box 230-buttonW,290,120, 0xffffff, 0x6a9480, 0, 0xAABBCC, 0x10000000, edMaxSize, dataBuffer.4, mouse_dd, 0, edMax, edMax |
2312 | editRadius edit_box 40,(buttonHotKeyX + buttonHotKeyWidth + 20),buttonModeY, 0xffffff, 0x6a9480, 0, 0xAABBCC, 0, 4, radiusBuffer.data, mouse_dd, ed_figure_only, edMax, edMax |
1749 | editRadius edit_box 40,(buttonHotKeyX + buttonHotKeyWidth + 20),buttonModeY, 0xffffff, 0x6a9480, 0, 0xAABBCC, 0x10000000, 4, radiusBuffer.data, mouse_dd, ed_figure_only, edMax, edMax |
2313 | 1750 | ||
2314 | align 4 |
1751 | align 4 |
Line 2338... | Line 1775... | ||
2338 | sc system_colors |
1775 | sc system_colors |
2339 | mouse_dd rd 1 |
1776 | mouse_dd rd 1 |
Line 2340... | Line 1777... | ||
2340 | 1777 | ||
2341 | sizeStyle: rb 1 ;ðàçìåð òåêñòà è îñòàëüíûõ ýëåìåíòîâ îêíà |
1778 | sizeStyle: rb 1 ;ðàçìåð òåêñòà è îñòàëüíûõ ýëåìåíòîâ îêíà |
2342 | mysize: rb 1 ;rd 1 |
1779 | mysize: rb 1 ;rd 1 |
2343 | radiusBuffer: ;áóôåð äëÿ ïîëÿ ðàäèóñà æåñòà |
1780 | radiusBuffer: ;áóôåð äëß ïîëß ðàäèóñà æåñòà |
2344 | .data: rb 6 |
1781 | .data: rb 6 |
2345 | .size: rd 1 |
1782 | .size: rd 1 |
Line 2346... | Line 1783... | ||
2346 | radiusBufferEnd: |
1783 | radiusBufferEnd: |
Line 2357... | Line 1794... | ||
2357 | pi rb 1024 |
1794 | pi rb 1024 |
Line 2358... | Line 1795... | ||
2358 | 1795 | ||
2359 | keyscan: rb 1 |
1796 | keyscan: rb 1 |
2360 | keystr: |
1797 | keystr: |
2361 | .data: rb 4 ;ñòðîêà ñî çíà÷åíèåì ñêàíêîäà àêòèâàöèîííîé êëàâèøè |
1798 | .data: rb 4 ;ñòðîêà ñî çíà÷åíèåì ñêàíêîäà àêòèâàöèîííîé êëàâèøè |
Line 2362... | Line 1799... | ||
2362 | .size: rd 1 ;ðàçìåð ñîäåðæèìîãî ñòðîêè áåç ïîñëåäíåãî íóëÿ |
1799 | .size: rd 1 ;ðàçìåð ñîäåðæèìîãî ñòðîêè áåç ïîñëåäíåãî íóëß |
2363 | 1800 | ||
2364 | dataBuffer: |
1801 | dataBuffer: |
2365 | .1: rb 512 |
1802 | .1: rb 512 |
Line 2369... | Line 1806... | ||
2369 | .size1: rd 1 |
1806 | .size1: rd 1 |
2370 | .size2: rd 1 |
1807 | .size2: rd 1 |
2371 | .size3: rd 1 |
1808 | .size3: rd 1 |
2372 | .size4: rd 1 |
1809 | .size4: rd 1 |
2373 | ;255+255+2 = 512 |
1810 | ;255+255+2 = 512 |
2374 | ;äâà çàïàñíûõ áàéòà íåîáõîäèìû äëÿ òîãî ÷òî áû íå ïåïåðåïèñàòü ñëåäóþùèåé áàéòû, â êîíöå áóôåðà 0 |
1811 | ;äâà çàïàñíûõ áàéòà íåîáõîäèìû äëß òîãî ÷òî áû íå ïåïåðåïèñàòü ñëåäóþùèåé áàéòû, â êîíöå áóôåðà 0 |
2375 | dataBufferEnd: |
1812 | dataBufferEnd: |
Line 2376... | Line 1813... | ||
2376 | 1813 | ||
2377 | 1814 | ||
2378 | I_END: |
1815 | I_END: |
2379 | rb 256 ;1024 ;4096 |
1816 | rb 4096 |
Line 2380... | Line 1817... | ||
2380 | align 4 ;16 |
1817 | align 16 |