Rev 463 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 463 | Rev 468 | ||
---|---|---|---|
Line 1... | Line -... | ||
1 | ; |
- | |
2 | ; |
- | |
3 | ; |
- | |
4 | ; |
- | |
5 | ; |
- | |
6 | ; |
- | |
7 | ; |
- | |
8 | ; |
- | |
9 | ; ¤®¡ ¢¨« ä¨âçã ¢¥á¥¨ï 0å0 ¯® ¤à¥áã ed_size ¨ ç¥ ã Maxxx32 ¡ë«¨ ¥á®áâ몮¢ª¨ ¢ ª®¤¥. à¨ç¨ ¢ ⮬, çâ® ®¯â¨¬¨§ æ¨ï ¡ë« ᢥ¤¥ ª ⮬ã, çâ® ï ¥ ç¨á⨫ ᨬ¢®«ë ¢ ¡ãä¥à¥, ª®£¤ 㤠«ï«, ï ¯à®áâ® ¨å ¥ ¢ë¢®¤¨«, ¨ ¯®â®¬, ª®£¤ ¢®á¨«áï ®¢ë© ᨬ¢®«, ® ¯®¯à®áâã § â¨à « 㦥 ¨¬¥î騩áï. ᫨ ¡ë, ¯à®£à ¬¬ ®¡à ¡ âë¢ « ª®¥æ áâப¨ ¯® ed_size, ¯à®¡«¥¬ë ¥ ¢®§¨ª«®. ® ᥩç á íâ®â ¥¤®áâ ⮪ ¨á¯à ¢«¥. |
- | |
10 | ; |
- | |
11 | ; |
- | |
12 | ; |
- | |
13 | ; |
- | |
14 | ; |
- | |
15 | ; |
- | |
16 | ; |
1 | ; SEE YOU File FAQ.txt and HISTORY. Good Like! |
17 | ; |
- | |
18 | ; |
- | |
19 | ; |
- | |
20 | ; ¢â®à: ¢â¨å®¢ ªá¨¬ (Maxxxx32) email: maxxxxm@mail.ru |
- | |
21 | ; â ¯®á«¥¤¨å ¨§¬¥¥¨©: 13.06.06 10:40 |
- | |
22 | ; ¯¨è¨â¥ ¢ ¨á室®¬ ª®¤¥ ᢮¥© ¯à®£à ¬¬ë use_edit_box, |
- | |
23 | ; íâ® ¢áâ ¢¨â ¥®¡å®¤¨¬ë¥ ¯à®æ¥¤ãàë ¢ ª®¤ ¢ 襩 ¯à®£à ¬¬ë. |
- | |
24 | ; à®æ¥¤ãàë: |
- | |
25 | ; edit_box.draw - ¯®« ï ¯¥à¥à¨á®¢ª ; |
- | |
26 | ; edit_box.key - ®¡à ¡®âª ª« ¢¨ âãàë; |
- | |
27 | ; edit_box.mouse - ®¡à ¡®âª ¬ëè¨; |
- | |
28 | ; edit_box.focus - ãáâ ®¢ª 䮪ãá ; |
- | |
29 | ; edit_box.blur - ¥£® à §¬ë¢ ¨¥; |
- | |
30 | ; edit_box.get_n - ¯®«ãç¨âì ª®«¨ç¥á⢮ ¯à®à¨á®¢ë¢ ¥¬ëå ᨬ¢®«®¢. |
- | |
31 | ; ਠ¢ë§®¢¥ «î¡ëå ¨§ íâ¨å ¯à®æ¥¤ãà ¢ ॣ¨áâॠedi á«¥¤ã¥â |
- | |
32 | ; ®áâ ¢¨âì 㪠§ ⥫ì áâàãªâãàã. |
- | |
33 | ; ਬ¥à áâàãªâãàë: |
- | |
34 | ; some_edit edit_box 100,10,30,0x00ffffff,0,0x00aaaaaa,0,255,some_edit_text |
- | |
35 | ; ¤«¨ , ¢ëá®â , ¢¥àå, 梥â ä® , 梥â à ¬ª¨, ¥á«¨ ¢ë¡à , |
- | |
36 | ; 梥â à ¬ª¨, ¥á«¨ ¥ ¢ë¡à , ¬ ªá¨¬ «ì®¥ ª®«¨ç¥á⢮ ᨬ¢®«®¢, |
- | |
37 | ; 㪠§ â¥«ì ¡ãä¥à, £¤¥ ¡ã¤ãâ åà ¨âáï ᨬ¢®«ë. ãä¥à ¤®«¦¥ |
- | |
38 | ; ®ª 稢 âìáï ã«¥¬, ¯à¨¬¥à ¥á«¨ ¬ ªá¨¬ «ì®¥ ª®«¨ç¥á⢮ 255: |
- | |
39 | ; some_edit_text: |
- | |
40 | ; rb 256 ;255+1 |
- | |
41 | - | ||
42 | ; ਬ¥à ¢ë§®¢ ¯à®æ¥¤ãàë: |
- | |
43 | ; mov edi,some_edit |
- | |
44 | ; call edit_box.draw |
- | |
45 | - | ||
46 | ; ਠ¢ë§®¢¥ ¯à®æ¥¤ãàë edit_box.key ª®¤ ª« ¢¨è¨ ¤®«¦¥ |
- | |
47 | ; 室¨âáï ¢ ah, â® ¥áâì ¯¥à¥¤ ¢ë§®¢®¬ í⮩ ¯à®æ¥¤ãàë ¤® ¢ë§¢ âì |
- | |
48 | ; 2-ãî á¨á¥¬ãî äãªæ¨î, ¯à¨¬¥à: |
- | |
49 | ; mov eax,2 |
- | |
50 | ; int 0x40 |
- | |
51 | ; mov edi,some_edit1 |
- | |
52 | ; call edit_box.key |
- | |
53 | ; mov edi,some_edit2 |
- | |
54 | ; call edit_box.key |
- | |
55 | ; ¥à¥¤ ¢ë§®¢®¬ ®¡à ¡®â稪 ¬ëè¨ á«¥¤ã¥â ¯à®¢¥à¨âì, ï¥âáï «¨ ®ª® |
- | |
56 | ; ªâ¨¢ë¬. |
- | |
57 | ; ᫨ 饫箪 ¬ëè¨ ¡ë« ¯à®©§¢¥¤¥ § ¯à¥¤¥« ¬¨ edit box |
- | |
58 | ; 䮪ãá â¥àï¥âáï. |
- | |
59 | ;;;;;;;;;;;;;;;;;; |
2 | ;;;;;;;;;;;;;;;;;; |
60 | include 'editbox.mac' ;¬ ªà®á ª®â®àë© ¤®«¦¥ ®¡«¥£ç¨âì ¦¨§ì :) á¯¥æ¨ «ì® ¤«ï editbox |
3 | include 'editbox.mac' ;¬ ªà®á ª®â®àë© ¤®«¦¥ ®¡«¥£ç¨âì ¦¨§ì :) á¯¥æ¨ «ì® ¤«ï editbox |
61 | ;;;;;;;;;;;;;;;;;; |
4 | ;;;;;;;;;;;;;;;;;; |
62 | macro use_edit_box |
5 | macro use_edit_box structure_of_potock,scr_h,scr_w |
63 | { |
6 | { |
64 | edit_box: |
7 | edit_box: |
65 | ed_width equ [edi] ;è¨à¨ ª®¬¯®¥â |
8 | ed_width equ [edi] ;è¨à¨ ª®¬¯®¥â |
66 | ed_left equ [edi+4] ;¯®«®¦¥¨¥ ¯® ®á¨ å |
9 | ed_left equ [edi+4] ;¯®«®¦¥¨¥ ¯® ®á¨ å |
67 | ed_top equ [edi+8] ;¯®«®¦¥¨¥ ¯® ®á¨ ã |
10 | ed_top equ [edi+8] ;¯®«®¦¥¨¥ ¯® ®á¨ ã |
Line 907... | Line 850... | ||
907 | jz @f |
850 | jz @f |
908 | cmp eax,edi |
851 | cmp eax,edi |
909 | je @f |
852 | je @f |
910 | jmp ._blur |
853 | jmp ._blur |
911 | ;---------------------------------------------------------- |
854 | ;---------------------------------------------------------- |
912 | ;--- ¬®¤¨ä¨æ¨à㥬 ª®®à¤¨ âë, â.¥. ¤®¡ ¢«ï¥¬ ª®®à¤¨ âë ®ª . |
- | |
913 | ;---------------------------------------------------------- |
- | |
914 | @@: mcall 9,structure_of_potock,-1 |
- | |
915 | ;---------------------------------------------------------- |
- | |
916 | ;--- ¯®«ãç ¥¬ ª®®à¤¨ âë ¬ëè¨ ®â®á¨â¥«ì® 0 â.¥ ¢á¥© ®¡« á⨠íªà |
855 | ;--- ¯®«ãç ¥¬ ª®®à¤¨ âë ¬ëè¨ ®â®á¨â¥«ì® 0 â.¥ ¢á¥© ®¡« á⨠íªà |
917 | ;---------------------------------------------------------- |
856 | ;---------------------------------------------------------- |
918 | mcall 37,0 |
857 | @@: mcall 37,0 |
919 | ;---------------------------------------------------------- |
858 | ;---------------------------------------------------------- |
920 | ;--- ¥ 㤥ন¢ ¥¬ «¨ ¬ë ª« ¢¨èã ¬ë誨, ¯¥à¥¬¥é ï ªãàá®à, ¢® ¢á¥ à §ë¥ áâ®à®ë? |
859 | ;--- ¥ 㤥ন¢ ¥¬ «¨ ¬ë ª« ¢¨èã ¬ë誨, ¯¥à¥¬¥é ï ªãàá®à, ¢® ¢á¥ à §ë¥ áâ®à®ë? |
921 | ;---------------------------------------------------------- |
860 | ;---------------------------------------------------------- |
922 | mov ecx,structure_of_potock |
861 | mov ecx,structure_of_potock |
923 | test word ed_flags,ed_mouse_on |
862 | test word ed_flags,ed_mouse_on |
Line 925... | Line 864... | ||
925 | ;---------------------------------------------------------- |
864 | ;---------------------------------------------------------- |
926 | ;--- ¯à®¢¥à塞, ¯®¯ ¤ ¥â «¨ ªãàá®à ¢ edit box ------------- |
865 | ;--- ¯à®¢¥à塞, ¯®¯ ¤ ¥â «¨ ªãàá®à ¢ edit box ------------- |
927 | ;---------------------------------------------------------- |
866 | ;---------------------------------------------------------- |
928 | mov ebx,dword [ecx+38] |
867 | mov ebx,dword [ecx+38] |
929 | add ebx,ed_top |
868 | add ebx,ed_top |
- | 869 | if scr_h eq |
|
- | 870 | else |
|
930 | add ebx,22 |
871 | add ebx,scr_h |
- | 872 | end if |
|
931 | cmp ax,bx |
873 | cmp ax,bx |
932 | jl ._blur;.mouse_end_no_focus |
874 | jl ._blur;.mouse_end_no_focus |
Line 933... | Line 875... | ||
933 | 875 | ||
934 | add ebx,ed_height |
876 | add ebx,ed_height |
Line 937... | Line 879... | ||
937 | 879 | ||
Line 938... | Line 880... | ||
938 | shr eax,16 |
880 | shr eax,16 |
939 | 881 | ||
- | 882 | mov ebx,dword [ecx+34] |
|
- | 883 | add ebx,ed_left |
|
940 | mov ebx,dword [ecx+34] |
884 | if scr_w eq |
- | 885 | else |
|
941 | add ebx,ed_left |
886 | add ebx,scr_w |
942 | add ebx,5 |
887 | end if |
Line 943... | Line 888... | ||
943 | cmp ax,bx |
888 | cmp ax,bx |
944 | jl ._blur;.mouse_end_no_focus |
889 | jl ._blur;.mouse_end_no_focus |
Line 955... | Line 900... | ||
955 | mov ecx,structure_of_potock |
900 | mov ecx,structure_of_potock |
956 | mov ebx,dword [ecx+34] |
901 | mov ebx,dword [ecx+34] |
957 | xor edx,edx |
902 | xor edx,edx |
958 | sub eax,ed_left |
903 | sub eax,ed_left |
959 | sub eax,ebx |
904 | sub eax,ebx |
- | 905 | if scr_w eq |
|
- | 906 | else |
|
- | 907 | add ebx,scr_w |
|
960 | sub eax,5-2 ;â®«é¨ ®¡¢®¤ª¨ ᪨ =5 |
908 | sub eax,2 |
- | 909 | end if |
|
961 | mov ebx,6 |
910 | mov ebx,6 |
962 | div bx |
911 | div bx |
963 | add eax,ed_offset |
912 | add eax,ed_offset |
964 | cmp eax,ed_size |
913 | cmp eax,ed_size |
965 | jna ._mshift |
914 | jna ._mshift |
Line 1035... | Line 984... | ||
1035 | ;;¯à®æ¥¤ãà ®¡à ¡®âª¨ ¯®«®¦¥¨ï ¢ë¤¥«¥®£® ⥪áâ , ª®£¤ ¯à®¨á室¨â ¢ë室 § ¯à¥¤¥«ë editbox |
984 | ;;¯à®æ¥¤ãà ®¡à ¡®âª¨ ¯®«®¦¥¨ï ¢ë¤¥«¥®£® ⥪áâ , ª®£¤ ¯à®¨á室¨â ¢ë室 § ¯à¥¤¥«ë editbox |
1036 | ;;;;;;;;;;;;;;;;;; |
985 | ;;;;;;;;;;;;;;;;;; |
1037 | mov ecx,structure_of_potock |
986 | mov ecx,structure_of_potock |
1038 | mov ebx,dword [ecx+34] |
987 | mov ebx,dword [ecx+34] |
1039 | add ebx,ed_left |
988 | add ebx,ed_left |
- | 989 | if scr_w eq |
|
- | 990 | else |
|
1040 | add ebx,5 |
991 | add ebx,scr_w |
1041 | 992 | end if |
|
1042 | cmp eax,ebx |
993 | cmp eax,ebx |
1043 | jb .mleft |
994 | jb .mleft |
Line 1044... | Line 995... | ||
1044 | 995 | ||
1045 | add ebx,ed_width |
996 | add ebx,ed_width |
Line 1096... | Line 1047... | ||
1096 | jmp .draw_cursor_text |
1047 | jmp .draw_cursor_text |
1097 | ; popa |
1048 | ; popa |
1098 | ; ret |
1049 | ; ret |
1099 | .mleft: |
1050 | .mleft: |
1100 | mov eax,ed_pos |
1051 | mov eax,ed_pos |
1101 | test eax,eax |
1052 | cmp eax,0 |
1102 | jz .mwigvag |
1053 | jbe .mwigvag |
1103 | dec eax |
1054 | dec eax |
1104 | call .check_offset |
1055 | call .check_offset |
1105 | push eax |
1056 | push eax |
1106 | mov ebx,ed_shift_pos |
1057 | mov ebx,ed_shift_pos |
1107 | mov ebp,shift_color |
1058 | mov ebp,shift_color |
Line 1142... | Line 1093... | ||
1142 | ed_insert_cl= 1111111101111111b |
1093 | ed_insert_cl= 1111111101111111b |
1143 | ed_mouse_on = 100000000b |
1094 | ed_mouse_on = 100000000b |
1144 | ed_mous_adn_b= 100011000b |
1095 | ed_mous_adn_b= 100011000b |
1145 | ed_mouse_on_off=1111111011111111b |
1096 | ed_mouse_on_off=1111111011111111b |
1146 | ed_height=14 ; ¢ëá®â |
1097 | ed_height=14 ; ¢ëá®â |
1147 | macro draw_edit_boxes start,end |
1098 | macro draw_edit_boxes start,_end,use_f9,structure_of_potock |
1148 | { |
1099 | { |
- | 1100 | if use_f9 eq |
|
- | 1101 | else |
|
- | 1102 | mcall 9,structure_of_potock,-1 |
|
- | 1103 | end if |
|
1149 | mov edi,start |
1104 | mov edi,start |
1150 | mov ecx,((end-start)/ed_struc_size) |
1105 | mov ecx,((_end-start)/ed_struc_size) |
1151 | @@: |
1106 | @@: |
1152 | call edit_box.draw |
1107 | call edit_box.draw |
1153 | add edi,ed_struc_size |
1108 | add edi,ed_struc_size |
1154 | loop @b |
1109 | loop @b |
1155 | } |
1110 | } |
Line 1156... | Line 1111... | ||
1156 | 1111 | ||
1157 | macro mouse_edit_boxes start,end |
1112 | macro mouse_edit_boxes start,_end |
1158 | { |
1113 | { |
1159 | mov edi,start |
1114 | mov edi,start |
1160 | mov ecx,((end-start)/ed_struc_size) |
1115 | mov ecx,((_end-start)/ed_struc_size) |
1161 | @@: |
1116 | @@: |
1162 | call edit_box.mouse |
1117 | call edit_box.mouse |
1163 | add edi,ed_struc_size |
1118 | add edi,ed_struc_size |
1164 | loop @b |
1119 | loop @b |
Line 1222... | Line 1177... | ||
1222 | mov ed_blur_border_color,eax |
1177 | mov ed_blur_border_color,eax |
1223 | add edi,ed_struc_size |
1178 | add edi,ed_struc_size |
1224 | loop @b |
1179 | loop @b |
1225 | } |
1180 | } |
Line 1226... | Line 1181... | ||
1226 | 1181 | ||
1227 | macro draw_edit_box ed_ptr |
1182 | macro draw_edit_box ed_ptr,use_f9,structure_of_potock |
- | 1183 | { |
|
- | 1184 | if use_f9 eq |
|
- | 1185 | else |
|
- | 1186 | mcall 9,structure_of_potock,-1 |
|
1228 | { |
1187 | end if |
1229 | mov edi,ed_ptr |
1188 | mov edi,ed_ptr |
1230 | call edit_box.draw |
1189 | call edit_box.draw |
Line 1231... | Line 1190... | ||
1231 | } |
1190 | } |
Line 1239... | Line 1198... | ||
1239 | macro key_edit_box ed_ptr |
1198 | macro key_edit_box ed_ptr |
1240 | { |
1199 | { |
1241 | mov edi,ed_ptr |
1200 | mov edi,ed_ptr |
1242 | call edit_box.key |
1201 | call edit_box.key |
1243 | }->-> |
1202 | } |
1244 | 1203 | macro default_box ed_ptr |
|
- | 1204 | { |
|
- | 1205 | pusha |
|
- | 1206 | ; xor eax,eax |
|
- | 1207 | ; mov ed_shift_pos,eax |
|
- | 1208 | ; mov ed_shift_pos_old,eax |
|
- | 1209 | and word ed_flags,ed_shift_cl |
|
- | 1210 | ; mov ed_offset,eax |
|
- | 1211 | popa |
|
- | 1212 | }->-> |
|
- | 1213 | ||
1245 | 1214 |