Subversion Repositories Kolibri OS

Rev

Rev 7436 | Rev 7448 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7436 Rev 7443
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.5: Oct 5, 2018
5
; Version 0.3.6: Oct 9, 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 43... Line 43...
43
include 'lang.inc'       ;ïîääåðæêà ÿçûêîâ ïðè êîìïèëÿöèè
43
include 'lang.inc'       ;ïîääåðæêà ÿçûêîâ ïðè êîìïèëÿöèè
44
include '../../macros.inc'
44
include '../../macros.inc'
45
include '../../proc32.inc'
45
include '../../proc32.inc'
46
include '../../dll.inc'
46
include '../../dll.inc'
47
include '../../develop/libraries/box_lib/trunk/box_lib.mac' ;êîìïîíåíòû checkBox è editBox
47
include '../../develop/libraries/box_lib/trunk/box_lib.mac' ;êîìïîíåíòû checkBox è editBox
48
;![
-
 
49
include '../../develop/libraries/box_lib/load_lib.mac' ;ìàêðîñ äëÿ çàãðóçêè áèáëèîòåê
48
include '../../develop/libraries/box_lib/load_lib.mac'      ;ìàêðîñ äëÿ çàãðóçêè áèáëèîòåê
50
@use_library
49
@use_library
-
 
50
 
-
 
51
KMENUITEM_NORMAL    equ 0
-
 
52
KMENUITEM_SUBMENU   equ 1
51
;@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
53
KMENUITEM_SEPARATOR equ 2
52
;!]
54
 
53
Otstup = 30
55
Otstup = 30
Line 54... Line 56...
54
 
56
 
55
START:
57
START:
56
    call copyKill        ;ïðîñòåéøàÿ çàùèòà îò çàïóñêà âòîðîé êîïèè ïðèëîæåíèÿ
58
    call copyKill        ;ïðîñòåéøàÿ çàùèòà îò çàïóñêà âòîðîé êîïèè ïðèëîæåíèÿ
Line 65... Line 67...
65
 
67
 
66
    stdcall dll.Load, @IMPORT
68
    stdcall dll.Load, @IMPORT
67
    or      eax, eax
69
    or      eax, eax
Line 68... Line 70...
68
    jnz     exit
70
    jnz     exit
Line 69... Line 71...
69
 
71
 
70
    invoke  init_checkbox, ch1
72
    ;invoke  init_checkbox, ch1
71
 
73
 
Line 72... Line 74...
72
    mov  eax,40          ;óñòàíîâèòü ìàñêó äëÿ îæèäàåìûõ ñîáûòèé
74
    mov  eax,40          ;óñòàíîâèòü ìàñêó äëÿ îæèäàåìûõ ñîáûòèé
73
    mov  ebx,0x27        ;ñèñòåìà áóäåò ðåàãèðîâàòü òîëüêî íà ñîîáùåíèå î ïåðåðèñîâêå, íàæàòà êíîïêà, îïðåäåë¸ííàÿ ðàíåå, ñîáûòèå îò ìûøè (÷òî-òî ñëó÷èëîñü - íàæàòèå íà êíîïêó ìûøè èëè ïåðåìåùåíèå; ñáðàñûâàåòñÿ ïðè ïðî÷òåíèè)
75
    mov  ebx,0x27        ;ñèñòåìà áóäåò ðåàãèðîâàòü òîëüêî íà ñîîáùåíèå î ïåðåðèñîâêå, íàæàòà êíîïêà, îïðåäåë¸ííàÿ ðàíåå, ñîáûòèå îò ìûøè (÷òî-òî ñëó÷èëîñü - íàæàòèå íà êíîïêó ìûøè èëè ïåðåìåùåíèå; ñáðàñûâàåòñÿ ïðè ïðî÷òåíèè)
74
    mcall
76
    mcall
Line -... Line 77...
-
 
77
 
-
 
78
    load_libraries l_libs_start,load_lib_end ;çàãðóçêà áèáëèîòåê(è)
-
 
