Rev 1216 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1216 | Rev 1228 | ||
---|---|---|---|
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
2 | ;Basic macros for use editbox ; |
2 | ;Basic macros for use editbox ; |
3 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
3 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
4 | macro init_editbox |
- | |
5 | { |
- | |
6 | pushad |
- | |
7 | mcall |
- | |
8 | - | ||
9 | popad |
- | |
10 | } |
- | |
11 | - | ||
12 | - | ||
13 | macro use_editbox_draw |
- | |
14 | { |
- | |
15 | edit_box: |
- | |
16 | ed_width equ [edi] ;è¨à¨ ª®¬¯®¥â |
4 | ed_width equ [edi] ;è¨à¨ ª®¬¯®¥â |
17 | ed_left equ [edi+4] ;¯®«®¦¥¨¥ ¯® ®á¨ å |
5 | ed_left equ [edi+4] ;¯®«®¦¥¨¥ ¯® ®á¨ å |
18 | ed_top equ [edi+8] ;¯®«®¦¥¨¥ ¯® ®á¨ ã |
6 | ed_top equ [edi+8] ;¯®«®¦¥¨¥ ¯® ®á¨ ã |
19 | ed_color equ [edi+12] ;梥â ä® ª®¬¯®¥â |
7 | ed_color equ [edi+12] ;梥â ä® ª®¬¯®¥â |
20 | shift_color equ [edi+16] ;=0x6a9480 ¤«ï ¯à¨¬¥à ¢®§ì¥¬ ¦¥«¥ë© 梥⠡®ªá |
8 | shift_color equ [edi+16] ;=0x6a9480 ¤«ï ¯à¨¬¥à ¢®§ì¥¬ ¦¥«¥ë© 梥⠡®ªá |
21 | ed_focus_border_color equ [edi+20] ;梥â à ¬ª¨ ª®¬¯®¥â |
9 | ed_focus_border_color equ [edi+20] ;梥â à ¬ª¨ ª®¬¯®¥â |
22 | ed_blur_border_color equ [edi+24] ;梥⠥ ªâ¨¢®£® ª®¬¯®¥â |
10 | ed_blur_border_color equ [edi+24] ;梥⠥ ªâ¨¢®£® ª®¬¯®¥â |
23 | ed_text_color equ [edi+28] ;梥â ⥪áâ |
11 | ed_text_color equ [edi+28] ;梥â ⥪áâ |
24 | ed_max equ [edi+32] ;ª®«-¢® ᨬ¢®«®¢ ª®â®àë¥ ¬®¦® ¬ ªá¨¬ «ì® ¢¢¥á⨠|
12 | ed_max equ [edi+32] ;ª®«-¢® ᨬ¢®«®¢ ª®â®àë¥ ¬®¦® ¬ ªá¨¬ «ì® ¢¢¥á⨠|
25 | ed_text equ [edi+36] ;㪠§ â¥«ì ¡ãä¥à |
13 | ed_text equ [edi+36] ;㪠§ â¥«ì ¡ãä¥à |
26 | ed_mouse_variable equ [edi+40] ; 㪠§ â¥«ì ¯¥à¥¬¥ãî ¤«ï ¡®ªá /£à㯯ë |
14 | ed_mouse_variable equ [edi+40] ; 㪠§ â¥«ì ¯¥à¥¬¥ãî ¤«ï ¡®ªá /£à㯯ë |
27 | ed_flags equ [edi+44] ;ä« £¨ |
15 | ed_flags equ [edi+44] ;ä« £¨ |
28 | bp_flags equ [ebp+44] ;¢ ¥ª®â®àëå ¯à®æ¥¤ãà å edi ¨á¯®«ì§ã¥âáï, ¢§ ¬¥ 㪠§ ⥫ì åà ¨âìáï ¢ ebp |
16 | bp_flags equ [ebp+44] ;¢ ¥ª®â®àëå ¯à®æ¥¤ãà å edi ¨á¯®«ì§ã¥âáï, ¢§ ¬¥ 㪠§ ⥫ì åà ¨âìáï ¢ ebp |
29 | ed_size equ [edi+48] ;ª®«-¢® ᨬ¢®«®¢ |
17 | ed_size equ [edi+48] ;ª®«-¢® ᨬ¢®«®¢ |
30 | bp_size equ [ebp+48] ;ª®«-¢® ᨬ¢¯®«®¢, ¤«ï ¤à¥á 樨 ¨á¯«ì§ã¥âáï ebp¡ edi § ïâ |
18 | bp_size equ [ebp+48] ;ª®«-¢® ᨬ¢¯®«®¢, ¤«ï ¤à¥á 樨 ¨á¯«ì§ã¥âáï ebp¡ edi § ïâ |
31 | ed_pos equ [edi+52] ;¯®§¨æ¨ï ªãàá®à |
19 | ed_pos equ [edi+52] ;¯®§¨æ¨ï ªãàá®à |
32 | ed_offset equ [edi+56] ;ᬥ饨¥ |
20 | ed_offset equ [edi+56] ;ᬥ饨¥ |
33 | cl_curs_x equ [edi+60] ;¯à¥¤ë¤ã饥 ª®®à¤¨ â ªãàá®à ¯® å |
21 | cl_curs_x equ [edi+60] ;¯à¥¤ë¤ã饥 ª®®à¤¨ â ªãàá®à ¯® å |
34 | cl_curs_y equ [edi+64] ;¯à¥¤ë¤ã饥 ª®®à¤¨ â ªãàá®à ¯® ã |
22 | cl_curs_y equ [edi+64] ;¯à¥¤ë¤ã饥 ª®®à¤¨ â ªãàá®à ¯® ã |
35 | ed_shift_pos equ [edi+68] ;¯®«®¦¥¨¥ ªãàá®à |
23 | ed_shift_pos equ [edi+68] ;¯®«®¦¥¨¥ ªãàá®à |
36 | ed_shift_pos_old equ [edi+72] ;áâ ஥ ¯®«®¦¥¨¥ ªãàá®à |
24 | ed_shift_pos_old equ [edi+72] ;áâ ஥ ¯®«®¦¥¨¥ ªãàá®à |
37 | 25 | ||
38 | ed_figure_only= 1000000000000000b ;®¤¨ ᨬ¢®«ë |
26 | ed_figure_only= 1000000000000000b ;®¤¨ ᨬ¢®«ë |
39 | ed_always_focus= 100000000000000b |
27 | ed_always_focus= 100000000000000b |
40 | ed_focus= 10b ;䮪ãá ¯à¨«®¦¥¨ï |
28 | ed_focus= 10b ;䮪ãá ¯à¨«®¦¥¨ï |
41 | ed_shift_on= 1000b ;¥á«¨ ¥ ãáâ ®¢«¥ -§ ç¨â ¢¯¥à¢ë¥ ¦ â shift,¥á«¨ ¡ë« ãáâ ®¢«¥, § ç¨â ¬ë 㦥 çâ® - â® ¤¥« «¨ 㤥ন¢ ï shift |
29 | ed_shift_on= 1000b ;¥á«¨ ¥ ãáâ ®¢«¥ -§ ç¨â ¢¯¥à¢ë¥ ¦ â shift,¥á«¨ ¡ë« ãáâ ®¢«¥, § ç¨â ¬ë 㦥 çâ® - â® ¤¥« «¨ 㤥ন¢ ï shift |
42 | ed_shift_on_off=1111111111110111b |
30 | ed_shift_on_off=1111111111110111b |
43 | ed_shift= 100b ;¢ª«îç ¥âáï ¯à¨ ¦ ⨨ shift â.¥. ¥á«¨ ¦¨¬ î |
31 | ed_shift= 100b ;¢ª«îç ¥âáï ¯à¨ ¦ ⨨ shift â.¥. ¥á«¨ ¦¨¬ î |
44 | ed_shift_off= 1111111111111011b |
32 | ed_shift_off= 1111111111111011b |
45 | ed_shift_bac= 10000b ;¡¨â ¤«ï ®ç¨á⪨ ¢ë¤¥«¥®£® shift â.¥. ¯à¨ ãáâ ®¢ª¥ £®¢®à¨â çâ® ¥áâì ¢ë¤¥«¥¨¥ |
33 | ed_shift_bac= 10000b ;¡¨â ¤«ï ®ç¨á⪨ ¢ë¤¥«¥®£® shift â.¥. ¯à¨ ãáâ ®¢ª¥ £®¢®à¨â çâ® ¥áâì ¢ë¤¥«¥¨¥ |
46 | ed_shift_bac_cl=1111111111101111b ;®ç¨á⪠¯à¨ 㤠«¥¨¨ ¢ë¤¥«¥¨ï |
34 | ed_shift_bac_cl=1111111111101111b ;®ç¨á⪠¯à¨ 㤠«¥¨¨ ¢ë¤¥«¥¨ï |
47 | ed_shift_cl= 1111111111100011b |
35 | ed_shift_cl= 1111111111100011b |
48 | ed_shift_mcl= 1111111111111011b |
36 | ed_shift_mcl= 1111111111111011b |
49 | ed_left_fl= 100000b |
37 | ed_left_fl= 100000b |
50 | ed_right_fl= 1111111111011111b |
38 | ed_right_fl= 1111111111011111b |
51 | ed_offset_fl= 1000000b |
39 | ed_offset_fl= 1000000b |
52 | ed_offset_cl= 1111111110111111b |
40 | ed_offset_cl= 1111111110111111b |
53 | ed_insert= 10000000b |
41 | ed_insert= 10000000b |
54 | ed_insert_cl= 1111111101111111b |
42 | ed_insert_cl= 1111111101111111b |
55 | ed_mouse_on = 100000000b |
43 | ed_mouse_on = 100000000b |
56 | ed_mous_adn_b= 100011000b |
44 | ed_mous_adn_b= 100011000b |
57 | ed_mouse_on_off=1111111011111111b |
45 | ed_mouse_on_off=1111111011111111b |
58 | ed_height=14 ; ¢ëá®â |
46 | ed_height=14 ; ¢ëá®â |
59 | 47 | ||
- | 48 | ||
- | 49 | ||
- | 50 | macro init_editbox |
|
- | 51 | { |
|
- | 52 | pushad |
|
- | 53 | mcall |
|
- | 54 | ||
- | 55 | popad |
|
- | 56 | } |
|
- | 57 | ||
- | 58 | ||
- | 59 | macro use_editbox_draw |
|
- | 60 | { |
|
60 | 61 | edit_box: |
|
61 | .draw: |
62 | .draw: |
62 | pushad |
63 | pushad |
63 | ;--- à¨á㥬 à ¬ªã --- |
64 | ;--- à¨á㥬 à ¬ªã --- |
64 | mov edi,dword [esp+36] |
65 | mov edi,dword [esp+36] |
65 | call .draw_border ; ãªæ¨ï áâ ¡¨«ì |
66 | call .draw_border ; ãªæ¨ï áâ ¡¨«ì |
66 | .draw_bg_cursor_text: |
67 | .draw_bg_cursor_text: |
67 | ;--- ¨§¬¥ï¥¬ ᬥ饨¥, ¥á«¨ ¤® --- |
68 | ;--- ¨§¬¥ï¥¬ ᬥ饨¥, ¥á«¨ ¤® --- |
68 | call .check_offset ;¢ëç¨á«¥¨¥ ¯®§¨æ¨¨ ªãàá®à áâ ¡¨«ì |
69 | call .check_offset ;¢ëç¨á«¥¨¥ ¯®§¨æ¨¨ ªãàá®à áâ ¡¨«ì |
69 | ;--- à¨á㥬 ¢ãâà¥îî ®¡« áâì --- |
70 | ;--- à¨á㥬 ¢ãâà¥îî ®¡« áâì --- |
70 | call .draw_bg ; à¨á®¢ âì ¯àאַ㣮«ì¨ª à ¡®ç¥© ®¡« á⨠|
71 | call .draw_bg ; à¨á®¢ âì ¯àאַ㣮«ì¨ª à ¡®ç¥© ®¡« á⨠|
71 | ;---- à¨á㥬 ¢ë¤¥«¥¨¥, ¯® shift ¥á«¨ ¥áâì |
72 | ;---- à¨á㥬 ¢ë¤¥«¥¨¥, ¯® shift ¥á«¨ ¥áâì |
72 | call .draw_shift |
73 | call .draw_shift |
73 | .draw_cursor_text: |
74 | .draw_cursor_text: |
74 | ;--- à¨á㥬 ªãàá®à --- |
75 | ;--- à¨á㥬 ªãàá®à --- |
75 | ;--- ¬®¦¥â ¥£® ¥ ¤® à¨á®¢ âì ---- |
76 | ;--- ¬®¦¥â ¥£® ¥ ¤® à¨á®¢ âì ---- |
76 | test word ed_flags,ed_focus |
77 | test word ed_flags,ed_focus |
77 | jz @f |
78 | jz @f |
78 | call .draw_cursor |
79 | call .draw_cursor |
79 | @@: |
80 | @@: |
80 | call .draw_text |
81 | call .draw_text |
81 | ; ret |
82 | ; ret |
82 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
83 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
83 | ;¡é¨© ¢ë室 ¨§ editbox ¤«ï ¢á¥å äãªæ¨© ¨ ¯®áâ ®¡à ¡®â稪®¢;; |
84 | ;¡é¨© ¢ë室 ¨§ editbox ¤«ï ¢á¥å äãªæ¨© ¨ ¯®áâ ®¡à ¡®â稪®¢;; |
84 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
85 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
85 | .editbox_exit: |
86 | .editbox_exit: |
86 | popad |
87 | popad |
87 | ret 4 |
88 | ret 4 |
88 | } |
89 | } |
89 | 90 | ||
90 | 91 | ||
91 | macro use_editbox_key |
92 | macro use_editbox_key |
92 | { |
93 | { |
93 | ;========================================================== |
94 | ;========================================================== |
94 | ;=== ®¡à ¡®âª ª« ¢¨ âãàë ================================= |
95 | ;=== ®¡à ¡®âª ª« ¢¨ âãàë ================================= |
95 | ;========================================================== |
96 | ;========================================================== |
96 | edit_box_key: |
97 | edit_box_key: |
97 | pushad |
98 | pushad |
98 | mov edi,dword [esp+36] |
99 | mov edi,dword [esp+36] |
99 | test word ed_flags,ed_focus ; ¥á«¨ ¥ ¢ 䮪ãá¥, ¢ë室¨¬ |
100 | test word ed_flags,ed_focus ; ¥á«¨ ¥ ¢ 䮪ãá¥, ¢ë室¨¬ |
100 | je edit_box.editbox_exit |
101 | je edit_box.editbox_exit |
101 | test word ed_flags,ed_mouse_on |
102 | test word ed_flags,ed_mouse_on |
102 | jne edit_box.editbox_exit |
103 | jne edit_box.editbox_exit |
103 | 104 | ||
104 | ;஢¥àª ¦ â shift ? |
105 | ;஢¥àª ¦ â shift ? |
105 | call edit_box_key.check_shift |
106 | call edit_box_key.check_shift |
106 | ;---------------------------------------------------------- |
107 | ;---------------------------------------------------------- |
107 | ;--- ¯à®¢¥à塞, çâ® ¦ â® -------------------------------- |
108 | ;--- ¯à®¢¥à塞, çâ® ¦ â® -------------------------------- |
108 | ;---------------------------------------------------------- |
109 | ;---------------------------------------------------------- |
109 | use_key_process backspase,delete,left,right,home,end,insert |
110 | use_key_process backspase,delete,left,right,home,end,insert |
110 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
111 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
111 | ; £«ãèª ®¡à ¡®âªã ª« ¢¨è ¢¢¥àå ¨ ¢¨§ â.¥. ¯à¨ ®¡ à㦥¨¨ íâ¨å ª®¤®¢ ¯à®¨á室¨â ¢ë室 ¨§ ®¡à ¡®â稪 |
112 | ; £«ãèª ®¡à ¡®âªã ª« ¢¨è ¢¢¥àå ¨ ¢¨§ â.¥. ¯à¨ ®¡ à㦥¨¨ íâ¨å ª®¤®¢ ¯à®¨á室¨â ¢ë室 ¨§ ®¡à ¡®â稪 |
112 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
113 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
113 | use_key_no_process up,down,esc,enter,tab,numl,capsl,scrolll |
114 | use_key_no_process up,down,esc,enter,tab,numl,capsl,scrolll |
114 | ;--- ¦ â ¤àã£ ï ª« ¢¨è --- |
115 | ;--- ¦ â ¤àã£ ï ª« ¢¨è --- |
115 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
116 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
116 | ;஢¥àª ãáâ ®¢«¥ «¨ ä« £ ¯à¨ ª®â®à®¬ 㦮 ¢ë¢®¤¨âì ⮫쪮 æ¨äàë ¢ 㦮¬ ¡®ªá¥ ¥á«¨ â ª®©¥®¡å®¤¨¬®á⨠¥â 㦮 § ª®¬¥â¨à®¢ âì ¬ ªà®á |
117 | ;஢¥àª ãáâ ®¢«¥ «¨ ä« £ ¯à¨ ª®â®à®¬ 㦮 ¢ë¢®¤¨âì ⮫쪮 æ¨äàë ¢ 㦮¬ ¡®ªá¥ ¥á«¨ â ª®©¥®¡å®¤¨¬®á⨠¥â 㦮 § ª®¬¥â¨à®¢ âì ¬ ªà®á |
117 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
118 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
118 | use_key_figures_only |
119 | use_key_figures_only |
119 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
120 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
120 | ;¯à®¢¥àª shift ¡ë« «¨ ¦ â |
121 | ;¯à®¢¥àª shift ¡ë« «¨ ¦ â |
121 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
122 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
122 | are_key_shift_press |
123 | are_key_shift_press |
123 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
124 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
124 | ; ¯à®¢¥à塞, 室¨âáï «¨ ªãàá®à ¢ ª®æ¥ + ¤ «ì¥©è ï ®¡à ¡®âª |
125 | ; ¯à®¢¥à塞, 室¨âáï «¨ ªãàá®à ¢ ª®æ¥ + ¤ «ì¥©è ï ®¡à ¡®âª |
125 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
126 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
126 | are_key_cur_end |
127 | are_key_cur_end |
127 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
128 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
128 | ;¡à ¡®âª ª« ¢¨è insert,delete.backspase,home,end,left,right |
129 | ;¡à ¡®âª ª« ¢¨è insert,delete.backspase,home,end,left,right |
129 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
130 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
130 | use_work_key |
131 | use_work_key |
131 | } |
132 | } |
132 | 133 | ||
133 | macro use_editbox_mouse |
134 | macro use_editbox_mouse |
134 | { |
135 | { |
135 | ;========================================================== |
136 | ;========================================================== |
136 | ;=== ®¡à ¡®âª ¬ëè¨ ======================================= |
137 | ;=== ®¡à ¡®âª ¬ëè¨ ======================================= |
137 | ;========================================================== |
138 | ;========================================================== |
138 | ;save for stdcall ebx,esi,edi,ebp |
139 | ;save for stdcall ebx,esi,edi,ebp |
139 | edit_box_mouse: |
140 | edit_box_mouse: |
140 | pushad |
141 | pushad |
141 | mov edi,dword [esp+36] |
142 | mov edi,dword [esp+36] |
142 | ;debug |
143 | ;debug |
143 | ;---------------------------------------------------------- |
144 | ;---------------------------------------------------------- |
144 | ;--- ¯®«ãç ¥¬ á®áâ®ï¨¥ ª®¯®ª ¬ëè¨ ----------------------- |
145 | ;--- ¯®«ãç ¥¬ á®áâ®ï¨¥ ª®¯®ª ¬ëè¨ ----------------------- |
145 | ;---------------------------------------------------------- |
146 | ;---------------------------------------------------------- |
146 | mcall 37,2 |
147 | mcall 37,2 |
147 | ;---------------------------------------------------------- |
148 | ;---------------------------------------------------------- |
148 | ;--- ¯à®¢¥à塞 á®áâ®ï¨¥ ---------------------------------- |
149 | ;--- ¯à®¢¥à塞 á®áâ®ï¨¥ ---------------------------------- |
149 | ;---------------------------------------------------------- |
150 | ;---------------------------------------------------------- |
150 | test eax,1 |
151 | test eax,1 |
151 | jnz edit_box_mouse.mouse_left_button |
152 | jnz edit_box_mouse.mouse_left_button |
152 | and word ed_flags,ed_mouse_on_off |
153 | and word ed_flags,ed_mouse_on_off |
153 | mov ebx,dword ed_mouse_variable |
154 | mov ebx,dword ed_mouse_variable |
154 | push 0 |
155 | push 0 |
155 | pop dword [ebx] |
156 | pop dword [ebx] |
156 | ; mov dword [ebx],ebx |
157 | ; mov dword [ebx],ebx |
157 | jmp edit_box.editbox_exit |
158 | jmp edit_box.editbox_exit |
158 | .mouse_left_button: |
159 | .mouse_left_button: |
159 | ;---------------------------------------------------------- |
160 | ;---------------------------------------------------------- |
160 | ;--- ¡«®ª¨à®¢ª ®â 䮪ãá¨à®¢ª¨ ¢ ¤àã£¨å ¡®ªá å ¯à¨ ¯®¯ ¤ ¨¨ ¨å ªãàá®à |
161 | ;--- ¡«®ª¨à®¢ª ®â 䮪ãá¨à®¢ª¨ ¢ ¤àã£¨å ¡®ªá å ¯à¨ ¯®¯ ¤ ¨¨ ¨å ªãàá®à |
161 | ;---------------------------------------------------------- |
162 | ;---------------------------------------------------------- |
162 | mov eax,dword ed_mouse_variable |
163 | mov eax,dword ed_mouse_variable |
163 | push dword [eax] |
164 | push dword [eax] |
164 | pop eax |
165 | pop eax |
165 | test eax,eax |
166 | test eax,eax |
166 | jz @f |
167 | jz @f |
167 | cmp eax,edi |
168 | cmp eax,edi |
168 | je @f |
169 | je @f |
169 | jmp edit_box_mouse._blur |
170 | jmp edit_box_mouse._blur |
170 | ;---------------------------------------------------------- |
171 | ;---------------------------------------------------------- |
171 | ;--- ¯®«ãç ¥¬ ª®®à¤¨ âë ¬ëè¨ ®â®á¨â¥«ì® 0 â.¥ ¢á¥© ®¡« á⨠íªà |
172 | ;--- ¯®«ãç ¥¬ ª®®à¤¨ âë ¬ëè¨ ®â®á¨â¥«ì® 0 â.¥ ¢á¥© ®¡« á⨠íªà |
172 | ;---------------------------------------------------------- |
173 | ;---------------------------------------------------------- |
173 | @@: mcall 37,1 |
174 | @@: mcall 37,1 |
174 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
175 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
175 | ;ãªæ¨ï ®¡à ¡®âª¨ ¬ë誨 ¯®«ã票¥ ª®®à¤¨ â ¨ ¯à®¢¥àª ¨å + ¢ë¤¥«¥¨ï |
176 | ;ãªæ¨ï ®¡à ¡®âª¨ ¬ë誨 ¯®«ã票¥ ª®®à¤¨ â ¨ ¯à®¢¥àª ¨å + ¢ë¤¥«¥¨ï |
176 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
177 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
177 | use_work_mouse |
178 | use_work_mouse |
178 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
179 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
179 | ;¡é¨¥ äãªæ¨¨ ®¡à ¡®âª¨ |
180 | ;¡é¨¥ äãªæ¨¨ ®¡à ¡®âª¨ |
180 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
181 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
181 | use_general_func |
182 | use_general_func |
182 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
183 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
183 | ;ãªæ¨¨ ¤«ï à ¡®âë á key |
184 | ;ãªæ¨¨ ¤«ï à ¡®âë á key |
184 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
185 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
185 | use_key_func |
186 | use_key_func |
186 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
187 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
187 | ;ãªæ¨¨ ¤«ï à ¡®âë á mouse |
188 | ;ãªæ¨¨ ¤«ï à ¡®âë á mouse |
188 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
189 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
189 | use_mouse_func |
190 | use_mouse_func |
190 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
191 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
191 | ;Bit mask from editbox |
192 | ;Bit mask from editbox |
192 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
193 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
193 | } |
194 | } |
194 | 195 | ||
195 | 196 | ||
196 | 197 | ||
197 | 198 | ||
198 | 199 | ||
199 | 200 | ||
200 | 201 | ||
201 | 202 | ||
202 | 203 | ||
203 | 204 | ||
204 | 205 | ||
205 | 206 | ||
206 | 207 | ||
207 | 208 | ||
208 | 209 | ||
209 | 210 | ||
210 | 211 | ||
211 | 212 | ||
212 | 213 | ||
213 | 214 | ||
214 | 215 | ||
215 | 216 | ||
216 | 217 | ||
217 | ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
218 | ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
218 | ;¨¦¥ à ᯮ«®¦¥ë äãªæ¨¨ ª®â®à묨 ॠ«¨§ã¥âáï ¢¥áì «£®à¨â¬ |
219 | ;¨¦¥ à ᯮ«®¦¥ë äãªæ¨¨ ª®â®à묨 ॠ«¨§ã¥âáï ¢¥áì «£®à¨â¬ |
219 | ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
220 | ;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
220 | ; ªà®á ¤«ï ¢ë¢®¤ ®á®¢ëå äãªæ¨© ª®â®àë¥ ¨á¯«ì§ãîâáï ¡®ªá®¬ |
221 | ; ªà®á ¤«ï ¢ë¢®¤ ®á®¢ëå äãªæ¨© ª®â®àë¥ ¨á¯«ì§ãîâáï ¡®ªá®¬ |
221 | macro use_general_func |
222 | macro use_general_func |
222 | { |
223 | { |
223 | ;debug_func |
224 | ;debug_func |
224 | ;---------------------------------------------------------- |
225 | ;---------------------------------------------------------- |
225 | ;--- ¯à®æ¥¤ãà ¯à®à¨á®¢ª¨ ¢ë¤¥«¥®© ç á⨠----------------- |
226 | ;--- ¯à®æ¥¤ãà ¯à®à¨á®¢ª¨ ¢ë¤¥«¥®© ç á⨠----------------- |
226 | ;---------------------------------------------------------- |
227 | ;---------------------------------------------------------- |
227 | edit_box.draw_shift: |
228 | edit_box.draw_shift: |
228 | test word ed_flags,ed_shift_bac ;ãáâ ®¢ª ä« £ , ¢ë¤¥«¥®© ®¡« á⨠|
229 | test word ed_flags,ed_shift_bac ;ãáâ ®¢ª ä« £ , ¢ë¤¥«¥®© ®¡« á⨠|
229 | jz @f |
230 | jz @f |
230 | mov ebp,shift_color |
231 | mov ebp,shift_color |
231 | mov ebx,dword ed_shift_pos |
232 | mov ebx,dword ed_shift_pos |
232 | call edit_box_key.sh_cl_ |
233 | call edit_box_key.sh_cl_ |
233 | @@: ret |
234 | @@: ret |
234 | ;---------------------------------------------------------- |
235 | ;---------------------------------------------------------- |
235 | ;--- ¯à®æ¥¤ãà ¯à®à¨á®¢ª¨ ⥪áâ -------------------------- |
236 | ;--- ¯à®æ¥¤ãà ¯à®à¨á®¢ª¨ ⥪áâ -------------------------- |
236 | ;---------------------------------------------------------- |
237 | ;---------------------------------------------------------- |
237 | edit_box.draw_text: |
238 | edit_box.draw_text: |
238 | ;--- ¢ëç¨á«ï¥¬, ᪮«ìª® ¯®¬¥é ¥âáï ᨬ¢®«®¢ --- |
239 | ;--- ¢ëç¨á«ï¥¬, ᪮«ìª® ¯®¬¥é ¥âáï ᨬ¢®«®¢ --- |
239 | ;--- çâ®¡ë ¬ãá®à ¥ à¨á®¢ âì --- |
240 | ;--- çâ®¡ë ¬ãá®à ¥ à¨á®¢ âì --- |
240 | call edit_box.get_n |
241 | call edit_box.get_n |
241 | mov esi,ed_size |
242 | mov esi,ed_size |
242 | mov ebx,ed_offset |
243 | mov ebx,ed_offset |
243 | sub esi,ebx |
244 | sub esi,ebx |
244 | cmp eax,esi |
245 | cmp eax,esi |
245 | jae @F |
246 | jae @F |
246 | mov esi,eax ;çâ®¡ë ¥ ¢ë室¨âì § ¯à¥¤¥«ë íªà |
247 | mov esi,eax ;çâ®¡ë ¥ ¢ë室¨âì § ¯à¥¤¥«ë íªà |
247 | ;--- à¨á㥬 ⥪áâ --- |
248 | ;--- à¨á㥬 ⥪áâ --- |
248 | @@: mov eax,4 |
249 | @@: mov eax,4 |
249 | mov ebx,ed_left |
250 | mov ebx,ed_left |
250 | mov edx,ed_offset |
251 | mov edx,ed_offset |
251 | add ebx,2 |
252 | add ebx,2 |
252 | shl ebx,16 |
253 | shl ebx,16 |
253 | add ebx,ed_top |
254 | add ebx,ed_top |
254 | mov ecx,ed_text_color |
255 | mov ecx,ed_text_color |
255 | add ebx,4 |
256 | add ebx,4 |
256 | add edx,ed_text |
257 | add edx,ed_text |
257 | mcall |
258 | mcall |
258 | ret |
259 | ret |
259 | ;---------------------------------------------------------- |
260 | ;---------------------------------------------------------- |
260 | ;--- ¯à®æ¥¤ãà ¯à®à¨á®¢ª¨ ä® ---------------------------- |
261 | ;--- ¯à®æ¥¤ãà ¯à®à¨á®¢ª¨ ä® ---------------------------- |
261 | ;¢å®¤ë¥ ¤ ë¥ |
262 | ;¢å®¤ë¥ ¤ ë¥ |
262 | ;eax |
263 | ;eax |
263 | ;edx - color |
264 | ;edx - color |
264 | ;---------------------------------------------------------- |
265 | ;---------------------------------------------------------- |
265 | ;¢å®¤ ⮫쪮 梥â edx |
266 | ;¢å®¤ ⮫쪮 梥â edx |
266 | edit_box.draw_bg: |
267 | edit_box.draw_bg: |
267 | mov ebx,ed_left |
268 | mov ebx,ed_left |
268 | add ebx,1 |
269 | add ebx,1 |
269 | mov edx,ed_color |
270 | mov edx,ed_color |
270 | shl ebx,16 |
271 | shl ebx,16 |
271 | add ebx,ed_width |
272 | add ebx,ed_width |
272 | sub ebx,1 |
273 | sub ebx,1 |
273 | edit_box.draw_bg_eax: |
274 | edit_box.draw_bg_eax: |
274 | mov ecx,ed_top |
275 | mov ecx,ed_top |
275 | mov eax,13 |
276 | mov eax,13 |
276 | add ecx,1 |
277 | add ecx,1 |
277 | shl ecx,16 |
278 | shl ecx,16 |
278 | add ecx,ed_height |
279 | add ecx,ed_height |
279 | dec ecx |
280 | dec ecx |
280 | mcall |
281 | mcall |
281 | ret |
282 | ret |
282 | ;---------------------------------------------------------- |
283 | ;---------------------------------------------------------- |
283 | ;--- ¯à®æ¥¤ãà ¯®«ãç¥¨ï ª®«¨ç¥á⢠ᨬ¢®«®¢ ¢ ⥪ã饩 é¨à¨¥ ª®¬¯®¥â |
284 | ;--- ¯à®æ¥¤ãà ¯®«ãç¥¨ï ª®«¨ç¥á⢠ᨬ¢®«®¢ ¢ ⥪ã饩 é¨à¨¥ ª®¬¯®¥â |
284 | ;---------------------------------------------------------- |
285 | ;---------------------------------------------------------- |
285 | edit_box.get_n: |
286 | edit_box.get_n: |
286 | mov eax,ed_width ;¯®«ã祬 è¨à¨ã ª®¬¯®¥â |
287 | mov eax,ed_width ;¯®«ã祬 è¨à¨ã ª®¬¯®¥â |
287 | xor edx,edx ;१ã«ìâ â à ᯮ«®£ ¥âáï ¢ ¯ ॠedx:eax ¢ eax - ®áâ ⮪ |
288 | xor edx,edx ;१ã«ìâ â à ᯮ«®£ ¥âáï ¢ ¯ ॠedx:eax ¢ eax - ®áâ ⮪ |
288 | sub eax,4 ;¢ëç⨬ 4 |
289 | sub eax,4 ;¢ëç⨬ 4 |
289 | mov ebx,6 ;§ £à㧬¨ ¤¥«¨â¥«ì |
290 | mov ebx,6 ;§ £à㧬¨ ¤¥«¨â¥«ì |
290 | div ebx ;à §¬¤¥«¨¬ 6 |
291 | div ebx ;à §¬¤¥«¨¬ 6 |
291 | ret |
292 | ret |
292 | ;---------------------------------------------------------- |
293 | ;---------------------------------------------------------- |
293 | ;--- ¯à®æ¥¤ãà à¨á®¢ ¨ï ªãàá®à -------------------------- |
294 | ;--- ¯à®æ¥¤ãà à¨á®¢ ¨ï ªãàá®à -------------------------- |
294 | ;---------------------------------------------------------- |
295 | ;---------------------------------------------------------- |
295 | ;¢å®¤ë¥ ebp- 梥â |
296 | ;¢å®¤ë¥ ebp- 梥â |
296 | edit_box.clear_cursor: |
297 | edit_box.clear_cursor: |
297 | mov edx,ebp |
298 | mov edx,ebp |
298 | mov ebx,cl_curs_x |
299 | mov ebx,cl_curs_x |
299 | mov ecx,cl_curs_y |
300 | mov ecx,cl_curs_y |
300 | jmp edit_box.draw_curs |
301 | jmp edit_box.draw_curs |
301 | edit_box.draw_cursor: |
302 | edit_box.draw_cursor: |
302 | mov edx,ed_text_color |
303 | mov edx,ed_text_color |
303 | mov ebx,ed_pos |
304 | mov ebx,ed_pos |
304 | mov ecx,ed_offset |
305 | mov ecx,ed_offset |
305 | sub ebx,ecx |
306 | sub ebx,ecx |
306 | 307 | ||
307 | lea ebx,[ebx*2+ebx] |
308 | lea ebx,[ebx*2+ebx] |
308 | shl ebx,1 |
309 | shl ebx,1 |
309 | ;imul ebx,6 |
310 | ;imul ebx,6 |
310 | add ebx,ed_left |
311 | add ebx,ed_left |
311 | mov ecx,ed_top |
312 | mov ecx,ed_top |
312 | inc ebx |
313 | inc ebx |
313 | add ecx,2 |
314 | add ecx,2 |
314 | mov ebp,ebx |
315 | mov ebp,ebx |
315 | shl ebx,16 |
316 | shl ebx,16 |
316 | mov bx,bp |
317 | mov bx,bp |
317 | mov ebp,ecx |
318 | mov ebp,ecx |
318 | 319 | ||
319 | shl ecx,16 |
320 | shl ecx,16 |
320 | mov cx,bp |
321 | mov cx,bp |
321 | add ecx,ed_height-4 |
322 | add ecx,ed_height-4 |
322 | 323 | ||
323 | mov cl_curs_x,ebx |
324 | mov cl_curs_x,ebx |
324 | mov cl_curs_y,ecx |
325 | mov cl_curs_y,ecx |
325 | edit_box.draw_curs: |
326 | edit_box.draw_curs: |
326 | mcall 38 |
327 | mcall 38 |
327 | ret |
328 | ret |
328 | ;---------------------------------------------------------- |
329 | ;---------------------------------------------------------- |
329 | ;--- ¯à®æ¥¤ãà à¨á®¢ ¨ï à ¬ª¨ ---------------------------- |
330 | ;--- ¯à®æ¥¤ãà à¨á®¢ ¨ï à ¬ª¨ ---------------------------- |
330 | ;---------------------------------------------------------- |
331 | ;---------------------------------------------------------- |
331 | edit_box.draw_border: |
332 | edit_box.draw_border: |
332 | ;--- 梥â à ¬ª¨ --- |
333 | ;--- 梥â à ¬ª¨ --- |
333 | test word ed_flags,ed_focus |
334 | test word ed_flags,ed_focus |
334 | mov edx,ed_focus_border_color |
335 | mov edx,ed_focus_border_color |
335 | jne @f |
336 | jne @f |
336 | mov edx,ed_blur_border_color |
337 | mov edx,ed_blur_border_color |
337 | @@: |
338 | @@: |
338 | ;--- ᢥàåã --- |
339 | ;--- ᢥàåã --- |
339 | mov eax,38 |
340 | mov eax,38 |
340 | mov ebx,ed_left |
341 | mov ebx,ed_left |
341 | mov ecx,ebx |
342 | mov ecx,ebx |
342 | shl ebx,16 |
343 | shl ebx,16 |
343 | mov bx,cx |
344 | mov bx,cx |
344 | add ebx,ed_width |
345 | add ebx,ed_width |
345 | mov ecx,ed_top |
346 | mov ecx,ed_top |
346 | mov esi,ecx |
347 | mov esi,ecx |
347 | shl ecx,16 |
348 | shl ecx,16 |
348 | mov cx,si |
349 | mov cx,si |
349 | mcall |
350 | mcall |
350 | ;--- ᨧã --- |
351 | ;--- ᨧã --- |
351 | mov esi,ecx |
352 | mov esi,ecx |
352 | add ecx,ed_height |
353 | add ecx,ed_height |
353 | mov ebp,ecx |
354 | mov ebp,ecx |
354 | shl ecx,16 |
355 | shl ecx,16 |
355 | mov cx,bp |
356 | mov cx,bp |
356 | mcall |
357 | mcall |
357 | ;--- á«¥¢ --- |
358 | ;--- á«¥¢ --- |
358 | mov cx,si |
359 | mov cx,si |
359 | mov ebp,ebx |
360 | mov ebp,ebx |
360 | sub ebx,ed_width |
361 | sub ebx,ed_width |
361 | mcall |
362 | mcall |
362 | ;--- á¯à ¢ --- |
363 | ;--- á¯à ¢ --- |
363 | mov ebx,ebp |
364 | mov ebx,ebp |
364 | shl ebx,16 |
365 | shl ebx,16 |
365 | mov bx,bp |
366 | mov bx,bp |
366 | mcall |
367 | mcall |
367 | ret |
368 | ret |
368 | ;---------------------------------------------------------- |
369 | ;---------------------------------------------------------- |
369 | ;--- ¯à®¢¥àª , § 襫 «¨ ªãàá®à § £à ¨æë ¨, ¥á«¨ ¤®, --- |
370 | ;--- ¯à®¢¥àª , § 襫 «¨ ªãàá®à § £à ¨æë ¨, ¥á«¨ ¤®, --- |
370 | ;--- ¨§¬¥ï¥¬ ᬥ饨¥ ------------------------------------ |
371 | ;--- ¨§¬¥ï¥¬ ᬥ饨¥ ------------------------------------ |
371 | ;--- ¥á«¨ ᬥ饨¥ ¡ë«® ãáâ ®¢ª ä« £ ed_offset_cl ¨ ç¥ |
372 | ;--- ¥á«¨ ᬥ饨¥ ¡ë«® ãáâ ®¢ª ä« £ ed_offset_cl ¨ ç¥ |
372 | ; ¥á«¨ ¨ç¥£® ¥ ¨§¬¥¨«®áì â® ¢ëáâ ¢«¥¨¥ ed_offset_fl |
373 | ; ¥á«¨ ¨ç¥£® ¥ ¨§¬¥¨«®áì â® ¢ëáâ ¢«¥¨¥ ed_offset_fl |
373 | ; ¢ ®¡é¥© ¡¨â®¢®© ¬ àà¨æ¥ á®áâ®ï¨ï ª®¬¯®¥â®¢ word ed_flags |
374 | ; ¢ ®¡é¥© ¡¨â®¢®© ¬ àà¨æ¥ á®áâ®ï¨ï ª®¬¯®¥â®¢ word ed_flags |
374 | ;---------------------------------------------------------- |
375 | ;---------------------------------------------------------- |
375 | edit_box.check_offset: |
376 | edit_box.check_offset: |
376 | pushad |
377 | pushad |
377 | mov ecx,ed_pos |
378 | mov ecx,ed_pos |
378 | mov ebx,ed_offset |
379 | mov ebx,ed_offset |
379 | cmp ebx,ecx |
380 | cmp ebx,ecx |
380 | ja edit_box.sub_8 |
381 | ja edit_box.sub_8 |
381 | 382 | ||
382 | push ebx |
383 | push ebx |
383 | call edit_box.get_n ;¯®«ã稬 ª®«-¢® ᨬ¢®«®¢ ¢ ¯ ॠॣ¨áâ஢ edx:eax |
384 | call edit_box.get_n ;¯®«ã稬 ª®«-¢® ᨬ¢®«®¢ ¢ ¯ ॠॣ¨áâ஢ edx:eax |
384 | pop ebx |
385 | pop ebx |
385 | mov edx,ebx |
386 | mov edx,ebx |
386 | add edx,eax ;ed_offset+width editbox |
387 | add edx,eax ;ed_offset+width editbox |
387 | inc edx ;¥®¡å®¤¨¬® ¤«ï ®¬ «ì®£® ¯®«®¦¥¨ï ªãàá®à ¢ ªà ©¥© «¥¢®© ¯®§¨æ¨¨ |
388 | inc edx ;¥®¡å®¤¨¬® ¤«ï ®¬ «ì®£® ¯®«®¦¥¨ï ªãàá®à ¢ ªà ©¥© «¥¢®© ¯®§¨æ¨¨ |
388 | cmp edx,ecx |
389 | cmp edx,ecx |
389 | ja @f |
390 | ja @f |
390 | 391 | ||
391 | mov edx,ed_size |
392 | mov edx,ed_size |
392 | cmp edx,ecx |
393 | cmp edx,ecx |
393 | je edit_box.add_end |
394 | je edit_box.add_end |
394 | 395 | ||
395 | sub edx,ecx |
396 | sub edx,ecx |
396 | cmp edx,8 |
397 | cmp edx,8 |
397 | jbe edit_box.add_8 |
398 | jbe edit_box.add_8 |
398 | add ebx,8 |
399 | add ebx,8 |
399 | jmp edit_box.chk_d |
400 | jmp edit_box.chk_d |
400 | 401 | ||
401 | edit_box.sub_8: |
402 | edit_box.sub_8: |
402 | cmp ecx,0 |
403 | cmp ecx,0 |
403 | je edit_box.sub_min |
404 | je edit_box.sub_min |
404 | cmp ebx,8 |
405 | cmp ebx,8 |
405 | jbe edit_box.sub_min |
406 | jbe edit_box.sub_min |
406 | sub ebx,8 ;ebx=ed_offset |
407 | sub ebx,8 ;ebx=ed_offset |
407 | jmp edit_box.chk_d |
408 | jmp edit_box.chk_d |
408 | edit_box.sub_min: |
409 | edit_box.sub_min: |
409 | xor ebx,ebx |
410 | xor ebx,ebx |
410 | jmp edit_box.chk_d |
411 | jmp edit_box.chk_d |
411 | 412 | ||
412 | edit_box.add_end:sub edx,eax |
413 | edit_box.add_end:sub edx,eax |
413 | mov ebx,edx |
414 | mov ebx,edx |
414 | jmp edit_box.chk_d |
415 | jmp edit_box.chk_d |
415 | edit_box.add_8: add ebx,edx |
416 | edit_box.add_8: add ebx,edx |
416 | edit_box.chk_d: mov ed_offset,ebx |
417 | edit_box.chk_d: mov ed_offset,ebx |
417 | call edit_box.draw_bg |
418 | call edit_box.draw_bg |
418 | and word ed_flags,ed_offset_cl |
419 | and word ed_flags,ed_offset_cl |
419 | edit_ex |
420 | edit_ex |
420 | @@: |
421 | @@: |
421 | or word ed_flags,ed_offset_fl |
422 | or word ed_flags,ed_offset_fl |
422 | edit_ex |
423 | edit_ex |
423 | } |
424 | } |
424 | 425 | ||
425 | macro use_key_func |
426 | macro use_key_func |
426 | { |
427 | { |
427 | ;¡à ¡®âª Shift ¤«ï áïâ¨ï ¢ë¤¥«¥¨ï ¥¨§¢¥á⮩ ®¡« á⨠|
428 | ;¡à ¡®âª Shift ¤«ï áïâ¨ï ¢ë¤¥«¥¨ï ¥¨§¢¥á⮩ ®¡« á⨠|
428 | edit_box_key.shift: ;;;;;;;SHIFT |
429 | edit_box_key.shift: ;;;;;;;SHIFT |
429 | test word ed_flags,ed_shift |
430 | test word ed_flags,ed_shift |
430 | je edit_box_key.f_exit |
431 | je edit_box_key.f_exit |
431 | 432 | ||
432 | @@: mov ebp,shift_color |
433 | @@: mov ebp,shift_color |
433 | or word ed_flags,ed_shift_bac ;ãáâ ®¢ª ä« £ , ¢ë¤¥«¥®© ®¡« á⨠|
434 | or word ed_flags,ed_shift_bac ;ãáâ ®¢ª ä« £ , ¢ë¤¥«¥®© ®¡« á⨠|
434 | mov ebx,dword ed_shift_pos |
435 | mov ebx,dword ed_shift_pos |
435 | call edit_box_key.sh_cl_ |
436 | call edit_box_key.sh_cl_ |
436 | jmp edit_box.draw_cursor_text |
437 | jmp edit_box.draw_cursor_text |
437 | ;;;;;;;;;;;;;;;;;;;;; |
438 | ;;;;;;;;;;;;;;;;;;;;; |
438 | edit_box_key.f_exit: call edit_box.check_offset |
439 | edit_box_key.f_exit: call edit_box.check_offset |
439 | and word ed_flags,ed_shift_cl |
440 | and word ed_flags,ed_shift_cl |
440 | call edit_box_key.enable_null |
441 | call edit_box_key.enable_null |
441 | jmp edit_box.draw_cursor_text |
442 | jmp edit_box.draw_cursor_text |
442 | edit_box_key.sh_cl_: |
443 | edit_box_key.sh_cl_: |
443 | ;;;;;;SHIFT end |
444 | ;;;;;;SHIFT end |
444 | ;®¡à ¡®âª ®ç¨á⪨, ¯à¨ «¥¢®¬ - ¯à ¢®¬ ¤¢¨¦¥¨¨ ¢ë¤¥«¥¨ï |
445 | ;®¡à ¡®âª ®ç¨á⪨, ¯à¨ «¥¢®¬ - ¯à ¢®¬ ¤¢¨¦¥¨¨ ¢ë¤¥«¥¨ï |
445 | ;¤«ï ®¡à ¡®âª¨ áïâ¨ï ¢ë¤¥«¥¨ï |
446 | ;¤«ï ®¡à ¡®âª¨ áïâ¨ï ¢ë¤¥«¥¨ï |
446 | ;¢å®¤ë¥ ¯ à ¬¥âàë ebp=color ebx=ed_shift_pos |
447 | ;¢å®¤ë¥ ¯ à ¬¥âàë ebp=color ebx=ed_shift_pos |
447 | mov eax,dword ed_pos |
448 | mov eax,dword ed_pos |
448 | cmp eax,ebx |
449 | cmp eax,ebx |
449 | 450 | ||
450 | jae edit_box_key.sh_n |
451 | jae edit_box_key.sh_n |
451 | push eax ;¬¥ì襥 ¢ eax |
452 | push eax ;¬¥ì襥 ¢ eax |
452 | push ebx ;¡®«ì襥 |
453 | push ebx ;¡®«ì襥 |
453 | jmp edit_box_key.sh_n1 |
454 | jmp edit_box_key.sh_n1 |
454 | ;¥á«¨ ¨ ç¥ |
455 | ;¥á«¨ ¨ ç¥ |
455 | edit_box_key.sh_n: |
456 | edit_box_key.sh_n: |
456 | push ebx |
457 | push ebx |
457 | push eax |
458 | push eax |
458 | edit_box_key.sh_n1: |
459 | edit_box_key.sh_n1: |
459 | call edit_box.check_offset |
460 | call edit_box.check_offset |
460 | call edit_box.get_n |
461 | call edit_box.get_n |
461 | mov edx,eax ;size of ed_box |
462 | mov edx,eax ;size of ed_box |
462 | mov ecx,ed_offset |
463 | mov ecx,ed_offset |
463 | add eax,ecx ;eax = w_off= ed_offset+width |
464 | add eax,ecx ;eax = w_off= ed_offset+width |
464 | mov edx,eax ;save |
465 | mov edx,eax ;save |
465 | pop ebx ;¡®«ì襥 |
466 | pop ebx ;¡®«ì襥 |
466 | pop eax ;¬¥ì襥 |
467 | pop eax ;¬¥ì襥 |
467 | 468 | ||
468 | cmp eax,ecx ;áà ¢¥¨¥ á ¬¥ì襣® á offset. |
469 | cmp eax,ecx ;áà ¢¥¨¥ á ¬¥ì襣® á offset. |
469 | jae edit_box_key.f_f ;¥á«¨ ¡®«ìè¥ |
470 | jae edit_box_key.f_f ;¥á«¨ ¡®«ìè¥ |
470 | xor eax,eax |
471 | xor eax,eax |
471 | cmp edx,ebx ;cà ¢¨¬ à §¬¥à w_off á ¡®«ì訬 |
472 | cmp edx,ebx ;cà ¢¨¬ à §¬¥à w_off á ¡®«ì訬 |
472 | jb @f |
473 | jb @f |
473 | sub ebx,ecx |
474 | sub ebx,ecx |
474 | jmp edit_box_key.nxt_f |
475 | jmp edit_box_key.nxt_f |
475 | @@: mov ebx,edx |
476 | @@: mov ebx,edx |
476 | sub ebx,ecx |
477 | sub ebx,ecx |
477 | jmp edit_box_key.nxt_f |
478 | jmp edit_box_key.nxt_f |
478 | edit_box_key.f_f: |
479 | edit_box_key.f_f: |
479 | sub eax,ecx |
480 | sub eax,ecx |
480 | cmp edx,ebx ;cà ¢¨¬ à §¬¥à w_off á ¡®«ì訬 |
481 | cmp edx,ebx ;cà ¢¨¬ à §¬¥à w_off á ¡®«ì訬 |
481 | jle @f |
482 | jle @f |
482 | sub ebx,ecx |
483 | sub ebx,ecx |
483 | sub ebx,eax |
484 | sub ebx,eax |
484 | jmp edit_box_key.nxt_f |
485 | jmp edit_box_key.nxt_f |
485 | @@: |
486 | @@: |
486 | mov ebx,edx |
487 | mov ebx,edx |
487 | sub ebx,ecx |
488 | sub ebx,ecx |
488 | sub ebx,eax |
489 | sub ebx,eax |
489 | edit_box_key.nxt_f: |
490 | edit_box_key.nxt_f: |
490 | mov edx,ebx |
491 | mov edx,ebx |
491 | lea ebx,[eax*2+eax] |
492 | lea ebx,[eax*2+eax] |
492 | shl ebx,1 |
493 | shl ebx,1 |
493 | add ebx,ed_left |
494 | add ebx,ed_left |
494 | inc ebx |
495 | inc ebx |
495 | shl ebx,16 |
496 | shl ebx,16 |
496 | lea ecx,[edx*2+edx] |
497 | lea ecx,[edx*2+edx] |
497 | shl ecx,1 |
498 | shl ecx,1 |
498 | mov bx,cx |
499 | mov bx,cx |
499 | inc ebx |
500 | inc ebx |
500 | mov edx,ebp;shift_color |
501 | mov edx,ebp;shift_color |
501 | 502 | ||
502 | call edit_box.draw_bg_eax |
503 | call edit_box.draw_bg_eax |
503 | @@: call edit_box_key.enable_null |
504 | @@: call edit_box_key.enable_null |
504 | ret |
505 | ret |
505 | ;;;;;;;;;;;;;;;;;;;;; |
506 | ;;;;;;;;;;;;;;;;;;;;; |
506 | ;áâ ®¢ª - áï⨥ ¢ë¤¥«¥¨ï ¢ ®¤¨ ᨬ¢®« |
507 | ;áâ ®¢ª - áï⨥ ¢ë¤¥«¥¨ï ¢ ®¤¨ ᨬ¢®« |
507 | ;;;;;;;;;;;;;;;;;;;;; |
508 | ;;;;;;;;;;;;;;;;;;;;; |
508 | edit_box_key.drw_sim: |
509 | edit_box_key.drw_sim: |
509 | mov eax,dword ed_pos |
510 | mov eax,dword ed_pos |
510 | call edit_box_key.draw_rectangle ; à¨á®¢ âì ¯àאַ㣮«ì¨ª á § ¤ ë¬ æ¢¥â®¬ |
511 | call edit_box_key.draw_rectangle ; à¨á®¢ âì ¯àאַ㣮«ì¨ª á § ¤ ë¬ æ¢¥â®¬ |
511 | jmp @b |
512 | jmp @b |
512 | ;;;;;;;;;;;;;;;;;;;;; |
513 | ;;;;;;;;;;;;;;;;;;;;; |
513 | ;ãªæ¨ï ãáâ ®¢ª¨ ¢ë¤¥«¥¨ï ¯à¨ ¤¢¨¦¥¨ï ¢«¥¢® ¨ ¢¯à ¢® ¨ ¦ ⨨ shift |
514 | ;ãªæ¨ï ãáâ ®¢ª¨ ¢ë¤¥«¥¨ï ¯à¨ ¤¢¨¦¥¨ï ¢«¥¢® ¨ ¢¯à ¢® ¨ ¦ ⨨ shift |
514 | ;®£¨ª : |
515 | ;®£¨ª : |
515 | ;;;;;;;;;; |
516 | ;;;;;;;;;; |
516 | edit_box_key.draw_wigwag: |
517 | edit_box_key.draw_wigwag: |
517 | ;äãªæ¨ï ãáâ ®¢ª¨ ¯¥à¥¬¥ëå |
518 | ;äãªæ¨ï ãáâ ®¢ª¨ ¯¥à¥¬¥ëå |
518 | mov ebp,shift_color |
519 | mov ebp,shift_color |
519 | call edit_box.clear_cursor |
520 | call edit_box.clear_cursor |
520 | 521 | ||
521 | or word ed_flags,ed_shift_bac ;ãáâ ®¢ª ä« £ , ¢ë¤¥«¥®© ®¡« á⨠|
522 | or word ed_flags,ed_shift_bac ;ãáâ ®¢ª ä« £ , ¢ë¤¥«¥®© ®¡« á⨠|
522 | mov ebp,shift_color |
523 | mov ebp,shift_color |
523 | mov eax,dword ed_pos |
524 | mov eax,dword ed_pos |
524 | test word ed_flags,ed_left_fl |
525 | test word ed_flags,ed_left_fl |
525 | jz edit_box_key.low |
526 | jz edit_box_key.low |
526 | jmp @f |
527 | jmp @f |
527 | ;;;;;;;;;; |
528 | ;;;;;;;;;; |
528 | ;ãªæ¨ï 㤠«¥¨ï ¢ë¤¥«¥¨ï ¯à¨ ¤¢¨¦¥¨ï ¢«¥¢® ¨ ¢¯à ¢® ¨ ¦ ⨨ shift |
529 | ;ãªæ¨ï 㤠«¥¨ï ¢ë¤¥«¥¨ï ¯à¨ ¤¢¨¦¥¨ï ¢«¥¢® ¨ ¢¯à ¢® ¨ ¦ ⨨ shift |
529 | ;®£¨ª : |
530 | ;®£¨ª : |
530 | ;;;;;;;;;; |
531 | ;;;;;;;;;; |
531 | edit_box_key.draw_wigwag_cl: |
532 | edit_box_key.draw_wigwag_cl: |
532 | ;äãªæ¨ï ãáâ ®¢ª¨ ¯¥à¥¬¥ëå |
533 | ;äãªæ¨ï ãáâ ®¢ª¨ ¯¥à¥¬¥ëå |
533 | mov ebp,ed_color |
534 | mov ebp,ed_color |
534 | call edit_box.clear_cursor |
535 | call edit_box.clear_cursor |
535 | 536 | ||
536 | mov ebp,ed_color |
537 | mov ebp,ed_color |
537 | mov eax,dword ed_pos |
538 | mov eax,dword ed_pos |
538 | test word ed_flags,ed_left_fl |
539 | test word ed_flags,ed_left_fl |
539 | jz edit_box_key.low |
540 | jz edit_box_key.low |
540 | @@: call edit_box_key.draw_rectangle ; à¨á®¢ âì ¯àאַ㣮«ì¨ª § ªà 訢 ¥¬®© ®¡« á⨠|
541 | @@: call edit_box_key.draw_rectangle ; à¨á®¢ âì ¯àאַ㣮«ì¨ª § ªà 訢 ¥¬®© ®¡« á⨠|
541 | ret |
542 | ret |
542 | edit_box_key.low: dec eax |
543 | edit_box_key.low: dec eax |
543 | jmp @b |
544 | jmp @b |
544 | ;¢å®¤®© ¯ à ¬¥âà ebx - ed_pos |
545 | ;¢å®¤®© ¯ à ¬¥âà ebx - ed_pos |
545 | edit_box_key.sh_first_sh: |
546 | edit_box_key.sh_first_sh: |
546 | test word ed_flags,ed_shift |
547 | test word ed_flags,ed_shift |
547 | je @f |
548 | je @f |
548 | mov dword ed_shift_pos_old,ebx |
549 | mov dword ed_shift_pos_old,ebx |
549 | test word ed_flags,ed_shift_on |
550 | test word ed_flags,ed_shift_on |
550 | jne @f |
551 | jne @f |
551 | mov dword ed_shift_pos,ebx |
552 | mov dword ed_shift_pos,ebx |
552 | or word ed_flags,ed_shift_on |
553 | or word ed_flags,ed_shift_on |
553 | @@: ret |
554 | @@: ret |
554 | ;¡à ¡®âª ªà ©¨å ¯®«®¦¥¨© ¢ editbox ¯à¨ ¦ ⮬ shift |
555 | ;¡à ¡®âª ªà ©¨å ¯®«®¦¥¨© ¢ editbox ¯à¨ ¦ ⮬ shift |
555 | ;¯à®¨§¢®¤¨â áï⨥ ¢ë¤¥«¥¨¥, ¥á«¨ ¥â shift |
556 | ;¯à®¨§¢®¤¨â áï⨥ ¢ë¤¥«¥¨¥, ¥á«¨ ¥â shift |
556 | ;¨ ç¥ ¢®®¡é¥ ¢ë室¨â |
557 | ;¨ ç¥ ¢®®¡é¥ ¢ë室¨â |
557 | edit_box_key.sh_st_of: |
558 | edit_box_key.sh_st_of: |
558 | test word ed_flags,ed_shift |
559 | test word ed_flags,ed_shift |
559 | jne @f |
560 | jne @f |
560 | test word ed_flags,ed_shift_bac |
561 | test word ed_flags,ed_shift_bac |
561 | je @f |
562 | je @f |
562 | mov ebp,ed_color |
563 | mov ebp,ed_color |
563 | mov ebx,dword ed_shift_pos |
564 | mov ebx,dword ed_shift_pos |
564 | call edit_box_key.sh_cl_ ;®ç¨á⪠¢ë¤¥«¥®£® äà £¬¥â |
565 | call edit_box_key.sh_cl_ ;®ç¨á⪠¢ë¤¥«¥®£® äà £¬¥â |
565 | and word ed_flags,ed_shift_cl ; ®ç¨á⪠®â ⮣® çâ® ã¡à «¨ ¢ë¤¥«¥¨¥ |
566 | and word ed_flags,ed_shift_cl ; ®ç¨á⪠®â ⮣® çâ® ã¡à «¨ ¢ë¤¥«¥¨¥ |
566 | jmp edit_box.draw_cursor_text |
567 | jmp edit_box.draw_cursor_text |
567 | @@: |
568 | @@: |
568 | and word ed_flags,ed_shift_off |
569 | and word ed_flags,ed_shift_off |
569 | popad |
570 | popad |
570 | ret 4 |
571 | ret 4 |
571 | ;¯à®¢¥àª á®áâ®ï¨ï shift ¡ë« «¨ ® ¦ â à ìè¥? |
572 | ;¯à®¢¥àª á®áâ®ï¨ï shift ¡ë« «¨ ® ¦ â à ìè¥? |
572 | edit_box_key.sh_enable: |
573 | edit_box_key.sh_enable: |
573 | test word ed_flags,ed_shift |
574 | test word ed_flags,ed_shift |
574 | jne edit_box_key.sh_ext_en ; à¨á®¢ âì § ªà è¥ë© ¯àאַ㣮«ì¨ª |
575 | jne edit_box_key.sh_ext_en ; à¨á®¢ âì § ªà è¥ë© ¯àאַ㣮«ì¨ª |
575 | 576 | ||
576 | test word ed_flags,ed_shift_bac |
577 | test word ed_flags,ed_shift_bac |
577 | je @f |
578 | je @f |
578 | call edit_box.check_offset |
579 | call edit_box.check_offset |
579 | 580 | ||
580 | mov ebp,ed_color |
581 | mov ebp,ed_color |
581 | mov ebx,dword ed_shift_pos |
582 | mov ebx,dword ed_shift_pos |
582 | call edit_box_key.sh_cl_ ;®ç¨á⪠¢ë¤¥«¥®£® äà £¬¥â |
583 | call edit_box_key.sh_cl_ ;®ç¨á⪠¢ë¤¥«¥®£® äà £¬¥â |
583 | call edit_box_key.draw_wigwag_cl |
584 | call edit_box_key.draw_wigwag_cl |
584 | and word ed_flags,ed_shift_cl ; 1¢ à ¥ 㦮 |
585 | and word ed_flags,ed_shift_cl ; 1¢ à ¥ 㦮 |
585 | ret |
586 | ret |
586 | 587 | ||
587 | @@: mov ebp,ed_color |
588 | @@: mov ebp,ed_color |
588 | call edit_box.clear_cursor |
589 | call edit_box.clear_cursor |
589 | call edit_box.check_offset |
590 | call edit_box.check_offset |
590 | ret |
591 | ret |
591 | edit_box_key.sh_ext_en: |
592 | edit_box_key.sh_ext_en: |
592 | call edit_box.check_offset |
593 | call edit_box.check_offset |
593 | test word ed_flags,ed_offset_fl |
594 | test word ed_flags,ed_offset_fl |
594 | je @f |
595 | je @f |
595 | ;¨á®¢ ¨¥ § ªà è¥ëå ¯àאַ㣮«ì¨ª®¢ ¨ ®ç¨á⪠¨å |
596 | ;¨á®¢ ¨¥ § ªà è¥ëå ¯àאַ㣮«ì¨ª®¢ ¨ ®ç¨á⪠¨å |
596 | mov eax,dword ed_shift_pos |
597 | mov eax,dword ed_shift_pos |
597 | mov ebx,dword ed_pos |
598 | mov ebx,dword ed_pos |
598 | mov ecx,dword ed_shift_pos_old |
599 | mov ecx,dword ed_shift_pos_old |
599 | ;¯à®¢¥àª ¨ à¨á®¢ ¨¥ § ªà è¥ëå ®¡« á⥩ |
600 | ;¯à®¢¥àª ¨ à¨á®¢ ¨¥ § ªà è¥ëå ®¡« á⥩ |
600 | cmp eax,ecx |
601 | cmp eax,ecx |
601 | je edit_box_key.1_shem |
602 | je edit_box_key.1_shem |
602 | jb edit_box_key.smaller |
603 | jb edit_box_key.smaller |
603 | cmp ecx,ebx |
604 | cmp ecx,ebx |
604 | ja edit_box_key.1_shem |
605 | ja edit_box_key.1_shem |
605 | call edit_box_key.draw_wigwag_cl ;clear |
606 | call edit_box_key.draw_wigwag_cl ;clear |
606 | jmp edit_box_key.sh_e_end |
607 | jmp edit_box_key.sh_e_end |
607 | edit_box_key.smaller: |
608 | edit_box_key.smaller: |
608 | cmp ecx,ebx |
609 | cmp ecx,ebx |
609 | jb edit_box_key.1_shem |
610 | jb edit_box_key.1_shem |
610 | call edit_box_key.draw_wigwag_cl ;clear |
611 | call edit_box_key.draw_wigwag_cl ;clear |
611 | jmp edit_box_key.sh_e_end |
612 | jmp edit_box_key.sh_e_end |
612 | ;alike = |
613 | ;alike = |
613 | edit_box_key.1_shem: call edit_box_key.draw_wigwag |
614 | edit_box_key.1_shem: call edit_box_key.draw_wigwag |
614 | edit_box_key.sh_e_end: and word ed_flags,ed_shift_off |
615 | edit_box_key.sh_e_end: and word ed_flags,ed_shift_off |
615 | ret |
616 | ret |
616 | @@: mov ebp,shift_color |
617 | @@: mov ebp,shift_color |
617 | mov ebx,dword ed_shift_pos |
618 | mov ebx,dword ed_shift_pos |
618 | call edit_box_key.sh_cl_ |
619 | call edit_box_key.sh_cl_ |
619 | jmp edit_box_key.sh_e_end |
620 | jmp edit_box_key.sh_e_end |
620 | ;äãªæ¨ï ¤«ï ®¡à ¡®âª¨ shift ¯à¨ ¦ ⨨ home and end |
621 | ;äãªæ¨ï ¤«ï ®¡à ¡®âª¨ shift ¯à¨ ¦ ⨨ home and end |
621 | edit_box_key.sh_home_end: |
622 | edit_box_key.sh_home_end: |
622 | mov ebp,ed_color |
623 | mov ebp,ed_color |
623 | call edit_box.clear_cursor |
624 | call edit_box.clear_cursor |
624 | test word ed_flags,ed_shift_bac |
625 | test word ed_flags,ed_shift_bac |
625 | je @f |
626 | je @f |
626 | mov ebp,ed_color |
627 | mov ebp,ed_color |
627 | mov ebx,dword ed_shift_pos_old |
628 | mov ebx,dword ed_shift_pos_old |
628 | call edit_box_key.sh_cl_ |
629 | call edit_box_key.sh_cl_ |
629 | 630 | ||
630 | @@: test word ed_flags,ed_shift |
631 | @@: test word ed_flags,ed_shift |
631 | je edit_box_key.sh_exit_ ;¢ë©â¨ |
632 | je edit_box_key.sh_exit_ ;¢ë©â¨ |
632 | mov ebp,shift_color |
633 | mov ebp,shift_color |
633 | mov ebx,dword ed_shift_pos |
634 | mov ebx,dword ed_shift_pos |
634 | call edit_box_key.sh_cl_ |
635 | call edit_box_key.sh_cl_ |
635 | or word ed_flags,ed_shift_bac ;ãáâ ®¢ª ä« £ , ¢ë¤¥«¥®© ®¡« á⨠|
636 | or word ed_flags,ed_shift_bac ;ãáâ ®¢ª ä« £ , ¢ë¤¥«¥®© ®¡« á⨠|
636 | jmp edit_box_key.sh_e_end |
637 | jmp edit_box_key.sh_e_end |
637 | edit_box_key.sh_exit_: |
638 | edit_box_key.sh_exit_: |
638 | call edit_box.check_offset |
639 | call edit_box.check_offset |
639 | ret |
640 | ret |
640 | ;äãªæ¨ï ¢¥á¥¨ï 0 ¯® ¤à¥áã ed_size+1 |
641 | ;äãªæ¨ï ¢¥á¥¨ï 0 ¯® ¤à¥áã ed_size+1 |
641 | edit_box_key.enable_null: |
642 | edit_box_key.enable_null: |
642 | pusha |
643 | pusha |
643 | mov eax,ed_size |
644 | mov eax,ed_size |
644 | mov ebx,ed_text |
645 | mov ebx,ed_text |
645 | test eax,eax |
646 | test eax,eax |
646 | add eax,ebx |
647 | add eax,ebx |
647 | jne @f |
648 | jne @f |
648 | inc eax |
649 | inc eax |
649 | @@: xor ebx,ebx |
650 | @@: xor ebx,ebx |
650 | mov [eax],bl |
651 | mov [eax],bl |
651 | edit_ex |
652 | edit_ex |
652 | ;- 㤠«¥¨¥ ᨬ¢®« |
653 | ;- 㤠«¥¨¥ ᨬ¢®« |
653 | ;å®¤ë¥ ¤ ë¥ edx=ed_size;ecx=ed_pos |
654 | ;å®¤ë¥ ¤ ë¥ edx=ed_size;ecx=ed_pos |
654 | edit_box_key.del_char: |
655 | edit_box_key.del_char: |
655 | mov esi,ed_text |
656 | mov esi,ed_text |
656 | test word ed_flags,ed_shift_on |
657 | test word ed_flags,ed_shift_on |
657 | je @f |
658 | je @f |
658 | mov eax,dword ed_shift_pos |
659 | mov eax,dword ed_shift_pos |
659 | mov ebx,esi |
660 | mov ebx,esi |
660 | cmp eax,ecx |
661 | cmp eax,ecx |
661 | jae edit_box_key.dh_n |
662 | jae edit_box_key.dh_n |
662 | 663 | ||
663 | mov ed_pos,eax ;çâ® ¡ë ¥ ¡ë«® ã¡¥£ ¨ï ªãàá®à |
664 | mov ed_pos,eax ;çâ® ¡ë ¥ ¡ë«® ã¡¥£ ¨ï ªãàá®à |
664 | mov ebp,ecx |
665 | mov ebp,ecx |
665 | sub ebp,eax |
666 | sub ebp,eax |
666 | add ebx,eax ;eax ¬¥ìè¥ |
667 | add ebx,eax ;eax ¬¥ìè¥ |
667 | sub edx,ecx |
668 | sub edx,ecx |
668 | add esi,ecx |
669 | add esi,ecx |
669 | 670 | ||
670 | mov dword ed_shift_pos,ebp |
671 | mov dword ed_shift_pos,ebp |
671 | jmp edit_box_key.del_ch_sh |
672 | jmp edit_box_key.del_ch_sh |
672 | ;¥á«¨ ¨ ç¥ |
673 | ;¥á«¨ ¨ ç¥ |
673 | edit_box_key.dh_n: |
674 | edit_box_key.dh_n: |
674 | mov ebp,eax |
675 | mov ebp,eax |
675 | sub ebp,ecx |
676 | sub ebp,ecx |
676 | add ebx,ecx |
677 | add ebx,ecx |
677 | sub edx,eax |
678 | sub edx,eax |
678 | add esi,eax |
679 | add esi,eax |
679 | mov dword ed_shift_pos,ebp |
680 | mov dword ed_shift_pos,ebp |
680 | jmp edit_box_key.del_ch_sh |
681 | jmp edit_box_key.del_ch_sh |
681 | 682 | ||
682 | @@: add esi,ecx ;㪠§ ⥫ì + ᬥ饨¥ ª ॠ«ì®¬ã ¡ãää¥àã |
683 | @@: add esi,ecx ;㪠§ ⥫ì + ᬥ饨¥ ª ॠ«ì®¬ã ¡ãää¥àã |
683 | mov ebx,esi |
684 | mov ebx,esi |
684 | inc esi |
685 | inc esi |
685 | cld |
686 | cld |
686 | 687 | ||
687 | sub edx,ecx |
688 | sub edx,ecx |
688 | edit_box_key.del_ch_sh: |
689 | edit_box_key.del_ch_sh: |
689 | 690 | ||
690 | push edi |
691 | push edi |
691 | mov edi,ebx |
692 | mov edi,ebx |
692 | @@: |
693 | @@: |
693 | lodsb |
694 | lodsb |
694 | stosb |
695 | stosb |
695 | dec edx |
696 | dec edx |
696 | jns @b |
697 | jns @b |
697 | 698 | ||
698 | pop edi |
699 | pop edi |
699 | ret |
700 | ret |
700 | ;¢ëç¨á«¨âì § ªà 訢 ¥¬ãî ®¡« áâì |
701 | ;¢ëç¨á«¨âì § ªà 訢 ¥¬ãî ®¡« áâì |
701 | ;ᮣ« 襨¥ ¢ ebp - ¯¥à¥¤ ¥âáï ed_size |
702 | ;ᮣ« 襨¥ ¢ ebp - ¯¥à¥¤ ¥âáï ed_size |
702 | edit_box_key.clear_bg: |
703 | edit_box_key.clear_bg: |
703 | call edit_box.get_n ;¯®«ãç¨âì à §¬¥à ¢ ᨬ¢®« å è¨à¨ë ª®¬¯®¥â |
704 | call edit_box.get_n ;¯®«ãç¨âì à §¬¥à ¢ ᨬ¢®« å è¨à¨ë ª®¬¯®¥â |
704 | push eax |
705 | push eax |
705 | mov ebx,ed_offset |
706 | mov ebx,ed_offset |
706 | add eax,ebx ;eax = w_off= ed_offset+width |
707 | add eax,ebx ;eax = w_off= ed_offset+width |
707 | mov ebx,ebp ;ed_size |
708 | mov ebx,ebp ;ed_size |
708 | 709 | ||
709 | cmp eax,ebx |
710 | cmp eax,ebx |
710 | jb @f |
711 | jb @f |
711 | mov eax,ed_pos |
712 | mov eax,ed_pos |
712 | sub ebx,eax |
713 | sub ebx,eax |
713 | mov ecx,ed_offset |
714 | mov ecx,ed_offset |
714 | sub eax,ecx |
715 | sub eax,ecx |
715 | jmp edit_box_key.nxt |
716 | jmp edit_box_key.nxt |
716 | @@: mov ebx,ed_pos |
717 | @@: mov ebx,ed_pos |
717 | push ebx |
718 | push ebx |
718 | sub eax,ebx |
719 | sub eax,ebx |
719 | mov ebx,eax ;It is don't optimal |
720 | mov ebx,eax ;It is don't optimal |
720 | 721 | ||
721 | pop eax ;ed_pos |
722 | pop eax ;ed_pos |
722 | mov ecx,ed_offset |
723 | mov ecx,ed_offset |
723 | sub eax,ecx |
724 | sub eax,ecx |
724 | edit_box_key.nxt: |
725 | edit_box_key.nxt: |
725 | mov ebp,eax ;¯à®¢¥àª ¢ë室 § ªà 訢 ¥¬®© ®¡« á⨠§ ¯à¥¤¥«ë ¤«¨ë |
726 | mov ebp,eax ;¯à®¢¥àª ¢ë室 § ªà 訢 ¥¬®© ®¡« á⨠§ ¯à¥¤¥«ë ¤«¨ë |
726 | add ebp,ebx |
727 | add ebp,ebx |
727 | pop edx |
728 | pop edx |
728 | cmp ebp,edx |
729 | cmp ebp,edx |
729 | je @f |
730 | je @f |
730 | inc ebx |
731 | inc ebx |
731 | 732 | ||
732 | @@: mov edx,ebx |
733 | @@: mov edx,ebx |
733 | lea ebx,[eax*2+eax] |
734 | lea ebx,[eax*2+eax] |
734 | shl ebx,1 |
735 | shl ebx,1 |
735 | add ebx,ed_left |
736 | add ebx,ed_left |
736 | inc ebx |
737 | inc ebx |
737 | shl ebx,16 |
738 | shl ebx,16 |
738 | lea ecx,[edx*2+edx] |
739 | lea ecx,[edx*2+edx] |
739 | shl ecx,1 |
740 | shl ecx,1 |
740 | mov bx,cx |
741 | mov bx,cx |
741 | mov edx,ed_color |
742 | mov edx,ed_color |
742 | call edit_box.draw_bg_eax |
743 | call edit_box.draw_bg_eax |
743 | ret |
744 | ret |
744 | ;;;;;;;;;;;;;;;;;;; |
745 | ;;;;;;;;;;;;;;;;;;; |
745 | ;;; ¡à ¡®âª ¯à¨¬¨â¨¢®¢ |
746 | ;;; ¡à ¡®âª ¯à¨¬¨â¨¢®¢ |
746 | ;;;;;;;;;;;;;;;;;;;; |
747 | ;;;;;;;;;;;;;;;;;;;; |
747 | ; à¨á®¢ âì ¯àאַ㣮«ì¨ª, 梥⠯¥à¥¤ ¥âáï ¢ ebp |
748 | ; à¨á®¢ âì ¯àאַ㣮«ì¨ª, 梥⠯¥à¥¤ ¥âáï ¢ ebp |
748 | ;¢å®¤ë¥ ¯ à ¬¥âàë: |
749 | ;¢å®¤ë¥ ¯ à ¬¥âàë: |
749 | ;eax=dword ed_pos |
750 | ;eax=dword ed_pos |
750 | ;ebp=-梥â ed_color or shift_color |
751 | ;ebp=-梥â ed_color or shift_color |
751 | edit_box_key.draw_rectangle: |
752 | edit_box_key.draw_rectangle: |
752 | mov ecx,dword ed_offset |
753 | mov ecx,dword ed_offset |
753 | sub eax,ecx |
754 | sub eax,ecx |
754 | lea ebx,[eax*2+eax] |
755 | lea ebx,[eax*2+eax] |
755 | shl ebx,1 |
756 | shl ebx,1 |
756 | inc ebx |
757 | inc ebx |
757 | add ebx,ed_left |
758 | add ebx,ed_left |
758 | shl ebx,16 |
759 | shl ebx,16 |
759 | add ebx,6 |
760 | add ebx,6 |
760 | mov edx,ebp |
761 | mov edx,ebp |
761 | call edit_box.draw_bg_eax |
762 | call edit_box.draw_bg_eax |
762 | ret |
763 | ret |
763 | ;;;;;;;;;;;;;;;;;; |
764 | ;;;;;;;;;;;;;;;;;; |
764 | ;;஢¥àª ¦ â «¨ shift |
765 | ;;஢¥àª ¦ â «¨ shift |
765 | ;;;;;;;;;;;;;;;;;; |
766 | ;;;;;;;;;;;;;;;;;; |
766 | edit_box_key.check_shift: |
767 | edit_box_key.check_shift: |
767 | pusha ;á®åà ¨¬ ¢á¥ ॣ¨áâàë |
768 | pusha ;á®åà ¨¬ ¢á¥ ॣ¨áâàë |
768 | mcall 66,3 |
769 | mcall 66,3 |
769 | test al,0x03 |
770 | test al,0x03 |
770 | je @f |
771 | je @f |
771 | or word ed_flags,ed_shift ;ãáâ ®¢¨¬ ä« £ |
772 | or word ed_flags,ed_shift ;ãáâ ®¢¨¬ ä« £ |
772 | @@:edit_ex |
773 | @@:edit_ex |
773 | } |
774 | } |
774 | ;¬ ªà®á ª« ¢¨è ª®â®àë¥ ¯à®¨á室¨â ॠªæ¨ï |
775 | ;¬ ªà®á ª« ¢¨è ª®â®àë¥ ¯à®¨á室¨â ॠªæ¨ï |
775 | macro use_key_process backspase,delete,left,right,home,end,insert |
776 | macro use_key_process backspase,delete,left,right,home,end,insert |
776 | { |
777 | { |
777 | if backspase eq |
778 | if backspase eq |
778 | else |
779 | else |
779 | cmp ah,8 |
780 | cmp ah,8 |
780 | jz edit_box_key.backspace |
781 | jz edit_box_key.backspace |
781 | end if |
782 | end if |
782 | if delete eq |
783 | if delete eq |
783 | else |
784 | else |
784 | cmp ah,0xb6 |
785 | cmp ah,0xb6 |
785 | jz edit_box_key.delete |
786 | jz edit_box_key.delete |
786 | end if |
787 | end if |
787 | if left eq |
788 | if left eq |
788 | else |
789 | else |
789 | cmp ah,176 |
790 | cmp ah,176 |
790 | jz edit_box_key.left |
791 | jz edit_box_key.left |
791 | end if |
792 | end if |
792 | if right eq |
793 | if right eq |
793 | else |
794 | else |
794 | cmp ah,179 |
795 | cmp ah,179 |
795 | jz edit_box_key.right |
796 | jz edit_box_key.right |
796 | end if |
797 | end if |
797 | if home eq |
798 | if home eq |
798 | else |
799 | else |
799 | cmp ah,180 |
800 | cmp ah,180 |
800 | jz edit_box_key.home |
801 | jz edit_box_key.home |
801 | end if |
802 | end if |
802 | if home eq |
803 | if home eq |
803 | else |
804 | else |
804 | cmp ah,181 |
805 | cmp ah,181 |
805 | jz edit_box_key.end |
806 | jz edit_box_key.end |
806 | end if |
807 | end if |
807 | if insert eq |
808 | if insert eq |
808 | else |
809 | else |
809 | cmp ah,185 ;insert |
810 | cmp ah,185 ;insert |
810 | jz edit_box_key.insert |
811 | jz edit_box_key.insert |
811 | end if |
812 | end if |
812 | } |
813 | } |
813 | 814 | ||
814 | macro use_key_no_process up,down,esc,enter,tab,numl,capsl,scrolll |
815 | macro use_key_no_process up,down,esc,enter,tab,numl,capsl,scrolll |
815 | { |
816 | { |
816 | if up eq |
817 | if up eq |
817 | else |
818 | else |
818 | cmp ah,177 |
819 | cmp ah,177 |
819 | jz edit_box.editbox_exit |
820 | jz edit_box.editbox_exit |
820 | end if |
821 | end if |
821 | if down eq |
822 | if down eq |
822 | else |
823 | else |
823 | cmp ah,178 |
824 | cmp ah,178 |
824 | jz edit_box.editbox_exit |
825 | jz edit_box.editbox_exit |
825 | end if |
826 | end if |
826 | if esc eq |
827 | if esc eq |
827 | else |
828 | else |
828 | cmp ah,27 ;ESC - ª« ¢¨è )) |
829 | cmp ah,27 ;ESC - ª« ¢¨è )) |
829 | jz edit_box.editbox_exit |
830 | jz edit_box.editbox_exit |
830 | end if |
831 | end if |
831 | if enter eq |
832 | if enter eq |
832 | else |
833 | else |
833 | cmp ah,13 ;ENTER - ª« ¢¨è )) |
834 | cmp ah,13 ;ENTER - ª« ¢¨è )) |
834 | jz edit_box.editbox_exit |
835 | jz edit_box.editbox_exit |
835 | end if |
836 | end if |
836 | if tab eq |
837 | if tab eq |
837 | else |
838 | else |
838 | cmp ah,9 ;TAB - ª« ¢¨è )) |
839 | cmp ah,9 ;TAB - ª« ¢¨è )) |
839 | jz edit_box.editbox_exit |
840 | jz edit_box.editbox_exit |
840 | end if |
841 | end if |
841 | 842 | ||
842 | if numl eq |
843 | if numl eq |
843 | else |
844 | else |
844 | cmp ah,4 ;Num Lock - ª« ¢¨è )) |
845 | cmp ah,4 ;Num Lock - ª« ¢¨è )) |
845 | jz edit_box.editbox_exit |
846 | jz edit_box.editbox_exit |
846 | end if |
847 | end if |
847 | 848 | ||
848 | if capsl eq |
849 | if capsl eq |
849 | else |
850 | else |
850 | cmp ah,2 ;Caps Lock - ª« ¢¨è )) |
851 | cmp ah,2 ;Caps Lock - ª« ¢¨è )) |
851 | jz edit_box.editbox_exit |
852 | jz edit_box.editbox_exit |
852 | end if |
853 | end if |
853 | 854 | ||
854 | if scrolll eq |
855 | if scrolll eq |
855 | else |
856 | else |
856 | cmp ah,1 ;Scroll Lock - ª« ¢¨è )) |
857 | cmp ah,1 ;Scroll Lock - ª« ¢¨è )) |
857 | jz edit_box.editbox_exit |
858 | jz edit_box.editbox_exit |
858 | end if |
859 | end if |
859 | 860 | ||
860 | } |
861 | } |
861 | 862 | ||
862 | macro use_key_figures_only |
863 | macro use_key_figures_only |
863 | { |
864 | { |
864 | test word ed_flags,ed_figure_only ; ⮫쪮 æ¨äàë ? |
865 | test word ed_flags,ed_figure_only ; ⮫쪮 æ¨äàë ? |
865 | jz @f |
866 | jz @f |
866 | cmp ah,'0' |
867 | cmp ah,'0' |
867 | jb edit_box.editbox_exit |
868 | jb edit_box.editbox_exit |
868 | cmp ah,'9' |
869 | cmp ah,'9' |
869 | ja edit_box.editbox_exit |
870 | ja edit_box.editbox_exit |
870 | @@: |
871 | @@: |
871 | } |
872 | } |
872 | macro are_key_shift_press |
873 | macro are_key_shift_press |
873 | { |
874 | { |
874 | test word ed_flags,ed_shift_on |
875 | test word ed_flags,ed_shift_on |
875 | je @f |
876 | je @f |
876 | ;å®¤ë¥ ¤ ë¥ edx=ed_size;ecx=ed_pos |
877 | ;å®¤ë¥ ¤ ë¥ edx=ed_size;ecx=ed_pos |
877 | push eax |
878 | push eax |
878 | mov edx,ed_size |
879 | mov edx,ed_size |
879 | mov ecx, ed_pos |
880 | mov ecx, ed_pos |
880 | pusha |
881 | pusha |
881 | ;;;;;;;;;;;;;;;;;;;;; |
882 | ;;;;;;;;;;;;;;;;;;;;; |
882 | ;clear input arrea |
883 | ;clear input arrea |
883 | mov ebp,ed_color |
884 | mov ebp,ed_color |
884 | mov ebx,dword ed_shift_pos |
885 | mov ebx,dword ed_shift_pos |
885 | call edit_box_key.sh_cl_ |
886 | call edit_box_key.sh_cl_ |
886 | mov ebp,ed_size |
887 | mov ebp,ed_size |
887 | call edit_box_key.clear_bg |
888 | call edit_box_key.clear_bg |
888 | ;;;;;;;;;;;;;;;;;;;;; |
889 | ;;;;;;;;;;;;;;;;;;;;; |
889 | popa |
890 | popa |
890 | call edit_box_key.del_char |
891 | call edit_box_key.del_char |
891 | ;;;; |
892 | ;;;; |
892 | mov eax,dword ed_shift_pos |
893 | mov eax,dword ed_shift_pos |
893 | mov ebx,ed_size |
894 | mov ebx,ed_size |
894 | sub ebx,eax |
895 | sub ebx,eax |
895 | mov ed_size,ebx |
896 | mov ed_size,ebx |
896 | pop eax |
897 | pop eax |
897 | @@: |
898 | @@: |
898 | } |
899 | } |
899 | macro are_key_cur_end |
900 | macro are_key_cur_end |
900 | { |
901 | { |
901 | mov ecx,ed_size |
902 | mov ecx,ed_size |
902 | mov edx, ed_max |
903 | mov edx, ed_max |
903 | test word ed_flags,ed_insert |
904 | test word ed_flags,ed_insert |
904 | jne @f |
905 | jne @f |
905 | cmp ecx,edx |
906 | cmp ecx,edx |
906 | jae edit_box.editbox_exit |
907 | jae edit_box.editbox_exit |
907 | @@: mov ebx, ed_pos |
908 | @@: mov ebx, ed_pos |
908 | cmp ebx,edx |
909 | cmp ebx,edx |
909 | jl @f ; ¥á«¨ ¬¥ìè¥ ¨«¨ à ¢® |
910 | jl @f ; ¥á«¨ ¬¥ìè¥ ¨«¨ à ¢® |
910 | jmp edit_box.editbox_exit |
911 | jmp edit_box.editbox_exit |
911 | 912 | ||
912 | @@: ; ᤢ¨£ ¥¬ ᨬ¢®«ë ¯®á«¥ ªãàá®à ¢¯à ¢® |
913 | @@: ; ᤢ¨£ ¥¬ ᨬ¢®«ë ¯®á«¥ ªãàá®à ¢¯à ¢® |
913 | mov ecx,ed_size |
914 | mov ecx,ed_size |
914 | push edi eax |
915 | push edi eax |
915 | mov ebp,edi |
916 | mov ebp,edi |
916 | mov esi,ed_text ; ª § â¥«ì ¡ãä¥à |
917 | mov esi,ed_text ; ª § â¥«ì ¡ãä¥à |
917 | ;㤥¬ à ¡®â âì á® áâப®© |
918 | ;㤥¬ à ¡®â âì á® áâப®© |
918 | add esi,ecx ;add ed_size ¤®¡ ¢¨¬ max size |
919 | add esi,ecx ;add ed_size ¤®¡ ¢¨¬ max size |
919 | mov edi,esi |
920 | mov edi,esi |
920 | 921 | ||
921 | cmp ecx,ebx ; ᫨ ã á ¯®§¨æ¨ï ªãàá®à = ⥪ã饬ã à §¬¥àã ¯¥ç â ëå ᨬ¢®«®¢ â.¥. ªãàá®à á⮨⠢ ª®æ¥ |
922 | cmp ecx,ebx ; ᫨ ã á ¯®§¨æ¨ï ªãàá®à = ⥪ã饬ã à §¬¥àã ¯¥ç â ëå ᨬ¢®«®¢ â.¥. ªãàá®à á⮨⠢ ª®æ¥ |
922 | je edit_box_key.In_k |
923 | je edit_box_key.In_k |
923 | 924 | ||
924 | test dword bp_flags,ed_insert ;IF insert is enable â.ª. edi ¨§¬¥¥ ¤à¥á㥬 ç¥à¥§ ebp |
925 | test dword bp_flags,ed_insert ;IF insert is enable â.ª. edi ¨§¬¥¥ ¤à¥á㥬 ç¥à¥§ ebp |
925 | jne edit_box_key.ins_v |
926 | jne edit_box_key.ins_v |
926 | ;clear |
927 | ;clear |
927 | pusha |
928 | pusha |
928 | mov edi,ebp |
929 | mov edi,ebp |
929 | mov ebp,ed_size |
930 | mov ebp,ed_size |
930 | call edit_box_key.clear_bg |
931 | call edit_box_key.clear_bg |
931 | popa |
932 | popa |
932 | sub ecx,ebx ; ©¤¥¬ ª®«-¢® ᨬ¢®«®¢ ¤«ï ¯¥à¥¤¢¨¦¥¨ï. |
933 | sub ecx,ebx ; ©¤¥¬ ª®«-¢® ᨬ¢®«®¢ ¤«ï ¯¥à¥¤¢¨¦¥¨ï. |
933 | inc edi ;¬¥á⨬ è¨ á¨¬¢®«ë ¢ ¯à ¢® |
934 | inc edi ;¬¥á⨬ è¨ á¨¬¢®«ë ¢ ¯à ¢® |
934 | std |
935 | std |
935 | inc ecx |
936 | inc ecx |
936 | @@: |
937 | @@: |
937 | ;-------- |
938 | ;-------- |
938 | lodsb |
939 | lodsb |
939 | stosb |
940 | stosb |
940 | ;-------- |
941 | ;-------- |
941 | loop @b |
942 | loop @b |
942 | edit_box_key.In_k: |
943 | edit_box_key.In_k: |
943 | cld |
944 | cld |
944 | pop eax |
945 | pop eax |
945 | mov al,ah |
946 | mov al,ah |
946 | stosb |
947 | stosb |
947 | pop edi |
948 | pop edi |
948 | ; ¢áâ ¢«ï¥¬ ª®¤ ª« ¢¨è¨ â㤠, £¤¥ ªãàá®à |
949 | ; ¢áâ ¢«ï¥¬ ª®¤ ª« ¢¨è¨ â㤠, £¤¥ ªãàá®à |
949 | ; 㢥«¨ç¨¢ ¥¬ § 票¥ à §¬¥à ¨ ¯®§¨æ¨¨ |
950 | ; 㢥«¨ç¨¢ ¥¬ § 票¥ à §¬¥à ¨ ¯®§¨æ¨¨ |
950 | inc dword ed_size |
951 | inc dword ed_size |
951 | inc dword ed_pos |
952 | inc dword ed_pos |
952 | call edit_box_key.draw_all2 |
953 | call edit_box_key.draw_all2 |
953 | jmp edit_box_key.shift |
954 | jmp edit_box_key.shift |
954 | } |
955 | } |
955 | macro use_work_key |
956 | macro use_work_key |
956 | { |
957 | { |
957 | edit_box_key.insert: test word ed_flags,ed_insert ;not word ed_insert |
958 | edit_box_key.insert: test word ed_flags,ed_insert ;not word ed_insert |
958 | je @f |
959 | je @f |
959 | and word ed_flags,ed_insert_cl |
960 | and word ed_flags,ed_insert_cl |
960 | 961 | ||
961 | jmp edit_box.editbox_exit |
962 | jmp edit_box.editbox_exit |
962 | @@: |
963 | @@: |
963 | or word ed_flags,ed_insert |
964 | or word ed_flags,ed_insert |
964 | jmp edit_box.editbox_exit |
965 | jmp edit_box.editbox_exit |
965 | edit_box_key.ins_v: |
966 | edit_box_key.ins_v: |
966 | ; dec dword [ebp+48];ed_size ;processing is insert |
967 | ; dec dword [ebp+48];ed_size ;processing is insert |
967 | dec dword bp_size |
968 | dec dword bp_size |
968 | sub esi,ecx |
969 | sub esi,ecx |
969 | add esi,ebx |
970 | add esi,ebx |
970 | mov edi,esi |
971 | mov edi,esi |
971 | ;clear |
972 | ;clear |
972 | pusha |
973 | pusha |
973 | mov edi,ebp |
974 | mov edi,ebp |
974 | mov ebp,ed_pos |
975 | mov ebp,ed_pos |
975 | call edit_box_key.clear_bg |
976 | call edit_box_key.clear_bg |
976 | popa |
977 | popa |
977 | jmp edit_box_key.In_k |
978 | jmp edit_box_key.In_k |
978 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
979 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
979 | edit_box_key.delete: |
980 | edit_box_key.delete: |
980 | mov edx,ed_size |
981 | mov edx,ed_size |
981 | mov ecx,ed_pos |
982 | mov ecx,ed_pos |
982 | cmp edx,ecx |
983 | cmp edx,ecx |
983 | jg edit_box_key.bac_del |
984 | jg edit_box_key.bac_del |
984 | test word ed_flags,ed_shift_on |
985 | test word ed_flags,ed_shift_on |
985 | jne edit_box_key.del_bac |
986 | jne edit_box_key.del_bac |
986 | popad |
987 | popad |
987 | ret 4 |
988 | ret 4 |
988 | edit_box_key.bac_del: |
989 | edit_box_key.bac_del: |
989 | call edit_box_key.del_char |
990 | call edit_box_key.del_char |
990 | jmp edit_box_key.draw_all |
991 | jmp edit_box_key.draw_all |
991 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
992 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
992 | ;--- ¦ â ª« ¢¨è backspace --- |
993 | ;--- ¦ â ª« ¢¨è backspace --- |
993 | edit_box_key.backspace: |
994 | edit_box_key.backspace: |
994 | ; ¯à®¢¥à塞, ªãàá®à ã «¥¢®£® ªà ï ? |
995 | ; ¯à®¢¥à塞, ªãàá®à ã «¥¢®£® ªà ï ? |
995 | mov ecx,ed_pos |
996 | mov ecx,ed_pos |
996 | test ecx,ecx |
997 | test ecx,ecx |
997 | jnz edit_box_key.del_bac |
998 | jnz edit_box_key.del_bac |
998 | test word ed_flags,ed_shift_on |
999 | test word ed_flags,ed_shift_on |
999 | jne edit_box_key.bac_del |
1000 | jne edit_box_key.bac_del |
1000 | popad |
1001 | popad |
1001 | ret 4 |
1002 | ret 4 |
1002 | 1003 | ||
1003 | edit_box_key.del_bac: |
1004 | edit_box_key.del_bac: |
1004 | mov edx,ed_size |
1005 | mov edx,ed_size |
1005 | cmp edx,ecx ;if ed_pos=ed_size |
1006 | cmp edx,ecx ;if ed_pos=ed_size |
1006 | je @f |
1007 | je @f |
1007 | dec ecx |
1008 | dec ecx |
1008 | call edit_box_key.del_char |
1009 | call edit_box_key.del_char |
1009 | @@: test word ed_flags,ed_shift_on |
1010 | @@: test word ed_flags,ed_shift_on |
1010 | jne edit_box_key.bac_del |
1011 | jne edit_box_key.bac_del |
1011 | dec dword ed_pos |
1012 | dec dword ed_pos |
1012 | edit_box_key.draw_all: |
1013 | edit_box_key.draw_all: |
1013 | push edit_box_key.shift;.draw_cursor_text;eax |
1014 | push edit_box_key.shift;.draw_cursor_text;eax |
1014 | 1015 | ||
1015 | test word ed_flags,ed_shift_on |
1016 | test word ed_flags,ed_shift_on |
1016 | je @f |
1017 | je @f |
1017 | mov eax,dword ed_shift_pos |
1018 | mov eax,dword ed_shift_pos |
1018 | mov ebx,ed_size |
1019 | mov ebx,ed_size |
1019 | sub ebx,eax |
1020 | sub ebx,eax |
1020 | mov ed_size,ebx |
1021 | mov ed_size,ebx |
1021 | 1022 | ||
1022 | mov ebp,ed_color |
1023 | mov ebp,ed_color |
1023 | call edit_box.clear_cursor |
1024 | call edit_box.clear_cursor |
1024 | call edit_box.check_offset |
1025 | call edit_box.check_offset |
1025 | call edit_box.draw_bg |
1026 | call edit_box.draw_bg |
1026 | ret |
1027 | ret |
1027 | @@: dec dword ed_size |
1028 | @@: dec dword ed_size |
1028 | 1029 | ||
1029 | edit_box_key.draw_all2: |
1030 | edit_box_key.draw_all2: |
1030 | and word ed_flags,ed_shift_cl |
1031 | and word ed_flags,ed_shift_cl |
1031 | mov ebp,ed_color |
1032 | mov ebp,ed_color |
1032 | call edit_box.clear_cursor |
1033 | call edit_box.clear_cursor |
1033 | call edit_box.check_offset |
1034 | call edit_box.check_offset |
1034 | mov ebp,ed_size |
1035 | mov ebp,ed_size |
1035 | call edit_box_key.clear_bg |
1036 | call edit_box_key.clear_bg |
1036 | ret |
1037 | ret |
1037 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1038 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1038 | ;--- ¦ â ª« ¢¨è left --- |
1039 | ;--- ¦ â ª« ¢¨è left --- |
1039 | edit_box_key.left: |
1040 | edit_box_key.left: |
1040 | mov ebx,ed_pos |
1041 | mov ebx,ed_pos |
1041 | test ebx,ebx |
1042 | test ebx,ebx |
1042 | jz edit_box_key.sh_st_of |
1043 | jz edit_box_key.sh_st_of |
1043 | or word ed_flags,ed_left_fl |
1044 | or word ed_flags,ed_left_fl |
1044 | call edit_box_key.sh_first_sh |
1045 | call edit_box_key.sh_first_sh |
1045 | dec dword ed_pos |
1046 | dec dword ed_pos |
1046 | call edit_box_key.sh_enable |
1047 | call edit_box_key.sh_enable |
1047 | jmp edit_box.draw_cursor_text |
1048 | jmp edit_box.draw_cursor_text |
1048 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1049 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1049 | ;--- ¦ â ª« ¢¨è right --- |
1050 | ;--- ¦ â ª« ¢¨è right --- |
1050 | edit_box_key.right: |
1051 | edit_box_key.right: |
1051 | mov ebx,ed_pos |
1052 | mov ebx,ed_pos |
1052 | cmp ebx,ed_size |
1053 | cmp ebx,ed_size |
1053 | je edit_box_key.sh_st_of |
1054 | je edit_box_key.sh_st_of |
1054 | and word ed_flags,ed_right_fl |
1055 | and word ed_flags,ed_right_fl |
1055 | call edit_box_key.sh_first_sh |
1056 | call edit_box_key.sh_first_sh |
1056 | inc dword ed_pos |
1057 | inc dword ed_pos |
1057 | call edit_box_key.sh_enable |
1058 | call edit_box_key.sh_enable |
1058 | jmp edit_box.draw_cursor_text |
1059 | jmp edit_box.draw_cursor_text |
1059 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1060 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1060 | edit_box_key.home: |
1061 | edit_box_key.home: |
1061 | mov ebx,ed_pos |
1062 | mov ebx,ed_pos |
1062 | test ebx,ebx |
1063 | test ebx,ebx |
1063 | jz edit_box_key.sh_st_of |
1064 | jz edit_box_key.sh_st_of |
1064 | call edit_box_key.sh_first_sh |
1065 | call edit_box_key.sh_first_sh |
1065 | xor eax,eax |
1066 | xor eax,eax |
1066 | mov ed_pos,eax |
1067 | mov ed_pos,eax |
1067 | call edit_box_key.sh_home_end |
1068 | call edit_box_key.sh_home_end |
1068 | jmp edit_box.draw_cursor_text |
1069 | jmp edit_box.draw_cursor_text |
1069 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1070 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1070 | edit_box_key.end: |
1071 | edit_box_key.end: |
1071 | mov ebx,ed_pos |
1072 | mov ebx,ed_pos |
1072 | cmp ebx,dword ed_size |
1073 | cmp ebx,dword ed_size |
1073 | je edit_box_key.sh_st_of |
1074 | je edit_box_key.sh_st_of |
1074 | call edit_box_key.sh_first_sh |
1075 | call edit_box_key.sh_first_sh |
1075 | mov eax,ed_size |
1076 | mov eax,ed_size |
1076 | mov ed_pos,eax |
1077 | mov ed_pos,eax |
1077 | call edit_box_key.sh_home_end |
1078 | call edit_box_key.sh_home_end |
1078 | jmp edit_box.draw_cursor_text |
1079 | jmp edit_box.draw_cursor_text |
1079 | } |
1080 | } |
1080 | 1081 | ||
1081 | macro use_mouse_func |
1082 | macro use_mouse_func |
1082 | { |
1083 | { |
1083 | ;---------------------------------------------------------- |
1084 | ;---------------------------------------------------------- |
1084 | ;--- ¡à ¡®âª .mouse_wigwag |
1085 | ;--- ¡à ¡®âª .mouse_wigwag |
1085 | ;---------------------------------------------------------- |
1086 | ;---------------------------------------------------------- |
1086 | edit_box_mouse.mouse_wigwag: |
1087 | edit_box_mouse.mouse_wigwag: |
1087 | shr eax,16 |
1088 | shr eax,16 |
1088 | or word ed_flags,ed_shift_bac+ed_shift_on+ed_shift |
1089 | or word ed_flags,ed_shift_bac+ed_shift_on+ed_shift |
1089 | ;;;;;;;;;;;;;;;;;; |
1090 | ;;;;;;;;;;;;;;;;;; |
1090 | ;;¯à®æ¥¤ãà ®¡à ¡®âª¨ ¯®«®¦¥¨ï ¢ë¤¥«¥®£® ⥪áâ , ª®£¤ ¯à®¨á室¨â ¢ë室 § ¯à¥¤¥«ë editbox |
1091 | ;;¯à®æ¥¤ãà ®¡à ¡®âª¨ ¯®«®¦¥¨ï ¢ë¤¥«¥®£® ⥪áâ , ª®£¤ ¯à®¨á室¨â ¢ë室 § ¯à¥¤¥«ë editbox |
1091 | ;;;;;;;;;;;;;;;;;; |
1092 | ;;;;;;;;;;;;;;;;;; |
1092 | test ax,0x8000 |
1093 | test ax,0x8000 |
1093 | jnz edit_box_mouse.mleft |
1094 | jnz edit_box_mouse.mleft |
1094 | 1095 | ||
1095 | mov ebx,ed_left |
1096 | mov ebx,ed_left |
1096 | cmp eax,ebx |
1097 | cmp eax,ebx |
1097 | jb edit_box_mouse.mleft |
1098 | jb edit_box_mouse.mleft |
1098 | 1099 | ||
1099 | add ebx,ed_width |
1100 | add ebx,ed_width |
1100 | cmp eax,ebx |
1101 | cmp eax,ebx |
1101 | ja edit_box_mouse.mright |
1102 | ja edit_box_mouse.mright |
1102 | 1103 | ||
1103 | sub ebx,ed_width |
1104 | sub ebx,ed_width |
1104 | 1105 | ||
1105 | xor edx,edx |
1106 | xor edx,edx |
1106 | sub eax,ebx ; ¢ëç⨬ ¨§ ª®®à¤¨ â ¬ë誨 ¯® ®á¨ å ª®®à¤¨ âë ¤® editbox ¯® ®á¨ å |
1107 | sub eax,ebx ; ¢ëç⨬ ¨§ ª®®à¤¨ â ¬ë誨 ¯® ®á¨ å ª®®à¤¨ âë ¤® editbox ¯® ®á¨ å |
1107 | mov ebx,6 |
1108 | mov ebx,6 |
1108 | div ebx |
1109 | div ebx |
1109 | ;;;;;;;;;;;;;;;;;; |
1110 | ;;;;;;;;;;;;;;;;;; |
1110 | ;;¯à®æ¥¤ãà ®¡à ¡®âª¨ ¯®«®¦¥¨ï ¢ë¤¥«¥®£® ⥪áâ , ¢ ¯à¥¤¥« å ®¡« á⨠editbox |
1111 | ;;¯à®æ¥¤ãà ®¡à ¡®âª¨ ¯®«®¦¥¨ï ¢ë¤¥«¥®£® ⥪áâ , ¢ ¯à¥¤¥« å ®¡« á⨠editbox |
1111 | ;;;;;;;;;;;;;;;;;; |
1112 | ;;;;;;;;;;;;;;;;;; |
1112 | ;®«ã稫¨ ª®®à¤¨ âë ¢ eax ¬ë誨, â.¥. ªã¤ ® ¯¥à¥¬¥á⨫ áì |
1113 | ;®«ã稫¨ ª®®à¤¨ âë ¢ eax ¬ë誨, â.¥. ªã¤ ® ¯¥à¥¬¥á⨫ áì |
1113 | ;¨á®¢ ¨¥ § ªà è¥ëå ¯àאַ㣮«ì¨ª®¢ ¨ ®ç¨á⪠¨å |
1114 | ;¨á®¢ ¨¥ § ªà è¥ëå ¯àאַ㣮«ì¨ª®¢ ¨ ®ç¨á⪠¨å |
1114 | add eax,ed_offset ;¤®¡ ¢¨¬ ᬥ饨¥ |
1115 | add eax,ed_offset ;¤®¡ ¢¨¬ ᬥ饨¥ |
1115 | cmp eax,dword ed_size ;¥á«¨ ¢ë諨 § ¯à¥¤¥«ë, â® ¨ç¥£® ¥ ¤¥« âì |
1116 | cmp eax,dword ed_size ;¥á«¨ ¢ë諨 § ¯à¥¤¥«ë, â® ¨ç¥£® ¥ ¤¥« âì |
1116 | ja edit_box_mouse.mwigvag |
1117 | ja edit_box_mouse.mwigvag |
1117 | edit_box_mouse.mdraw: |
1118 | edit_box_mouse.mdraw: |
1118 | mov dword ed_pos,eax ;á®åà ¨¬ ®¢®¥ § 票¥ |
1119 | mov dword ed_pos,eax ;á®åà ¨¬ ®¢®¥ § 票¥ |
1119 | ;¨á®¢ ¨¥ § ªà è¥ëå ¯àאַ㣮«ì¨ª®¢ ¨ ®ç¨á⪠¨å |
1120 | ;¨á®¢ ¨¥ § ªà è¥ëå ¯àאַ㣮«ì¨ª®¢ ¨ ®ç¨á⪠¨å |
1120 | mov ecx,dword ed_shift_pos |
1121 | mov ecx,dword ed_shift_pos |
1121 | mov ebx,dword ed_shift_pos_old |
1122 | mov ebx,dword ed_shift_pos_old |
1122 | mov dword ed_shift_pos_old,eax ;¢¥á¥¬ ®¢®¥ § 票¥ áâ ன ¯®§¨æ¨¨ ªãàá®à |
1123 | mov dword ed_shift_pos_old,eax ;¢¥á¥¬ ®¢®¥ § 票¥ áâ ன ¯®§¨æ¨¨ ªãàá®à |
1123 | ;¯à®¢¥àª ¨ à¨á®¢ ¨¥ § ªà è¥ëå ®¡« á⥩ |
1124 | ;¯à®¢¥àª ¨ à¨á®¢ ¨¥ § ªà è¥ëå ®¡« á⥩ |
1124 | cmp ecx,ebx ;¢ëïá塞 ªã¤ ¡ë«® ¤¢¨¦¥¨¥ ®¤¨ è £ § ¤ |
1125 | cmp ecx,ebx ;¢ëïá塞 ªã¤ ¡ë«® ¤¢¨¦¥¨¥ ®¤¨ è £ § ¤ |
1125 | je edit_box_mouse.m1_shem ;¤¢¨¦¥¨ï ¥ ¡ë«® à ¥¥ |
1126 | je edit_box_mouse.m1_shem ;¤¢¨¦¥¨ï ¥ ¡ë«® à ¥¥ |
1126 | jb edit_box_mouse.msmaller ;¤¢¨¦¥¨¥ ¡ë«® -> |
1127 | jb edit_box_mouse.msmaller ;¤¢¨¦¥¨¥ ¡ë«® -> |
1127 | cmp ebx,eax ;¤¢¨¦¥¨¥ ¡ë«® ¤® í⮣® <- ¨ âãâ ¬ë ¯à®¢¥à塞 ᥩç á ªã¤ ¤¢¨¦¥¨¥ ¯à®¨á室¨â |
1128 | cmp ebx,eax ;¤¢¨¦¥¨¥ ¡ë«® ¤® í⮣® <- ¨ âãâ ¬ë ¯à®¢¥à塞 ᥩç á ªã¤ ¤¢¨¦¥¨¥ ¯à®¨á室¨â |
1128 | ja edit_box_mouse.m1_shem ;¥á«¨ ¡ë«® ¤¢¨¦¥¨¥ <- ⮠㦮 § ªà á¨âì ®¡« áâì |
1129 | ja edit_box_mouse.m1_shem ;¥á«¨ ¡ë«® ¤¢¨¦¥¨¥ <- ⮠㦮 § ªà á¨âì ®¡« áâì |
1129 | je edit_box_mouse.mwigvag ;¥á«¨ ¨§¬¥¥¨ï ¥ ¡ë«®, â® ¨ç¥£® ¥ ¤¥« âì |
1130 | je edit_box_mouse.mwigvag ;¥á«¨ ¨§¬¥¥¨ï ¥ ¡ë«®, â® ¨ç¥£® ¥ ¤¥« âì |
1130 | mov ebp,ed_color ;âãâ 㦮 ®ç¨áâ¨âì ®¡« áâì c ed_pos ed_shift_pos_old |
1131 | mov ebp,ed_color ;âãâ 㦮 ®ç¨áâ¨âì ®¡« áâì c ed_pos ed_shift_pos_old |
1131 | ;¢å®¤ë¥ ¯ à ¬¥âàë ebp=color ebx=ed_shift_pos |
1132 | ;¢å®¤ë¥ ¯ à ¬¥âàë ebp=color ebx=ed_shift_pos |
1132 | call edit_box_key.sh_cl_ |
1133 | call edit_box_key.sh_cl_ |
1133 | jmp edit_box_mouse.mwigvag |
1134 | jmp edit_box_mouse.mwigvag |
1134 | edit_box_mouse.msmaller: |
1135 | edit_box_mouse.msmaller: |
1135 | cmp ebx,eax |
1136 | cmp ebx,eax |
1136 | jb edit_box_mouse.m1_shem |
1137 | jb edit_box_mouse.m1_shem |
1137 | mov ebp,ed_color |
1138 | mov ebp,ed_color |
1138 | ;¢å®¤ë¥ ¯ à ¬¥âàë ebp=color ebx=ed_shift_pos |
1139 | ;¢å®¤ë¥ ¯ à ¬¥âàë ebp=color ebx=ed_shift_pos |
1139 | call edit_box_key.sh_cl_ |
1140 | call edit_box_key.sh_cl_ |
1140 | jmp edit_box_mouse.mwigvag |
1141 | jmp edit_box_mouse.mwigvag |
1141 | ;alike = |
1142 | ;alike = |
1142 | edit_box_mouse.m1_shem: |
1143 | edit_box_mouse.m1_shem: |
1143 | mov ebp,shift_color |
1144 | mov ebp,shift_color |
1144 | ;¢å®¤ë¥ ¯ à ¬¥âàë ebp=color ebx=ed_shift_pos |
1145 | ;¢å®¤ë¥ ¯ à ¬¥âàë ebp=color ebx=ed_shift_pos |
1145 | mov ebx,ecx |
1146 | mov ebx,ecx |
1146 | call edit_box_key.sh_cl_ |
1147 | call edit_box_key.sh_cl_ |
1147 | jmp edit_box_mouse.mwigvag |
1148 | jmp edit_box_mouse.mwigvag |
1148 | edit_box_mouse.mwigvag: |
1149 | edit_box_mouse.mwigvag: |
1149 | and word ed_flags,ed_shift_mcl |
1150 | and word ed_flags,ed_shift_mcl |
1150 | jmp edit_box.draw_cursor_text |
1151 | jmp edit_box.draw_cursor_text |
1151 | ; popa |
1152 | ; popa |
1152 | ; ret |
1153 | ; ret |
1153 | edit_box_mouse.mleft: |
1154 | edit_box_mouse.mleft: |
1154 | mov eax,ed_pos |
1155 | mov eax,ed_pos |
1155 | cmp eax,0 |
1156 | cmp eax,0 |
1156 | jbe edit_box_mouse.mwigvag |
1157 | jbe edit_box_mouse.mwigvag |
1157 | dec eax |
1158 | dec eax |
1158 | call edit_box.check_offset |
1159 | call edit_box.check_offset |
1159 | push eax |
1160 | push eax |
1160 | mov ebx,ed_shift_pos |
1161 | mov ebx,ed_shift_pos |
1161 | mov ebp,shift_color |
1162 | mov ebp,shift_color |
1162 | call edit_box_key.sh_cl_ |
1163 | call edit_box_key.sh_cl_ |
1163 | pop eax |
1164 | pop eax |
1164 | jmp edit_box_mouse.mdraw |
1165 | jmp edit_box_mouse.mdraw |
1165 | edit_box_mouse.mright: |
1166 | edit_box_mouse.mright: |
1166 | mov eax,ed_pos |
1167 | mov eax,ed_pos |
1167 | mov ebx,ed_size |
1168 | mov ebx,ed_size |
1168 | cmp eax,ebx |
1169 | cmp eax,ebx |
1169 | jae edit_box_mouse.mwigvag |
1170 | jae edit_box_mouse.mwigvag |
1170 | inc eax |
1171 | inc eax |
1171 | call edit_box.check_offset |
1172 | call edit_box.check_offset |
1172 | mov ebx,ed_shift_pos |
1173 | mov ebx,ed_shift_pos |
1173 | mov ebp,shift_color |
1174 | mov ebp,shift_color |
1174 | push eax |
1175 | push eax |
1175 | call edit_box_key.sh_cl_ |
1176 | call edit_box_key.sh_cl_ |
1176 | pop eax |
1177 | pop eax |
1177 | jmp edit_box_mouse.mdraw |
1178 | jmp edit_box_mouse.mdraw |
1178 | } |
1179 | } |
1179 | 1180 | ||
1180 | macro use_work_mouse |
1181 | macro use_work_mouse |
1181 | ;---------------------------------------------------------- |
1182 | ;---------------------------------------------------------- |
1182 | ;--- ¥ 㤥ন¢ ¥¬ «¨ ¬ë ª« ¢¨èã ¬ë誨, ¯¥à¥¬¥é ï ªãàá®à, ¢® ¢á¥ à §ë¥ áâ®à®ë? |
1183 | ;--- ¥ 㤥ন¢ ¥¬ «¨ ¬ë ª« ¢¨èã ¬ë誨, ¯¥à¥¬¥é ï ªãàá®à, ¢® ¢á¥ à §ë¥ áâ®à®ë? |
1183 | ;---------------------------------------------------------- |
1184 | ;---------------------------------------------------------- |
1184 | { |
1185 | { |
1185 | test word ed_flags,ed_mouse_on |
1186 | test word ed_flags,ed_mouse_on |
1186 | jne edit_box_mouse.mouse_wigwag |
1187 | jne edit_box_mouse.mouse_wigwag |
1187 | ;---------------------------------------------------------- |
1188 | ;---------------------------------------------------------- |
1188 | ;--- ¯à®¢¥à塞, ¯®¯ ¤ ¥â «¨ ªãàá®à ¢ edit box ------------- |
1189 | ;--- ¯à®¢¥à塞, ¯®¯ ¤ ¥â «¨ ªãàá®à ¢ edit box ------------- |
1189 | ;---------------------------------------------------------- |
1190 | ;---------------------------------------------------------- |
1190 | mov ebx,ed_top |
1191 | mov ebx,ed_top |
1191 | cmp ax,bx |
1192 | cmp ax,bx |
1192 | jl edit_box_mouse._blur;.mouse_end_no_focus |
1193 | jl edit_box_mouse._blur;.mouse_end_no_focus |
1193 | 1194 | ||
1194 | add ebx,ed_height |
1195 | add ebx,ed_height |
1195 | cmp ax,bx |
1196 | cmp ax,bx |
1196 | jg edit_box_mouse._blur;.mouse_end_no_focus |
1197 | jg edit_box_mouse._blur;.mouse_end_no_focus |
1197 | 1198 | ||
1198 | shr eax,16 |
1199 | shr eax,16 |
1199 | 1200 | ||
1200 | mov ebx,ed_left |
1201 | mov ebx,ed_left |
1201 | cmp ax,bx |
1202 | cmp ax,bx |
1202 | jl edit_box_mouse._blur;.mouse_end_no_focus |
1203 | jl edit_box_mouse._blur;.mouse_end_no_focus |
1203 | 1204 | ||
1204 | add ebx,ed_width |
1205 | add ebx,ed_width |
1205 | 1206 | ||
1206 | cmp ax,bx |
1207 | cmp ax,bx |
1207 | jg edit_box_mouse._blur;.mouse_end_no_focus |
1208 | jg edit_box_mouse._blur;.mouse_end_no_focus |
1208 | 1209 | ||
1209 | ;--- ¨§¬¥ï¥¬ ¯®§¨æ¨î ªãàá®à --- |
1210 | ;--- ¨§¬¥ï¥¬ ¯®§¨æ¨î ªãàá®à --- |
1210 | push eax |
1211 | push eax |
1211 | mov ebp,ed_color |
1212 | mov ebp,ed_color |
1212 | call edit_box.clear_cursor |
1213 | call edit_box.clear_cursor |
1213 | pop eax |
1214 | pop eax |
1214 | edit_box_mouse._mvpos: |
1215 | edit_box_mouse._mvpos: |
1215 | xor edx,edx |
1216 | xor edx,edx |
1216 | sub eax,ed_left |
1217 | sub eax,ed_left |
1217 | 1218 | ||
1218 | mov ebx,6 |
1219 | mov ebx,6 |
1219 | div bx |
1220 | div bx |
1220 | add eax,ed_offset |
1221 | add eax,ed_offset |
1221 | cmp eax,ed_size |
1222 | cmp eax,ed_size |
1222 | jna edit_box_mouse._mshift |
1223 | jna edit_box_mouse._mshift |
1223 | mov eax,ed_size |
1224 | mov eax,ed_size |
1224 | 1225 | ||
1225 | edit_box_mouse._mshift: |
1226 | edit_box_mouse._mshift: |
1226 | ;;;;;;; |
1227 | ;;;;;;; |
1227 | ;;¥ªæ¨ï ®¡à ¡®âª¨ shift ¨ ¢ë¤¥«¥¨ï ¯® shift |
1228 | ;;¥ªæ¨ï ®¡à ¡®âª¨ shift ¨ ¢ë¤¥«¥¨ï ¯® shift |
1228 | ;;;;;;; |
1229 | ;;;;;;; |
1229 | test word ed_flags,ed_shift_bac |
1230 | test word ed_flags,ed_shift_bac |
1230 | je @f |
1231 | je @f |
1231 | mov ebp,dword ed_color |
1232 | mov ebp,dword ed_color |
1232 | mov ebx,dword ed_shift_pos |
1233 | mov ebx,dword ed_shift_pos |
1233 | push eax |
1234 | push eax |
1234 | call edit_box_key.sh_cl_ |
1235 | call edit_box_key.sh_cl_ |
1235 | and word ed_flags,ed_shift_bac_cl |
1236 | and word ed_flags,ed_shift_bac_cl |
1236 | pop eax |
1237 | pop eax |
1237 | @@: |
1238 | @@: |
1238 | test word ed_flags,ed_mouse_on |
1239 | test word ed_flags,ed_mouse_on |
1239 | jne @f |
1240 | jne @f |
1240 | 1241 | ||
1241 | mov dword ed_shift_pos,eax |
1242 | mov dword ed_shift_pos,eax |
1242 | or word ed_flags,ed_mouse_on |
1243 | or word ed_flags,ed_mouse_on |
1243 | mov dword ed_pos,eax |
1244 | mov dword ed_pos,eax |
1244 | 1245 | ||
1245 | ; mov dword [mouse_flag],edi ;ãáâ ®¢¨¬ ¨¤¥â¨ä¨ª â®à |
1246 | ; mov dword [mouse_flag],edi ;ãáâ ®¢¨¬ ¨¤¥â¨ä¨ª â®à |
1246 | 1247 | ||
1247 | mov ebx,dword ed_mouse_variable |
1248 | mov ebx,dword ed_mouse_variable |
1248 | push edi |
1249 | push edi |
1249 | pop dword [ebx] |
1250 | pop dword [ebx] |
1250 | 1251 | ||
1251 | 1252 | ||
1252 | 1253 | ||
1253 | 1254 | ||
1254 | bts word ed_flags,1 ;ãáâ ®¢ª 䮪ãá |
1255 | bts word ed_flags,1 ;ãáâ ®¢ª 䮪ãá |
1255 | jmp edit_box_mouse.m_sh |
1256 | jmp edit_box_mouse.m_sh |
1256 | @@: |
1257 | @@: |
1257 | cmp eax,dword ed_shift_pos ;¥á«¨ ¯®§¨æ¨¨ ¥ ¨§¬¥¨«¨áì |
1258 | cmp eax,dword ed_shift_pos ;¥á«¨ ¯®§¨æ¨¨ ¥ ¨§¬¥¨«¨áì |
1258 | je edit_box.editbox_exit |
1259 | je edit_box.editbox_exit |
1259 | mov ed_pos,eax |
1260 | mov ed_pos,eax |
1260 | mov ebp,dword shift_color |
1261 | mov ebp,dword shift_color |
1261 | mov ebx,dword ed_shift_pos |
1262 | mov ebx,dword ed_shift_pos |
1262 | call edit_box_key.sh_cl_ |
1263 | call edit_box_key.sh_cl_ |
1263 | or word ed_flags,ed_mous_adn_b ;ãáâ ®¢¨¬ ¡¨â çâ® ¬ë ¢ë¤¥«¨«¨ +shift_on + |
1264 | or word ed_flags,ed_mous_adn_b ;ãáâ ®¢¨¬ ¡¨â çâ® ¬ë ¢ë¤¥«¨«¨ +shift_on + |
1264 | edit_box_mouse.m_sh: |
1265 | edit_box_mouse.m_sh: |
1265 | call edit_box.draw_text |
1266 | call edit_box.draw_text |
1266 | call edit_box.draw_cursor |
1267 | call edit_box.draw_cursor |
1267 | ;---------------------------------------------------------- |
1268 | ;---------------------------------------------------------- |
1268 | ;--- ¯à®æ¥¤ãà ãáâ ®¢ª¨ 䮪ãá --------------------------- |
1269 | ;--- ¯à®æ¥¤ãà ãáâ ®¢ª¨ 䮪ãá --------------------------- |
1269 | ;---------------------------------------------------------- |
1270 | ;---------------------------------------------------------- |
1270 | jmp edit_box_mouse.drc |
1271 | jmp edit_box_mouse.drc |
1271 | edit_box_mouse._blur: |
1272 | edit_box_mouse._blur: |
1272 | test word ed_flags,ed_always_focus |
1273 | test word ed_flags,ed_always_focus |
1273 | jne edit_box.editbox_exit |
1274 | jne edit_box.editbox_exit |
1274 | btr word ed_flags,1 ; ¥á«¨ ¥ ¢ 䮪ãá¥, ¢ë室¨¬ |
1275 | btr word ed_flags,1 ; ¥á«¨ ¥ ¢ 䮪ãá¥, ¢ë室¨¬ |
1275 | jnc edit_box.editbox_exit |
1276 | jnc edit_box.editbox_exit |
1276 | 1277 | ||
1277 | mov ebp,ed_color |
1278 | mov ebp,ed_color |
1278 | call edit_box.clear_cursor |
1279 | call edit_box.clear_cursor |
1279 | edit_box_mouse.drc: call edit_box.draw_border |
1280 | edit_box_mouse.drc: call edit_box.draw_border |
1280 | jmp edit_box.editbox_exit |
1281 | jmp edit_box.editbox_exit |
1281 | } |
1282 | } |
1282 | 1283 | ||
1283 | 1284 | ||
1284 | ; ªà®á ¢ë室 |
1285 | ; ªà®á ¢ë室 |
1285 | macro edit_ex |
1286 | macro edit_ex |
1286 | { |
1287 | { |
1287 | popad |
1288 | popad |
1288 | ret |
1289 | ret |
1289 | } |
1290 | } |
1290 | macro debug |
1291 | macro debug |
1291 | { |
1292 | { |
1292 | ;----------- ®â« ¤ª |
1293 | ;----------- ®â« ¤ª |
1293 | pushad |
1294 | pushad |
1294 | ; mov dword [ed_buffer.2],0 |
1295 | ; mov dword [ed_buffer.2],0 |
1295 | ; mov eax,edi |
1296 | ; mov eax,edi |
1296 | mov eax,dword [ed_buffer.2] |
1297 | mov eax,dword [ed_buffer.2] |
1297 | mov edi,ed_buffer.3 |
1298 | mov edi,ed_buffer.3 |
1298 | call .str |
1299 | call .str |
1299 | ;à¨á®¢ ¨¥ ä® |
1300 | ;à¨á®¢ ¨¥ ä® |
1300 | mov eax,13 |
1301 | mov eax,13 |
1301 | mov ebx,178*65536+70 |
1302 | mov ebx,178*65536+70 |
1302 | mov ecx,28*65536+10 |
1303 | mov ecx,28*65536+10 |
1303 | xor edx,edx |
1304 | xor edx,edx |
1304 | int 0x40 |
1305 | int 0x40 |
1305 | ;¢ë¢®¤ § 票ï íªà |
1306 | ;¢ë¢®¤ § 票ï íªà |
1306 | mov eax,4 |
1307 | mov eax,4 |
1307 | mov ebx,180*65536+30 |
1308 | mov ebx,180*65536+30 |
1308 | mov ecx,0x10DDBBCC |
1309 | mov ecx,0x10DDBBCC |
1309 | mov edx,ed_buffer.3 |
1310 | mov edx,ed_buffer.3 |
1310 | mov esi,8 |
1311 | mov esi,8 |
1311 | int 0x40 |
1312 | int 0x40 |
1312 | popad |
1313 | popad |
1313 | ;----------- ®â« ¤ª |
1314 | ;----------- ®â« ¤ª |
1314 | } |
1315 | } |
1315 | macro debug_func |
1316 | macro debug_func |
1316 | { |
1317 | { |
1317 | .str: |
1318 | .str: |
1318 | mov ecx,0x0a ;§ ¤ ¥âáï á¨á⥬ áç¨á«¥¨ï ¨§¬¥ïîâáï ॣ¨áâàë ebx,eax,ecx,edx ¢å®¤ë¥ ¯ à ¬¥âàë eax - ç¨á«® |
1319 | mov ecx,0x0a ;§ ¤ ¥âáï á¨á⥬ áç¨á«¥¨ï ¨§¬¥ïîâáï ॣ¨áâàë ebx,eax,ecx,edx ¢å®¤ë¥ ¯ à ¬¥âàë eax - ç¨á«® |
1319 | ;¯à¥à¥¢®¤ ç¨á« ¢ ASCII áâப㠢§®¤ë¥ ¤ ë¥ ecx=á¨á⥬ áç¨á«¥ï edi ¤à¥á ªã¤ § ¯¨áë¢ âì, ¡ã¤¥¬ áâபã, ¯à¨ç¥¬ ª®¥æ ¯¥à¥¬¥®© |
1320 | ;¯à¥à¥¢®¤ ç¨á« ¢ ASCII áâப㠢§®¤ë¥ ¤ ë¥ ecx=á¨á⥬ áç¨á«¥ï edi ¤à¥á ªã¤ § ¯¨áë¢ âì, ¡ã¤¥¬ áâபã, ¯à¨ç¥¬ ª®¥æ ¯¥à¥¬¥®© |
1320 | cmp eax,ecx ;áà ¢¨âì ¥á«¨ ¢ eax ¬¥ìè¥ ç¥¬ ¢ ecx â® ¯¥à¥©â¨ @@-1 â.¥. pop eax |
1321 | cmp eax,ecx ;áà ¢¨âì ¥á«¨ ¢ eax ¬¥ìè¥ ç¥¬ ¢ ecx â® ¯¥à¥©â¨ @@-1 â.¥. pop eax |
1321 | jb @f |
1322 | jb @f |
1322 | xor edx,edx ;®ç¨áâ¨âì edx |
1323 | xor edx,edx ;®ç¨áâ¨âì edx |
1323 | div ecx ;à §¤¥«¨âì - ®áâ ⮪ ¢ edx |
1324 | div ecx ;à §¤¥«¨âì - ®áâ ⮪ ¢ edx |
1324 | push edx ;¯®«®¦¨âì ¢ á⥪ |
1325 | push edx ;¯®«®¦¨âì ¢ á⥪ |
1325 | ;dec edi ;ᬥ饨¥ ¥®¡å®¤¨¬®¥ ¤«ï § ¯¨á¨ á ª®æ áâப¨ |
1326 | ;dec edi ;ᬥ饨¥ ¥®¡å®¤¨¬®¥ ¤«ï § ¯¨á¨ á ª®æ áâப¨ |
1326 | call .str;¯¥à¥©â¨ á ¬ã ᥡï â.¥. ¢ë§¢ âì á ¬ã á¥¡ï ¨ â ª ¤® ⮣® ¬®¬¥â ¯®ª ¢ eax ¥ á⠥⠬¥ìè¥ ç¥¬ ¢ ecx |
1327 | call .str;¯¥à¥©â¨ á ¬ã ᥡï â.¥. ¢ë§¢ âì á ¬ã á¥¡ï ¨ â ª ¤® ⮣® ¬®¬¥â ¯®ª ¢ eax ¥ á⠥⠬¥ìè¥ ç¥¬ ¢ ecx |
1327 | pop eax |
1328 | pop eax |
1328 | @@: ;cmp al,10 ;¯à®¢¥à¨âì ¥ ¬¥ìè¥ «¨ § 票¥ ¢ al 祬 10 (¤«ï á¨á⥬ë áç¨á«¥ï 10 ¤ ï ª®¬ ¤ - «¨è ï)) |
1329 | @@: ;cmp al,10 ;¯à®¢¥à¨âì ¥ ¬¥ìè¥ «¨ § 票¥ ¢ al 祬 10 (¤«ï á¨á⥬ë áç¨á«¥ï 10 ¤ ï ª®¬ ¤ - «¨è ï)) |
1329 | ;sbb al,$69 ;- ç¥áâ® ¤ ï ¨áâàãªæ¨ï ¬¥ï § áâ ¢«ï¥â § ¤ã¬ âìáï â.¥. ï ¥ § î ª ª íâ® à ¡®â ¥â |
1330 | ;sbb al,$69 ;- ç¥áâ® ¤ ï ¨áâàãªæ¨ï ¬¥ï § áâ ¢«ï¥â § ¤ã¬ âìáï â.¥. ï ¥ § î ª ª íâ® à ¡®â ¥â |
1330 | ;das ;¯®á«¥ ¤ ®© ª®¬ ¤ë ª ª ¡ë ¯à®¨á室¨â 㬥ì襨¥ al 66h (¢ ª¨£¥ ¯¨á ® ¤à㣮¥) |
1331 | ;das ;¯®á«¥ ¤ ®© ª®¬ ¤ë ª ª ¡ë ¯à®¨á室¨â 㬥ì襨¥ al 66h (¢ ª¨£¥ ¯¨á ® ¤à㣮¥) |
1331 | or al,0x30 ;¤ ï ª®¬ ¤ ª®à®ç¥ 祬 ¤¢¥ ¢ëè¥ |
1332 | or al,0x30 ;¤ ï ª®¬ ¤ ª®à®ç¥ 祬 ¤¢¥ ¢ëè¥ |
1332 | stosb ;§ ¯¨á âì í«¥¬¥â ¨§ ॣ¨áâà al ¢ ï祪㠯 ¬ï⨠es:edi |
1333 | stosb ;§ ¯¨á âì í«¥¬¥â ¨§ ॣ¨áâà al ¢ ï祪㠯 ¬ï⨠es:edi |
1333 | 1334 | ||
1334 | ret ;¢¥àãâìáï ç¥ì ¨â¥à¥áë© å®¤ â.ª. ¯®ª ¢ á⥪¥ åà ¨âìáï ª®«-¢® ¢ë§®¢®¢ â® á⮫쪮 à § ¬ë ¨ ¡ã¤¥¬ ¢ë§ë¢ âìáï |
1335 | ret ;¢¥àãâìáï ç¥ì ¨â¥à¥áë© å®¤ â.ª. ¯®ª ¢ á⥪¥ åà ¨âìáï ª®«-¢® ¢ë§®¢®¢ â® á⮫쪮 à § ¬ë ¨ ¡ã¤¥¬ ¢ë§ë¢ âìáï |
1335 | } |
1336 | } |
1336 | - | ||
1337 | ;;;;;;;;;;;;;;; |
- | |
1338 | ;For LibGui |
- | |
1339 | ;;;;;;;;;;;;;;; |
- | |
1340 | macro srt_ed_libgui |
- | |
1341 | { |
- | |
1342 | ed_width equ [EditBox.ed_width] ;è¨à¨ ª®¬¯®¥â |
- | |
1343 | ed_left equ [EditBox.ed_left] ;¯®«®¦¥¨¥ ¯® ®á¨ å |
- | |
1344 | ed_top equ [EditBox.ed_top] ;¯®«®¦¥¨¥ ¯® ®á¨ ã |
- | |
1345 | ed_color equ [EditBox.ed_color] ;梥â ä® ª®¬¯®¥â |
- | |
1346 | shift_color equ [EditBox.shift_color] ;=0x6a9480 |
- | |
1347 | ed_focus_border_color equ [EditBox.ed_focus_border_color] ;梥â à ¬ª¨ ª®¬¯®¥â |
- | |
1348 | ed_blur_border_color equ [EditBox.ed_blur_border_color] ;梥⠥ ªâ¨¢®£® ª®¬¯®¥â |
- | |
1349 | ed_text_color equ [EditBox.ed_text_color] ;梥â ⥪áâ |
- | |
1350 | ed_max equ [EditBox.ed_max] ;ª®«-¢® ᨬ¢®«®¢ ª®â®àë¥ ¬®¦® ¬ ªá¨¬ «ì® ¢¢¥á⨠|
- | |
1351 | ed_text equ [EditBox.ed_text] ;㪠§ â¥«ì ¡ãä¥à |
- | |
1352 | ed_flags equ [EditBox.ed_flags] ;ä« £¨ |
- | |
1353 | ed_size equ [EditBox.ed_size] ;ª®«-¢® ᨬ¢®«®¢ |
- | |
1354 | ed_pos equ [EditBox.ed_poz] ;¯®§¨æ¨ï ªãàá®à |
- | |
1355 | ed_offset equ [EditBox.ed_offset] ;ᬥ饨¥ |
- | |
1356 | cl_curs_x equ [EditBox.cl_curs_x] ;¯à¥¤ë¤ã饥 ª®®à¤¨ â ªãàá®à ¯® å |
- | |
1357 | cl_curs_y equ [EditBox.cl_curs_y] ;¯à¥¤ë¤ã饥 ª®®à¤¨ â ªãàá®à ¯® ã |
- | |
1358 | ed_shift_pos equ [EditBox.ed_shift_pos] ;¯®«®¦¥¨¥ ªãàá®à |
- | |
1359 | ed_shift_pos_old equ [EditBox.ed_shift_pos_old] ;áâ ஥ ¯®«®¦¥¨¥ ªãàá®à |
- | |
1360 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
- | |
1361 | ;Bit mask from editbox |
- | |
1362 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
- | |
1363 | ed_figure_only= 1000000000000000b ;®¤¨ ᨬ¢®«ë |
- | |
1364 | ed_always_focus= 100000000000000b |
- | |
1365 | ed_focus= 10b ;䮪ãá ¯à¨«®¦¥¨ï |
- | |
1366 | ed_shift_on= 1000b ;¥á«¨ ¥ ãáâ ®¢«¥ -§ ç¨â ¢¯¥à¢ë¥ ¦ â shift,¥á«¨ ¡ë« ãáâ ®¢«¥, § ç¨â ¬ë 㦥 çâ® - â® ¤¥« «¨ 㤥ন¢ ï shift |
- | |
1367 | ed_shift_on_off=1111111111110111b |
- | |
1368 | ed_shift= 100b ;¢ª«îç ¥âáï ¯à¨ ¦ ⨨ shift â.¥. ¥á«¨ ¦¨¬ î |
- | |
1369 | ed_shift_off= 1111111111111011b |
- | |
1370 | ed_shift_bac= 10000b ;¡¨â ¤«ï ®ç¨á⪨ ¢ë¤¥«¥®£® shift â.¥. ¯à¨ ãáâ ®¢ª¥ £®¢®à¨â çâ® ¥áâì ¢ë¤¥«¥¨¥ |
- | |
1371 | ed_shift_bac_cl=1111111111101111b ;®ç¨á⪠¯à¨ 㤠«¥¨¨ ¢ë¤¥«¥¨ï |
- | |
1372 | ed_shift_cl= 1111111111100011b |
- | |
1373 | ed_shift_mcl= 1111111111111011b |
- | |
1374 | ed_left_fl= 100000b |
- | |
1375 | ed_right_fl= 1111111111011111b |
- | |
1376 | ed_offset_fl= 1000000b |
- | |
1377 | ed_offset_cl= 1111111110111111b |
- | |
1378 | ed_insert= 10000000b |
- | |
1379 | ed_insert_cl= 1111111101111111b |
- | |
1380 | ed_mouse_on = 100000000b |
- | |
1381 | ed_mous_adn_b= 100011000b |
- | |
1382 | ed_mouse_on_off=1111111011111111b |
- | |
1383 | ed_height=24 ; ¢ëá®â |
- | |
1384 | } |
- | |
1385 | 1337 | ||
1386 | ed_struc_size=76 |
1338 | ed_struc_size=76 |
1387 | struc edit_box width,left,top,color,shift_color,focus_border_color,\ |
1339 | struc edit_box width,left,top,color,shift_color,focus_border_color,\ |
1388 | blur_border_color,text_color,max,text,mouse_variable,flags,size,pos |
1340 | blur_border_color,text_color,max,text,mouse_variable,flags,size,pos |
1389 | { |
1341 | { |
1390 | .width dd width |
1342 | .width dd width |
1391 | .left dd left |
1343 | .left dd left |
1392 | .top dd top |
1344 | .top dd top |
1393 | .color dd color |
1345 | .color dd color |
1394 | .shift_color dd shift_color |
1346 | .shift_color dd shift_color |
1395 | .focus_border_color dd focus_border_color |
1347 | .focus_border_color dd focus_border_color |
1396 | .blur_border_color dd blur_border_color |
1348 | .blur_border_color dd blur_border_color |
1397 | .text_color dd text_color |
1349 | .text_color dd text_color |
1398 | .max dd max |
1350 | .max dd max |
1399 | .text dd text |
1351 | .text dd text |
1400 | .mouse_variable dd mouse_variable |
1352 | .mouse_variable dd mouse_variable |
1401 | .flags dd flags+0 |
1353 | .flags dd flags+0 |
1402 | .size dd size+0 |
1354 | .size dd size+0 |
1403 | .pos dd pos+0 |
1355 | .pos dd pos+0 |
1404 | .offset dd 0 |
1356 | .offset dd 0 |
1405 | .cl_curs_x dd 0 |
1357 | .cl_curs_x dd 0 |
1406 | .cl_curs_y dd 0 |
1358 | .cl_curs_y dd 0 |
1407 | .shift dd 0 |
1359 | .shift dd 0 |
1408 | .shift_old dd 0 |
1360 | .shift_old dd 0 |
1409 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1361 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1410 | ;Bit mask from editbox |
1362 | ;Bit mask from editbox |
1411 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1363 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1412 | ed_figure_only= 1000000000000000b ;®¤¨ ᨬ¢®«ë |
1364 | ed_figure_only= 1000000000000000b ;®¤¨ ᨬ¢®«ë |
1413 | ed_always_focus= 100000000000000b |
1365 | ed_always_focus= 100000000000000b |
1414 | ed_focus= 10b ;䮪ãá ¯à¨«®¦¥¨ï |
1366 | ed_focus= 10b ;䮪ãá ¯à¨«®¦¥¨ï |
1415 | ed_shift_on= 1000b ;¥á«¨ ¥ ãáâ ®¢«¥ -§ ç¨â ¢¯¥à¢ë¥ ¦ â shift,¥á«¨ ¡ë« ãáâ ®¢«¥, § ç¨â ¬ë 㦥 çâ® - â® ¤¥« «¨ 㤥ন¢ ï shift |
1367 | ed_shift_on= 1000b ;¥á«¨ ¥ ãáâ ®¢«¥ -§ ç¨â ¢¯¥à¢ë¥ ¦ â shift,¥á«¨ ¡ë« ãáâ ®¢«¥, § ç¨â ¬ë 㦥 çâ® - â® ¤¥« «¨ 㤥ন¢ ï shift |
1416 | ed_shift_on_off=1111111111110111b |
1368 | ed_shift_on_off=1111111111110111b |
1417 | ed_shift= 100b ;¢ª«îç ¥âáï ¯à¨ ¦ ⨨ shift â.¥. ¥á«¨ ¦¨¬ î |
1369 | ed_shift= 100b ;¢ª«îç ¥âáï ¯à¨ ¦ ⨨ shift â.¥. ¥á«¨ ¦¨¬ î |
1418 | ed_shift_off= 1111111111111011b |
1370 | ed_shift_off= 1111111111111011b |
1419 | ed_shift_bac= 10000b ;¡¨â ¤«ï ®ç¨á⪨ ¢ë¤¥«¥®£® shift â.¥. ¯à¨ ãáâ ®¢ª¥ £®¢®à¨â çâ® ¥áâì ¢ë¤¥«¥¨¥ |
1371 | ed_shift_bac= 10000b ;¡¨â ¤«ï ®ç¨á⪨ ¢ë¤¥«¥®£® shift â.¥. ¯à¨ ãáâ ®¢ª¥ £®¢®à¨â çâ® ¥áâì ¢ë¤¥«¥¨¥ |
1420 | ed_shift_bac_cl=1111111111101111b ;®ç¨á⪠¯à¨ 㤠«¥¨¨ ¢ë¤¥«¥¨ï |
1372 | ed_shift_bac_cl=1111111111101111b ;®ç¨á⪠¯à¨ 㤠«¥¨¨ ¢ë¤¥«¥¨ï |
1421 | ed_shift_cl= 1111111111100011b |
1373 | ed_shift_cl= 1111111111100011b |
1422 | ed_shift_mcl= 1111111111111011b |
1374 | ed_shift_mcl= 1111111111111011b |
1423 | ed_left_fl= 100000b |
1375 | ed_left_fl= 100000b |
1424 | ed_right_fl= 1111111111011111b |
1376 | ed_right_fl= 1111111111011111b |
1425 | ed_offset_fl= 1000000b |
1377 | ed_offset_fl= 1000000b |
1426 | ed_offset_cl= 1111111110111111b |
1378 | ed_offset_cl= 1111111110111111b |
1427 | ed_insert= 10000000b |
1379 | ed_insert= 10000000b |
1428 | ed_insert_cl= 1111111101111111b |
1380 | ed_insert_cl= 1111111101111111b |
1429 | ed_mouse_on = 100000000b |
1381 | ed_mouse_on = 100000000b |
1430 | ed_mous_adn_b= 100011000b |
1382 | ed_mous_adn_b= 100011000b |
1431 | ed_mouse_on_off=1111111011111111b |
1383 | ed_mouse_on_off=1111111011111111b |
1432 | ed_height=14 ; ¢ëá®â |
1384 | ed_height=14 ; ¢ëá®â |
1433 | 1385 | ||
1434 | }->-> |
1386 | }->-> |