Rev 491 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 491 | Rev 507 | ||
---|---|---|---|
Line 43... | Line 43... | ||
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 | ;---------------------------------------------------------- |
Line 66... | Line 70... | ||
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 |
Line 271... | Line 100... | ||
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] |
Line 286... | Line 115... | ||
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 |