79
    ;mcall 48,3,sc,sizeof.system_colors ;ïîëó÷èòü ñèñòåìíûå öâåòà
-
 
80
    stdcall [OpenDialog_Init],OpenDialog_data ;ïîäãîòîâêà äèàëîãà
-
 
81
 
-
 
82
    ;mode menu
-
 
83
    stdcall [kmenu_init], sc    ;kmenu initialisation
-
 
84
    stdcall [ksubmenu_new]
-
 
85
    mov [modeMenu], eax
-
 
86
    stdcall [kmenuitem_new], KMENUITEM_NORMAL, valueModeMenu0, 110
-
 
87
    stdcall [ksubmenu_add], [modeMenu], eax
-
 
88
    stdcall [kmenuitem_new], KMENUITEM_NORMAL, valueModeMenu1, 111
-
 
89
    stdcall [ksubmenu_add], [modeMenu], eax
-
 
90
    stdcall [kmenuitem_new], KMENUITEM_NORMAL, valueModeMenu2, 112
75
 
91
    stdcall [ksubmenu_add], [modeMenu], eax
76
    load_libraries l_libs_start,load_lib_end ;çàãðóçêà áèáëèîòåê(è)
92
    stdcall [kmenuitem_new], KMENUITEM_NORMAL, valueModeMenu3, 113
Line 77... Line 93...
77
    ;mcall 48,3,sc,sizeof.system_colors ;ïîëó÷èòü ñèñòåìíûå öâåòà
93
    stdcall [ksubmenu_add], [modeMenu], eax
78
    stdcall [OpenDialog_Init],OpenDialog_data ;ïîäãîòîâêà äèàëîãà
94
        stdcall [kmenuitem_new], KMENUITEM_SUBMENU, valueModeMenu1, [modeMenu]
Line 99... Line 115...
99
 
115
 
100
    invoke  edit_box_mouse, editLU   ;ïðîâåðêà ñîáûòèé ìûøè äëÿ editBox'îâ
116
    invoke  edit_box_mouse, editLU   ;ïðîâåðêà ñîáûòèé ìûøè äëÿ editBox'îâ
101
    invoke  edit_box_mouse, editLD
117
    invoke  edit_box_mouse, editLD
102
    invoke  edit_box_mouse, editRU
118
    invoke  edit_box_mouse, editRU
103
    invoke  edit_box_mouse, editRD
119
    invoke  edit_box_mouse, editRD
-
 
120
    ;invoke  check_box_mouse, ch1     ;ïðîâåðêà ÷åê áîêñà
Line 104... Line 121...
104
    invoke  check_box_mouse, ch1     ;ïðîâåðêà ÷åê áîêñà
121
    ;stdcall [kmainmenu_dispatch_cursorevent], [modeMenu] ;ïðîâåðêà ìûøè äëÿ êîìáîáîêñà
Line 105... Line 122...
105
 
122
 
Line 157... Line 174...
157
    jne @f
174
    jne @f
158
    mov byte[editID], 7
175
    mov byte[editID], 7
159
    call but_open_dlg
176
    call but_open_dlg
160
    jmp  event_wait
177
    jmp  event_wait
161
@@:
178
@@:
-
 
179
    cmp ah, 8
-
 
180
    jne @f
-
 
181
    push eax ebx ecx
-
 
182
    mcall 9, pi, -1 ;get window coord
-
 
183
 
-
 
184
                mov eax, dword[pi+34]
-
 
185
                add eax, buttonModeX ;+ 5
-
 
186
                mov word[coordModeMenu.x], ax
-
 
187
 
-
 
188
                mov eax, dword[pi+38]
-
 
189
                add eax, buttonModeY + 17 ;20 ;42
-
 
190
                mov word[coordModeMenu.y], ax
-
 
191
 
-
 
192
                stdcall [ksubmenu_draw], [modeMenu], coordModeMenu
-
 
193
    pop ecx ebx eax
-
 
194
    jmp  event_wait
-
 
195
@@:
-
 
196
    cmp ah, 110
