Rev 491 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 491 | Rev 507 | ||
---|---|---|---|
1 | ; SEE YOU File FAQ.txt and HISTORY. Good Like! |
1 | ; SEE YOU File FAQ.txt and HISTORY. Good Like! |
2 | ;;;;;;;;;;;;;;;;;; |
2 | ;;;;;;;;;;;;;;;;;; |
3 | include 'editbox.mac' ;¬ ªà®á ª®â®àë© ¤®«¦¥ ®¡«¥£ç¨âì ¦¨§ì :) á¯¥æ¨ «ì® ¤«ï editbox |
3 | include 'editbox.mac' ;¬ ªà®á ª®â®àë© ¤®«¦¥ ®¡«¥£ç¨âì ¦¨§ì :) á¯¥æ¨ «ì® ¤«ï editbox |
4 | ;;;;;;;;;;;;;;;;;; |
4 | ;;;;;;;;;;;;;;;;;; |
5 | macro use_edit_box procinfo,scr_h,scr_w |
5 | macro use_edit_box procinfo,scr_h,scr_w |
6 | { |
6 | { |
7 | edit_box: |
7 | edit_box: |
8 | ed_width equ [edi] ;è¨à¨ ª®¬¯®¥â |
8 | ed_width equ [edi] ;è¨à¨ ª®¬¯®¥â |
9 | ed_left equ [edi+4] ;¯®«®¦¥¨¥ ¯® ®á¨ å |
9 | ed_left equ [edi+4] ;¯®«®¦¥¨¥ ¯® ®á¨ å |
10 | ed_top equ [edi+8] ;¯®«®¦¥¨¥ ¯® ®á¨ ã |
10 | ed_top equ [edi+8] ;¯®«®¦¥¨¥ ¯® ®á¨ ã |
11 | ed_color equ [edi+12] ;梥â ä® ª®¬¯®¥â |
11 | ed_color equ [edi+12] ;梥â ä® ª®¬¯®¥â |
12 | shift_color equ [edi+16] ;=0x6a9480 |
12 | shift_color equ [edi+16] ;=0x6a9480 |
13 | ed_focus_border_color equ [edi+20] ;梥â à ¬ª¨ ª®¬¯®¥â |
13 | ed_focus_border_color equ [edi+20] ;梥â à ¬ª¨ ª®¬¯®¥â |
14 | ed_blur_border_color equ [edi+24] ;梥⠥ ªâ¨¢®£® ª®¬¯®¥â |
14 | ed_blur_border_color equ [edi+24] ;梥⠥ ªâ¨¢®£® ª®¬¯®¥â |
15 | ed_text_color equ [edi+28] ;梥â ⥪áâ |
15 | ed_text_color equ [edi+28] ;梥â ⥪áâ |
16 | ed_max equ [edi+32] ;ª®«-¢® ᨬ¢®«®¢ ª®â®àë¥ ¬®¦® ¬ ªá¨¬ «ì® ¢¢¥á⨠|
16 | ed_max equ [edi+32] ;ª®«-¢® ᨬ¢®«®¢ ª®â®àë¥ ¬®¦® ¬ ªá¨¬ «ì® ¢¢¥á⨠|
17 | ed_text equ [edi+36] ;㪠§ â¥«ì ¡ãä¥à |
17 | ed_text equ [edi+36] ;㪠§ â¥«ì ¡ãä¥à |
18 | ed_flags equ [edi+40] ;ä« £¨ |
18 | ed_flags equ [edi+40] ;ä« £¨ |
19 | ed_size equ [edi+42] ;ª®«-¢® ᨬ¢®«®¢ |
19 | ed_size equ [edi+42] ;ª®«-¢® ᨬ¢®«®¢ |
20 | ed_pos equ [edi+46] ;¯®§¨æ¨ï ªãàá®à |
20 | ed_pos equ [edi+46] ;¯®§¨æ¨ï ªãàá®à |
21 | ed_offset equ [edi+50] ;ᬥ饨¥ |
21 | ed_offset equ [edi+50] ;ᬥ饨¥ |
22 | cl_curs_x equ [edi+54] ;¯à¥¤ë¤ã饥 ª®®à¤¨ â ªãàá®à ¯® å |
22 | cl_curs_x equ [edi+54] ;¯à¥¤ë¤ã饥 ª®®à¤¨ â ªãàá®à ¯® å |
23 | cl_curs_y equ [edi+58] ;¯à¥¤ë¤ã饥 ª®®à¤¨ â ªãàá®à ¯® ã |
23 | cl_curs_y equ [edi+58] ;¯à¥¤ë¤ã饥 ª®®à¤¨ â ªãàá®à ¯® ã |
24 | ed_shift_pos equ [edi+62] ;¯®«®¦¥¨¥ ªãàá®à |
24 | ed_shift_pos equ [edi+62] ;¯®«®¦¥¨¥ ªãàá®à |
25 | ed_shift_pos_old equ [edi+66] ;áâ ஥ ¯®«®¦¥¨¥ ªãàá®à |
25 | ed_shift_pos_old equ [edi+66] ;áâ ஥ ¯®«®¦¥¨¥ ªãàá®à |
26 | ;========================================================== |
26 | ;========================================================== |
27 | ;=== ¯à®æ¥¤ãà ¯à®à¨á®¢ª¨ ================================= |
27 | ;=== ¯à®æ¥¤ãà ¯à®à¨á®¢ª¨ ================================= |
28 | ;========================================================== |
28 | ;========================================================== |
29 | .draw: |
29 | .draw: |
30 | pusha |
30 | pusha |
31 | ;--- à¨á㥬 à ¬ªã --- |
31 | ;--- à¨á㥬 à ¬ªã --- |
32 | call .draw_border ; ãªæ¨ï áâ ¡¨«ì |
32 | call .draw_border ; ãªæ¨ï áâ ¡¨«ì |
33 | .draw_bg_cursor_text: |
33 | .draw_bg_cursor_text: |
34 | ;--- ¨§¬¥ï¥¬ ᬥ饨¥, ¥á«¨ ¤® --- |
34 | ;--- ¨§¬¥ï¥¬ ᬥ饨¥, ¥á«¨ ¤® --- |
35 | call .check_offset ;¢ëç¨á«¥¨¥ ¯®§¨æ¨¨ ªãàá®à áâ ¡¨«ì |
35 | call .check_offset ;¢ëç¨á«¥¨¥ ¯®§¨æ¨¨ ªãàá®à áâ ¡¨«ì |
36 | ;--- à¨á㥬 ¢ãâà¥îî ®¡« áâì --- |
36 | ;--- à¨á㥬 ¢ãâà¥îî ®¡« áâì --- |
37 | call .draw_bg ; à¨á®¢ âì ¯àאַ㣮«ì¨ª à ¡®ç¥© ®¡« á⨠|
37 | call .draw_bg ; à¨á®¢ âì ¯àאַ㣮«ì¨ª à ¡®ç¥© ®¡« á⨠|
38 | ;---- à¨á㥬 ¢ë¤¥«¥¨¥, ¯® shift ¥á«¨ ¥áâì |
38 | ;---- à¨á㥬 ¢ë¤¥«¥¨¥, ¯® shift ¥á«¨ ¥áâì |
39 | call .draw_shift |
39 | call .draw_shift |
40 | .draw_cursor_text: |
40 | .draw_cursor_text: |
41 | ;--- à¨á㥬 ªãàá®à --- |
41 | ;--- à¨á㥬 ªãàá®à --- |
42 | ;--- ¬®¦¥â ¥£® ¥ ¤® à¨á®¢ âì ---- |
42 | ;--- ¬®¦¥â ¥£® ¥ ¤® à¨á®¢ âì ---- |
43 | test word ed_flags,ed_focus |
43 | test word ed_flags,ed_focus |
44 | je @f |
44 | je @f |
45 | call .draw_cursor |
45 | call .draw_cursor |
46 | @@: |
46 | @@: |
47 | call .draw_text |
47 | call .draw_text |
- | 48 | ;;;;;;;;;;;;;;;;;;;;;;;;;; |
|
- | 49 | ;¡é¨© ¢ë室 ¨§ editbox ¤«ï ¢á¥å äãªæ¨© ¨ ¯®áâ ®¡à ¡®â稪®¢ |
|
- | 50 | ;;;;;;;;;;;;;;;;;;;;;;;;;; |
|
- | 51 | .editbox_exit: |
|
48 | edit_ex |
52 | edit_ex |
49 | ;========================================================== |
53 | ;========================================================== |
50 | ;=== ®¡à ¡®âª ª« ¢¨ âãàë ================================= |
54 | ;=== ®¡à ¡®âª ª« ¢¨ âãàë ================================= |
51 | ;========================================================== |
55 | ;========================================================== |
52 | .key: |
56 | .key: |
53 | pusha |
57 | pusha |
54 | test word ed_flags,ed_focus ; ¥á«¨ ¥ ¢ 䮪ãá¥, ¢ë室¨¬ |
58 | test word ed_flags,ed_focus ; ¥á«¨ ¥ ¢ 䮪ãá¥, ¢ë室¨¬ |
55 | je .no_figure |
59 | je .editbox_exit |
56 | ;஢¥àª ¦ â shift ? |
60 | ;஢¥àª ¦ â shift ? |
57 | call .check_shift |
61 | call .check_shift |
58 | ;---------------------------------------------------------- |
62 | ;---------------------------------------------------------- |
59 | ;--- ¯à®¢¥à塞, çâ® ¦ â® -------------------------------- |
63 | ;--- ¯à®¢¥à塞, çâ® ¦ â® -------------------------------- |
60 | ;---------------------------------------------------------- |
64 | ;---------------------------------------------------------- |
61 | use_key_process backspase,delete,left,right,home,end,insert |
65 | use_key_process backspase,delete,left,right,home,end,insert |
62 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
66 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
63 | ; £«ãèª ®¡à ¡®âªã ª« ¢¨è ¢¢¥àå ¨ ¢¨§ â.¥. ¯à¨ ®¡ à㦥¨¨ íâ¨å ª®¤®¢ ¯à®¨á室¨â ¢ë室 ¨§ ®¡à ¡®â稪 |
67 | ; £«ãèª ®¡à ¡®âªã ª« ¢¨è ¢¢¥àå ¨ ¢¨§ â.¥. ¯à¨ ®¡ à㦥¨¨ íâ¨å ª®¤®¢ ¯à®¨á室¨â ¢ë室 ¨§ ®¡à ¡®â稪 |
64 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
68 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
65 | use_key_no_process up,down,esc |
69 | use_key_no_process up,down,esc |
66 | ;--- ¦ â ¤àã£ ï ª« ¢¨è --- |
70 | ;--- ¦ â ¤àã£ ï ª« ¢¨è --- |
67 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
71 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
68 | ;஢¥àª ãáâ ®¢«¥ «¨ ä« £ ¯à¨ ª®â®à®¬ 㦮 ¢ë¢®¤¨âì ⮫쪮 æ¨äàë ¢ 㦮¬ ¡®ªá¥ ¥á«¨ â ª®©¥®¡å®¤¨¬®á⨠¥â 㦮 § ª®¬¥â¨à®¢ âì ¬ ªà®á |
72 | ;஢¥àª ãáâ ®¢«¥ «¨ ä« £ ¯à¨ ª®â®à®¬ 㦮 ¢ë¢®¤¨âì ⮫쪮 æ¨äàë ¢ 㦮¬ ¡®ªá¥ ¥á«¨ â ª®©¥®¡å®¤¨¬®á⨠¥â 㦮 § ª®¬¥â¨à®¢ âì ¬ ªà®á |
69 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
73 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
70 | use_key_figures_only |
74 | use_key_figures_only |
71 | ;¯à®¢¥àª shift |
75 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
72 | @@: test word ed_flags,ed_shift_on |
- | |
73 | je @f |
- | |
74 | ;å®¤ë¥ ¤ ë¥ edx=ed_size;ecx=ed_pos |
76 | ;¯à®¢¥àª shift ¡ë« «¨ ¦ â |
75 | push eax |
- | |
76 | mov edx,ed_size |
- | |
77 | mov ecx,ed_pos |
- | |
78 | pusha |
- | |
79 | ;clear |
- | |
80 | ; mov ebp,edx ;ed_size |
- | |
81 | ; call .clear_bg |
77 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
82 | mov ebp,ed_color |
- | |
83 | mov ebx,dword ed_shift_pos |
- | |
84 | call .sh_cl_ |
- | |
85 | - | ||
86 | .sh_nxt:popa |
- | |
87 | call .del_char |
- | |
88 | ;;;; |
- | |
89 | mov eax,dword ed_shift_pos |
- | |
90 | mov ebx,ed_size |
- | |
91 | sub ebx,eax |
78 | are_key_shift_press |
92 | mov ed_size,ebx |
79 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
93 | pop eax |
- | |
94 | ; ¯à®¢¥à塞, 室¨âáï «¨ ªãàá®à ¢ ª®æ¥ |
80 | ; ¯à®¢¥à塞, 室¨âáï «¨ ªãàá®à ¢ ª®æ¥ + ¤ «ì¥©è ï ®¡à ¡®âª |
95 | @@: mov ecx,ed_size |
- | |
96 | mov edx, ed_max |
- | |
97 | test word ed_flags,ed_insert |
- | |
98 | jne @f |
- | |
99 | cmp ecx,edx |
- | |
100 | jae .no_figure |
- | |
101 | @@: mov ebx, ed_pos |
- | |
102 | cmp ebx,edx |
- | |
103 | jl @f ; ¥á«¨ ¬¥ìè¥ ¨«¨ à ¢® |
- | |
104 | .no_figure: |
- | |
105 | edit_ex |
- | |
106 | .insert: test word ed_flags,ed_insert ;not word ed_insert |
- | |
107 | je .insert_1 |
- | |
108 | and word ed_flags,ed_insert_cl |
- | |
109 | jmp .no_figure |
- | |
110 | .insert_1: |
- | |
111 | or word ed_flags,ed_insert |
- | |
112 | jmp .no_figure |
- | |
113 | .ins_v: |
- | |
114 | dec dword [ebp+42];ed_size ;processing is insert |
- | |
115 | sub esi,ecx |
- | |
116 | add esi,ebx |
- | |
117 | mov edi,esi |
- | |
118 | ;clear |
- | |
119 | pusha |
- | |
120 | mov edi,ebp |
- | |
121 | mov ebp,ed_pos |
- | |
122 | call .clear_bg |
- | |
123 | popa |
- | |
124 | jmp .In_k |
- | |
125 | @@: ; ᤢ¨£ ¥¬ ᨬ¢®«ë ¯®á«¥ ªãàá®à ¢¯à ¢® |
- | |
126 | mov ecx,ed_size |
- | |
127 | push edi eax |
- | |
128 | mov ebp,edi |
- | |
129 | mov esi,ed_text ; ª § â¥«ì ¡ãä¥à |
- | |
130 | ;㤥¬ à ¡®â âì á® áâப®© |
- | |
131 | add esi,ecx ;add ed_size ¤®¡ ¢¨¬ max size |
- | |
132 | mov edi,esi |
- | |
133 | - | ||
134 | cmp ecx,ebx ; ᫨ ã á ¯®§¨æ¨ï ªãàá®à = ⥪ã饬ã à §¬¥àã ¯¥ç â ëå ᨬ¢®«®¢ â.¥. ªãàá®à á⮨⠢ ª®æ¥ |
- | |
135 | je .In_k |
- | |
136 | - | ||
137 | test word [ebp+40],ed_insert ;IF insert is enable â.ª. edi ¨§¬¥¥ ¤à¥á㥬 ç¥à¥§ ebp |
- | |
138 | jne .ins_v |
- | |
139 | ;clear |
- | |
140 | pusha |
- | |
141 | mov edi,ebp |
- | |
142 | mov ebp,ed_size |
81 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
143 | call .clear_bg |
- | |
144 | popa |
- | |
145 | sub ecx,ebx ; ©¤¥¬ ª®«-¢® ᨬ¢®«®¢ ¤«ï ¯¥à¥¤¢¨¦¥¨ï. |
- | |
146 | inc edi ;¬¥á⨬ è¨ á¨¬¢®«ë ¢ ¯à ¢® |
- | |
147 | std |
- | |
148 | inc ecx |
- | |
149 | @@: |
- | |
150 | ;-------- |
- | |
151 | lodsb |
- | |
152 | stosb |
- | |
153 | ;-------- |
- | |
154 | loop @b |
- | |
155 | .In_k: cld |
82 | are_key_cur_end |
156 | pop eax |
- | |
157 | mov al,ah |
- | |
158 | stosb |
- | |
159 | pop edi |
- | |
160 | ; ¢áâ ¢«ï¥¬ ª®¤ ª« ¢¨è¨ â㤠, £¤¥ ªãàá®à |
- | |
161 | ; 㢥«¨ç¨¢ ¥¬ § 票¥ à §¬¥à ¨ ¯®§¨æ¨¨ |
- | |
162 | inc dword ed_size |
- | |
163 | inc dword ed_pos |
- | |
164 | call .draw_all2 |
- | |
165 | jmp .shift;.draw_cursor_text |
- | |
166 | .delete: |
- | |
167 | mov edx,ed_size |
83 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
168 | mov ecx,ed_pos |
- | |
169 | cmp edx,ecx |
- | |
170 | jg .bac_del |
- | |
171 | test word ed_flags,ed_shift_on |
- | |
172 | jne .del_bac |
- | |
173 | edit_ex |
- | |
174 | .bac_del: |
- | |
175 | call .del_char |
- | |
176 | jmp .draw_all |
- | |
177 | - | ||
178 | ;--- ¦ â ª« ¢¨è backspace --- |
84 | ;¡à ¡®âª ª« ¢¨è insert,delete.backspase,home,end,left,right |
179 | .backspace: |
- | |
180 | ; ¯à®¢¥à塞, ªãàá®à ã «¥¢®£® ªà ï ? |
- | |
181 | mov ecx,ed_pos |
85 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
182 | test ecx,ecx |
- | |
183 | jnz .del_bac |
- | |
184 | test word ed_flags,ed_shift_on |
- | |
185 | jne .bac_del |
- | |
186 | - | ||
187 | edit_ex |
86 | use_work_key |
188 | .del_bac: |
- | |
189 | mov edx,ed_size |
- | |
190 | cmp edx,ecx ;if ed_pos=ed_size |
- | |
191 | je @f |
- | |
192 | dec ecx |
- | |
193 | call .del_char |
- | |
194 | @@: test word ed_flags,ed_shift_on |
- | |
195 | jne .bac_del |
- | |
196 | dec dword ed_pos |
- | |
197 | .draw_all: |
- | |
198 | push .shift;.draw_cursor_text;eax |
- | |
199 | - | ||
200 | test word ed_flags,ed_shift_on |
- | |
201 | je @f |
- | |
202 | mov eax,dword ed_shift_pos |
- | |
203 | mov ebx,ed_size |
- | |
204 | sub ebx,eax |
- | |
205 | mov ed_size,ebx |
- | |
206 | - | ||
207 | mov ebp,ed_color |
- | |
208 | call .clear_cursor |
- | |
209 | call .check_offset |
- | |
210 | call .draw_bg |
- | |
211 | ret |
- | |
212 | @@: dec dword ed_size |
- | |
213 | - | ||
214 | .draw_all2: |
- | |
215 | and word ed_flags,ed_shift_cl |
- | |
216 | mov ebp,ed_color |
- | |
217 | call .clear_cursor |
- | |
218 | call .check_offset |
- | |
219 | mov ebp,ed_size |
- | |
220 | call .clear_bg |
- | |
221 | ret |
- | |
222 | ;--- ¦ â ª« ¢¨è left --- |
- | |
223 | .left: mov ebx,ed_pos |
- | |
224 | test ebx,ebx |
- | |
225 | jz .sh_st_of |
- | |
226 | or word ed_flags,ed_left_fl |
- | |
227 | call .sh_first_sh |
- | |
228 | dec dword ed_pos |
- | |
229 | call .sh_enable |
- | |
230 | jmp .draw_cursor_text |
- | |
231 | ;--- ¦ â ª« ¢¨è right --- |
- | |
232 | .right: mov ebx,ed_pos |
- | |
233 | cmp ebx,ed_size |
- | |
234 | je .sh_st_of |
- | |
235 | and word ed_flags,ed_right_fl |
- | |
236 | call .sh_first_sh |
- | |
237 | inc dword ed_pos |
- | |
238 | call .sh_enable |
- | |
239 | jmp .draw_cursor_text |
- | |
240 | .home: |
- | |
241 | mov ebx,ed_pos |
- | |
242 | test ebx,ebx |
- | |
243 | jz .sh_st_of |
- | |
244 | call .sh_first_sh |
- | |
245 | xor eax,eax |
- | |
246 | mov ed_pos,eax |
- | |
247 | call .sh_home_end |
- | |
248 | jmp .draw_cursor_text |
- | |
249 | .end: |
- | |
250 | mov ebx,ed_pos |
- | |
251 | cmp ebx,dword ed_size |
- | |
252 | je .sh_st_of |
- | |
253 | call .sh_first_sh |
- | |
254 | mov eax,ed_size |
- | |
255 | mov ed_pos,eax |
- | |
256 | call .sh_home_end |
- | |
257 | jmp .draw_cursor_text |
- | |
258 | ;========================================================== |
87 | ;========================================================== |
259 | ;=== ®¡à ¡®âª ¬ëè¨ ======================================= |
88 | ;=== ®¡à ¡®âª ¬ëè¨ ======================================= |
260 | ;========================================================== |
89 | ;========================================================== |
261 | .mouse: |
90 | .mouse: |
262 | pusha |
91 | pusha |
263 | ;debug |
92 | ;debug |
264 | ;---------------------------------------------------------- |
93 | ;---------------------------------------------------------- |
265 | ;--- ¯®«ãç ¥¬ á®áâ®ï¨¥ ª®¯®ª ¬ëè¨ ----------------------- |
94 | ;--- ¯®«ãç ¥¬ á®áâ®ï¨¥ ª®¯®ª ¬ëè¨ ----------------------- |
266 | ;---------------------------------------------------------- |
95 | ;---------------------------------------------------------- |
267 | mcall 37,2 |
96 | mcall 37,2 |
268 | ;---------------------------------------------------------- |
97 | ;---------------------------------------------------------- |
269 | ;--- ¯à®¢¥à塞 á®áâ®ï¨¥ ---------------------------------- |
98 | ;--- ¯à®¢¥à塞 á®áâ®ï¨¥ ---------------------------------- |
270 | ;---------------------------------------------------------- |
99 | ;---------------------------------------------------------- |
271 | test eax,1 |
100 | test eax,1 |
272 | jnz .mouse_left_button |
101 | jnz .mouse_left_button |
273 | and word ed_flags,ed_mouse_on_off |
102 | and word ed_flags,ed_mouse_on_off |
274 | xor ebx,ebx |
103 | xor ebx,ebx |
275 | mov dword [mouse_flag],ebx |
104 | mov dword [mouse_flag],ebx |
276 | edit_ex |
105 | jmp .editbox_exit |
277 | .mouse_left_button: |
106 | .mouse_left_button: |
278 | ;---------------------------------------------------------- |
107 | ;---------------------------------------------------------- |
279 | ;--- ¡«®ª¨à®¢ª ®â 䮪ãá¨à®¢ª¨ ¢ ¤àã£¨å ¡®ªá å ¯à¨ ¯®¯ ¤ ¨¨ ¨å ªãàá®à |
108 | ;--- ¡«®ª¨à®¢ª ®â 䮪ãá¨à®¢ª¨ ¢ ¤àã£¨å ¡®ªá å ¯à¨ ¯®¯ ¤ ¨¨ ¨å ªãàá®à |
280 | ;---------------------------------------------------------- |
109 | ;---------------------------------------------------------- |
281 | mov eax,dword [mouse_flag] |
110 | mov eax,dword [mouse_flag] |
282 | test eax,eax |
111 | test eax,eax |
283 | jz @f |
112 | jz @f |
284 | cmp eax,edi |
113 | cmp eax,edi |
285 | je @f |
114 | je @f |
286 | jmp ._blur |
115 | jmp ._blur |
287 | ;---------------------------------------------------------- |
116 | ;---------------------------------------------------------- |
288 | ;--- ¯®«ãç ¥¬ ª®®à¤¨ âë ¬ëè¨ ®â®á¨â¥«ì® 0 â.¥ ¢á¥© ®¡« á⨠íªà |
117 | ;--- ¯®«ãç ¥¬ ª®®à¤¨ âë ¬ëè¨ ®â®á¨â¥«ì® 0 â.¥ ¢á¥© ®¡« á⨠íªà |
289 | ;---------------------------------------------------------- |
118 | ;---------------------------------------------------------- |
290 | @@: mcall 37,0 |
119 | @@: mcall 37,0 |
291 | ;---------------------------------------------------------- |
- | |
292 | ;--- ¥ 㤥ন¢ ¥¬ «¨ ¬ë ª« ¢¨èã ¬ë誨, ¯¥à¥¬¥é ï ªãàá®à, ¢® ¢á¥ à §ë¥ áâ®à®ë? |
- | |
293 | ;---------------------------------------------------------- |
- | |
294 | test word ed_flags,ed_mouse_on |
- | |
295 | jne .mouse_wigwag |
120 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
296 | ;---------------------------------------------------------- |
- | |
297 | ;--- ¯à®¢¥à塞, ¯®¯ ¤ ¥â «¨ ªãàá®à ¢ edit box ------------- |
121 | ;ãªæ¨ï ®¡à ¡®âª¨ ¬ë誨 ¯®«ã票¥ ª®®à¤¨ â ¨ ¯à®¢¥àª ¨å + ¢ë¤¥«¥¨ï |
298 | ;---------------------------------------------------------- |
- | |
299 | mov ebx,[procinfo.box.top] |
- | |
300 | add ebx,ed_top |
- | |
301 | if scr_h eq |
- | |
302 | else |
- | |
303 | add ebx,scr_h |
- | |
304 | end if |
- | |
305 | cmp ax,bx |
- | |
306 | jl ._blur;.mouse_end_no_focus |
- | |
307 | - | ||
308 | add ebx,ed_height |
- | |
309 | cmp ax,bx |
- | |
310 | jg ._blur;.mouse_end_no_focus |
- | |
311 | - | ||
312 | shr eax,16 |
- | |
313 | - | ||
314 | mov ebx,[procinfo.box.left] |
- | |
315 | add ebx,ed_left |
- | |
316 | if scr_w eq |
- | |
317 | else |
- | |
318 | add ebx,scr_w |
- | |
319 | end if |
- | |
320 | cmp ax,bx |
- | |
321 | jl ._blur;.mouse_end_no_focus |
- | |
322 | - | ||
323 | add ebx,ed_width |
- | |
324 | cmp ax,bx |
- | |
325 | jg ._blur;.mouse_end_no_focus |
- | |
326 | ;--- ¨§¬¥ï¥¬ ¯®§¨æ¨î ªãàá®à --- |
- | |
327 | push eax |
- | |
328 | mov ebp,ed_color |
- | |
329 | call .clear_cursor |
122 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
330 | pop eax |
- | |
331 | ._mvpos: |
- | |
332 | mov ebx,dword [procinfo.box.left] |
- | |
333 | xor edx,edx |
- | |
334 | sub eax,ed_left |
- | |
335 | sub eax,ebx |
- | |
336 | if scr_w eq |
- | |
337 | else |
- | |
338 | add ebx,scr_w |
123 | use_work_mause scr_h,scr_w |
339 | sub eax,2 |
- | |
340 | end if |
- | |
341 | mov ebx,6 |
- | |
342 | div bx |
- | |
343 | add eax,ed_offset |
- | |
344 | cmp eax,ed_size |
- | |
345 | jna ._mshift |
- | |
346 | mov eax,ed_size |
- | |
347 | ._mshift: |
- | |
348 | ;;;;;;; |
- | |
349 | ;;¥ªæ¨ï ®¡à ¡®âª¨ shift ¨ ¢ë¤¥«¥¨ï ¯® shift |
- | |
350 | ;;;;;;; |
- | |
351 | test word ed_flags,ed_shift_bac |
- | |
352 | je @f |
- | |
353 | mov ebp,dword ed_color |
- | |
354 | mov ebx,dword ed_shift_pos |
- | |
355 | push eax |
- | |
356 | call .sh_cl_ |
- | |
357 | and word ed_flags,ed_shift_bac_cl |
- | |
358 | pop eax |
- | |
359 | @@: |
- | |
360 | test word ed_flags,ed_mouse_on |
- | |
361 | jne @f |
- | |
362 | - | ||
363 | mov dword ed_shift_pos,eax |
- | |
364 | or word ed_flags,ed_mouse_on |
- | |
365 | mov dword ed_pos,eax |
- | |
366 | mov dword [mouse_flag],edi ;ãáâ ®¢¨¬ ¨¤¥â¨ä¨ª â®à |
- | |
367 | bts word ed_flags,1 ;ãáâ ®¢ª 䮪ãá |
- | |
368 | jmp .m_sh |
- | |
369 | @@: |
- | |
370 | cmp eax,dword ed_shift_pos ;¥á«¨ ¯®§¨æ¨¨ ¥ ¨§¬¥¨«¨áì |
- | |
371 | je .mouse_ex |
- | |
372 | mov ed_pos,eax |
- | |
373 | mov ebp,dword shift_color |
- | |
374 | mov ebx,dword ed_shift_pos |
- | |
375 | call .sh_cl_ |
- | |
376 | or word ed_flags,ed_mous_adn_b ;ãáâ ®¢¨¬ ¡¨â çâ® ¬ë ¢ë¤¥«¨«¨ +shift_on + |
- | |
377 | .m_sh: call .draw_text |
- | |
378 | call .draw_cursor |
- | |
379 | ;---------------------------------------------------------- |
- | |
380 | ;--- ¯à®æ¥¤ãà ãáâ ®¢ª¨ 䮪ãá --------------------------- |
- | |
381 | ;---------------------------------------------------------- |
- | |
382 | jmp .drc |
- | |
383 | ._blur: |
- | |
384 | test word ed_flags,ed_always_focus |
- | |
385 | jne .mouse_ex |
- | |
386 | btr word ed_flags,1 ; ¥á«¨ ¥ ¢ 䮪ãá¥, ¢ë室¨¬ |
- | |
387 | jnc .mouse_ex |
- | |
388 | - | ||
389 | mov ebp,ed_color |
- | |
390 | call .clear_cursor |
- | |
391 | .drc: call .draw_border |
- | |
392 | .mouse_ex: |
- | |
393 | - | ||
394 | edit_ex |
- | |
395 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
124 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
396 | ;¡é¨¥ äãªæ¨¨ ®¡à ¡®âª¨ |
125 | ;¡é¨¥ äãªæ¨¨ ®¡à ¡®âª¨ |
397 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
126 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
398 | use_general_func |
127 | use_general_func |
399 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
128 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
400 | ;ãªæ¨¨ ¤«ï à ¡®âë á key |
129 | ;ãªæ¨¨ ¤«ï à ¡®âë á key |
401 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
130 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
402 | use_key_func |
131 | use_key_func |
403 | ;---------------------------------------------------------- |
- | |
404 | ;--- ¯à®æ¥¤ãà à §¬ë¢ ¨ï 䮪ãá -------------------------- |
- | |
405 | ;---------------------------------------------------------- |
- | |
406 | ;.blur: |
- | |
407 | ;pusha |
- | |
408 | ;._blur: |
- | |
409 | ;btr ed_flags,1 |
- | |
410 | ;jnc @f |
- | |
411 | ;call .draw_border |
- | |
412 | ;call .clear_cursor |
- | |
413 | ;@@: |
- | |
414 | ;edit_ex |
- | |
415 | - | ||
416 | ;---------------------------------------------------------- |
- | |
417 | ;--- ¡à ¡®âª .mouse_wigwag |
- | |
418 | ;---------------------------------------------------------- |
- | |
419 | .mouse_wigwag: |
- | |
420 | shr eax,16 |
- | |
421 | or word ed_flags,ed_shift_bac+ed_shift_on+ed_shift |
- | |
422 | ;;;;;;;;;;;;;;;;;; |
- | |
423 | ;;¯à®æ¥¤ãà ®¡à ¡®âª¨ ¯®«®¦¥¨ï ¢ë¤¥«¥®£® ⥪áâ , ª®£¤ ¯à®¨á室¨â ¢ë室 § ¯à¥¤¥«ë editbox |
- | |
424 | ;;;;;;;;;;;;;;;;;; |
132 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
425 | mov ebx,[procinfo.box.left] |
133 | ;ãªæ¨¨ ¤«ï à ¡®âë á mouse |
426 | add ebx,ed_left |
- | |
427 | if scr_w eq |
- | |
428 | else |
- | |
429 | add ebx,scr_w |
- | |
430 | end if |
- | |
431 | cmp eax,ebx |
- | |
432 | jb .mleft |
- | |
433 | - | ||
434 | add ebx,ed_width |
- | |
435 | cmp eax,ebx |
- | |
436 | ja .mright |
- | |
437 | - | ||
438 | sub ebx,ed_width |
- | |
439 | - | ||
440 | xor edx,edx |
- | |
441 | sub eax,ebx ; ¢ëç⨬ ¨§ ª®®à¤¨ â ¬ë誨 ¯® ®á¨ å ª®®à¤¨ âë ¤® editbox ¯® ®á¨ å |
- | |
442 | mov ebx,6 |
- | |
443 | div ebx |
- | |
444 | ;;;;;;;;;;;;;;;;;; |
- | |
445 | ;;¯à®æ¥¤ãà ®¡à ¡®âª¨ ¯®«®¦¥¨ï ¢ë¤¥«¥®£® ⥪áâ , ¢ ¯à¥¤¥« å ®¡« á⨠editbox |
- | |
446 | ;;;;;;;;;;;;;;;;;; |
134 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
447 | ;®«ã稫¨ ª®®à¤¨ âë ¢ eax ¬ë誨, â.¥. ªã¤ ® ¯¥à¥¬¥á⨫ áì |
- | |
448 | ;¨á®¢ ¨¥ § ªà è¥ëå ¯àאַ㣮«ì¨ª®¢ ¨ ®ç¨á⪠¨å |
- | |
449 | add eax,ed_offset ;¤®¡ ¢¨¬ ᬥ饨¥ |
- | |
450 | cmp eax,dword ed_size ;¥á«¨ ¢ë諨 § ¯à¥¤¥«ë, â® ¨ç¥£® ¥ ¤¥« âì |
- | |
451 | ja .mwigvag |
- | |
452 | .mdraw: |
- | |
453 | mov dword ed_pos,eax ;á®åà ¨¬ ®¢®¥ § 票¥ |
- | |
454 | ;¨á®¢ ¨¥ § ªà è¥ëå ¯àאַ㣮«ì¨ª®¢ ¨ ®ç¨á⪠¨å |
- | |
455 | mov ecx,dword ed_shift_pos |
- | |
456 | mov ebx,dword ed_shift_pos_old |
- | |
457 | mov dword ed_shift_pos_old,eax ;¢¥á¥¬ ®¢®¥ § 票¥ áâ ன ¯®§¨æ¨¨ ªãàá®à |
- | |
458 | ;¯à®¢¥àª ¨ à¨á®¢ ¨¥ § ªà è¥ëå ®¡« á⥩ |
- | |
459 | cmp ecx,ebx ;¢ëïá塞 ªã¤ ¡ë«® ¤¢¨¦¥¨¥ ®¤¨ è £ § ¤ |
- | |
460 | je .m1_shem ;¤¢¨¦¥¨ï ¥ ¡ë«® à ¥¥ |
- | |
461 | jb .msmaller ;¤¢¨¦¥¨¥ ¡ë«® -> |
- | |
462 | cmp ebx,eax ;¤¢¨¦¥¨¥ ¡ë«® ¤® í⮣® <- ¨ âãâ ¬ë ¯à®¢¥à塞 ᥩç á ªã¤ ¤¢¨¦¥¨¥ ¯à®¨á室¨â |
- | |
463 | ja .m1_shem ;¥á«¨ ¡ë«® ¤¢¨¦¥¨¥ <- ⮠㦮 § ªà á¨âì ®¡« áâì |
- | |
464 | je .mwigvag ;¥á«¨ ¨§¬¥¥¨ï ¥ ¡ë«®, â® ¨ç¥£® ¥ ¤¥« âì |
- | |
465 | mov ebp,ed_color ;âãâ 㦮 ®ç¨áâ¨âì ®¡« áâì c ed_pos ed_shift_pos_old |
- | |
466 | ;¢å®¤ë¥ ¯ à ¬¥âàë ebp=color ebx=ed_shift_pos |
- | |
467 | call .sh_cl_ |
- | |
468 | jmp .mwigvag |
- | |
469 | .msmaller: |
- | |
470 | cmp ebx,eax |
- | |
471 | jb .m1_shem |
- | |
472 | mov ebp,ed_color |
- | |
473 | ;¢å®¤ë¥ ¯ à ¬¥âàë ebp=color ebx=ed_shift_pos |
- | |
474 | call .sh_cl_ |
- | |
475 | jmp .mwigvag |
- | |
476 | ;alike = |
- | |
477 | .m1_shem: |
- | |
478 | mov ebp,shift_color |
- | |
479 | ;¢å®¤ë¥ ¯ à ¬¥âàë ebp=color ebx=ed_shift_pos |
- | |
480 | mov ebx,ecx |
- | |
481 | call .sh_cl_ |
- | |
482 | jmp .mwigvag |
- | |
483 | .mwigvag: |
- | |
484 | and word ed_flags,ed_shift_mcl |
- | |
485 | jmp .draw_cursor_text |
- | |
486 | ; popa |
- | |
487 | ; ret |
- | |
488 | .mleft: |
- | |
489 | mov eax,ed_pos |
- | |
490 | cmp eax,0 |
- | |
491 | jbe .mwigvag |
- | |
492 | dec eax |
- | |
493 | call .check_offset |
- | |
494 | push eax |
- | |
495 | mov ebx,ed_shift_pos |
- | |
496 | mov ebp,shift_color |
- | |
497 | call .sh_cl_ |
- | |
498 | pop eax |
- | |
499 | jmp .mdraw |
- | |
500 | .mright: |
- | |
501 | mov eax,ed_pos |
- | |
502 | mov ebx,ed_size |
- | |
503 | cmp eax,ebx |
- | |
504 | jae .mwigvag |
- | |
505 | inc eax |
- | |
506 | call .check_offset |
- | |
507 | mov ebx,ed_shift_pos |
- | |
508 | mov ebp,shift_color |
- | |
509 | push eax |
- | |
510 | call .sh_cl_ |
- | |
511 | pop eax |
- | |
512 | jmp .mdraw |
135 | use_mouse_func scr_w |
513 | - | ||
514 | } |
136 | } |
- | 137 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
|
- | 138 | ;Bit mask from editbox |
|
- | 139 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
|
515 | ed_figure_only= 1000000000000000b ;®¤¨ ᨬ¢®«ë |
140 | ed_figure_only= 1000000000000000b ;®¤¨ ᨬ¢®«ë |
516 | ed_always_focus= 100000000000000b |
141 | ed_always_focus= 100000000000000b |
517 | ed_focus= 10b ;䮪ãá ¯à¨«®¦¥¨ï |
142 | ed_focus= 10b ;䮪ãá ¯à¨«®¦¥¨ï |
518 | ed_shift_on= 1000b ;¥á«¨ ¥ ãáâ ®¢«¥ -§ ç¨â ¢¯¥à¢ë¥ ¦ â shift,¥á«¨ ¡ë« ãáâ ®¢«¥, § ç¨â ¬ë 㦥 çâ® - â® ¤¥« «¨ 㤥ন¢ ï shift |
143 | ed_shift_on= 1000b ;¥á«¨ ¥ ãáâ ®¢«¥ -§ ç¨â ¢¯¥à¢ë¥ ¦ â shift,¥á«¨ ¡ë« ãáâ ®¢«¥, § ç¨â ¬ë 㦥 çâ® - â® ¤¥« «¨ 㤥ন¢ ï shift |
519 | ed_shift_on_off=1111111111110111b |
144 | ed_shift_on_off=1111111111110111b |
520 | ed_shift= 100b ;¢ª«îç ¥âáï ¯à¨ ¦ ⨨ shift â.¥. ¥á«¨ ¦¨¬ î |
145 | ed_shift= 100b ;¢ª«îç ¥âáï ¯à¨ ¦ ⨨ shift â.¥. ¥á«¨ ¦¨¬ î |
521 | ed_shift_off= 1111111111111011b |
146 | ed_shift_off= 1111111111111011b |
522 | ed_shift_bac= 10000b ;¡¨â ¤«ï ®ç¨á⪨ ¢ë¤¥«¥®£® shift â.¥. ¯à¨ ãáâ ®¢ª¥ £®¢®à¨â çâ® ¥áâì ¢ë¤¥«¥¨¥ |
147 | ed_shift_bac= 10000b ;¡¨â ¤«ï ®ç¨á⪨ ¢ë¤¥«¥®£® shift â.¥. ¯à¨ ãáâ ®¢ª¥ £®¢®à¨â çâ® ¥áâì ¢ë¤¥«¥¨¥ |
523 | ed_shift_bac_cl=1111111111101111b ;®ç¨á⪠¯à¨ 㤠«¥¨¨ ¢ë¤¥«¥¨ï |
148 | ed_shift_bac_cl=1111111111101111b ;®ç¨á⪠¯à¨ 㤠«¥¨¨ ¢ë¤¥«¥¨ï |
524 | ed_shift_cl= 1111111111100011b |
149 | ed_shift_cl= 1111111111100011b |
525 | ed_shift_mcl= 1111111111111011b |
150 | ed_shift_mcl= 1111111111111011b |
526 | ed_left_fl= 100000b |
151 | ed_left_fl= 100000b |
527 | ed_right_fl= 1111111111011111b |
152 | ed_right_fl= 1111111111011111b |
528 | ed_offset_fl= 1000000b |
153 | ed_offset_fl= 1000000b |
529 | ed_offset_cl= 1111111110111111b |
154 | ed_offset_cl= 1111111110111111b |
530 | ed_insert= 10000000b |
155 | ed_insert= 10000000b |
531 | ed_insert_cl= 1111111101111111b |
156 | ed_insert_cl= 1111111101111111b |
532 | ed_mouse_on = 100000000b |
157 | ed_mouse_on = 100000000b |
533 | ed_mous_adn_b= 100011000b |
158 | ed_mous_adn_b= 100011000b |
534 | ed_mouse_on_off=1111111011111111b |
159 | ed_mouse_on_off=1111111011111111b |
535 | ed_height=14 ; ¢ëá®â |
160 | ed_height=14 ; ¢ëá®â |
536 | macro draw_edit_boxes start,_end,use_f9,procinfo |
161 | macro draw_edit_boxes start,_end,use_f9,procinfo |
537 | { |
162 | { |
538 | if use_f9 eq |
163 | if use_f9 eq |
539 | else |
164 | else |
540 | mcall 9,procinfo,-1 |
165 | mcall 9,procinfo,-1 |
541 | end if |
166 | end if |
542 | mov edi,start |
167 | mov edi,start |
543 | mov ecx,((_end-start)/ed_struc_size) |
168 | mov ecx,((_end-start)/ed_struc_size) |
544 | @@: |
169 | @@: |
545 | call edit_box.draw |
170 | call edit_box.draw |
546 | add edi,ed_struc_size |
171 | add edi,ed_struc_size |
547 | loop @b |
172 | loop @b |
548 | } |
173 | } |
549 | 174 | ||
550 | macro mouse_edit_boxes start,_end |
175 | macro mouse_edit_boxes start,_end |
551 | { |
176 | { |
552 | mov edi,start |
177 | mov edi,start |
553 | mov ecx,((_end-start)/ed_struc_size) |
178 | mov ecx,((_end-start)/ed_struc_size) |
554 | @@: |
179 | @@: |
555 | call edit_box.mouse |
180 | call edit_box.mouse |
556 | add edi,ed_struc_size |
181 | add edi,ed_struc_size |
557 | loop @b |
182 | loop @b |
558 | } |
183 | } |
559 | 184 | ||
560 | macro key_edit_boxes start,end |
185 | macro key_edit_boxes start,end |
561 | { |
186 | { |
562 | mov edi,start |
187 | mov edi,start |
563 | mov ecx,((end-start)/ed_struc_size) |
188 | mov ecx,((end-start)/ed_struc_size) |
564 | @@: |
189 | @@: |
565 | call edit_box.key |
190 | call edit_box.key |
566 | add edi,ed_struc_size |
191 | add edi,ed_struc_size |
567 | loop @b |
192 | loop @b |
568 | } |
193 | } |
569 | ed_struc_size=70 |
194 | ed_struc_size=70 |
570 | struc edit_box width,left,top,color,shift_color,focus_border_color,\ |
195 | struc edit_box width,left,top,color,shift_color,focus_border_color,\ |
571 | blur_border_color,text_color,max,text,flags,size,pos |
196 | blur_border_color,text_color,max,text,flags,size,pos |
572 | { |
197 | { |
573 | .width dd width |
198 | .width dd width |
574 | .left dd left |
199 | .left dd left |
575 | .top dd top |
200 | .top dd top |
576 | .color dd color |
201 | .color dd color |
577 | .shift_color dd shift_color |
202 | .shift_color dd shift_color |
578 | .focus_border_color dd focus_border_color |
203 | .focus_border_color dd focus_border_color |
579 | .blur_border_color dd blur_border_color |
204 | .blur_border_color dd blur_border_color |
580 | .text_color dd text_color |
205 | .text_color dd text_color |
581 | .max dd max |
206 | .max dd max |
582 | .text dd text |
207 | .text dd text |
583 | .flags dw flags+0 |
208 | .flags dw flags+0 |
584 | .size dd size+0 |
209 | .size dd size+0 |
585 | .pos dd pos+0 |
210 | .pos dd pos+0 |
586 | .offset dd 0 |
211 | .offset dd 0 |
587 | .cl_curs_x dd 0 |
212 | .cl_curs_x dd 0 |
588 | .cl_curs_y dd 0 |
213 | .cl_curs_y dd 0 |
589 | .shift dd 0 |
214 | .shift dd 0 |
590 | .shift_old dd 0 |
215 | .shift_old dd 0 |
591 | } |
216 | } |
592 | 217 | ||
593 | 218 | ||
594 | macro edit_boxes_set_sys_color start,end,color_table |
219 | macro edit_boxes_set_sys_color start,end,color_table |
595 | { |
220 | { |
596 | mov edi,start |
221 | mov edi,start |
597 | mov ecx,((end-start)/ed_struc_size) |
222 | mov ecx,((end-start)/ed_struc_size) |
598 | mov esi,color_table |
223 | mov esi,color_table |
599 | @@: |
224 | @@: |
600 | mov eax,[esi+36] |
225 | mov eax,[esi+36] |
601 | mov ebx,[esi+20] |
226 | mov ebx,[esi+20] |
602 | mov ed_focus_border_color,eax |
227 | mov ed_focus_border_color,eax |
603 | shr bh,1 |
228 | shr bh,1 |
604 | shr bl,1 |
229 | shr bl,1 |
605 | shr ah,1 |
230 | shr ah,1 |
606 | shr al,1 |
231 | shr al,1 |
607 | add ah,bh |
232 | add ah,bh |
608 | add al,bl |
233 | add al,bl |
609 | ror eax,16 |
234 | ror eax,16 |
610 | ror ebx,16 |
235 | ror ebx,16 |
611 | shr bl,1 |
236 | shr bl,1 |
612 | shr al,1 |
237 | shr al,1 |
613 | add al,bl |
238 | add al,bl |
614 | ror eax,16 |
239 | ror eax,16 |
615 | mov ed_blur_border_color,eax |
240 | mov ed_blur_border_color,eax |
616 | add edi,ed_struc_size |
241 | add edi,ed_struc_size |
617 | loop @b |
242 | loop @b |
618 | } |
243 | } |
619 | 244 | ||
620 | macro draw_edit_box ed_ptr,use_f9,procinfo |
245 | macro draw_edit_box ed_ptr,use_f9,procinfo |
621 | { |
246 | { |
622 | if use_f9 eq |
247 | if use_f9 eq |
623 | else |
248 | else |
624 | mcall 9,procinfo,-1 |
249 | mcall 9,procinfo,-1 |
625 | end if |
250 | end if |
626 | mov edi,ed_ptr |
251 | mov edi,ed_ptr |
627 | call edit_box.draw |
252 | call edit_box.draw |
628 | } |
253 | } |
629 | 254 | ||
630 | macro mouse_edit_box ed_ptr |
255 | macro mouse_edit_box ed_ptr |
631 | { |
256 | { |
632 | mov edi,ed_ptr |
257 | mov edi,ed_ptr |
633 | call edit_box.mouse |
258 | call edit_box.mouse |
634 | } |
259 | } |
635 | 260 | ||
636 | macro key_edit_box ed_ptr |
261 | macro key_edit_box ed_ptr |
637 | { |
262 | { |
638 | mov edi,ed_ptr |
263 | mov edi,ed_ptr |
639 | call edit_box.key |
264 | call edit_box.key |
640 | } |
265 | } |
641 | macro default_box ed_ptr |
266 | macro default_box ed_ptr |
642 | { |
267 | { |
643 | pusha |
268 | pusha |
644 | ; xor eax,eax |
269 | ; xor eax,eax |
645 | ; mov ed_shift_pos,eax |
270 | ; mov ed_shift_pos,eax |
646 | ; mov ed_shift_pos_old,eax |
271 | ; mov ed_shift_pos_old,eax |
647 | and word ed_flags,ed_shift_cl |
272 | and word ed_flags,ed_shift_cl |
648 | ; mov ed_offset,eax |
273 | ; mov ed_offset,eax |
649 | popa |
274 | popa |
650 | }->-> |
275 | } |