Rev 1619 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1619 | Rev 1858 | ||
---|---|---|---|
Line 60... | Line 60... | ||
60 | ;஢¥àª ¦ â shift ? |
60 | ;஢¥àª ¦ â shift ? |
61 | call edit_box_key.check_shift |
61 | call edit_box_key.check_shift |
62 | ;---------------------------------------------------------- |
62 | ;---------------------------------------------------------- |
63 | ;--- ¯à®¢¥à塞, çâ® ¦ â® -------------------------------- |
63 | ;--- ¯à®¢¥à塞, çâ® ¦ â® -------------------------------- |
64 | ;---------------------------------------------------------- |
64 | ;---------------------------------------------------------- |
65 | use_key_process backspase,delete,left,right,home,end,insert |
65 | use_key_process backspace,delete,left,right,home,end,insert |
66 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
66 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
67 | ; £«ãèª ®¡à ¡®âªã ª« ¢¨è ¢¢¥àå ¨ ¢¨§ â.¥. ¯à¨ ®¡ à㦥¨¨ íâ¨å ª®¤®¢ ¯à®¨á室¨â ¢ë室 ¨§ ®¡à ¡®â稪 |
67 | ; £«ãèª ®¡à ¡®âªã ª« ¢¨è ¢¢¥àå ¨ ¢¨§ â.¥. ¯à¨ ®¡ à㦥¨¨ íâ¨å ª®¤®¢ ¯à®¨á室¨â ¢ë室 ¨§ ®¡à ¡®â稪 |
68 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
68 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
69 | use_key_no_process up,down,esc,enter,tab,numl,capsl,scrolll |
69 | use_key_no_process up,down,esc,enter,tab,numl,capsl,scrolll |
70 | ;--- ¦ â ¤àã£ ï ª« ¢¨è --- |
70 | ;--- ¦ â ¤àã£ ï ª« ¢¨è --- |
71 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
71 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
72 | ;஢¥àª ãáâ ®¢«¥ «¨ ä« £ ¯à¨ ª®â®à®¬ 㦮 ¢ë¢®¤¨âì ⮫쪮 æ¨äàë ¢ 㦮¬ ¡®ªá¥ ¥á«¨ â ª®©¥®¡å®¤¨¬®á⨠¥â 㦮 § ª®¬¥â¨à®¢ âì ¬ ªà®á |
72 | ;஢¥àª ãáâ ®¢«¥ «¨ ä« £ ¯à¨ ª®â®à®¬ 㦮 ¢ë¢®¤¨âì ⮫쪮 æ¨äàë ¢ 㦮¬ ¡®ªá¥, ¥á«¨ â ª®© ¥®¡å®¤¨¬®á⨠¥â, 㦮 § ª®¬¥â¨à®¢ âì ¬ ªà®á |
73 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
73 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
74 | use_key_figures_only |
74 | use_key_figures_only |
75 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
75 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
76 | ;¯à®¢¥àª shift ¡ë« «¨ ¦ â |
76 | ;¯à®¢¥àª shift, ¡ë« «¨ ¦ â |
77 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
77 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
78 | are_key_shift_press |
78 | are_key_shift_press |
79 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
79 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
80 | ; ¯à®¢¥à塞, 室¨âáï «¨ ªãàá®à ¢ ª®æ¥ + ¤ «ì¥©è ï ®¡à ¡®âª |
80 | ; ¯à®¢¥à塞, 室¨âáï «¨ ªãàá®à ¢ ª®æ¥ + ¤ «ì¥©è ï ®¡à ¡®âª |
81 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
81 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
82 | are_key_cur_end |
82 | are_key_cur_end |
83 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
83 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
84 | ;¡à ¡®âª ª« ¢¨è insert,delete.backspase,home,end,left,right |
84 | ;¡à ¡®âª ª« ¢¨è insert,delete.backspace,home,end,left,right |
85 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
85 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
86 | use_work_key |
86 | use_work_key |
87 | } |
87 | } |
Line 88... | Line 88... | ||
88 | 88 | ||
Line 147... | Line 147... | ||
147 | ;Bit mask from editbox |
147 | ;Bit mask from editbox |
148 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
148 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
149 | } |
149 | } |
Line 150... | Line -... | ||
150 | - | ||
151 | - | ||
152 | - | ||
153 | - | ||
154 | - | ||
155 | - | ||
156 | - | ||
157 | - | ||
158 | - | ||
159 | - | ||
160 | - | ||
161 | - | ||
162 | - | ||
163 | - | ||
164 | - | ||
165 | - | ||
166 | - | ||
167 | - | ||
168 | - | ||
169 | - | ||
170 | - | ||
171 | 150 | ||
172 | 151 | ||
173 | ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
152 | ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
174 | ;¨¦¥ à ᯮ«®¦¥ë äãªæ¨¨ ª®â®à묨 ॠ«¨§ã¥âáï ¢¥áì «£®à¨â¬ |
153 | ;¨¦¥ à ᯮ«®¦¥ë äãªæ¨¨ ª®â®à묨 ॠ«¨§ã¥âáï ¢¥áì «£®à¨â¬ |
175 | ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
154 | ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
176 | ; ªà®á ¤«ï ¢ë¢®¤ ®á®¢ëå äãªæ¨© ª®â®àë¥ ¨á¯«ì§ãîâáï ¡®ªá®¬ |
155 | ; ªà®á ¤«ï ¢ë¢®¤ ®á®¢ëå äãªæ¨© ª®â®àë¥ ¨á¯®«ì§ãîâáï ¡®ªá®¬ |
177 | macro use_general_func |
156 | macro use_general_func |
178 | { |
157 | { |
179 | ;debug_func |
158 | ;debug_func |
180 | ;---------------------------------------------------------- |
159 | ;---------------------------------------------------------- |
181 | ;--- ¯à®æ¥¤ãà ¯à®à¨á®¢ª¨ ¢ë¤¥«¥®© ç á⨠----------------- |
160 | ;--- ¯à®æ¥¤ãà ¯à®à¨á®¢ª¨ ¢ë¤¥«¥®© ç á⨠----------------- |
182 | ;---------------------------------------------------------- |
161 | ;---------------------------------------------------------- |
183 | edit_box.draw_shift: |
162 | edit_box.draw_shift: |
184 | test word ed_flags,ed_shift_bac ;ãáâ ®¢ª ä« £ , ¢ë¤¥«¥®© ®¡« á⨠|
163 | test word ed_flags,ed_shift_bac ;ãáâ ®¢ª ä« £ , ¢ë¤¥«¥®© ®¡« á⨠|
Line 235... | Line 214... | ||
235 | add ecx,ed_height |
214 | add ecx,ed_height |
236 | dec ecx |
215 | dec ecx |
237 | mcall |
216 | mcall |
238 | ret |
217 | ret |
239 | ;---------------------------------------------------------- |
218 | ;---------------------------------------------------------- |
240 | ;--- ¯à®æ¥¤ãà ¯®«ãç¥¨ï ª®«¨ç¥á⢠ᨬ¢®«®¢ ¢ ⥪ã饩 é¨à¨¥ ª®¬¯®¥â |
219 | ;--- ¯à®æ¥¤ãà ¯®«ãç¥¨ï ª®«¨ç¥á⢠ᨬ¢®«®¢ ¢ ⥪ã饩 è¨à¨¥ ª®¬¯®¥â |
241 | ;---------------------------------------------------------- |
220 | ;---------------------------------------------------------- |
242 | edit_box.get_n: |
221 | edit_box.get_n: |
243 | mov eax,ed_width ;¯®«ã祬 è¨à¨ã ª®¬¯®¥â |
222 | mov eax,ed_width ;¯®«ã祬 è¨à¨ã ª®¬¯®¥â |
244 | xor edx,edx ;१ã«ìâ â à ᯮ«®£ ¥âáï ¢ ¯ ॠedx:eax ¢ eax - ®áâ ⮪ |
223 | xor edx,edx ;१ã«ìâ â à ᯮ« £ ¥âáï ¢ ¯ ॠedx:eax ¢ eax - ®áâ ⮪ |
245 | sub eax,4 ;¢ëç⨬ 4 |
224 | sub eax,4 ;¢ëç⥬ 4 |
246 | mov ebx,6 ;§ £à㧬¨ ¤¥«¨â¥«ì |
225 | mov ebx,6 ;§ £à㧨¬ ¤¥«¨â¥«ì |
247 | div ebx ;à §¬¤¥«¨¬ 6 |
226 | div ebx ;à §¤¥«¨¬ 6 |
248 | ret |
227 | ret |
249 | ;---------------------------------------------------------- |
228 | ;---------------------------------------------------------- |
250 | ;--- ¯à®æ¥¤ãà à¨á®¢ ¨ï ªãàá®à -------------------------- |
229 | ;--- ¯à®æ¥¤ãà à¨á®¢ ¨ï ªãàá®à -------------------------- |
251 | ;---------------------------------------------------------- |
230 | ;---------------------------------------------------------- |
252 | ;¢å®¤ë¥ ebp- 梥â |
231 | ;¢å®¤ë¥ ebp- 梥â |
Line 323... | Line 302... | ||
323 | mcall |
302 | mcall |
324 | ret |
303 | ret |
325 | ;---------------------------------------------------------- |
304 | ;---------------------------------------------------------- |
326 | ;--- ¯à®¢¥àª , § 襫 «¨ ªãàá®à § £à ¨æë ¨, ¥á«¨ ¤®, --- |
305 | ;--- ¯à®¢¥àª , § 襫 «¨ ªãàá®à § £à ¨æë ¨, ¥á«¨ ¤®, --- |
327 | ;--- ¨§¬¥ï¥¬ ᬥ饨¥ ------------------------------------ |
306 | ;--- ¨§¬¥ï¥¬ ᬥ饨¥ ------------------------------------ |
328 | ;--- ¥á«¨ ᬥ饨¥ ¡ë«® ãáâ ®¢ª ä« £ ed_offset_cl ¨ ç¥ |
307 | ;--- ¥á«¨ ᬥ饨¥ ¡ë«®, ãáâ ®¢ª ä« £ ed_offset_cl, ¨ ç¥, |
329 | ; ¥á«¨ ¨ç¥£® ¥ ¨§¬¥¨«®áì â® ¢ëáâ ¢«¥¨¥ ed_offset_fl |
308 | ; ¥á«¨ ¨ç¥£® ¥ ¨§¬¥¨«®áì, â® ¢ëáâ ¢«¥¨¥ ed_offset_fl |
330 | ; ¢ ®¡é¥© ¡¨â®¢®© ¬ âà¨æ¥ á®áâ®ï¨ï ª®¬¯®¥â®¢ word ed_flags |
309 | ; ¢ ®¡é¥© ¡¨â®¢®© ¬ âà¨æ¥ á®áâ®ï¨ï ª®¬¯®¥â®¢ word ed_flags |
331 | ;---------------------------------------------------------- |
310 | ;---------------------------------------------------------- |
332 | edit_box.check_offset: |
311 | edit_box.check_offset: |
333 | pushad |
312 | pushad |
334 | mov ecx,ed_pos |
313 | mov ecx,ed_pos |
335 | mov ebx,ed_offset |
314 | mov ebx,ed_offset |
336 | cmp ebx,ecx |
315 | cmp ebx,ecx |
337 | ja edit_box.sub_8 |
316 | ja edit_box.sub_8 |
Line 338... | Line 317... | ||
338 | 317 | ||
339 | push ebx |
318 | push ebx |
340 | call edit_box.get_n ;¯®«ã稬 ª®«-¢® ᨬ¢®«®¢ ª®â®àë¥ ã¬¥é îâáï ¢ è¨à¨¥ ª®¬¯®¥â , ¢ ¯ ॠॣ¨áâ஢ edx:eax |
319 | call edit_box.get_n ;¯®«ã稬 ª®«-¢® ᨬ¢®«®¢ ª®â®àë¥ ã¬¥é îâáï ¢ è¨à¨¥ ª®¬¯®¥â , ¢ ¯ ॠॣ¨áâ஢ edx:eax |
341 | pop ebx |
320 | pop ebx |
342 | mov edx,ebx |
321 | mov edx,ebx |
343 | add edx,eax ;ed_offset+width editbox |
322 | add edx,eax ;ed_offset+width editbox |
344 | inc edx ;¥®¡å®¤¨¬® ¤«ï ®à¬ «ì®£® ¯®«®¦¥¨ï ªãàá®à ¢ ªà ©¥© «¥¢®© ¯®§¨æ¨¨ |
323 | inc edx ;¥®¡å®¤¨¬® ¤«ï ®à¬ «ì®£® ¯®«®¦¥¨ï ªãàá®à ¢ ªà ©¥© «¥¢®© ¯®§¨æ¨¨ |
Line 387... | Line 366... | ||
387 | inc ecx ;ãç¨âë¢ ¥¬ ¡ã¤ã饥 ®¡à¥§ ¨¥ áâப¨ ¤«ï ascii 0 |
366 | inc ecx ;ãç¨âë¢ ¥¬ ¡ã¤ã饥 ®¡à¥§ ¨¥ áâப¨ ¤«ï ascii 0 |
388 | mov edi,dword[text] |
367 | mov edi,dword[text] |
389 | xor al,al |
368 | xor al,al |
390 | cld |
369 | cld |
391 | repne scasb ;¯®¨áª ¢ áâப¥ edi ᨬ¢®« al |
370 | repne scasb ;¯®¨áª ¢ áâப¥ edi ᨬ¢®« al |
392 | mov ecx,edi ;ecx = text + ¬¨. § 票¥ ¨§: 1) ed_max ¨«¨ 2) ¤«¨ë áâப¨ text |
371 | mov ecx,edi ;ecx = text + ¬¨. § 票¥ ¨§: 1) ed_max ¨«¨ 2) ¤«¨ë áâப¨ text |
Line 393... | Line 372... | ||
393 | 372 | ||
394 | mov edi,dword[edit] |
373 | mov edi,dword[edit] |
395 | mov esi,dword[text] |
374 | mov esi,dword[text] |
396 | sub ecx,esi ;ecx = ¤«¨ áâப¨ text (® ¥ ¡®«ìè¥ ç¥¬ ed_max) |
375 | sub ecx,esi ;ecx = ¤«¨ áâப¨ text (® ¥ ¡®«ìè¥ ç¥¬ ed_max) |
397 | dec ecx |
376 | dec ecx |
398 | mov ed_size,ecx ;áâ ¢¨¬ ®¢ë© à §¬¥à áâப¨ |
377 | mov ed_size,ecx ;áâ ¢¨¬ ®¢ë© à §¬¥à áâப¨ |
399 | mov ed_pos,ecx ;áâ ¢¨¬ ªãàá®à ¢ ª®¥æ ®¢®© áâப¨ |
378 | mov ed_pos,ecx ;áâ ¢¨¬ ªãàá®à ¢ ª®¥æ ®¢®© áâப¨ |
400 | mov edi,ed_text |
379 | mov edi,ed_text |
Line 447... | Line 426... | ||
447 | add eax,ecx ;eax = w_off= ed_offset+width |
426 | add eax,ecx ;eax = w_off= ed_offset+width |
448 | mov edx,eax ;save |
427 | mov edx,eax ;save |
449 | pop ebx ;¡®«ì襥 |
428 | pop ebx ;¡®«ì襥 |
450 | pop eax ;¬¥ì襥 |
429 | pop eax ;¬¥ì襥 |
Line 451... | Line 430... | ||
451 | 430 | ||
452 | cmp eax,ecx ;áà ¢¥¨¥ á ¬¥ì襣® á offset. |
431 | cmp eax,ecx ;áà ¢¥¨¥ ¬¥ì襣® á offset. |
453 | jae edit_box_key.f_f ;¥á«¨ ¡®«ìè¥ |
432 | jae edit_box_key.f_f ;¥á«¨ ¡®«ìè¥ |
454 | xor eax,eax |
433 | xor eax,eax |
455 | cmp edx,ebx ;cà ¢¨¬ à §¬¥à w_off á ¡®«ì訬 |
434 | cmp edx,ebx ;cà ¢¨¬ à §¬¥à w_off á ¡®«ì訬 |
456 | jb @f |
435 | jb @f |
Line 492... | Line 471... | ||
492 | edit_box_key.drw_sim: |
471 | edit_box_key.drw_sim: |
493 | mov eax,dword ed_pos |
472 | mov eax,dword ed_pos |
494 | call edit_box_key.draw_rectangle ; à¨á®¢ âì ¯àאַ㣮«ì¨ª á § ¤ ë¬ æ¢¥â®¬ |
473 | call edit_box_key.draw_rectangle ; à¨á®¢ âì ¯àאַ㣮«ì¨ª á § ¤ ë¬ æ¢¥â®¬ |
495 | jmp @b |
474 | jmp @b |
496 | ;;;;;;;;;;;;;;;;;;;;; |
475 | ;;;;;;;;;;;;;;;;;;;;; |
497 | ;ãªæ¨ï ãáâ ®¢ª¨ ¢ë¤¥«¥¨ï ¯à¨ ¤¢¨¦¥¨ï ¢«¥¢® ¨ ¢¯à ¢® ¨ ¦ ⨨ shift |
476 | ;ãªæ¨ï ãáâ ®¢ª¨ ¢ë¤¥«¥¨ï ¯à¨ ¤¢¨¦¥¨¨ ¢«¥¢® ¨ ¢¯à ¢® ¨ ¦ ⨨ shift |
498 | ;®£¨ª : |
477 | ;®£¨ª : |
499 | ;;;;;;;;;; |
478 | ;;;;;;;;;; |
500 | edit_box_key.draw_wigwag: |
479 | edit_box_key.draw_wigwag: |
501 | ;äãªæ¨ï ãáâ ®¢ª¨ ¯¥à¥¬¥ëå |
480 | ;äãªæ¨ï ãáâ ®¢ª¨ ¯¥à¥¬¥ëå |
502 | mov ebp,shift_color |
481 | mov ebp,shift_color |
503 | call edit_box.clear_cursor |
482 | call edit_box.clear_cursor |
Line 504... | Line 483... | ||
504 | 483 | ||
505 | or word ed_flags,ed_shift_bac ;ãáâ ®¢ª ä« £ , ¢ë¤¥«¥®© ®¡« á⨠|
484 | or word ed_flags,ed_shift_bac ;ãáâ ®¢ª ä« £ ¢ë¤¥«¥®© ®¡« á⨠|
506 | mov ebp,shift_color |
485 | mov ebp,shift_color |
507 | mov eax,dword ed_pos |
486 | mov eax,dword ed_pos |
508 | test word ed_flags,ed_left_fl |
487 | test word ed_flags,ed_left_fl |
509 | jz edit_box_key.low |
488 | jz edit_box_key.low |
510 | jmp @f |
489 | jmp @f |
511 | ;;;;;;;;;; |
490 | ;;;;;;;;;; |
512 | ;ãªæ¨ï 㤠«¥¨ï ¢ë¤¥«¥¨ï ¯à¨ ¤¢¨¦¥¨ï ¢«¥¢® ¨ ¢¯à ¢® ¨ ¦ ⨨ shift |
491 | ;ãªæ¨ï 㤠«¥¨ï ¢ë¤¥«¥¨ï ¯à¨ ¤¢¨¦¥¨¨ ¢«¥¢® ¨ ¢¯à ¢® ¨ ¦ ⨨ shift |
513 | ;®£¨ª : |
492 | ;®£¨ª : |
514 | ;;;;;;;;;; |
493 | ;;;;;;;;;; |
515 | edit_box_key.draw_wigwag_cl: |
494 | edit_box_key.draw_wigwag_cl: |
516 | ;äãªæ¨ï ãáâ ®¢ª¨ ¯¥à¥¬¥ëå |
495 | ;äãªæ¨ï ãáâ ®¢ª¨ ¯¥à¥¬¥ëå |
Line 534... | Line 513... | ||
534 | jne @f |
513 | jne @f |
535 | mov dword ed_shift_pos,ebx |
514 | mov dword ed_shift_pos,ebx |
536 | or word ed_flags,ed_shift_on |
515 | or word ed_flags,ed_shift_on |
537 | @@: ret |
516 | @@: ret |
538 | ;¡à ¡®âª ªà ©¨å ¯®«®¦¥¨© ¢ editbox ¯à¨ ¦ ⮬ shift |
517 | ;¡à ¡®âª ªà ©¨å ¯®«®¦¥¨© ¢ editbox ¯à¨ ¦ ⮬ shift |
539 | ;¯à®¨§¢®¤¨â áï⨥ ¢ë¤¥«¥¨¥, ¥á«¨ ¥â shift |
518 | ;¯à®¨§¢®¤¨â áï⨥ ¢ë¤¥«¥¨ï, ¥á«¨ ¥â shift |
540 | ;¨ ç¥ ¢®®¡é¥ ¢ë室¨â |
519 | ;¨ ç¥ ¢®®¡é¥ ¢ë室¨â |
541 | edit_box_key.sh_st_of: |
520 | edit_box_key.sh_st_of: |
542 | test word ed_flags,ed_shift |
521 | test word ed_flags,ed_shift |
543 | jne @f |
522 | jne @f |
544 | test word ed_flags,ed_shift_bac |
523 | test word ed_flags,ed_shift_bac |
545 | je @f |
524 | je @f |
546 | mov ebp,ed_color |
525 | mov ebp,ed_color |
547 | mov ebx,dword ed_shift_pos |
526 | mov ebx,dword ed_shift_pos |
548 | call edit_box_key.sh_cl_ ;®ç¨á⪠¢ë¤¥«¥®£® äà £¬¥â |
527 | call edit_box_key.sh_cl_ ;®ç¨á⪠¢ë¤¥«¥®£® äà £¬¥â |
549 | and word ed_flags,ed_shift_cl ; ®ç¨á⪠®â ⮣® çâ® ã¡à «¨ ¢ë¤¥«¥¨¥ |
528 | and word ed_flags,ed_shift_cl ; ®ç¨á⪠®â ⮣®, çâ® ã¡à «¨ ¢ë¤¥«¥¨¥ |
550 | jmp edit_box.draw_cursor_text |
529 | jmp edit_box.draw_cursor_text |
551 | @@: |
530 | @@: |
552 | and word ed_flags,ed_shift_off |
531 | and word ed_flags,ed_shift_off |
553 | popad |
532 | popad |
554 | ret 4 |
533 | ret 4 |
555 | ;¯à®¢¥àª á®áâ®ï¨ï shift ¡ë« «¨ ® ¦ â à ìè¥? |
534 | ;¯à®¢¥àª á®áâ®ï¨ï shift, ¡ë« «¨ ® ¦ â à ìè¥? |
556 | edit_box_key.sh_enable: |
535 | edit_box_key.sh_enable: |
557 | test word ed_flags,ed_shift |
536 | test word ed_flags,ed_shift |
558 | jne edit_box_key.sh_ext_en ; à¨á®¢ âì § ªà è¥ë© ¯àאַ㣮«ì¨ª |
537 | jne edit_box_key.sh_ext_en ; à¨á®¢ âì § ªà è¥ë© ¯àאַ㣮«ì¨ª |
Line 559... | Line 538... | ||
559 | 538 | ||
560 | test word ed_flags,ed_shift_bac |
539 | test word ed_flags,ed_shift_bac |
561 | je @f |
540 | je @f |
Line 562... | Line 541... | ||
562 | call edit_box.check_offset |
541 | call edit_box.check_offset |
563 | 542 | ||
564 | mov ebp,ed_color |
543 | mov ebp,ed_color |
565 | mov ebx,dword ed_shift_pos |
544 | mov ebx,dword ed_shift_pos |
566 | call edit_box_key.sh_cl_ ;®ç¨á⪠¢ë¤¥«¥®£® äà £¬¥â |
545 | call edit_box_key.sh_cl_ ;®ç¨á⪠¢ë¤¥«¥®£® äà £¬¥â |
567 | call edit_box_key.draw_wigwag_cl |
546 | call edit_box_key.draw_wigwag_cl |
Line 568... | Line 547... | ||
568 | and word ed_flags,ed_shift_cl ; 1¢ à ¥ 㦮 |
547 | and word ed_flags,ed_shift_cl ; 1¢ à ¥ 㦮 |
Line 574... | Line 553... | ||
574 | ret |
553 | ret |
575 | edit_box_key.sh_ext_en: |
554 | edit_box_key.sh_ext_en: |
576 | call edit_box.check_offset |
555 | call edit_box.check_offset |
577 | test word ed_flags,ed_offset_fl |
556 | test word ed_flags,ed_offset_fl |
578 | je @f |
557 | je @f |
579 | ;¨á®¢ ¨¥ § ªà è¥ëå ¯àאַ㣮«ì¨ª®¢ ¨ ®ç¨á⪠¨å |
558 | ;¨á®¢ ¨¥ § ªà è¥ëå ¯àאַ㣮«ì¨ª®¢ ¨ ¨å ®ç¨á⪠|
580 | mov eax,dword ed_shift_pos |
559 | mov eax,dword ed_shift_pos |
581 | mov ebx,dword ed_pos |
560 | mov ebx,dword ed_pos |
582 | mov ecx,dword ed_shift_pos_old |
561 | mov ecx,dword ed_shift_pos_old |
583 | ;¯à®¢¥àª ¨ à¨á®¢ ¨¥ § ªà è¥ëå ®¡« á⥩ |
562 | ;¯à®¢¥àª ¨ à¨á®¢ ¨¥ § ªà è¥ëå ®¡« á⥩ |
584 | cmp eax,ecx |
563 | cmp eax,ecx |
585 | je edit_box_key.1_shem |
564 | je edit_box_key.1_shem |
586 | jb edit_box_key.smaller |
565 | jb edit_box_key.smaller |
587 | cmp ecx,ebx |
566 | cmp ecx,ebx |
588 | ja edit_box_key.1_shem |
567 | ja edit_box_key.1_shem |
Line 662... | Line 641... | ||
662 | sub edx,eax |
641 | sub edx,eax |
663 | add esi,eax |
642 | add esi,eax |
664 | mov dword ed_shift_pos,ebp |
643 | mov dword ed_shift_pos,ebp |
665 | jmp edit_box_key.del_ch_sh |
644 | jmp edit_box_key.del_ch_sh |
Line 666... | Line 645... | ||
666 | 645 | ||
667 | @@: add esi,ecx ;㪠§ ⥫ì + ᬥ饨¥ ª ॠ«ì®¬ã ¡ãää¥àã |
646 | @@: add esi,ecx ;㪠§ ⥫ì + ᬥ饨¥ ª ॠ«ì®¬ã ¡ãä¥àã |
668 | mov ebx,esi |
647 | mov ebx,esi |
669 | inc esi |
648 | inc esi |
Line 670... | Line 649... | ||
670 | cld |
649 | cld |
Line 699... | Line 678... | ||
699 | sub eax,ecx |
678 | sub eax,ecx |
700 | jmp edit_box_key.nxt |
679 | jmp edit_box_key.nxt |
701 | @@: mov ebx,ed_pos |
680 | @@: mov ebx,ed_pos |
702 | push ebx |
681 | push ebx |
703 | sub eax,ebx |
682 | sub eax,ebx |
704 | mov ebx,eax ;It is don't optimal |
683 | mov ebx,eax ;It is not optimal |
Line 705... | Line 684... | ||
705 | 684 | ||
706 | pop eax ;ed_pos |
685 | pop eax ;ed_pos |
707 | mov ecx,ed_offset |
686 | mov ecx,ed_offset |
708 | sub eax,ecx |
687 | sub eax,ecx |
Line 755... | Line 734... | ||
755 | je @f |
734 | je @f |
756 | or word ed_flags,ed_shift ;ãáâ ®¢¨¬ ä« £ |
735 | or word ed_flags,ed_shift ;ãáâ ®¢¨¬ ä« £ |
757 | @@:edit_ex |
736 | @@:edit_ex |
758 | } |
737 | } |
759 | ;¬ ªà®á ª« ¢¨è ª®â®àë¥ ¯à®¨á室¨â ॠªæ¨ï |
738 | ;¬ ªà®á ª« ¢¨è ª®â®àë¥ ¯à®¨á室¨â ॠªæ¨ï |
760 | macro use_key_process backspase,delete,left,right,home,end,insert |
739 | macro use_key_process backspace,delete,left,right,home,end,insert |
761 | { |
740 | { |
762 | if backspase eq |
741 | if backspace eq |
763 | else |
742 | else |
764 | cmp ah,8 |
743 | cmp ah,8 |
765 | jz edit_box_key.backspace |
744 | jz edit_box_key.backspace |
766 | end if |
745 | end if |
767 | if delete eq |
746 | if delete eq |
Line 904... | Line 883... | ||
904 | mov edi,esi |
883 | mov edi,esi |
Line 905... | Line 884... | ||
905 | 884 | ||
906 | cmp ecx,ebx ; ᫨ ã á ¯®§¨æ¨ï ªãàá®à = ⥪ã饬ã à §¬¥àã ¯¥ç â ëå ᨬ¢®«®¢ â.¥. ªãàá®à á⮨⠢ ª®æ¥ |
885 | cmp ecx,ebx ; ᫨ ã á ¯®§¨æ¨ï ªãàá®à = ⥪ã饬ã à §¬¥àã ¯¥ç â ëå ᨬ¢®«®¢ â.¥. ªãàá®à á⮨⠢ ª®æ¥ |
Line 907... | Line 886... | ||
907 | je edit_box_key.In_k |
886 | je edit_box_key.In_k |
908 | 887 | ||
909 | test dword bp_flags,ed_insert ;IF insert is enable â.ª. edi ¨§¬¥¥ ¤à¥á㥬 ç¥à¥§ ebp |
888 | test dword bp_flags,ed_insert ;IF insert is enabled â.ª. edi ¨§¬¥¥, ¤à¥á㥬 ç¥à¥§ ebp |
910 | jne edit_box_key.ins_v |
889 | jne edit_box_key.ins_v |
911 | ;clear |
890 | ;clear |
912 | pusha |
891 | pusha |
Line 974... | Line 953... | ||
974 | call edit_box_key.del_char |
953 | call edit_box_key.del_char |
975 | jmp edit_box_key.draw_all |
954 | jmp edit_box_key.draw_all |
976 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
955 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
977 | ;--- ¦ â ª« ¢¨è backspace --- |
956 | ;--- ¦ â ª« ¢¨è backspace --- |
978 | edit_box_key.backspace: |
957 | edit_box_key.backspace: |
- | 958 | test word ed_flags,ed_shift_on |
|
- | 959 | jne edit_box_key.delete |
|
979 | ; ¯à®¢¥à塞, ªãàá®à ã «¥¢®£® ªà ï ? |
960 | ; ¯à®¢¥à塞, ªãàá®à ã «¥¢®£® ªà ï? |
980 | mov ecx,ed_pos |
961 | mov ecx,ed_pos |
981 | test ecx,ecx |
962 | test ecx,ecx |
982 | jnz edit_box_key.del_bac |
963 | jnz edit_box_key.del_bac |
983 | test word ed_flags,ed_shift_on |
- | |
984 | jne edit_box_key.bac_del |
- | |
985 | popad |
964 | popad |
986 | ret 4 |
965 | ret 4 |
Line 987... | Line 966... | ||
987 | 966 | ||
988 | edit_box_key.del_bac: |
967 | edit_box_key.del_bac: |
Line 1086... | Line 1065... | ||
1086 | ja edit_box_mouse.mright |
1065 | ja edit_box_mouse.mright |
Line 1087... | Line 1066... | ||
1087 | 1066 | ||
Line 1088... | Line 1067... | ||
1088 | sub ebx,ed_width |
1067 | sub ebx,ed_width |
1089 | 1068 | ||
1090 | xor edx,edx |
1069 | xor edx,edx |
1091 | sub eax,ebx ; ¢ëç⨬ ¨§ ª®®à¤¨ â ¬ë誨 ¯® ®á¨ å ª®®à¤¨ âë ¤® editbox ¯® ®á¨ å |
1070 | sub eax,ebx ; ¢ëç⥬ ¨§ ª®®à¤¨ â ¬ë誨 ¯® ®á¨ å ª®®à¤¨ âë ¤® editbox ¯® ®á¨ å |
1092 | mov ebx,6 |
1071 | mov ebx,6 |
1093 | div ebx |
1072 | div ebx |
1094 | ;;;;;;;;;;;;;;;;;; |
1073 | ;;;;;;;;;;;;;;;;;; |
1095 | ;;¯à®æ¥¤ãà ®¡à ¡®âª¨ ¯®«®¦¥¨ï ¢ë¤¥«¥®£® ⥪áâ , ¢ ¯à¥¤¥« å ®¡« á⨠editbox |
1074 | ;;¯à®æ¥¤ãà ®¡à ¡®âª¨ ¯®«®¦¥¨ï ¢ë¤¥«¥®£® ⥪áâ , ¢ ¯à¥¤¥« å ®¡« á⨠editbox |
1096 | ;;;;;;;;;;;;;;;;;; |
1075 | ;;;;;;;;;;;;;;;;;; |
1097 | ;®«ã稫¨ ª®®à¤¨ âë ¢ eax ¬ë誨, â.¥. ªã¤ ® ¯¥à¥¬¥á⨫ áì |
1076 | ;®«ã稫¨ ª®®à¤¨ âë ¢ eax ¬ë誨, â.¥. ªã¤ ® ¯¥à¥¬¥á⨫ áì |
1098 | ;¨á®¢ ¨¥ § ªà è¥ëå ¯àאַ㣮«ì¨ª®¢ ¨ ®ç¨á⪠¨å |
1077 | ;¨á®¢ ¨¥ § ªà è¥ëå ¯àאַ㣮«ì¨ª®¢ ¨ ¨å ®ç¨á⪠|
1099 | add eax,ed_offset ;¤®¡ ¢¨¬ ᬥ饨¥ |
1078 | add eax,ed_offset ;¤®¡ ¢¨¬ ᬥ饨¥ |
1100 | cmp eax,dword ed_size ;¥á«¨ ¢ë諨 § ¯à¥¤¥«ë, â® ¨ç¥£® ¥ ¤¥« âì |
1079 | cmp eax,dword ed_size ;¥á«¨ ¢ë諨 § ¯à¥¤¥«ë, â® ¨ç¥£® ¥ ¤¥« âì |
1101 | ja edit_box_mouse.mwigvag |
1080 | ja edit_box_mouse.mwigvag |
1102 | edit_box_mouse.mdraw: |
1081 | edit_box_mouse.mdraw: |
1103 | mov dword ed_pos,eax ;á®åà ¨¬ ®¢®¥ § 票¥ |
1082 | mov dword ed_pos,eax ;á®åà ¨¬ ®¢®¥ § 票¥ |
1104 | ;¨á®¢ ¨¥ § ªà è¥ëå ¯àאַ㣮«ì¨ª®¢ ¨ ®ç¨á⪠¨å |
1083 | ;¨á®¢ ¨¥ § ªà è¥ëå ¯àאַ㣮«ì¨ª®¢ ¨ ¨å ®ç¨á⪠|
1105 | mov ecx,dword ed_shift_pos |
1084 | mov ecx,dword ed_shift_pos |
1106 | mov ebx,dword ed_shift_pos_old |
1085 | mov ebx,dword ed_shift_pos_old |
1107 | mov dword ed_shift_pos_old,eax ;¢¥á¥¬ ®¢®¥ § 票¥ áâ ன ¯®§¨æ¨¨ ªãàá®à |
1086 | mov dword ed_shift_pos_old,eax ;¢¥á¥¬ ®¢®¥ § 票¥ áâ ன ¯®§¨æ¨¨ ªãàá®à |
1108 | ;¯à®¢¥àª ¨ à¨á®¢ ¨¥ § ªà è¥ëå ®¡« á⥩ |
1087 | ;¯à®¢¥àª ¨ à¨á®¢ ¨¥ § ªà è¥ëå ®¡« á⥩ |
1109 | cmp ecx,ebx ;¢ëïá塞 ªã¤ ¡ë«® ¤¢¨¦¥¨¥ ®¤¨ è £ § ¤ |
1088 | cmp ecx,ebx ;¢ëïá塞 ªã¤ ¡ë«® ¤¢¨¦¥¨¥ ®¤¨ è £ § ¤ |
1110 | je edit_box_mouse.m1_shem ;¤¢¨¦¥¨ï ¥ ¡ë«® à ¥¥ |
1089 | je edit_box_mouse.m1_shem ;¤¢¨¦¥¨ï ¥ ¡ë«® à ¥¥ |
1111 | jb edit_box_mouse.msmaller ;¤¢¨¦¥¨¥ ¡ë«® -> |
1090 | jb edit_box_mouse.msmaller ;¤¢¨¦¥¨¥ ¡ë«® -> |
Line 1243... | Line 1222... | ||
1243 | je edit_box.editbox_exit |
1222 | je edit_box.editbox_exit |
1244 | mov ed_pos,eax |
1223 | mov ed_pos,eax |
1245 | mov ebp,dword shift_color |
1224 | mov ebp,dword shift_color |
1246 | mov ebx,dword ed_shift_pos |
1225 | mov ebx,dword ed_shift_pos |
1247 | call edit_box_key.sh_cl_ |
1226 | call edit_box_key.sh_cl_ |
1248 | or word ed_flags,ed_mous_adn_b ;ãáâ ®¢¨¬ ¡¨â çâ® ¬ë ¢ë¤¥«¨«¨ +shift_on + |
1227 | or word ed_flags,ed_mous_adn_b ;ãáâ ®¢¨¬ ¡¨â, çâ® ¬ë ¢ë¤¥«¨«¨ +shift_on + |
1249 | edit_box_mouse.m_sh: |
1228 | edit_box_mouse.m_sh: |
1250 | call edit_box.draw_text |
1229 | call edit_box.draw_text |
1251 | call edit_box.draw_cursor |
1230 | call edit_box.draw_cursor |
1252 | ;---------------------------------------------------------- |
1231 | ;---------------------------------------------------------- |
1253 | ;--- ¯à®æ¥¤ãà ãáâ ®¢ª¨ 䮪ãá --------------------------- |
1232 | ;--- ¯à®æ¥¤ãà ãáâ ®¢ª¨ 䮪ãá --------------------------- |
Line 1298... | Line 1277... | ||
1298 | ;----------- ®â« ¤ª |
1277 | ;----------- ®â« ¤ª |
1299 | } |
1278 | } |
1300 | macro debug_func |
1279 | macro debug_func |
1301 | { |
1280 | { |
1302 | .str: |
1281 | .str: |
1303 | mov ecx,0x0a ;§ ¤ ¥âáï á¨á⥬ áç¨á«¥¨ï ¨§¬¥ïîâáï ॣ¨áâàë ebx,eax,ecx,edx ¢å®¤ë¥ ¯ à ¬¥âàë eax - ç¨á«® |
1282 | mov ecx,0x0a ;§ ¤ ¥âáï á¨á⥬ áç¨á«¥¨ï, ¨§¬¥ïîâáï ॣ¨áâàë ebx,eax,ecx,edx, ¢å®¤ë¥ ¯ à ¬¥âàë eax - ç¨á«® |
1304 | ;¯à¥à¥¢®¤ ç¨á« ¢ ASCII áâப㠢§®¤ë¥ ¤ ë¥ ecx=á¨á⥬ áç¨á«¥ï edi ¤à¥á ªã¤ § ¯¨áë¢ âì, ¡ã¤¥¬ áâபã, ¯à¨ç¥¬ ª®¥æ ¯¥à¥¬¥®© |
1283 | ;¯¥à¥¢®¤ ç¨á« ¢ ASCII áâபã, ¢å®¤ë¥ ¤ ë¥ ecx=á¨á⥬ áç¨á«¥¨ï, edi ¤à¥á ªã¤ ¡ã¤¥¬ § ¯¨áë¢ âì áâபã, ¯à¨ç¥¬ ª®¥æ ¯¥à¥¬¥®© |
1305 | cmp eax,ecx ;áà ¢¨âì ¥á«¨ ¢ eax ¬¥ìè¥ ç¥¬ ¢ ecx â® ¯¥à¥©â¨ @@-1 â.¥. pop eax |
1284 | cmp eax,ecx ;áà ¢¨âì, ¥á«¨ ¢ eax ¬¥ìè¥, 祬 ¢ ecx, â® ¯¥à¥©â¨ @@-1 â.¥. pop eax |
1306 | jb @f |
1285 | jb @f |
1307 | xor edx,edx ;®ç¨áâ¨âì edx |
1286 | xor edx,edx ;®ç¨áâ¨âì edx |
1308 | div ecx ;à §¤¥«¨âì - ®áâ ⮪ ¢ edx |
1287 | div ecx ;à §¤¥«¨âì - ®áâ ⮪ ¢ edx |
1309 | push edx ;¯®«®¦¨âì ¢ á⥪ |
1288 | push edx ;¯®«®¦¨âì ¢ á⥪ |
1310 | ;dec edi ;ᬥ饨¥ ¥®¡å®¤¨¬®¥ ¤«ï § ¯¨á¨ á ª®æ áâப¨ |
1289 | ;dec edi ;ᬥ饨¥ ¥®¡å®¤¨¬®¥ ¤«ï § ¯¨á¨ á ª®æ áâப¨ |
1311 | call .str;¯¥à¥©â¨ á ¬ã ᥡï â.¥. ¢ë§¢ âì á ¬ã á¥¡ï ¨ â ª ¤® ⮣® ¬®¬¥â ¯®ª ¢ eax ¥ á⠥⠬¥ìè¥ ç¥¬ ¢ ecx |
1290 | call .str ;¯¥à¥©â¨ á ¬ã ᥡï â.¥. ¢ë§¢ âì á ¬ã á¥¡ï ¨ â ª ¤® ⮣® ¬®¬¥â , ¯®ª ¢ eax ¥ á⠥⠬¥ìè¥ ç¥¬ ¢ ecx |
1312 | pop eax |
1291 | pop eax |
1313 | @@: ;cmp al,10 ;¯à®¢¥à¨âì ¥ ¬¥ìè¥ «¨ § 票¥ ¢ al 祬 10 (¤«ï á¨á⥬ë áç¨á«¥ï 10 ¤ ï ª®¬ ¤ - «¨è ï)) |
1292 | @@: ;cmp al,10 ;¯à®¢¥à¨âì ¥ ¬¥ìè¥ «¨ § 票¥ ¢ al, 祬 10 (¤«ï á¨á⥬ë áç¨á«¥¨ï 10 ¤ ï ª®¬ ¤ - «¨è ï)) |
1314 | ;sbb al,$69 ;- ç¥áâ® ¤ ï ¨áâàãªæ¨ï ¬¥ï § áâ ¢«ï¥â § ¤ã¬ âìáï â.¥. ï ¥ § î ª ª íâ® à ¡®â ¥â |
1293 | ;sbb al,$69 ;- ç¥áâ®, ¤ ï ¨áâàãªæ¨ï ¬¥ï § áâ ¢«ï¥â § ¤ã¬ âìáï â.¥. ï ¥ § î ª ª íâ® à ¡®â ¥â |
1315 | ;das ;¯®á«¥ ¤ ®© ª®¬ ¤ë ª ª ¡ë ¯à®¨á室¨â 㬥ì襨¥ al 66h (¢ ª¨£¥ ¯¨á ® ¤à㣮¥) |
1294 | ;das ;¯®á«¥ ¤ ®© ª®¬ ¤ë ª ª ¡ë ¯à®¨á室¨â 㬥ì襨¥ al 66h (¢ ª¨£¥ ¯¨á ® ¤à㣮¥) |
1316 | or al,0x30 ;¤ ï ª®¬ ¤ ª®à®ç¥ 祬 ¤¢¥ ¢ëè¥ |
1295 | or al,0x30 ;¤ ï ª®¬ ¤ ª®à®ç¥, 祬 ¤¢¥ ¢ëè¥ |
1317 | stosb ;§ ¯¨á âì í«¥¬¥â ¨§ ॣ¨áâà al ¢ ï祪㠯 ¬ï⨠es:edi |
1296 | stosb ;§ ¯¨á âì í«¥¬¥â ¨§ ॣ¨áâà al ¢ ï祩ªã ¯ ¬ï⨠es:edi |
Line 1318... | Line 1297... | ||
1318 | 1297 | ||
1319 | ret ;¢¥àãâìáï ç¥ì ¨â¥à¥áë© å®¤ â.ª. ¯®ª ¢ á⥪¥ åà ¨âìáï ª®«-¢® ¢ë§®¢®¢ â® á⮫쪮 à § ¬ë ¨ ¡ã¤¥¬ ¢ë§ë¢ âìáï |
1298 | ret ;¢¥àãâìáï ®ç¥ì ¨â¥à¥áë© å®¤, â.ª. ¯®ª ¢ á⥪¥ åà ¨âáï ª®«-¢® ¢ë§®¢®¢, â® á⮫쪮 à § ¬ë ¨ ¡ã¤¥¬ ¢ë§ë¢ âìáï |
Line 1320... | Line 1299... | ||
1320 | } |
1299 | } |
1321 | 1300 | ||
1322 | ed_struc_size=76 |
1301 | ed_struc_size=76 |