Rev 5911 | Rev 7577 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5911 | Rev 7575 | ||
---|---|---|---|
1 | use32 |
1 | use32 |
2 | org 0x0 |
2 | org 0 |
3 | db 'MENUET01' ;¨¤¥â¨ä. ¨á¯®«ï¥¬®£® ä ©« ¢á¥£¤ 8 ¡ ©â |
3 | db 'MENUET01' ;¨¤¥â¨ä. ¨á¯®«ï¥¬®£® ä ©« ¢á¥£¤ 8 ¡ ©â |
4 | dd 0x01 |
- | |
5 | dd start |
- | |
6 | dd i_end ; à §¬¥à ¯à¨«®¦¥¨ï |
4 | dd 1, start, i_end, mem, stacktop, file_name, sys_path |
7 | dd mem |
- | |
8 | dd stacktop |
- | |
9 | dd file_name |
- | |
10 | dd sys_path |
- | |
11 | 5 | ||
12 | MAX_COLOR_WORD_LEN equ 40 |
6 | MAX_COLOR_WORD_LEN equ 40 |
13 | BUF_SIZE equ 4096 ;buffer for copy|paste |
7 | BUF_SIZE equ 4096 ;buffer for copy|paste |
14 | maxSyntaxFileSize equ 310000 |
- | |
15 | CAPT_PATH_WIDTH equ 50 ;è¨à¨ ¯®¤¯¨á¨ ¯¥à¥¤ ⥪áâ®¢ë¬ ¯®«¥¬ |
8 | CAPT_PATH_WIDTH equ 50 ;è¨à¨ ¯®¤¯¨á¨ ¯¥à¥¤ ⥪áâ®¢ë¬ ¯®«¥¬ |
16 | 9 | ||
17 | include '../../macros.inc' |
10 | include '../../macros.inc' |
18 | include '../../proc32.inc' |
11 | include '../../proc32.inc' |
- | 12 | include '../../KOSfuncs.inc' |
|
19 | include '../../develop/libraries/box_lib/load_lib.mac' |
13 | include '../../load_img.inc' |
20 | include '../../develop/libraries/box_lib/trunk/box_lib.mac' |
14 | include '../../develop/libraries/box_lib/trunk/box_lib.mac' |
21 | include '../../dll.inc' |
15 | include '../../system/skincfg/trunk/kglobals.inc' |
- | 16 | include '../../system/skincfg/trunk/unpacker.inc' |
|
22 | include 'te_data.inc' |
17 | include 'te_data.inc' |
23 | include 'te_work.inc' ;text work functions |
18 | include 'te_work.inc' ;text work functions |
24 | 19 | ||
25 | @use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load |
20 | @use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load |
26 | - | ||
27 | ; ªà®á ¤«ï § £à㧪¨ ¨§®¡à ¦¥¨© á ¨á¯®«ì§®¢ ¨¥¬ ¡¨¡«¨®â¥ª¨ libimg.obj |
- | |
28 | ;¤«ï ¨á¯®«ì§®¢ ¨ï ¬ ªà®á ã¦ë ¯¥à¥¬¥ë¥: |
- | |
29 | ; - run_file_70 FileInfoBlock |
- | |
30 | ; - image_data dd 0 |
- | |
31 | macro load_image_file path,buf,size |
- | |
32 | { |
- | |
33 | ;path - ¬®¦¥â ¡ëâì ¯¥à¥¬¥®© ¨«¨ áâப®¢ë¬ ¯ à ¬¥â஬ |
- | |
34 | if path eqtype '' ;¯à®¢¥à塞 § ¤ «¨ áâப®© ¯ à ¬¥âà path |
- | |
35 | jmp @f |
- | |
36 | local .path_str |
- | |
37 | .path_str db path ;ä®à¬¨à㥬 «®ª «ìãî ¯¥à¥¬¥ãî |
- | |
38 | db 0 |
- | |
39 | @@: |
- | |
40 | ;32 - áâ ¤ àâë© ¤à¥á ¯® ª®â®à®¬ã ¤®«¦¥ ¡ëâì ¡ãä¥à á á¨áâ¥¬ë¬ ¯ã⥬ |
- | |
41 | copy_path .path_str,[32],file_name,0 |
- | |
42 | else |
- | |
43 | copy_path path,[32],file_name,0 ;ä®à¬¨à㥬 ¯®«ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ® ¢ ®¤®© ¯ ¯ª¥ á ¯à®£à ¬¬®© |
- | |
44 | end if |
- | |
45 | - | ||
46 | stdcall mem.Alloc, dword size ;¢ë¤¥«ï¥¬ ¯ ¬ïâì ¤«ï ¨§®¡à ¦¥¨ï |
- | |
47 | mov [buf],eax |
- | |
48 | - | ||
49 | mov [run_file_70.Function], 0 |
- | |
50 | mov [run_file_70.Position], 0 |
- | |
51 | mov [run_file_70.Flags], 0 |
- | |
52 | mov [run_file_70.Count], dword size |
- | |
53 | mov [run_file_70.Buffer], eax |
- | |
54 | mov byte[run_file_70+20], 0 |
- | |
55 | mov [run_file_70.FileName], file_name |
- | |
56 | mcall 70,run_file_70 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥¨ï |
- | |
57 | cmp ebx,0xffffffff |
- | |
58 | je @f |
- | |
59 | ;®¯à¥¤¥«ï¥¬ ¢¨¤ ¨§®¡à ¦¥¨ï ¨ ¯¥à¥¢®¤¨¬ ¥£® ¢® ¢à¥¬¥ë© ¡ãä¥à image_data |
- | |
60 | stdcall dword[img_decode], dword[buf],ebx,0 |
- | |
61 | mov dword[image_data],eax |
- | |
62 | ;¯à¥®¡à §ã¥¬ ¨§®¡à ¦¥¨¥ ª ä®à¬ âã rgb |
- | |
63 | stdcall dword[img_to_rgb2], dword[image_data],dword[buf] |
- | |
64 | ;㤠«ï¥¬ ¢à¥¬¥ë© ¡ãä¥à image_data |
- | |
65 | stdcall dword[img_destroy], dword[image_data] |
- | |
66 | @@: |
- | |
67 | } |
- | |
68 | - | ||
69 | image_data dd 0 ;㪠§ â¥«ì ¢à¥¬¥ãî ¯ ¬ïâì. ¤«ï 㦥 ¯à¥®¡à §®¢ ¨ï ¨§®¡à ¦¥¨ï |
21 | |
70 | icon_tl_sys dd 0 ;㪠§ â¥«ì ¯ ¬ïâì ¤«ï åà ¥¨ï á¨á⥬ëå ¨ª®®ª |
22 | icon_tl_sys dd 0 ;㪠§ â¥«ì ¯ ¬ïâì ¤«ï åà ¥¨ï á¨á⥬ëå ¨ª®®ª |
71 | 23 | ||
72 | align 4 |
24 | align 4 |
73 | start: |
25 | start: |
74 | mcall 48,3,sc,sizeof.system_colors |
26 | mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors |
75 | 27 | ||
76 | mcall 68,11 |
28 | mcall SF_SYS_MISC,SSF_HEAP_INIT |
77 | or eax,eax |
29 | or eax,eax |
78 | jz button.exit |
30 | jz button.exit |
79 | 31 | ||
80 | mcall 66,1,1 ;scan code |
32 | mcall SF_KEYBOARD,SSF_SET_INPUT_MODE,1 ;scan code |
81 | mcall 40,0x27 |
- | |
82 | - | ||
83 | ;------------------------------------------------- |
- | |
84 | mov ecx,maxSyntaxFileSize |
- | |
85 | stdcall mem.Alloc,ecx |
- | |
86 | mov [options_file],eax |
- | |
87 | mov [options_file_end],eax |
- | |
88 | add [options_file_end],ecx |
- | |
89 | 33 | mcall SF_SET_EVENTS_MASK,0xC0000027 |
|
90 | 34 | ||
91 | load_libraries l_libs_start,load_lib_end |
35 | load_libraries l_libs_start,load_lib_end |
92 | 36 | ||
93 | ;¯à®¢¥àª ᪮«ìª® ã¤ ç® § £ã§¨« áì ¡¨¡«¨®â¥ª |
37 | ;¯à®¢¥àª ᪮«ìª® ã¤ ç® § £ã§¨« áì ¡¨¡«¨®â¥ª |
94 | cmp dword [lib0+ll_struc_size-4],0 |
38 | cmp dword[lib0+ll_struc_size-4],0 |
95 | jz @f |
39 | jz @f |
96 | mcall -1 ;exit not correct |
40 | mcall -1 ;exit not correct |
97 | @@: |
41 | @@: |
98 | 42 | ||
99 | ;--------------------------------------------------------------------- |
43 | ;--------------------------------------------------------------------- |
100 | stdcall dword[tl_data_init],dword tree1 |
44 | stdcall [tl_data_init], tree1 |
101 | 45 | ||
102 | ; ç¨â ¥¬ ä ©« á ªãàá®à ¬¨ ¨ «¨¨ï¬¨ |
46 | ; ç¨â ¥¬ ä ©« á ªãàá®à ¬¨ ¨ «¨¨ï¬¨ |
103 | load_image_file 'tl_sys_16.png', icon_tl_sys,54+3*256*13 |
47 | include_image_file '..\..\media\log_el\trunk\tl_sys_16.png', icon_tl_sys |
104 | mov eax,dword[icon_tl_sys] |
48 | mov eax,[icon_tl_sys] |
105 | mov dword[tree1.data_img_sys],eax |
49 | mov [tree1.data_img_sys],eax |
106 | ;--------------------------------------------------------------------- |
50 | ;--------------------------------------------------------------------- |
107 | ; ç¨â ¥¬ bmp ä ©« á ¨ª®ª ¬¨ 㧫®¢ |
51 | ; ç¨â ¥¬ bmp ä ©« á ¨ª®ª ¬¨ 㧫®¢ |
108 | load_image_file 'tl_nod_16.png', icon_tl_sys,54+3*256*2 |
52 | include_image_file '..\t_edit\tl_nod_16.png', icon_tl_sys |
109 | mov eax,dword[icon_tl_sys] |
53 | mov eax,[icon_tl_sys] |
110 | mov dword[tree1.data_img],eax |
54 | mov [tree1.data_img],eax |
111 | ;------------------------------------------------------------------------------ |
55 | ;------------------------------------------------------------------------------ |
112 | copy_path fn_syntax_dir,sys_path,file_name,0 ;¡¥à¥¬ ¯ãâì ª ¯ ¯ª¥ á ä ©« ¬¨ á¨â ªá¨á |
- | |
113 | mov eax,70 |
56 | copy_path fn_syntax_dir,sys_path,file_name,0 ;¡¥à¥¬ ¯ãâì ª ¯ ¯ª¥ á ä ©« ¬¨ á¨â ªá¨á |
114 | mov ebx,tree_file_struct |
- | |
115 | int 0x40 |
57 | mcall SF_FILE,tree_file_struct |
116 | 58 | ||
117 | cmp ebx,-1 |
59 | cmp ebx,-1 |
118 | je .end_dir_init |
60 | je .end_dir_init |
119 | - | ||
120 | mov eax,dir_mem |
61 | mov eax,dir_mem |
121 | add eax,32+4+1+3+4*6+8 |
62 | add eax,32+4+1+3+4*6+8 |
122 | mov ecx,ebx |
63 | mov ecx,ebx |
123 | @@: |
64 | @@: |
124 | cmp byte[eax],'.' ;䨫ìâà㥬 ä ©«ë á ¨¬¥ ¬¨ '.' ¨ '..' |
65 | cmp byte[eax],'.' ;䨫ìâà㥬 ä ©«ë á ¨¬¥ ¬¨ '.' ¨ '..' |
125 | je .filter |
66 | je .filter |
126 | stdcall dword[tl_node_add],tree1,0x10000,eax ;1*2^16 - £¤¥ 1 ®¬¥à ¨ª®ª¨ á ª¨£®© |
67 | stdcall [tl_node_add],tree1,0x10000,eax ;1*2^16 - £¤¥ 1 ®¬¥à ¨ª®ª¨ á ª¨£®© |
127 | stdcall dword[tl_cur_next],tree1 |
68 | stdcall [tl_cur_next],tree1 |
128 | .filter: |
69 | .filter: |
129 | add eax,304 |
70 | add eax,304 |
130 | loop @b |
71 | loop @b |
131 | stdcall dword[tl_cur_beg],tree1 ;áâ ¢¨¬ ªãàá®à ç «® ᯨ᪠|
72 | stdcall [tl_cur_beg],tree1 ;áâ ¢¨¬ ªãàá®à ç «® ᯨ᪠|
- | 73 | or dword[tree1.style], tl_cursor_pos_limited ;®£à ¨ç¨¢ ¥¬ ¤¢¨¦¥¨¥ ªãàá®à ¢ ¯à¥¤¥« å ᯨ᪠|
|
132 | .end_dir_init: |
74 | .end_dir_init: |
133 | 75 | ||
134 | ;--- load color option file --- |
76 | ;--- load color option file --- |
135 | stdcall [ted_init], tedit0 |
77 | stdcall [ted_init], tedit0 |
136 | mov byte[file_name],0 |
78 | mov byte[file_name],0 |
137 | 79 | ||
138 | align 4 |
80 | align 4 |
139 | red_win: |
81 | red_win: |
140 | call draw_window |
82 | call draw_window |
141 | 83 | ||
142 | align 4 |
84 | align 4 |
143 | still: |
85 | still: |
144 | mcall 10 |
86 | mcall SF_WAIT_EVENT |
145 | 87 | ||
146 | cmp al,1 ;¨§¬. ¯®«®¦¥¨¥ ®ª |
88 | cmp al,1 ;¨§¬. ¯®«®¦¥¨¥ ®ª |
147 | jz red_win |
89 | jz red_win |
148 | cmp al,2 |
90 | cmp al,2 |
149 | jz key |
91 | jz key |
150 | cmp al,3 |
92 | cmp al,3 |
151 | jz button |
93 | jz button |
152 | cmp al,6 |
94 | cmp al,6 |
153 | jz mouse |
95 | jz mouse |
154 | 96 | ||
155 | jmp still |
97 | jmp still |
156 | 98 | ||
157 | 99 | ||
158 | align 4 |
100 | align 4 |
159 | draw_window: |
101 | draw_window: |
160 | pushad |
102 | pushad |
161 | mcall 12,1 |
103 | mcall SF_REDRAW,SSF_BEGIN_DRAW |
162 | 104 | ||
163 | mov edx,[sc.work] |
105 | mov edx,[sc.work] |
164 | or edx,0x33000000 |
106 | or edx,0x33000000 |
165 | mov edi,hed |
107 | mov edi,hed |
166 | mcall 0,<10,555>,<10,333> |
108 | mcall SF_CREATE_WINDOW,<10,555>,<10,333> |
167 | 109 | ||
- | 110 | mcall SF_THREAD_INFO,procinfo,-1 |
|
- | 111 | mov edi,tedit0 ;§ 票¥ edi 㦮 ¤«ï EvSize ¨ ted_wnd_t |
|
168 | mcall 9,procinfo,-1 |
- | |
169 | - | ||
170 | mov eax,8 ;ª®¯ª |
- | |
171 | mov ebx,5*65536+90 |
- | |
172 | mov ecx,195*65536+20 |
112 | call EvSize |
173 | mov edx,200 |
113 | |
174 | mov esi,[sc.work_button];0xd0 |
- | |
175 | mcall |
114 | mov esi,[sc.work_button];0xd0 |
176 | 115 | mcall SF_DEFINE_BUTTON,5*65536+90,195*65536+20,200 |
|
177 | ;mov eax,8 |
116 | |
178 | mov ebx,100*65536+85 |
117 | mov ebx,100*65536+85 |
179 | mov ecx,195*65536+20 |
118 | mov ecx,195*65536+20 |
180 | mov edx,201 |
119 | mov edx,201 |
181 | mov esi,0xd00000 |
120 | mov esi,0xd00000 |
182 | mcall |
121 | mcall |
183 | - | ||
184 | mov eax,4 ;à¨á®¢ ¨¥ ⥪áâ |
- | |
185 | mov ebx,10*65536+200 |
122 | |
186 | mov ecx,[sc.work_button_text] |
123 | mov ecx,[sc.work_button_text] |
187 | or ecx,0x80000000 |
124 | or ecx,0x80000000 |
188 | mov edx,txt122 |
- | |
189 | mcall |
- | |
190 | 125 | mcall SF_DRAW_TEXT,10*65536+200,,txt_load_f |
|
191 | mov ebx,105*65536+200 |
126 | |
192 | mov ecx,0xffff00 |
127 | mov ecx,0xffff00 |
193 | or ecx,0x80000000 |
- | |
194 | mov edx,txt148 |
- | |
195 | mcall |
128 | or ecx,0x80000000 |
196 | 129 | mcall ,105*65536+200,,txt_save_f |
|
197 | mov ebx,195*65536+10 |
130 | |
198 | mov ecx,[sc.work_text] |
- | |
199 | or ecx,0x80000000 |
131 | mov ecx,[sc.work_text] |
200 | mov edx,txt_inp_file |
132 | or ecx,0x80000000 |
201 | int 0x40 |
133 | mcall ,195*65536+10,,txt_inp_file |
202 | 134 | ||
203 | add ebx,20 |
135 | add ebx,20 |
204 | mov edx,txt_out_file |
136 | mov edx,txt_out_file |
205 | int 0x40 |
137 | int 0x40 |
206 | 138 | ||
207 | push dword PathShow_data_1 |
139 | push dword PathShow_data_1 |
208 | call [PathShow_draw] |
140 | call [PathShow_draw] |
209 | 141 | ||
210 | stdcall [edit_box_draw],dword edit1 |
142 | stdcall [edit_box_draw],dword edit1 |
211 | stdcall [tl_draw],dword tree1 |
143 | stdcall [tl_draw],dword tree1 |
212 | 144 | ||
213 | ;scroll 1 |
145 | ;scroll 1 |
214 | mov [ws_dir_lbox.all_redraw],1 |
146 | mov [ws_dir_lbox.all_redraw],1 |
215 | stdcall [scrollbar_ver_draw],dword ws_dir_lbox |
147 | stdcall [scrollbar_ver_draw],dword ws_dir_lbox |
216 | stdcall [ted_draw], tedit0 |
148 | stdcall [ted_draw], tedit0 |
- | 149 | ||
- | 150 | mcall SF_REDRAW,SSF_END_DRAW |
|
- | 151 | popad |
|
- | 152 | ret |
|
- | 153 | ||
- | 154 | MIN_M_WND_H equ 100 ;¬¨¨¬ «ì ï ¢ëá®â £« ¢®£® ®ª |
|
- | 155 | ;input: |
|
217 | 156 | ; edi = pointer to tedit struct |
|
- | 157 | align 4 |
|
- | 158 | EvSize: |
|
- | 159 | pushad |
|
- | 160 | mov ebx,ted_scr_h |
|
- | 161 | mov esi,ted_scr_w |
|
- | 162 | ||
- | 163 | m2m ted_wnd_w,[procinfo.client_box.width] ;áâ ¢¨¬ è¨à¨ã ®ª । ªâ®à à ¢®© è¨à¨¥ ¢á¥£® ®ª |
|
- | 164 | mov eax,ted_wnd_l |
|
- | 165 | sub ted_wnd_w,eax ;®â¨¬ ¥¬ ®âáâ㯠᫥¢ |
|
- | 166 | movzx eax,word[esi+sb_offs_size_x] |
|
- | 167 | sub ted_wnd_w,eax ;®â¨¬ ¥¬ è¨à¨ã ¢¥àâ. áªà®««¨£ |
|
- | 168 | ||
- | 169 | m2m ted_wnd_h,[procinfo.client_box.height] ;áâ ¢¨¬ ¢ëá®âã ®ª । ªâ®à à ¢®© ¢ëá®â¥ ¢á¥£® ®ª |
|
- | 170 | cmp ted_wnd_h,MIN_M_WND_H |
|
- | 171 | jg @f |
|
- | 172 | mov ted_wnd_h,MIN_M_WND_H |
|
- | 173 | @@: |
|
- | 174 | ||
- | 175 | movzx eax,word[ebx+sb_offs_size_y] |
|
- | 176 | sub ted_wnd_h,eax ;®â¨¬ ¥¬ ¢ëá®âã £®à¨§. áªà®««¨£ |
|
- | 177 | mov eax,ted_wnd_t |
|
- | 178 | sub ted_wnd_h,eax ;®â¨¬ ¥¬ ®âáâ㯠ᢥàåã |
|
- | 179 | ||
218 | mcall 12,2 |
180 | stdcall [ted_init_scroll_bars], tedit0,2 |
219 | popad |
181 | popad |
220 | ret |
182 | ret |
221 | 183 | ||
222 | align 4 |
184 | align 4 |
223 | mouse: |
185 | mouse: |
224 | stdcall [tl_mouse],tree1 |
186 | stdcall [tl_mouse],tree1 |
225 | stdcall [edit_box_mouse],edit1 |
187 | stdcall [edit_box_mouse],edit1 |
226 | stdcall [ted_mouse], tedit0 |
188 | stdcall [ted_mouse], tedit0 |
227 | jmp still |
189 | jmp still |
228 | 190 | ||
229 | ;output: |
191 | ;output: |
230 | ; ah = symbol |
192 | ; ah = symbol |
231 | align 4 |
193 | align 4 |
232 | proc KeyConvertToASCII, table:dword |
194 | proc KeyConvertToASCII, table:dword |
233 | push ebx |
195 | push ebx |
234 | mov ebx,dword[table] ;convert scan to ascii |
196 | mov ebx,dword[table] ;convert scan to ascii |
235 | ror ax,8 |
197 | ror ax,8 |
236 | xor ah,ah |
198 | xor ah,ah |
237 | add bx,ax |
199 | add bx,ax |
238 | mov ah,byte[ebx] |
200 | mov ah,byte[ebx] |
239 | pop ebx |
201 | pop ebx |
240 | ret |
202 | ret |
241 | endp |
203 | endp |
242 | 204 | ||
243 | align 4 |
205 | align 4 |
244 | key: |
206 | key: |
245 | mcall 66,3 ;66.3 ¯®«ãç¨âì á®áâ®ï¨¥ ã¯à ¢«ïîé¨å ª« ¢¨è |
207 | mcall SF_KEYBOARD,SSF_GET_CONTROL_KEYS ;66.3 ¯®«ãç¨âì á®áâ®ï¨¥ ã¯à ¢«ïîé¨å ª« ¢¨è |
246 | xor esi,esi |
208 | xor esi,esi |
247 | mov ecx,1 |
209 | mov ecx,1 |
248 | test al,0x03 ;[Shift] |
210 | test al,3 ;[Shift] |
249 | jz @f |
211 | jz @f |
250 | mov cl,2 |
212 | mov cl,2 |
251 | or esi,KM_SHIFT |
213 | or esi,KM_SHIFT |
252 | @@: |
214 | @@: |
253 | test al,0x0c ;[Ctrl] |
215 | test al,0x0c ;[Ctrl] |
254 | jz @f |
216 | jz @f |
255 | or esi,KM_CTRL |
217 | or esi,KM_CTRL |
256 | @@: |
218 | @@: |
257 | test al,0x30 ;[Alt] |
219 | test al,0x30 ;[Alt] |
258 | jz @f |
220 | jz @f |
259 | mov cl,3 |
221 | mov cl,3 |
260 | or esi,KM_ALT |
222 | or esi,KM_ALT |
261 | @@: |
223 | @@: |
262 | test al,0x80 ;[NumLock] |
224 | test al,0x80 ;[NumLock] |
263 | jz @f |
225 | jz @f |
264 | or esi,KM_NUMLOCK |
226 | or esi,KM_NUMLOCK |
265 | @@: |
227 | @@: |
266 | 228 | ||
267 | mcall 26,2,,conv_tabl ;26.2 ¯®«ãç¨âì à ᪫ ¤ªã ª« ¢¨ âãàë |
229 | mcall SF_SYSTEM_GET,SSF_KEYBOARD_LAYOUT,,conv_tabl ;26.2 ¯®«ãç¨âì à ᪫ ¤ªã ª« ¢¨ âãàë |
268 | mcall 2 |
230 | mcall SF_GET_KEY |
269 | stdcall [tl_key],tree1 |
231 | stdcall [tl_key],tree1 |
270 | 232 | ||
271 | test word [edit1.flags],10b;ed_focus ; ¥á«¨ ¥ ¢ 䮪ãá¥, ¢ë室¨¬ |
233 | test word [edit1.flags],10b;ed_focus ; ¥á«¨ ¥ ¢ 䮪ãá¥, ¢ë室¨¬ |
272 | je @f |
234 | je @f |
273 | cmp ah,0x80 ;if key up |
235 | cmp ah,0x80 ;if key up |
274 | ja still |
236 | ja still |
275 | cmp ah,42 ;[Shift] (left) |
237 | cmp ah,42 ;[Shift] (left) |
276 | je still |
238 | je still |
277 | cmp ah,54 ;[Shift] (right) |
239 | cmp ah,54 ;[Shift] (right) |
278 | je still |
240 | je still |
279 | cmp ah,56 ;[Alt] |
241 | cmp ah,56 ;[Alt] |
280 | je still |
242 | je still |
281 | cmp ah,29 ;[Ctrl] |
243 | cmp ah,29 ;[Ctrl] |
282 | je still |
244 | je still |
283 | cmp ah,69 ;[Pause Break] |
245 | cmp ah,69 ;[Pause Break] |
284 | je still |
246 | je still |
285 | 247 | ||
286 | stdcall KeyConvertToASCII, dword conv_tabl |
248 | stdcall KeyConvertToASCII, conv_tabl |
287 | stdcall [edit_box_key],edit1 |
249 | stdcall [edit_box_key],edit1 |
288 | jmp still |
250 | jmp still |
289 | @@: |
251 | @@: |
290 | 252 | ||
291 | stdcall [ted_key], tedit0, conv_tabl,esi |
253 | stdcall [ted_key], tedit0, conv_tabl,esi |
292 | jmp still |
254 | jmp still |
293 | 255 | ||
294 | align 4 |
256 | align 4 |
295 | button: |
257 | button: |
296 | ; cmp [menu_active],1 ;¥á«¨ ¦ «¨ ¬¥î, â® á ç « ॠªæ¨ï ¬¥î |
- | |
297 | ; jne @f ;mouse.menu_bar_1 |
- | |
298 | ; mov [menu_active],0 |
258 | mcall SF_GET_BUTTON |
299 | ; jmp still |
- | |
300 | ; @@: |
- | |
301 | - | ||
302 | mcall 17 ;¯®«ãç¨âì ª®¤ ¦ ⮩ ª®¯ª¨ |
- | |
303 | 259 | ||
304 | cmp ah,200 |
260 | cmp ah,200 |
305 | jne @f |
261 | jne @f |
306 | call but_OpenSyntax |
262 | call but_OpenSyntax |
307 | @@: |
263 | @@: |
308 | cmp ah,201 |
264 | cmp ah,201 |
309 | jne @f |
265 | jne @f |
310 | call but_SaveSyntax |
266 | call but_SaveSyntax |
311 | @@: |
267 | @@: |
312 | 268 | ||
313 | cmp ah,1 |
269 | cmp ah,1 |
314 | jne still |
270 | jne still |
315 | .exit: |
271 | .exit: |
316 | ;push eax |
- | |
317 | - | ||
318 | stdcall mem.Free,[options_file] |
272 | stdcall mem.Free,[options_file] |
- | 273 | stdcall mem.Free,[unpac_mem] |
|
319 | 274 | ||
320 | stdcall [tl_data_clear], tree1 |
275 | stdcall [tl_data_clear], tree1 |
321 | stdcall [ted_delete], tedit0 |
276 | stdcall [ted_delete], tedit0 |
322 | mcall -1 ;¢ë室 ¨§ ¯à®£à ¬¬ë |
277 | mcall SF_TERMINATE_PROCESS ;¢ë室 ¨§ ¯à®£à ¬¬ë |
323 | 278 | ||
324 | align 4 |
279 | align 4 |
325 | but_OpenSyntax: |
280 | but_OpenSyntax: |
326 | push eax |
281 | push eax |
327 | stdcall [tl_node_get_data],tree1 |
282 | stdcall [tl_node_get_data],tree1 |
328 | mov [fn_col_option],eax |
283 | mov [fn_col_option],eax |
329 | call InitColText |
284 | call InitColText |
330 | pop eax |
285 | pop eax |
331 | ret |
286 | ret |
332 | 287 | ||
333 | align 4 |
288 | align 4 |
334 | but_SaveSyntax: |
289 | but_SaveSyntax: |
335 | stdcall [ted_save_file], tedit0,run_file_70,[edit1.text] |
290 | stdcall [ted_save_file], tedit0,run_file_70,[edit1.text] |
336 | ret |
291 | ret |
337 | 292 | ||
338 | align 4 |
293 | align 4 |
339 | but_ctrl_o: |
294 | but_ctrl_o: |
340 | push eax |
295 | push eax |
341 | call get_wnd_in_focus |
296 | call get_wnd_in_focus |
342 | cmp eax,0 |
297 | cmp eax,0 |
343 | je @f |
298 | je @f |
344 | stdcall [ted_open_file], eax,str_file_70,[edit1.text] |
299 | stdcall [ted_open_file], eax,str_file_70,[edit1.text] |
345 | @@: |
300 | @@: |
346 | pop eax |
301 | pop eax |
347 | ret |
302 | ret |
348 | 303 | ||
349 | ;ᮧ¤ ¨¥ ®¢®£® ä ©« |
304 | ;ᮧ¤ ¨¥ ®¢®£® ä ©« |
350 | align 4 |
305 | align 4 |
351 | but_ctrl_n: |
306 | but_ctrl_n: |
352 | push eax |
307 | push eax |
353 | call get_wnd_in_focus |
308 | call get_wnd_in_focus |
354 | cmp eax,0 |
309 | cmp eax,0 |
355 | je @f |
310 | je @f |
356 | stdcall [ted_clear], eax,1 |
311 | stdcall [ted_clear], eax,1 |
357 | stdcall [ted_draw], eax |
312 | stdcall [ted_draw], eax |
358 | @@: |
313 | @@: |
359 | pop eax |
314 | pop eax |
360 | ret |
315 | ret |
361 | 316 | ||
362 | ;®¯à¥¤¥«ï¥¬ ª ª®¥ ¨§ ®ª® । ªâ®à ¢ 䮪ãᥠ|
317 | ;®¯à¥¤¥«ï¥¬ ª ª®¥ ¨§ ®ª® । ªâ®à ¢ 䮪ãᥠ|
363 | align 4 |
318 | align 4 |
364 | get_wnd_in_focus: |
319 | get_wnd_in_focus: |
365 | xor eax,eax |
320 | xor eax,eax |
366 | cmp dword[el_focus],tedit0 |
321 | cmp dword[el_focus],tedit0 |
367 | jne @f |
322 | jne @f |
368 | mov eax,tedit0 |
323 | mov eax,tedit0 |
369 | @@: |
324 | @@: |
370 | ;cmp dword[el_focus],tedit1 |
325 | ;cmp dword[el_focus],tedit1 |
371 | ;jne @f |
326 | ;jne @f |
372 | ; mov eax,tedit1 |
327 | ; mov eax,tedit1 |
373 | ;@@: |
328 | ;@@: |
374 | ret |
329 | ret |
375 | 330 | ||
376 | hed db 'TextEditor syntax file converter 10.11.15',0 ;¯®¤¯¨áì ®ª |
331 | hed db 'TextEditor syntax file converter 15.01.19',0 ;¯®¤¯¨áì ®ª |
377 | conv_tabl rb 128 ; â ¡«¨æ ¤«ï ª®¢¥àâ¨à®¢ ¨ï scan-ª®¤ ¢ ascii-ª®¤ |
332 | conv_tabl rb 128 ; â ¡«¨æ ¤«ï ª®¢¥àâ¨à®¢ ¨ï scan-ª®¤ ¢ ascii-ª®¤ |
378 | 333 | ||
379 | txt122 db ' £à. ä ©«',0 |
334 | txt_load_f db ' £à. ä ©«',0 |
380 | txt148 db '®åà. ä ©«',0 |
335 | txt_save_f db '®åà. ä ©«',0 |
381 | txt_inp_file db 'áå. ä ©«:',0 |
336 | txt_inp_file db 'áå. ä ©«:',0 |
382 | txt_out_file db 'ëå. ä ©«:',0 |
337 | txt_out_file db 'ëå. ä ©«:',0 |
383 | - | ||
384 | txt_no_kpack db 'âªàë¢ ¥¬ë© ä ©« ᦠâ Kpack-®¬.',13,10,'«ï à ¡®âë á ä ©«®¬ à ᯠªã©â¥ ¥£® ¨á¯®«ì§ãï á¨á⥬ãî ¯à®£à ¬¬ã Kpack.',13,10,' ¡®â ᮠᦠâ묨 ä ©« ¬¨ ¯®ª ¥ ¯®¤¤¥à¦¨¢ ¥âáï.',0 |
- | |
385 | 338 | ||
386 | head_f_i: |
339 | head_f_i: |
387 | head_f_l db 'System error',0 |
340 | head_f_l db 'System error',0 |
388 | err_message_found_lib_0 db 'Sorry I cannot found library ',39,'box_lib.obj',39,0 |
341 | err_message_found_lib_0 db 'Sorry I cannot found library ',39,'box_lib.obj',39,0 |
389 | err_message_import_0 db 'Error on load import library ',39,'box_lib.obj',39,0 |
342 | err_message_import_0 db 'Error on load import library ',39,'box_lib.obj',39,0 |
390 | err_message_found_lib_1 db 'Sorry I cannot found library ',39,'libimg.obj',39,0 |
343 | err_message_found_lib_1 db 'Sorry I cannot found library ',39,'libimg.obj',39,0 |
391 | err_message_import_1 db 'Error on load import library ',39,'libimg.obj',39,0 |
344 | err_message_import_1 db 'Error on load import library ',39,'libimg.obj',39,0 |
392 | 345 | ||
393 | ;library structures |
346 | ;library structures |
394 | l_libs_start: |
347 | l_libs_start: |
395 | lib0 l_libs lib_name_0, sys_path, file_name, system_dir_0, err_message_found_lib_0, head_f_l, import_box_lib,err_message_import_0, head_f_i |
348 | lib0 l_libs lib_name_0, sys_path, file_name, system_dir_0, err_message_found_lib_0, head_f_l, import_box_lib,err_message_import_0, head_f_i |
396 | lib1 l_libs lib_name_1, sys_path, file_name, system_dir_1, err_message_found_lib_1, head_f_l, import_libimg,err_message_import_1, head_f_i |
349 | lib1 l_libs lib_name_1, sys_path, file_name, system_dir_1, err_message_found_lib_1, head_f_l, import_libimg,err_message_import_1, head_f_i |
397 | load_lib_end: |
350 | load_lib_end: |
- | 351 | ||
398 | 352 | IncludeIGlobals |
|
399 | 353 | ||
400 | align 16 |
354 | align 16 |
401 | i_end: |
355 | i_end: |
- | 356 | IncludeUGlobals |
|
402 | procinfo process_information |
357 | procinfo process_information |
403 | rb 1024 |
358 | rb 1024 |
404 | thread: |
359 | thread: |
405 | rb 1024 |
360 | rb 1024 |
406 | stacktop: |
361 | stacktop: |
407 | sys_path: |
362 | sys_path: |
408 | rb 4096 |
363 | rb 4096 |
409 | file_name: |
364 | file_name: |
410 | rb 4096 |
365 | rb 4096 |
411 | file_name_rez: |
366 | file_name_rez: |
412 | rb 4096 |
367 | rb 4096 |
413 | mem:10,333>10,555> |
368 | mem:10,333>10,555> |