-
 
197
    jne @f
-
 
198
    mov byte[mode], 48 ;'0'
-
 
199
    jmp  event_wait
-
 
200
@@:
-
 
201
    cmp ah, 111
-
 
202
    jne @f
-
 
203
    mov byte[mode], 49 ;'1'
-
 
204
    jmp  event_wait
-
 
205
@@:
-
 
206
    cmp ah, 112
-
 
207
    jne @f
-
 
208
    mov byte[mode], 50 ;'2'
-
 
209
    jmp  event_wait
-
 
210
@@:
-
 
211
    cmp ah, 113
-
 
212
    jne @f
-
 
213
    mov byte[mode], 51 ;'3'
-
 
214
    jmp  event_wait
-
 
215
@@:
162
butend:
216
butend:
163
    jmp  event_wait    ;this is for ignored events, useful at development
217
    jmp  event_wait    ;this is for ignored events, useful at development
Line 253... Line 307...
253
        ;çàïîëíèì áóôåð ñîäåðæèìîãî:
307
        ;çàïîëíèì áóôåð ñîäåðæèìîãî:
254
        ;cmp byte[mode], 0
308
        ;cmp byte[mode], 0
255
        ;jne @f
309
        ;jne @f
256
        ;@@:
310
        ;@@:
257
        ;
311
        ;
-
 
312
 
-
 
313
        push ebx    ;ñîõðàíÿåì âûáðàííûé ðåæèì
-
 
314
        mov bl, byte[mode]
-
 
315
        mov byte[eax], bl
-
 
316
        pop ebx
-
 
317
 
258
        mov byte[eax], 48;'0' ;110; 'n' ;ïî óìîë÷àíèþ ôëàã ñíÿò
318
;;        mov byte[eax], 48;'0' ;110; 'n' ;ïî óìîë÷àíèþ ôëàã ñíÿò
259
        cmp word[ch1.flags], 110b ;ch_flag_en and ch_flag_middle ;âûñòàâëåí checkBox èëè íåò?
319
;;        cmp word[ch1.flags], 110b ;ch_flag_en and ch_flag_middle ;âûñòàâëåí checkBox èëè íåò?
260
        jne applyButton.no
320
;;        jne applyButton.no
261
        mov byte[eax], 49;'1' ;121 ;èíà÷å êëàä¸ì 'y'
321
;;        mov byte[eax], 49;'1' ;121 ;èíà÷å êëàä¸ì 'y'
262
.no:
322
;;.no:
263
        inc eax
323
        inc eax
264
        call addPerenos
324
        call addPerenos
Line 265... Line 325...
265
 
325
 
266
        push esi ebx
326
        push esi ebx
Line 412... Line 472...
412
   je loadConfig.default
472
   je loadConfig.default
413
.start:
473
.start:
414
   add edx, eax             ;êëàä¸ì â edx - àäðåñ êîíöà êîíôèã.äàííûõ
474
   add edx, eax             ;êëàä¸ì â edx - àäðåñ êîíöà êîíôèã.äàííûõ
Line 415... Line 475...
415
 
475
 
-
 
476
.chStart:
-
 
477
 
-
 
478
   push ebx
416
.chStart:
479
   mov bl, byte[eax]
-
 
480
   cmp bl, 48          ; åñëè çíà÷åíèå âûõîäèò çà äîïóñòèìûå ïðåäåëû, òî ïðîâåðÿåì íà 'n' (äëÿ ñîâìåñòèìîñòè)
-
 
481
   jb loadConfig.checkN
417
   cmp byte[eax], 49;'1' ;121 ;'y'  ;âûñòàâëÿåì checkBox - ïàðàìåòð àêòèâíîñòè ïðèëîæåíèÿ
482
   cmp bl, 51
-
 
483
   ja loadConfig.checkN
-
 
484
 
-
 
485
   mov byte[mode], bl  ;èíà÷å óñòàíàâëèâàåì ýòîò ðåæèì êàê åñòü
418
   jne @f ;loadConfig.no
