Rev 7397 | Rev 7408 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 7397 | Rev 7402 | ||
---|---|---|---|
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.2: Sep 19, 2018 |
5 | ; Version 0.3: Sep 22, 2018 |
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 40... | Line 40... | ||
40 | dd 0, 0 |
40 | dd 0, 0 |
Line 41... | Line 41... | ||
41 | 41 | ||
42 | ; Íà÷àëî îáëàñòè êîäà |
42 | ; Íà÷àëî îáëàñòè êîäà |
43 | include 'lang.inc' ;ïîääåðæêà ÿçûêîâ ïðè êîìïèëÿöèè |
43 | include 'lang.inc' ;ïîääåðæêà ÿçûêîâ ïðè êîìïèëÿöèè |
- | 44 | include '../../macros.inc' |
|
- | 45 | include '../../proc32.inc' |
|
- | 46 | include '../../dll.inc' |
|
44 | include '../../macros.inc' |
47 | include '../../develop/libraries/box_lib/trunk/box_lib.mac' |
45 | include 'editbox.inc' |
48 | ;;include 'editbox.inc' |
46 | use_edit_box |
49 | ;;use_edit_box |
47 | include 'check.inc' ;âêëþ÷èòü ôàéë check.inc |
50 | ;;include 'check.inc' ;âêëþ÷èòü ôàéë check.inc |
48 | version_ch1 ;íåîáõîäèìûé ìàêðîñ äëÿ âêëþ÷åíèÿ new âåðñèè check_box1 |
51 | ;;version_ch1 ;íåîáõîäèìûé ìàêðîñ äëÿ âêëþ÷åíèÿ new âåðñèè check_box1 |
Line 49... | Line 52... | ||
49 | use_check_box ;èñïîëüçóÿ ìàêðîñû, âíåñòè ïðîöåäóðû äëÿ ðèñîâàíèÿ ÷åê áîêñà |
52 | ;;use_check_box ;èñïîëüçóÿ ìàêðîñû, âíåñòè ïðîöåäóðû äëÿ ðèñîâàíèÿ ÷åê áîêñà |
Line 50... | Line 53... | ||
50 | 53 | ||
51 | Otstup = 30 |
54 | Otstup = 30 |
Line 58... | Line 61... | ||
58 | mov ebx,3 |
61 | mov ebx,3 |
59 | mov ecx, sc |
62 | mov ecx, sc |
60 | mov edx, sizeof.system_colors |
63 | mov edx, sizeof.system_colors |
61 | mcall |
64 | mcall |
Line -... | Line 65... | ||
- | 65 | ||
- | 66 | ||
- | 67 | stdcall dll.Load, @IMPORT |
|
- | 68 | or eax, eax |
|
- | 69 | jnz exit |
|
- | 70 | ||
- | 71 | invoke init_checkbox, ch1 |
|
62 | 72 | ||
63 | mov eax,40 ;óñòàíîâèòü ìàñêó äëÿ îæèäàåìûõ ñîáûòèé |
73 | mov eax,40 ;óñòàíîâèòü ìàñêó äëÿ îæèäàåìûõ ñîáûòèé |
64 | mov ebx,0x27 ;ñèñòåìà áóäåò ðåàãèðîâàòü òîëüêî íà ñîîáùåíèå î ïåðåðèñîâêå, íàæàòà êíîïêà, îïðåäåë¸ííàÿ ðàíåå, ñîáûòèå îò ìûøè (÷òî-òî ñëó÷èëîñü - íàæàòèå íà êíîïêó ìûøè èëè ïåðåìåùåíèå; ñáðàñûâàåòñÿ ïðè ïðî÷òåíèè) |
74 | mov ebx,0x27 ;ñèñòåìà áóäåò ðåàãèðîâàòü òîëüêî íà ñîîáùåíèå î ïåðåðèñîâêå, íàæàòà êíîïêà, îïðåäåë¸ííàÿ ðàíåå, ñîáûòèå îò ìûøè (÷òî-òî ñëó÷èëîñü - íàæàòèå íà êíîïêó ìûøè èëè ïåðåìåùåíèå; ñáðàñûâàåòñÿ ïðè ïðî÷òåíèè) |
Line 65... | Line 75... | ||
65 | mcall |
75 | mcall |
Line 82... | Line 92... | ||
82 | 92 | ||
83 | cmp eax, 3 ; Event button in buffer ? |
93 | cmp eax, 3 ; Event button in buffer ? |
84 | je button ; Expl.: User has pressed one of the |
94 | je button ; Expl.: User has pressed one of the |
Line 85... | Line 95... | ||
85 | ; applications buttons. |
95 | ; applications buttons. |
86 | 96 | ||
- | 97 | ;mouse_edit_boxes editboxes,editboxes_end |
|
- | 98 | ;mouse_check_boxes check_boxes,check_boxes_end ;ïðîâåðêà ÷åê áîêñà |
|
- | 99 | invoke edit_box_mouse, editLU |
|
- | 100 | invoke edit_box_mouse, editLD |
|
- | 101 | invoke edit_box_mouse, editRU |
|
- | 102 | invoke edit_box_mouse, editRD |
|
87 | mouse_edit_boxes editboxes,editboxes_end |
103 | invoke check_box_mouse, ch1 ;ïðîâåðêà ÷åê áîêñà |
Line 88... | Line 104... | ||
88 | mouse_check_boxes check_boxes,check_boxes_end ;ïðîâåðêà ÷åê áîêñà |
104 | |
89 | jmp event_wait |
105 | jmp event_wait |
90 | 106 | ||
Line 91... | Line 107... | ||
91 | 107 | ||
92 | red: ;îáðàáîòêà ñîáûòèÿ ïåðåðèñîâêè îêíà |
108 | red: ;îáðàáîòêà ñîáûòèÿ ïåðåðèñîâêè îêíà |
93 | call draw_window |
109 | call draw_window |
94 | jmp event_wait |
110 | jmp event_wait |
- | 111 | ||
- | 112 | key: ; Keypress event handler |
|
- | 113 | mov eax, 2 ; The key is returned in ah. The key must be |
|
- | 114 | mcall ; read and cleared from the system queue. |
|
95 | 115 | ;key_edit_boxes editboxes,editboxes_end |
|
Line 96... | Line 116... | ||
96 | key: ; Keypress event handler |
116 | invoke edit_box_key, editLU |
97 | mov eax, 2 ; The key is returned in ah. The key must be |
117 | invoke edit_box_key, editLD |
98 | mcall ; read and cleared from the system queue. |
118 | invoke edit_box_key, editRU |
Line 99... | Line 119... | ||
99 | key_edit_boxes editboxes,editboxes_end |
119 | invoke edit_box_key, editRD |
100 | jmp event_wait ; Just read the key, ignore it and jump to event_wait. |
120 | jmp event_wait ; Just read the key, ignore it and jump to event_wait. |
- | 121 | ||
101 | 122 | button: ; Buttonpress event handler |
|
102 | button: ; Buttonpress event handler |
123 | mov eax,17 ; The button number defined in window_draw |
103 | mov eax,17 ; The button number defined in window_draw |
124 | mcall ; is returned to ah. |
104 | mcall ; is returned to ah. |
125 | |
105 | 126 | cmp ah,1 ; button id=1 ? |
|
Line 174... | Line 195... | ||
174 | mcall 68, 12, ecx ;âûäåëÿåì áëîê ïàìÿòè ïîä áóôåð ñîäåðæèìîãî |
195 | mcall 68, 12, ecx ;âûäåëÿåì áëîê ïàìÿòè ïîä áóôåð ñîäåðæèìîãî |
175 | mov dword[createFile.data_adr], eax ;ñîõðàíÿåì àäðåñ áóôåðà â ñòðóêòóðó |
196 | mov dword[createFile.data_adr], eax ;ñîõðàíÿåì àäðåñ áóôåðà â ñòðóêòóðó |
Line 176... | Line 197... | ||
176 | 197 | ||
177 | ;çàïîëíèì áóôåð ñîäåðæèìîãî: |
198 | ;çàïîëíèì áóôåð ñîäåðæèìîãî: |
178 | mov byte[eax], 110; 'n' ;ïî óìîë÷àíèþ ôëàã ñíÿò |
199 | mov byte[eax], 110; 'n' ;ïî óìîë÷àíèþ ôëàã ñíÿò |
179 | cmp word[ch1.flags], ch_flag_en ;âûñòàâëåí checkBox èëè íåò? |
200 | cmp word[ch1.flags], 110b ;ch_flag_en and ch_flag_middle ;110b ;ch_flag_en ;âûñòàâëåí checkBox èëè íåò? |
180 | jne applyButton.no |
201 | jne applyButton.no |
181 | mov byte[eax], 121 ;èíà÷å êëàä¸ì 'y' |
202 | mov byte[eax], 121 ;èíà÷å êëàä¸ì 'y' |
182 | .no: |
203 | .no: |
183 | inc eax |
204 | inc eax |
Line 330... | Line 351... | ||
330 | 351 | ||
331 | .chStart: |
352 | .chStart: |
332 | cmp byte[eax], 121 ;'y' ;âûñòàâëÿåì checkBox - ïàðàìåòð àêòèâíîñòè ïðèëîæåíèÿ |
353 | cmp byte[eax], 121 ;'y' ;âûñòàâëÿåì checkBox - ïàðàìåòð àêòèâíîñòè ïðèëîæåíèÿ |
333 | jne loadConfig.no |
354 | jne loadConfig.no |
334 | .yes: |
355 | .yes: |
335 | mov word[ch1.flags], ch_flag_en |
356 | mov word[ch1.flags], 110b ;ch_flag_en and ch_flag_middle ;110b ;ch_flag_en |
336 | jmp loadConfig.chEnd |
357 | jmp loadConfig.chEnd |
337 | .no: |
358 | .no: |
338 | mov word[ch1.flags], 0 |
359 | mov word[ch1.flags], 100b ;0 and ch_flag_middle ;100b |
339 | .chEnd: |
360 | .chEnd: |
Line 340... | Line 361... | ||
340 | ;jmp loadConfig.end ;êîìàíäà äëÿ óäîáñòâà îòëàäêè è ïîèñêà îøèáîê |
361 | ;jmp loadConfig.end ;êîìàíäà äëÿ óäîáñòâà îòëàäêè è ïîèñêà îøèáîê |
341 | 362 | ||
Line 540... | Line 561... | ||
540 | mov esi, 0x808899ff ; color of grab bar RRGGBB |
561 | mov esi, 0x808899ff ; color of grab bar RRGGBB |
541 | ; 0x80000000 = color glide |
562 | ; 0x80000000 = color glide |
542 | mov edi, title |
563 | mov edi, title |
543 | mcall |
564 | mcall |
Line 544... | Line 565... | ||
544 | 565 | ||
545 | draw_check_boxes check_boxes,check_boxes_end ;ðèñîâàíèå ÷åêáîêñîâ |
566 | ;draw_check_boxes check_boxes,check_boxes_end ;ðèñîâàíèå ÷åêáîêñîâ |
- | 567 | ;draw_edit_boxes editboxes,editboxes_end ;ðèñîâàíèå edit box'îâ |
|
- | 568 | invoke edit_box_draw, editLU ;ðèñîâàíèå edit box'îâ |
|
- | 569 | invoke edit_box_draw, editLD |
|
- | 570 | invoke edit_box_draw, editRU |
|
- | 571 | invoke edit_box_draw, editRD |
|
- | 572 | ||
Line 546... | Line 573... | ||
546 | draw_edit_boxes editboxes,editboxes_end ;ðèñîâàíèå edit box'îâ |
573 | invoke check_box_draw, ch1 ;ðèñîâàíèå ÷åêáîêñîâ |
547 | 574 | ||
548 | ;ðèñóåì êíîïêó |
575 | ;ðèñóåì êíîïêó |
549 | mov ebx, (WindowsWidth-80-Otstup)*65536 + 80 ;êîîðäèíàòà X, øèðèíà êíîïêè |
576 | mov ebx, (WindowsWidth-80-Otstup)*65536 + 80 ;êîîðäèíàòà X, øèðèíà êíîïêè |
Line 581... | Line 608... | ||
581 | ret |
608 | ret |
Line 582... | Line 609... | ||
582 | 609 | ||
- | 610 | ||
- | 611 | ||
- | 612 | ||
- | 613 | align 16 |
|
- | 614 | @IMPORT: |
|
- | 615 | ||
- | 616 | library box_lib, 'box_lib.obj' |
|
- | 617 | ||
- | 618 | import box_lib,\ |
|
- | 619 | edit_box_draw, 'edit_box',\ |
|
- | 620 | edit_box_key, 'edit_box_key',\ |
|
- | 621 | edit_box_mouse, 'edit_box_mouse',\ |
|
- | 622 | init_checkbox, 'init_checkbox2',\ |
|
- | 623 | check_box_draw, 'check_box_draw2',\ |
|
- | 624 | check_box_mouse, 'check_box_mouse2',\ |
|
- | 625 | option_box_draw, 'option_box_draw',\ |
|
583 | 626 | option_box_mouse, 'option_box_mouse' |
|
584 | 627 | ||
585 | 628 | ||
586 | align 4 |
629 | |
587 | ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
630 | ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> |
588 | ;DATA äàííûå äëÿ check_box1 - èñïîëüçóåò ñèñòåìíûå öâåòà |
631 | ;DATA äàííûå äëÿ check_box1 - èñïîëüçóåò ñèñòåìíûå öâåòà |
589 | ;Ôîðìàò äàííûõ ÷åê áîêñà: |
632 | ;Ôîðìàò äàííûõ ÷åê áîêñà: |
590 | ; êîîðäèíàòà õ, êîîðäèíàòà ó, óêàçàòåëü íà íà÷àëî ñòðîêè, äëèíà ñòðîêè |
633 | ; êîîðäèíàòà õ, êîîðäèíàòà ó, óêàçàòåëü íà íà÷àëî ñòðîêè, äëèíà ñòðîêè |
- | 634 | ;ñîñòîÿíèå ðàáîòû óòèëèòû: àêòèâíà/íåò |
|
- | 635 | ;check_boxes: |
|
- | 636 | ; ch1 check_box1 30,160,ch_text.1,ch_text.e1-ch_text.1,ch_flag_en |
|
Line 591... | Line 637... | ||
591 | ;ñîñòîÿíèå ðàáîòû óòèëèòû: àêòèâíà/íåò |
637 | ;check_boxes_end: |
Line 592... | Line 638... | ||
592 | check_boxes: |
638 | |
Line 603... | Line 649... | ||
603 | title db "®ä¨£ãà â®à ã⨫¨âë Hot Angles", 0 |
649 | title db "®ä¨£ãà â®à ã⨫¨âë Hot Angles", 0 |
604 | buttonText db "ਬ¥¨âì", 0 |
650 | buttonText db "ਬ¥¨âì", 0 |
605 | buttonTextSize = 9 |
651 | buttonTextSize = 9 |
606 | buttonTextXoffset = 12 |
652 | buttonTextXoffset = 12 |
Line -... | Line 653... | ||
- | 653 | ||
607 | 654 | ch_text db 'ª«îç¨âì/ ªâ¨¢¨à®¢ âì "Hot Angles"', 0 |
|
608 | ch_text: ;ñîïðîâîæäàþùèé òåêñò äëÿ ÷åê áîêñîâ |
655 | ;ch_text: ;ñîïðîâîæäàþùèé òåêñò äëÿ ÷åê áîêñîâ |
609 | .1 db 'ª«îç¨âì/ ªâ¨¢¨à®¢ âì "Hot Angles"' |
656 | ;.1 db 'ª«îç¨âì/ ªâ¨¢¨à®¢ âì "Hot Angles"' |
Line 610... | Line 657... | ||
610 | .e1: |
657 | ;.e1: |
611 | 658 | ||
612 | superText: |
659 | superText: |
613 | .lu db '®¬ ¤ «¥¢®£® ¢¥à奣® 㣫 : ', 0 |
660 | .lu db '®¬ ¤ «¥¢®£® ¢¥à奣® 㣫 : ', 0 |
Line 625... | Line 672... | ||
625 | title db "Hot Angles Configurator", 0 |
672 | title db "Hot Angles Configurator", 0 |
626 | buttonText db "Apply", 0 |
673 | buttonText db "Apply", 0 |
627 | buttonTextSize = 5 |
674 | buttonTextSize = 5 |
628 | buttonTextXoffset = 0 |
675 | buttonTextXoffset = 0 |
Line 629... | Line 676... | ||
629 | 676 | ||
630 | ch_text: ;ñîïðîâîæäàþùèé òåêñò äëÿ ÷åê áîêñîâ |
677 | ch_text db 'Activate "Hot Angles"',0 ;ñîïðîâîæäàþùèé òåêñò äëÿ ÷åê áîêñà |
631 | .1 db 'Activate "Hot Angles"' |
678 | ;.1 db 'Activate "Hot Angles"',0 |
Line 632... | Line 679... | ||
632 | .e1: |
679 | ;.e1: |
633 | 680 | ||
634 | superText: |
681 | superText: |
635 | .lu db 'Left up angle command: ', 0 |
682 | .lu db 'Left up angle command: ', 0 |
Line 667... | Line 714... | ||
667 | 714 | ||
668 | pop esi edi edx ecx ebx eax |
715 | pop esi edi edx ecx ebx eax |
Line 669... | Line 716... | ||
669 | ret |
716 | ret |
670 | 717 | ||
Line -... | Line 718... | ||
- | 718 | ||
- | 719 | edMaxSize = 510 ;òåïåðü ñ íîâûì êîìïîíåíòîì ìîæíî è 511 óêàçàòü |
|
- | 720 | edMax = 0 ;max, size, pos |
|
- | 721 | ||
- | 722 | align 4 |
|
- | 723 | editLU edit_box 180,Otstup,85, 0xffffff, 0x6a9480, 0, 0xAABBCC, 0, edMaxSize, dataBuffer.1, mouse_dd, 0, edMax, edMax ;ed_focus |
|
671 | 724 | editLD edit_box 180,Otstup,120, 0xffffff, 0x6a9480, 0, 0xAABBCC, 0, edMaxSize, dataBuffer.2, mouse_dd, 0, edMax, edMax |
|
672 | edMaxSize = 510 |
725 | editRU edit_box 180,240,85, 0xffffff, 0x6a9480, 0, 0xAABBCC, 0, edMaxSize, dataBuffer.3, mouse_dd, 0, edMax, edMax |
673 | edMax = 0 ;max, size, pos |
726 | editRD edit_box 180,240,120, 0xffffff, 0x6a9480, 0, 0xAABBCC, 0, edMaxSize, dataBuffer.4, mouse_dd, 0, edMax, edMax |
674 | 727 | ||
675 | editboxes: |
728 | ;editboxes: |
676 | editLU edit_box 180,Otstup,85,0xffffff,0x6a9480,0,0xAABBCC,0,edMaxSize,dataBuffer.1,ed_focus,edMax,edMax |
729 | ;editLU edit_box 180,Otstup,85,0xffffff,0x6a9480,0,0xAABBCC,0,edMaxSize,dataBuffer.1,ed_focus,edMax,edMax |
Line 677... | Line 730... | ||
677 | editLD edit_box 180,Otstup,120,0xffffff,0x6a9480,0,0xAABBCC,0,edMaxSize,dataBuffer.2,0,edMax,edMax |
730 | ;editLD edit_box 180,Otstup,120,0xffffff,0x6a9480,0,0xAABBCC,0,edMaxSize,dataBuffer.2,0,edMax,edMax |
678 | editRU edit_box 180,240,85,0xffffff,0x6a9480,0,0xAABBCC,0,edMaxSize,dataBuffer.3,0,edMax,edMax |
731 | ;editRU edit_box 180,240,85,0xffffff,0x6a9480,0,0xAABBCC,0,edMaxSize,dataBuffer.3,0,edMax,edMax |
Line 679... | Line 732... | ||
679 | editRD edit_box 180,240,120,0xffffff,0x6a9480,0,0xAABBCC,0,edMaxSize,dataBuffer.4,0,edMax,edMax |
732 | ;editRD edit_box 180,240,120,0xffffff,0x6a9480,0,0xAABBCC,0,edMaxSize,dataBuffer.4,0,edMax,edMax |
680 | editboxes_end: |
733 | ;editboxes_end: |
681 | 734 | ||
682 | data_of_code dd 0 |
735 | ;data_of_code dd 0 |
Line 693... | Line 746... | ||
693 | .size4: rd 1 |
746 | .size4: rd 1 |
694 | ;255+255+2 |
747 | ;255+255+2 |
695 | ;äâà çàïàñíûõ áàéòà íåîáõîäèìû äëÿ òîãî ÷òî áû íå ïåïåðåïèñàòü ñëåäóþùèåé áàéòû, â êîíöå áóôåðà 0 |
748 | ;äâà çàïàñíûõ áàéòà íåîáõîäèìû äëÿ òîãî ÷òî áû íå ïåïåðåïèñàòü ñëåäóþùèåé áàéòû, â êîíöå áóôåðà 0 |
696 | dataBufferEnd: |
749 | dataBufferEnd: |
Line -... | Line 750... | ||
- | 750 | ||
697 | 751 | mouse_dd dd ? |
|
Line 698... | Line 752... | ||
698 | sc system_colors |
752 | sc system_colors |
699 | 753 | ||
700 | I_END: |
754 | I_END: |