Rev 1113 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1113 | Rev 1214 | ||
---|---|---|---|
Line 1... | Line 1... | ||
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 | ||
4 | macro use_editbox_draw |
13 | macro use_editbox_draw |
5 | { |
14 | { |
6 | edit_box: |
15 | edit_box: |
7 | ed_width equ [edi] ;è¨à¨ ª®¬¯®¥â |
16 | ed_width equ [edi] ;è¨à¨ ª®¬¯®¥â |
8 | ed_left equ [edi+4] ;¯®«®¦¥¨¥ ¯® ®á¨ å |
17 | ed_left equ [edi+4] ;¯®«®¦¥¨¥ ¯® ®á¨ å |
Line 12... | Line 21... | ||
12 | ed_focus_border_color equ [edi+20] ;梥â à ¬ª¨ ª®¬¯®¥â |
21 | ed_focus_border_color equ [edi+20] ;梥â à ¬ª¨ ª®¬¯®¥â |
13 | ed_blur_border_color equ [edi+24] ;梥⠥ ªâ¨¢®£® ª®¬¯®¥â |
22 | ed_blur_border_color equ [edi+24] ;梥⠥ ªâ¨¢®£® ª®¬¯®¥â |
14 | ed_text_color equ [edi+28] ;梥â ⥪áâ |
23 | ed_text_color equ [edi+28] ;梥â ⥪áâ |
15 | ed_max equ [edi+32] ;ª®«-¢® ᨬ¢®«®¢ ª®â®àë¥ ¬®¦® ¬ ªá¨¬ «ì® ¢¢¥á⨠|
24 | ed_max equ [edi+32] ;ª®«-¢® ᨬ¢®«®¢ ª®â®àë¥ ¬®¦® ¬ ªá¨¬ «ì® ¢¢¥á⨠|
16 | ed_text equ [edi+36] ;㪠§ â¥«ì ¡ãä¥à |
25 | ed_text equ [edi+36] ;㪠§ â¥«ì ¡ãä¥à |
- | 26 | ed_mouse_variable equ [edi+40] ; 㪠§ â¥«ì ¯¥à¥¬¥ãî ¤«ï ¡®ªá /£à㯯ë |
|
17 | ed_flags equ [edi+40] ;ä« £¨ |
27 | ed_flags equ [edi+44] ;ä« £¨ |
18 | ed_size equ [edi+44] ;ª®«-¢® ᨬ¢®«®¢ |
28 | ed_size equ [edi+48] ;ª®«-¢® ᨬ¢®«®¢ |
19 | ed_pos equ [edi+48] ;¯®§¨æ¨ï ªãàá®à |
29 | ed_pos equ [edi+52] ;¯®§¨æ¨ï ªãàá®à |
20 | ed_offset equ [edi+52] ;ᬥ饨¥ |
30 | ed_offset equ [edi+56] ;ᬥ饨¥ |
21 | cl_curs_x equ [edi+56] ;¯à¥¤ë¤ã饥 ª®®à¤¨ â ªãàá®à ¯® å |
31 | cl_curs_x equ [edi+60] ;¯à¥¤ë¤ã饥 ª®®à¤¨ â ªãàá®à ¯® å |
22 | cl_curs_y equ [edi+60] ;¯à¥¤ë¤ã饥 ª®®à¤¨ â ªãàá®à ¯® ã |
32 | cl_curs_y equ [edi+64] ;¯à¥¤ë¤ã饥 ª®®à¤¨ â ªãàá®à ¯® ã |
23 | ed_shift_pos equ [edi+64] ;¯®«®¦¥¨¥ ªãàá®à |
33 | ed_shift_pos equ [edi+68] ;¯®«®¦¥¨¥ ªãàá®à |
24 | ed_shift_pos_old equ [edi+68] ;áâ ஥ ¯®«®¦¥¨¥ ªãàá®à |
34 | ed_shift_pos_old equ [edi+72] ;áâ ஥ ¯®«®¦¥¨¥ ªãàá®à |
Line 25... | Line 35... | ||
25 | 35 | ||
26 | ed_figure_only= 1000000000000000b ;®¤¨ ᨬ¢®«ë |
36 | ed_figure_only= 1000000000000000b ;®¤¨ ᨬ¢®«ë |
27 | ed_always_focus= 100000000000000b |
37 | ed_always_focus= 100000000000000b |
28 | ed_focus= 10b ;䮪ãá ¯à¨«®¦¥¨ï |
38 | ed_focus= 10b ;䮪ãá ¯à¨«®¦¥¨ï |
Line 60... | Line 70... | ||
60 | call .draw_shift |
70 | call .draw_shift |
61 | .draw_cursor_text: |
71 | .draw_cursor_text: |
62 | ;--- à¨á㥬 ªãàá®à --- |
72 | ;--- à¨á㥬 ªãàá®à --- |
63 | ;--- ¬®¦¥â ¥£® ¥ ¤® à¨á®¢ âì ---- |
73 | ;--- ¬®¦¥â ¥£® ¥ ¤® à¨á®¢ âì ---- |
64 | test word ed_flags,ed_focus |
74 | test word ed_flags,ed_focus |
65 | je @f |
75 | jz @f |
66 | call .draw_cursor |
76 | call .draw_cursor |
67 | @@: |
77 | @@: |
68 | call .draw_text |
78 | call .draw_text |
69 | ; ret |
79 | ; ret |
70 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
80 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 136... | Line 146... | ||
136 | ;--- ¯à®¢¥à塞 á®áâ®ï¨¥ ---------------------------------- |
146 | ;--- ¯à®¢¥à塞 á®áâ®ï¨¥ ---------------------------------- |
137 | ;---------------------------------------------------------- |
147 | ;---------------------------------------------------------- |
138 | test eax,1 |
148 | test eax,1 |
139 | jnz edit_box_mouse.mouse_left_button |
149 | jnz edit_box_mouse.mouse_left_button |
140 | and word ed_flags,ed_mouse_on_off |
150 | and word ed_flags,ed_mouse_on_off |
- | 151 | mov ebx,dword ed_mouse_variable |
|
- | 152 | push 0 |
|
141 | xor ebx,ebx |
153 | pop dword [ebx] |
142 | mov dword [mouse_flag],ebx |
154 | ; mov dword [ebx],ebx |
143 | jmp edit_box.editbox_exit |
155 | jmp edit_box.editbox_exit |
144 | .mouse_left_button: |
156 | .mouse_left_button: |
145 | ;---------------------------------------------------------- |
157 | ;---------------------------------------------------------- |
146 | ;--- ¡«®ª¨à®¢ª ®â 䮪ãá¨à®¢ª¨ ¢ ¤àã£¨å ¡®ªá å ¯à¨ ¯®¯ ¤ ¨¨ ¨å ªãàá®à |
158 | ;--- ¡«®ª¨à®¢ª ®â 䮪ãá¨à®¢ª¨ ¢ ¤àã£¨å ¡®ªá å ¯à¨ ¯®¯ ¤ ¨¨ ¨å ªãàá®à |
147 | ;---------------------------------------------------------- |
159 | ;---------------------------------------------------------- |
148 | mov eax,dword [mouse_flag] |
160 | mov eax,dword ed_mouse_variable |
- | 161 | push dword [eax] |
|
- | 162 | pop eax |
|
149 | test eax,eax |
163 | test eax,eax |
150 | jz @f |
164 | jz @f |
151 | cmp eax,edi |
165 | cmp eax,edi |
152 | je @f |
166 | je @f |
153 | jmp edit_box_mouse._blur |
167 | jmp edit_box_mouse._blur |
Line 433... | Line 447... | ||
433 | jae edit_box_key.sh_n |
447 | jae edit_box_key.sh_n |
434 | push eax ;¬¥ì襥 ¢ eax |
448 | push eax ;¬¥ì襥 ¢ eax |
435 | push ebx ;¡®«ì襥 |
449 | push ebx ;¡®«ì襥 |
436 | jmp edit_box_key.sh_n1 |
450 | jmp edit_box_key.sh_n1 |
437 | ;¥á«¨ ¨ ç¥ |
451 | ;¥á«¨ ¨ ç¥ |
438 | edit_box_key.sh_n: push ebx |
452 | edit_box_key.sh_n: |
- | 453 | push ebx |
|
439 | push eax |
454 | push eax |
440 | edit_box_key.sh_n1: |
455 | edit_box_key.sh_n1: |
441 | call edit_box.check_offset |
456 | call edit_box.check_offset |
442 | call edit_box.get_n |
457 | call edit_box.get_n |
443 | mov edx,eax ;size of ed_box |
458 | mov edx,eax ;size of ed_box |
Line 918... | Line 933... | ||
918 | ;-------- |
933 | ;-------- |
919 | lodsb |
934 | lodsb |
920 | stosb |
935 | stosb |
921 | ;-------- |
936 | ;-------- |
922 | loop @b |
937 | loop @b |
923 | edit_box_key.In_k: cld |
938 | edit_box_key.In_k: |
- | 939 | cld |
|
924 | pop eax |
940 | pop eax |
925 | mov al,ah |
941 | mov al,ah |
926 | stosb |
942 | stosb |
927 | pop edi |
943 | pop edi |
928 | ; ¢áâ ¢«ï¥¬ ª®¤ ª« ¢¨è¨ â㤠, £¤¥ ªãàá®à |
944 | ; ¢áâ ¢«ï¥¬ ª®¤ ª« ¢¨è¨ â㤠, £¤¥ ªãàá®à |
Line 1013... | Line 1029... | ||
1013 | mov ebp,ed_size |
1029 | mov ebp,ed_size |
1014 | call edit_box_key.clear_bg |
1030 | call edit_box_key.clear_bg |
1015 | ret |
1031 | ret |
1016 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1032 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1017 | ;--- ¦ â ª« ¢¨è left --- |
1033 | ;--- ¦ â ª« ¢¨è left --- |
- | 1034 | edit_box_key.left: |
|
1018 | edit_box_key.left: mov ebx,ed_pos |
1035 | mov ebx,ed_pos |
1019 | test ebx,ebx |
1036 | test ebx,ebx |
1020 | jz edit_box_key.sh_st_of |
1037 | jz edit_box_key.sh_st_of |
1021 | or word ed_flags,ed_left_fl |
1038 | or word ed_flags,ed_left_fl |
1022 | call edit_box_key.sh_first_sh |
1039 | call edit_box_key.sh_first_sh |
1023 | dec dword ed_pos |
1040 | dec dword ed_pos |
1024 | call edit_box_key.sh_enable |
1041 | call edit_box_key.sh_enable |
1025 | jmp edit_box.draw_cursor_text |
1042 | jmp edit_box.draw_cursor_text |
1026 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1043 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1027 | ;--- ¦ â ª« ¢¨è right --- |
1044 | ;--- ¦ â ª« ¢¨è right --- |
1028 | edit_box_key.right: mov ebx,ed_pos |
1045 | edit_box_key.right: |
- | 1046 | mov ebx,ed_pos |
|
1029 | cmp ebx,ed_size |
1047 | cmp ebx,ed_size |
1030 | je edit_box_key.sh_st_of |
1048 | je edit_box_key.sh_st_of |
1031 | and word ed_flags,ed_right_fl |
1049 | and word ed_flags,ed_right_fl |
1032 | call edit_box_key.sh_first_sh |
1050 | call edit_box_key.sh_first_sh |
1033 | inc dword ed_pos |
1051 | inc dword ed_pos |
Line 1216... | Line 1234... | ||
1216 | jne @f |
1234 | jne @f |
Line 1217... | Line 1235... | ||
1217 | 1235 | ||
1218 | mov dword ed_shift_pos,eax |
1236 | mov dword ed_shift_pos,eax |
1219 | or word ed_flags,ed_mouse_on |
1237 | or word ed_flags,ed_mouse_on |
- | 1238 | mov dword ed_pos,eax |
|
1220 | mov dword ed_pos,eax |
1239 | |
- | 1240 | ; mov dword [mouse_flag],edi ;ãáâ ®¢¨¬ ¨¤¥â¨ä¨ª â®à |
|
- | 1241 | ||
- | 1242 | mov ebx,dword ed_mouse_variable |
|
- | 1243 | push edi |
|
- | 1244 | pop dword [ebx] |
|
- | 1245 | ||
- | 1246 | ||
- | 1247 | ||
1221 | mov dword [mouse_flag],edi ;ãáâ ®¢¨¬ ¨¤¥â¨ä¨ª â®à |
1248 | |
1222 | bts word ed_flags,1 ;ãáâ ®¢ª 䮪ãá |
1249 | bts word ed_flags,1 ;ãáâ ®¢ª 䮪ãá |
1223 | jmp edit_box_mouse.m_sh |
1250 | jmp edit_box_mouse.m_sh |
1224 | @@: |
1251 | @@: |
1225 | cmp eax,dword ed_shift_pos ;¥á«¨ ¯®§¨æ¨¨ ¥ ¨§¬¥¨«¨áì |
1252 | cmp eax,dword ed_shift_pos ;¥á«¨ ¯®§¨æ¨¨ ¥ ¨§¬¥¨«¨áì |
1226 | je edit_box.editbox_exit |
1253 | je edit_box.editbox_exit |
1227 | mov ed_pos,eax |
1254 | mov ed_pos,eax |
1228 | mov ebp,dword shift_color |
1255 | mov ebp,dword shift_color |
1229 | mov ebx,dword ed_shift_pos |
1256 | mov ebx,dword ed_shift_pos |
1230 | call edit_box_key.sh_cl_ |
1257 | call edit_box_key.sh_cl_ |
- | 1258 | or word ed_flags,ed_mous_adn_b ;ãáâ ®¢¨¬ ¡¨â çâ® ¬ë ¢ë¤¥«¨«¨ +shift_on + |
|
1231 | or word ed_flags,ed_mous_adn_b ;ãáâ ®¢¨¬ ¡¨â çâ® ¬ë ¢ë¤¥«¨«¨ +shift_on + |
1259 | edit_box_mouse.m_sh: |
1232 | edit_box_mouse.m_sh: call edit_box.draw_text |
1260 | call edit_box.draw_text |
1233 | call edit_box.draw_cursor |
1261 | call edit_box.draw_cursor |
1234 | ;---------------------------------------------------------- |
1262 | ;---------------------------------------------------------- |
1235 | ;--- ¯à®æ¥¤ãà ãáâ ®¢ª¨ 䮪ãá --------------------------- |
1263 | ;--- ¯à®æ¥¤ãà ãáâ ®¢ª¨ 䮪ãá --------------------------- |
1236 | ;---------------------------------------------------------- |
1264 | ;---------------------------------------------------------- |
Line 1348... | Line 1376... | ||
1348 | ed_mous_adn_b= 100011000b |
1376 | ed_mous_adn_b= 100011000b |
1349 | ed_mouse_on_off=1111111011111111b |
1377 | ed_mouse_on_off=1111111011111111b |
1350 | ed_height=24 ; ¢ëá®â |
1378 | ed_height=24 ; ¢ëá®â |
1351 | } |
1379 | } |
Line 1352... | Line 1380... | ||
1352 | 1380 | ||
1353 | ed_struc_size=72 |
1381 | ed_struc_size=76 |
1354 | struc edit_box width,left,top,color,shift_color,focus_border_color,\ |
1382 | struc edit_box width,left,top,color,shift_color,focus_border_color,\ |
1355 | blur_border_color,text_color,max,text,flags,size,pos |
1383 | blur_border_color,text_color,max,text,mouse_variable,flags,size,pos |
1356 | { |
1384 | { |
1357 | .width dd width |
1385 | .width dd width |
1358 | .left dd left |
1386 | .left dd left |
1359 | .top dd top |
1387 | .top dd top |
Line 1362... | Line 1390... | ||
1362 | .focus_border_color dd focus_border_color |
1390 | .focus_border_color dd focus_border_color |
1363 | .blur_border_color dd blur_border_color |
1391 | .blur_border_color dd blur_border_color |
1364 | .text_color dd text_color |
1392 | .text_color dd text_color |
1365 | .max dd max |
1393 | .max dd max |
1366 | .text dd text |
1394 | .text dd text |
- | 1395 | .mouse_variable dd mouse_variable |
|
1367 | .flags dd flags+0 |
1396 | .flags dd flags+0 |
1368 | .size dd size+0 |
1397 | .size dd size+0 |
1369 | .pos dd pos+0 |
1398 | .pos dd pos+0 |
1370 | .offset dd 0 |
1399 | .offset dd 0 |
1371 | .cl_curs_x dd 0 |
1400 | .cl_curs_x dd 0 |