486
   jmp loadConfig.modeEnd   ;è èä¸ì äàëüøå
419
.yes:
487
.checkN:
-
 
488
   cmp bl, 'n'             ;åñëè n - òî ðåæèì "îòêëþ÷åíî"
-
 
489
   jne @f
420
   mov word[ch1.flags], 110b ;ch_flag_en and ch_flag_middle
490
   mov byte[mode], 48 ;'0'
421
   jmp loadConfig.chEnd
491
   jmp loadConfig.modeEnd
-
 
492
@@:
-
 
493
   mov byte[mode], 49 ;'1' èíà÷å ïî óìîë÷àíèþ âêëþ÷¸í êëàññè÷åñêèé ðåæèì ðàáîòû
-
 
494
.modeEnd:
-
 
495
   pop ebx
-
 
496
 
-
 
497
;;   cmp byte[eax], 49;'1' ;121 ;'y'  ;âûñòàâëÿåì checkBox - ïàðàìåòð àêòèâíîñòè ïðèëîæåíèÿ
-
 
498
;;   jne @f ;loadConfig.no
-
 
499
;;.yes:
-
 
500
;;   mov word[ch1.flags], 110b ;ch_flag_en and ch_flag_middle
-
 
501
;;   jmp loadConfig.chEnd
422
@@:
502
;;@@:
423
   cmp byte[eax], 50;'2' ;âòîðîé ðåæèì àêòèâèðîâàí
503
;;   cmp byte[eax], 50;'2' ;âòîðîé ðåæèì àêòèâèðîâàí
424
   je loadConfig.yes
504
;;   je loadConfig.yes
425
.no:
505
;;.no:
426
   mov word[ch1.flags], 100b ;ch_flag_middle
506
;;   mov word[ch1.flags], 100b ;ch_flag_middle
427
.chEnd:
507
;;.chEnd:
Line 428... Line 508...
428
   ;jmp loadConfig.end   ;êîìàíäà äëÿ óäîáñòâà îòëàäêè è ïîèñêà îøèáîê
508
   ;jmp loadConfig.end   ;êîìàíäà äëÿ óäîáñòâà îòëàäêè è ïîèñêà îøèáîê
429
 
509
 
430
   ;êîïèðóåì ñîäåðæèìîå ñòðîê â áóôåð
510
   ;êîïèðóåì ñîäåðæèìîå ñòðîê â áóôåð
Line 642... Line 722...
642
        invoke  edit_box_draw, editLU  ;ðèñîâàíèå edit box'îâ
722
        invoke  edit_box_draw, editLU  ;ðèñîâàíèå edit box'îâ
643
        invoke  edit_box_draw, editLD
723
        invoke  edit_box_draw, editLD
644
        invoke  edit_box_draw, editRU
724
        invoke  edit_box_draw, editRU
645
        invoke  edit_box_draw, editRD
725
        invoke  edit_box_draw, editRD
Line 646... Line 726...
646
 
726
 
Line 647... Line 727...
647
        invoke  check_box_draw, ch1    ;ðèñîâàíèå ÷åêáîêñîâ
727
        ;invoke  check_box_draw, ch1    ;ðèñîâàíèå ÷åêáîêñîâ
648
 
728
 
649
        ;ðèñóåì êíîïêó
729
        ;ðèñóåì êíîïêó
650
        mov ebx, (WindowsWidth-80-Otstup)*65536 + 80 ;êîîðäèíàòà X, øèðèíà êíîïêè
730
        mov ebx, (WindowsWidth-80-Otstup)*65536 + 80 ;êîîðäèíàòà X, øèðèíà êíîïêè
Line 703... Line 783...
703
        mcall 4
783
        mcall 4
704
        mov     ebx, (WindowsWidth-Otstup-buttonW+deltaCommonTextX) * 65536 + (120 + deltaCommonTextY)
784
        mov     ebx, (WindowsWidth-Otstup-buttonW+deltaCommonTextX) * 65536 + (120 + deltaCommonTextY)
705
        mcall 4
785
        mcall 4
Line -... Line 786...
-
 
786
 
-
 
787
 
-
 
788
        ;delete mode button, if it exist
-
 
789
        mov edx, 0x80000008
-
 
790
        mcall 8
-
 
791
        ;draw button Mode
-
 
792
        buttonModeX = 30 ;433
-
 
793
        buttonModeY = 160 ;50
-
 
794
        buttonModeWidth = 221
-
 
795
        buttonModeHeight = 20
-
 
796
        buttonModeTextXoffset = 5
-
 
797
        mov ebx, buttonModeX*65536 + buttonModeWidth  ;X + Width
-
 
798
        mov ecx, buttonModeY*65536 + buttonModeHeight   ;Y + Height
-
 
799
        mov edx, 0x00000008       ;button id
-
 
800
        mov esi, 0x00AABBCC       ;color button
-
 
801
        mcall 8
-
 
802
        ;draw text for button Mode
-
 
803
        mov     ebx, (buttonModeX+buttonModeTextXoffset) * 65536 + (buttonModeY+6)    ;(x, y)
-
 
804
        mov     ecx, 0xFFFFFF
-
 
805
        call setTextModeMenu
-
 
806
        mov     esi, valueModeMenuSize
-
 
807
        mcall 4
706
 
808
 
Line 707... Line 809...
707
 
809
 
708
        call draw_super_text
810
        call draw_super_text
709
 
811
 
Line 726... Line 828...
726
        mcall
828
        mcall
Line 727... Line 829...
727
 
829
 
Line -... Line 830...
-
 
830
        ret
-
 
831
 
-
 
832
 
-
 
833
setTextModeMenu:
-
 
834
   cmp byte[mode], 48
-
 
835
   jne @f
-
 
836
        mov edx, valueModeMenu0
-
 
837
        ret
-
 
838
@@:
-
 
839
   cmp byte[mode], 49
-
 
840
   jne @f
-
 
841
        mov edx, valueModeMenu1
-
 
842
        ret
-
 
843
@@:
-
 
844
   cmp byte[mode], 50
-
 
845
   jne @f
-
 
846
        mov edx, valueModeMenu2
-
 
847
        ret
-
 
848
@@:
-
 
849
   cmp byte[mode], 51
-
 
850
   jne @f
-
 
851
        mov edx, valueModeMenu3
-
 
852
        ret
Line 728... Line 853...
728
        ret
853
@@:
729
 
854
   mov edx, valueModeMenu1
Line 747... Line 872...
747
 
872
 
Line 748... Line 873...
748
 
873
 
749
;DATA äàííûå check_box èñïîëüçóåò ñèñòåìíûå öâåòà
874
;DATA äàííûå check_box èñïîëüçóåò ñèñòåìíûå öâåòà
Line 750... Line 875...
750
 
875
 
751
;êîîðäèíàòû (x,y) = (30, 160) ðàçìåð ÷åêáîêñà 12, öâåò òåêñòà 0x224466
876
;êîîðäèíàòû (x,y) = (30, 160) ðàçìåð ÷åêáîêñà 12, öâåò òåêñòà 0x224466
Line 752... Line 877...
752
ch1     check_box2 30 shl 16 + 12, 160 shl 16 + 12, 6, 0xFFFFFFFF, 0xAABBCC, 0x224466, ch_text, 110b ; ch_flag_en and ch_flag_middle
877
;ch1     check_box2 30 shl 16 + 12, 160 shl 16 + 12, 6, 0xFFFFFFFF, 0xAABBCC, 0x224466, ch_text, 110b ; ch_flag_en and ch_flag_middle
Line 772... Line 897...
772
  .ld db 'Š®¬ ­¤  «¥¢®£® ­¨¦­¥£® 㣫 :  ', 0
897
  .ld db 'Š®¬ ­¤  «¥¢®£® ­¨¦­¥£® 㣫 :  ', 0
773
  .ru db 'Š®¬ ­¤  ¯à ¢®£® ¢¥àå­¥£® 㣫 :', 0
898
  .ru db 'Š®¬ ­¤  ¯à ¢®£® ¢¥àå­¥£® 㣫 :', 0
774
  .rd db 'Š®¬ ­¤  ¯à ¢®£® ­¨¦­¥£® 㣫 : ', 0
899
  .rd db 'Š®¬ ­¤  ¯à ¢®£® ­¨¦­¥£® 㣫 : ', 0
775
superTextSize = 30
900
superTextSize = 30
Line -... Line 901...
-
 
901
 
-
 
902
valueModeMenuSize = 32
-
 
903
ModeMenu  db '¥¦¨¬ à ¡®âë:',0
-
 
904
valueModeMenu0  db '®âª«î祭®                       ',0
-
 
905
valueModeMenu1  db 'ª« áá¨ç¥áª¨© ०¨¬              ',0
-
 
906
valueModeMenu2  db '०¨¬ £®àï祩 ª« ¢¨è¨           ',0
-
 
907
valueModeMenu3  db '०¨¬ ¦¥áâ  ¯® ª« ¢¨è¥  ªâ¨¢ æ¨¨',0
776
 
908
 
Line 777... Line 909...
777
else  ;èíà÷å àíãëèéñêèé òåêñò
909
else  ;èíà÷å àíãëèéñêèé òåêñò
778
 
910
 
779
text    db  "This is a Hot Angles Configurator.                            "
911
text    db  "This is a Hot Angles Configurator.                            "
Line 792... Line 924...
792
  .ld db 'Left down angle command: ', 0
924
  .ld db 'Left down angle command: ', 0
793
  .ru db 'Right up angle command:  ', 0
925
  .ru db 'Right up angle command:  ', 0
794
  .rd db 'Right down angle command:', 0
926
  .rd db 'Right down angle command:', 0
795
superTextSize = 25
927
superTextSize = 25
Line -... Line 928...
-
 
928
 
-
 
929
valueModeMenuSize = 32
-
 
930
ModeMenu  db 'Mode:',0
-
 
931
valueModeMenu0  db 'disabled                        ',0
-
 
932
valueModeMenu1  db 'classic mode                    ',0
-
 
933
valueModeMenu2  db 'hot key mode                    ',0
-
 
934
valueModeMenu3  db 'activation key gesture mode     ',0
796
 
935
 
Line 797... Line 936...
797
end if
936
end if
798
 
937
 
Line 819... Line 958...
819
   mov     ebx, 240 * 65536 + 109
958
   mov     ebx, 240 * 65536 + 109
820
   mov     edx, superText.rd
959
   mov     edx, superText.rd
821
   mov     esi, superTextSize
960
   mov     esi, superTextSize
822
   mcall 4
961
   mcall 4
Line -... Line 962...
-
 
962
 
-
 
963
   mov     ebx, Otstup * 65536 + (buttonModeY-11)
-
 
964
   or ecx, 0x80000000
-
 
965
   mov     edx, ModeMenu
-
 
966
   mov     esi, 3
-
 
967
   mcall 4
823
 
968
 
824
   pop esi edi edx ecx ebx eax
969
   pop esi edi edx ecx ebx eax
Line 825... Line 970...
825
   ret
970
   ret
826
 
971
 
Line 947... Line 1092...
947
communication_area_default_path: db '/rd/1/File managers/',0
1092
communication_area_default_path: db '/rd/1/File managers/',0
Line 948... Line 1093...
948
 
1093
 
949
Filter:
1094
Filter:
950
dd Filter.end - Filter.1
1095
dd Filter.end - Filter.1
951
.1:
-
 
952
;db 'ASM',0
1096
.1:
953
;db 'KEX',0
-
 
954
;db 'TXT',0
1097
;db 'KEX',0
955
.end:
1098
.end:
Line -... Line 1099...
-
 
1099
db 0
-
 
1100
 
-
 
1101
mode db 49 ;'1'
-
 
1102
modeMenu dd 0
-
 
1103
coordModeMenu:
-
 
1104
  .x dw 100
-
 
1105
  .y dw 200
956
db 0
1106
 
957
 
1107
 
958
align 4
1108
align 4
959
proclib_import: ;îïèñàíèå ýêñïîðòèðóåìûõ ôóíêöèé
1109
proclib_import: ;îïèñàíèå ýêñïîðòèðóåìûõ ôóíêöèé
960
        OpenDialog_Init dd aOpenDialog_Init
1110
        OpenDialog_Init dd aOpenDialog_Init
Line 965... Line 1115...
965
 
1115
 
966
head_f_i:
1116
head_f_i:
967
        head_f_l  db 'Ñèñòåìíàÿ îøèáêà',0
1117
        head_f_l  db 'Ñèñòåìíàÿ îøèáêà',0
968
        err_message_found_lib0 db 'Íå íàéäåíà áèáëèîòåêà ',39,'proc_lib.obj',39,0
1118
        err_message_found_lib0 db 'Íå íàéäåíà áèáëèîòåêà ',39,'proc_lib.obj',39,0
-
 
1119
        err_message_import0 db 'Îøèáêà ïðè èìïîðòå áèáëèîòåêè ',39,'proc_lib.obj',39,0
-
 
1120
        err_message_found_lib1 db 'Íå íàéäåíà áèáëèîòåêà ',39,'kmenu.obj',39,0    ;'¥ ­ ©¤¥­  ¡¨¡«¨®â¥ª  '
Line 969... Line 1121...
969
        err_message_import0 db 'Îøèáêà ïðè èìïîðòå áèáëèîòåêè ',39,'proc_lib.obj',39,0
1121
        err_message_import1 db 'Îøèáêà ïðè èìïîðòå áèáëèîòåêè ',39,'kmenu',39,0   ;'Žè¨¡ª  ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ '
970
 
1122
 
-
 
1123
system_dir0 db '/sys/lib/'
Line 971... Line 1124...
971
system_dir0 db '/sys/lib/'
1124
lib0_name db 'proc_lib.obj',0
972
lib0_name db 'proc_lib.obj',0
1125
lib1_name db 'kmenu.obj',0
973
 
1126
 
-
 
1127
;library structures
974
;library structures
1128
l_libs_start:
975
l_libs_start:
-
 
976
        lib0 l_libs lib0_name, sys_path, file_name, system_dir0, err_message_found_lib0, head_f_l, proclib_import,err_message_import0, head_f_i
-
 
977
load_lib_end:
-
 
978
 
-
 
979
;txt_open db 'Îòêðûòü',0
-
 
980
 
-
 
981
sys_path:      rb 4096
-
 
982
file_name:     rb 4096
-
 
983
plugin_path:   rb 4096
-
 
984
openfile_path: rb 4096
-
 
985
filename_area: rb 256
1129
    lib0 l_libs lib0_name, sys_path, file_name, system_dir0, err_message_found_lib0, head_f_l, proclib_import,err_message_import0, head_f_i
Line 986... Line -...
986
rb 1024
-
 
987
procinfo process_information
-
 
988
;!]
1130
    lib1 l_libs lib1_name, sys_path, file_name, system_dir0, err_message_found_lib1, head_f_l, import_libkmenu,err_message_import1,head_f_i
989
 
1131
load_lib_end:
Line 990... Line 1132...
990
 
1132
;!]
991
 
1133
 
992
edMaxSize = 510 ;òåïåðü ñ íîâûì êîìïîíåíòîì ìîæíî è 511 óêàçàòü
1134
edMaxSize = 510 ;òåïåðü ñ íîâûì êîìïîíåíòîì ìîæíî è 511 óêàçàòü
993
edMax = 0 ;max, size, pos
1135
edMax = 0 ;max, size, pos
994
 
1136
 
Line -... Line 1137...
-
 
1137
align 4
-
 
1138
editLU   edit_box 180-buttonW,Otstup+buttonW,85, 0xffffff, 0x6a9480, 0, 0xAABBCC, 0, edMaxSize, dataBuffer.1, mouse_dd, 0, edMax, edMax  ;ed_focus
-
 
1139
editLD   edit_box 180-buttonW,Otstup+buttonW,120, 0xffffff, 0x6a9480, 0, 0xAABBCC, 0, edMaxSize, dataBuffer.2, mouse_dd, 0, edMax, edMax
-
 
1140
editRU   edit_box 180-buttonW,240,85, 0xffffff, 0x6a9480, 0, 0xAABBCC, 0, edMaxSize, dataBuffer.3, mouse_dd, 0, edMax, edMax
-
 
1141
editRD   edit_box 180-buttonW,240,120, 0xffffff, 0x6a9480, 0, 0xAABBCC, 0, edMaxSize, dataBuffer.4, mouse_dd, 0, edMax, edMax
-
 
1142
 
-
 
1143
align 4
-
 
1144
import_libkmenu:
-
 
1145
        kmenu_init      dd akmenu_init
-
 
1146
        kmainmenu_draw  dd akmainmenu_draw
-
 
1147
        kmainmenu_dispatch_cursorevent dd akmainmenu_dispatch_cursorevent
-
 
1148
        ksubmenu_new    dd aksubmenu_new
-
 
1149
        ksubmenu_delete dd aksubmenu_delete
-
 
1150
        ksubmenu_draw   dd aksubmenu_draw
-
 
1151
        ksubmenu_add    dd aksubmenu_add
-
 
1152
        kmenuitem_new   dd akmenuitem_new
-
 
1153
        kmenuitem_delete dd akmenuitem_delete
-
 
1154
        kmenuitem_draw  dd akmenuitem_draw
-
 
1155
dd 0,0
-
 
1156
        akmenu_init     db 'kmenu_init',0
-
 
1157
        akmainmenu_draw db 'kmainmenu_draw',0
-
 
1158
        akmainmenu_dispatch_cursorevent db 'kmainmenu_dispatch_cursorevent',0
-
 
1159
        aksubmenu_new   db 'ksubmenu_new',0
-
 
1160
        aksubmenu_delete db 'ksubmenu_delete',0
995
align 4
1161
        aksubmenu_draw  db 'ksubmenu_draw',0
996
editLU   edit_box 180-buttonW,Otstup+buttonW,85, 0xffffff, 0x6a9480, 0, 0xAABBCC, 0, edMaxSize, dataBuffer.1, mouse_dd, 0, edMax, edMax  ;ed_focus
1162
        aksubmenu_add   db 'ksubmenu_add',0
Line -... Line 1163...
-
 
1163
        akmenuitem_new  db 'kmenuitem_new',0
-
 
1164
        akmenuitem_delete db 'kmenuitem_delete',0
-
 
1165
        akmenuitem_draw  db 'kmenuitem_draw',0
-
 
1166
 
-
 
1167
mouse_dd  dd ?
-
 
1168
sc  system_colors
-
 
1169
 
-
 
1170
button_press  rd 0     ;for kmenu
-
 
1171
 
-
 
1172
sys_path:      rb 4096
-
 
1173
file_name:     rb 4096
-
 
1174
plugin_path:   rb 4096
997
editLD   edit_box 180-buttonW,Otstup+buttonW,120, 0xffffff, 0x6a9480, 0, 0xAABBCC, 0, edMaxSize, dataBuffer.2, mouse_dd, 0, edMax, edMax
1175
openfile_path: rb 4096
998
editRU   edit_box 180-buttonW,240,85, 0xffffff, 0x6a9480, 0, 0xAABBCC, 0, edMaxSize, dataBuffer.3, mouse_dd, 0, edMax, edMax
1176
filename_area: rb 256
999
editRD   edit_box 180-buttonW,240,120, 0xffffff, 0x6a9480, 0, 0xAABBCC, 0, edMaxSize, dataBuffer.4, mouse_dd, 0, edMax, edMax
1177
rb 1024
1000
 
1178
procinfo process_information
1001
mouse_dd  dd ?
1179
pi rb 1024