Rev 1459 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1459 | Rev 1464 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | ; ¬ ªà®á ¤«ï á¨á⥬®© ¡¨¡«¨®â¥ª¨ box_lib.obj |
1 | ; ¬ ªà®á ¤«ï á¨á⥬®© ¡¨¡«¨®â¥ª¨ box_lib.obj |
2 | ; í«¥¬¥â TextEditor ¤«ï Kolibri OS |
2 | ; í«¥¬¥â TextEditor ¤«ï Kolibri OS |
3 | ; ä ©« ¯®á«¥¤¨© à § ¨§¬¥ï«áï 05.05.2010 IgorA |
3 | ; ä ©« ¯®á«¥¤¨© à § ¨§¬¥ï«áï 17.05.2010 IgorA |
4 | ; ª®¤ ¯à¨¬¥¥ GPL2 «¨æ¥§¨ï |
4 | ; ª®¤ ¯à¨¬¥¥ GPL2 «¨æ¥§¨ï |
Line 5... | Line 5... | ||
5 | 5 | ||
6 | ;input: |
6 | ;input: |
7 | ; edi = pointer to tedit struct |
7 | ; edi = pointer to tedit struct |
Line 52... | Line 52... | ||
52 | tc dd ? ; +10 ¢à¥¬. ᮧ¤ ¨ï |
52 | tc dd ? ; +10 ¢à¥¬. ᮧ¤ ¨ï |
53 | td dd ? ; +14 ¢à¥¬. 㤠«¥¨ï |
53 | td dd ? ; +14 ¢à¥¬. 㤠«¥¨ï |
54 | ends |
54 | ends |
55 | ;------------------------------------------------------------------------------ |
55 | ;------------------------------------------------------------------------------ |
Line 56... | Line -... | ||
56 | - | ||
- | 56 | ||
Line 57... | Line 57... | ||
57 | ted_symbol_tab db 26 |
57 | ted_symbol_tab db 26 ;ascii ª®¤ áâ५ª¨ ¢¯à ¢®, ¨á¯®«ì§ã¥âáï ¤«ï à¨á®¢ ¨ï â ¡ã«ï樨 ¢ ०¨¬¥ ¯®ª § ¥¢¨¤¨¬ëå ᨬ¢®«®¢ |
Line 58... | Line 58... | ||
58 | 58 | ||
59 | if lang eq ru |
59 | if lang eq ru |
Line 78... | Line 78... | ||
78 | txtOtm db 'Undo',0 |
78 | txtOtm db 'Undo',0 |
79 | txtBuf db 'Buffer:',0 |
79 | txtBuf db 'Buffer:',0 |
Line 80... | Line 80... | ||
80 | 80 | ||
Line 81... | Line -... | ||
81 | end if |
- | |
- | 81 | end if |
|
82 | 82 | ||
83 | ;------ |
83 | ;EvChar - â ¡«¨æ ¤«ï 䨫ìâ஢ ¨ï ¤®¡ ¢«ï¥¬ëå ᨬ¢®«®¢, çâ®-¡ë ¥ ¯®¯ «¨ «¨è¨¥ § ª¨ |
84 | align 4 |
84 | align 4 |
85 | EvChar db 0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0 |
85 | EvChar db 0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0 |
86 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
86 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
Line 96... | Line 96... | ||
96 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
96 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
97 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
97 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
98 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
98 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
99 | db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 |
99 | db 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 |
100 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
100 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
101 | - | ||
- | 101 | ;EvUpper - â ¡«¨æ ¤«ï ¯à¥®¡à §®¢ ¨ï ᨬ¢®«®¢ ª ¢¥à奬ã ॣ¨áâàã |
|
102 | EvUpper db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
102 | EvUpper db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
103 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
103 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
104 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
104 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
105 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
105 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
106 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
106 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
Line 111... | Line 111... | ||
111 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
111 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
112 | db 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143 |
112 | db 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143 |
113 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
113 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
114 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
114 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
115 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
115 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
116 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
116 | db 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159 |
117 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
117 | db 0,240,0,242,0,244,0,246,0,0,0,0,0,0,0,0 |
- | 118 | ;EvLover - â ¡«¨æ ¤«ï ¯à¥®¡à §®¢ ¨ï ᨬ¢®«®¢ ª ¨¦¥¬ã ॣ¨áâàã |
|
118 | EvLover db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
119 | EvLover db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
119 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
120 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
120 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
121 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
121 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
122 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
122 | db 0,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111 |
123 | db 0,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111 |
123 | db 112,113,114,115,116,117,118,119,120,121,122,0,0,0,0,0 |
124 | db 112,113,114,115,116,117,118,119,120,121,122,0,0,0,0,0 |
124 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
125 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
125 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
126 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
126 | db 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175 |
127 | db 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175 |
- | 128 | db 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239 |
|
127 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
129 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
128 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
130 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
129 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
131 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
130 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
132 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
131 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
133 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
132 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
- | |
133 | db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
134 | db 241,0,243,0,245,0,247,0,0,0,0,0,0,0,0,0 |
134 | conv_table dd 0 |
135 | conv_table dd 0 |
Line 135... | Line 136... | ||
135 | 136 | ||
136 | 137 | ||
Line 250... | Line 251... | ||
250 | ret |
251 | ret |
251 | endp |
252 | endp |
Line 252... | Line 253... | ||
252 | 253 | ||
253 | align 4 |
254 | align 4 |
254 | proc ted_delete, edit:dword |
255 | proc ted_delete, edit:dword |
255 | push ecx edi |
256 | push edi |
256 | mov edi,dword[edit] |
- | |
257 | - | ||
258 | mov ecx,ted_tex |
257 | mov edi,dword[edit] |
259 | call mem_Free |
258 | stdcall mem_Free,ted_tex |
260 | mov ecx,ted_arr_key_pos ;ted_syntax_file |
- | |
261 | call mem_Free |
- | |
262 | 259 | stdcall mem_Free,ted_arr_key_pos ;ted_syntax_file |
|
263 | pop edi ecx |
260 | pop edi |
264 | ret |
261 | ret |
Line 265... | Line 262... | ||
265 | endp |
262 | endp |
Line 689... | Line 686... | ||
689 | mov ted_tim_ch,0 |
686 | mov ted_tim_ch,0 |
690 | mov ted_tim_ls,0 |
687 | mov ted_tim_ls,0 |
691 | mov ted_tim_co,0 |
688 | mov ted_tim_co,0 |
692 | mov ted_tim_undo,0 |
689 | mov ted_tim_undo,0 |
693 | mov ted_help_id,-1 |
690 | mov ted_help_id,-1 |
- | 691 | mov ecx,sizeof.symbol |
|
- | 692 | shl ecx,1 |
|
- | 693 | add ecx,ted_tex |
|
- | 694 | mov ted_ptr_free_symb,ecx |
|
Line 694... | Line 695... | ||
694 | 695 | ||
695 | mov ecx,ted_scr_w |
696 | mov ecx,ted_scr_w |
696 | mov dword[ecx+sb_offs_position],0 |
697 | mov dword[ecx+sb_offs_position],0 |
697 | mov dword[ecx+sb_offs_max_area],100 ;ç¨á«® áâப ¢¨¤¨¬ëå ¢ ®¢®¬ ¤®ªã¬¥â¥ |
698 | mov dword[ecx+sb_offs_max_area],100 ;ç¨á«® áâப ¢¨¤¨¬ëå ¢ ®¢®¬ ¤®ªã¬¥â¥ |
Line 1106... | Line 1107... | ||
1106 | call ted_get_num_lines |
1107 | call ted_get_num_lines |
1107 | sub dword[new_lin],eax |
1108 | sub dword[new_lin],eax |
1108 | pop eax |
1109 | pop eax |
1109 | @@: |
1110 | @@: |
Line 1110... | Line 1111... | ||
1110 | 1111 | ||
1111 | mov edx,sizeof.symbol |
- | |
1112 | shl edx,1 |
- | |
1113 | add edx,ted_tex |
1112 | mov edx,ted_ptr_free_symb |
1114 | @@: ;for(i=2;i |
1113 | .beg_cycle: ;for(i=...;i |
1115 | cmp dword [edx+10],0 ;if(!tex[i].tc && !tex[i].td) |
1114 | cmp dword [edx+10],0 ;if(!tex[i].tc && !tex[i].td) |
1116 | jne .u1f |
1115 | jne .u1f |
1117 | cmp dword [edx+14],0 |
1116 | cmp dword [edx+14],0 |
1118 | jne .u1f |
1117 | jne .u1f |
Line 1148... | Line 1147... | ||
1148 | add ecx,ted_tex ; *** ecx = tex[po_t] *** |
1147 | add ecx,ted_tex ; *** ecx = tex[po_t] *** |
1149 | add ecx,6 ; *** ecx = tex[po_t].next *** |
1148 | add ecx,6 ; *** ecx = tex[po_t].next *** |
1150 | m2m dword [edx+6],dword [ecx] ;tex[i].next=tex[po_t].next; |
1149 | m2m dword [edx+6],dword [ecx] ;tex[i].next=tex[po_t].next; |
Line 1151... | Line 1150... | ||
1151 | 1150 | ||
1152 | call ted_get_text_arr_index ;*** eax = i *** |
- | |
1153 | cmp eax,ted_max_chars |
- | |
1154 | jge @f |
1151 | call ted_get_text_arr_index ;*** eax = i *** |
1155 | mov [ecx],eax ;tex[po_t].next=i; // áá뫪¨ ¯¥à¥ ¯à ¢«ï¥¬ |
1152 | mov [ecx],eax ;tex[po_t].next=i; // áá뫪¨ ¯¥à¥ ¯à ¢«ï¥¬ |
1156 | mov ecx,[edx+6] ; *** ecx = tex[i].next *** |
1153 | mov ecx,[edx+6] ; *** ecx = tex[i].next *** |
1157 | imul ecx,sizeof.symbol |
1154 | imul ecx,sizeof.symbol |
1158 | add ecx,ted_tex ; *** ecx = tex[tex[i].next] *** |
1155 | add ecx,ted_tex ; *** ecx = tex[tex[i].next] *** |
Line 1175... | Line 1172... | ||
1175 | .u1f: |
1172 | .u1f: |
1176 | add edx,sizeof.symbol |
1173 | add edx,sizeof.symbol |
1177 | cmp edx,ted_tex_end |
1174 | cmp edx,ted_tex_end |
1178 | jge @f ;out of memory |
1175 | jge @f ;out of memory |
1179 | cmp ebx,0 |
1176 | cmp ebx,0 |
1180 | jne @b |
1177 | jne .beg_cycle |
- | 1178 | mov ted_ptr_free_symb,edx ;¬¥ï¥¬ 㪠§ ⥫ì ᢮¡®¤ë© ᨬ¢®«, ¤«ï ¡®«¥¥ ¡ëáâண® ¯®¨áª ¯ ¬ï⨠|
|
- | 1179 | jmp .add_all |
|
1181 | @@: |
1180 | @@: |
- | 1181 | cmp ted_increase_size,0 |
|
- | 1182 | je .add_all |
|
- | 1183 | call ted_memory_increase |
|
- | 1184 | cmp ebx,0 |
|
- | 1185 | jne .beg_cycle |
|
- | 1186 | .add_all: ;¢á¥ ᨬ¢®«ë ¤®¡ ¢«¥ë |
|
Line 1182... | Line 1187... | ||
1182 | 1187 | ||
1183 | call ted_text_colored |
1188 | call ted_text_colored |
1184 | popad |
1189 | popad |
1185 | ret |
1190 | ret |
Line 1186... | Line 1191... | ||
1186 | endp |
1191 | endp |
- | 1192 | ||
- | 1193 | ;input: |
|
- | 1194 | ; edx = pointer to sumbol, when insert |
|
- | 1195 | ; edi = pointer to tedit struct |
|
- | 1196 | ;output: |
|
- | 1197 | ; edx = new pointer to sumbol, when insert |
|
- | 1198 | align 4 |
|
- | 1199 | proc ted_memory_increase |
|
- | 1200 | cmp ted_increase_size,0 |
|
- | 1201 | je @f |
|
- | 1202 | push eax ebx ecx |
|
- | 1203 | mov ecx,ted_increase_size |
|
- | 1204 | add ecx,ted_max_chars |
|
- | 1205 | mov ted_max_chars,ecx |
|
- | 1206 | imul ecx,sizeof.symbol |
|
- | 1207 | stdcall mem_ReAlloc, ted_tex,ecx |
|
- | 1208 | mov ebx,ted_tex |
|
- | 1209 | mov ted_tex,eax |
|
- | 1210 | mov ted_tex_1,eax |
|
- | 1211 | add ted_tex_1,sizeof.symbol |
|
- | 1212 | sub edx,ebx |
|
- | 1213 | add edx,eax |
|
- | 1214 | mov ted_ptr_free_symb,edx |
|
- | 1215 | add eax,ecx |
|
- | 1216 | mov ted_tex_end,eax |
|
- | 1217 | pop ecx ebx eax |
|
- | 1218 | @@: |
|
- | 1219 | ret |
|
- | 1220 | endp |
|
1187 | 1221 | ||
1188 | ;input: |
1222 | ;input: |
1189 | ; ecx = position to free insert cell |
1223 | ; ecx = position to free insert cell |
1190 | ; edx = pointer to sumbol, when insert |
1224 | ; edx = pointer to sumbol, when insert |
1191 | ; esi = pointer to added symbol |
1225 | ; esi = pointer to added symbol |
Line 1267... | Line 1301... | ||
1267 | cmp eax,ebx |
1301 | cmp eax,ebx |
1268 | je .end_f |
1302 | je .end_f |
Line 1269... | Line 1303... | ||
1269 | 1303 | ||
1270 | inc ted_tim_ch |
1304 | inc ted_tim_ch |
1271 | mov edx,eax ;i=p0; |
- | |
1272 | mov ecx,2 |
1305 | mov edx,eax ;i=p0; |
1273 | ConvertIndexToPointer ecx |
1306 | mov ecx,ted_ptr_free_symb |
1274 | @@: |
1307 | @@: |
1275 | mov esi,[edx] |
1308 | mov esi,[edx] |
1276 | and esi,0xff |
1309 | and esi,0xff |
1277 | add esi,[conv_table] ;EvUpper |
1310 | add esi,[conv_table] ;EvUpper |
Line 1924... | Line 1957... | ||
1924 | mov ebx,[edx+6] |
1957 | mov ebx,[edx+6] |
1925 | imul ebx,sizeof.symbol |
1958 | imul ebx,sizeof.symbol |
1926 | add ebx,ted_tex;.perv |
1959 | add ebx,ted_tex;.perv |
1927 | m2m dword [ebx+2],dword [edx+2] ;tex[tex[i].next].perv=tex[i].perv; |
1960 | m2m dword [ebx+2],dword [edx+2] ;tex[tex[i].next].perv=tex[i].perv; |
Line -... | Line 1961... | ||
- | 1961 | ||
- | 1962 | cmp ted_ptr_free_symb,edx |
|
- | 1963 | jle .no_u1 |
|
1928 | 1964 | mov ted_ptr_free_symb,edx ;¬¥ï¥¬ 㪠§ ⥫ì ᢮¡®¤ë© ᨬ¢®«, ¤«ï ¡®«¥¥ ¡ëáâண® ¯®¨áª ¯ ¬ï⨠|
|
Line 1929... | Line 1965... | ||
1929 | .no_u1: |
1965 | .no_u1: |
1930 | 1966 | ||
1931 | ;else if(tex[i].td>ted_tim_ch) tex[i].td=0; // ¥á«¨ 㤠«¥¨¥ ᨬ¢®« ¡ë«® ®â¬¥¥® |
1967 | ;else if(tex[i].td>ted_tim_ch) tex[i].td=0; // ¥á«¨ 㤠«¥¨¥ ᨬ¢®« ¡ë«® ®â¬¥¥® |
Line 3364... | Line 3400... | ||
3364 | proc KeyConvertToASCII, table:dword |
3400 | proc KeyConvertToASCII, table:dword |
3365 | push ebx |
3401 | push ebx |
3366 | mov ebx,dword[table] ;convert scan to ascii |
3402 | mov ebx,dword[table] ;convert scan to ascii |
3367 | ror ax,8 |
3403 | ror ax,8 |
3368 | xor ah,ah |
3404 | xor ah,ah |
3369 | add bx,ax |
3405 | add bx,ax ;? ebx,eax |
3370 | mov ah,byte[ebx] |
3406 | mov ah,byte[ebx] |
3371 | pop ebx |
3407 | pop ebx |
3372 | ret |
3408 | ret |
3373 | endp |
3409 | endp |
Line 3961... | Line 3997... | ||
3961 | .no_msg: |
3997 | .no_msg: |
3962 | m2m ted_tim_ls,ted_tim_ch |
3998 | m2m ted_tim_ls,ted_tim_ch |
3963 | @@: |
3999 | @@: |
Line 3964... | Line 4000... | ||
3964 | 4000 | ||
3965 | pop ecx ;§ ¯¨áë¢ ¥¬ 㪠§ â¥«ì ¢ë¤¥«¥ãî ¯ ¬ïâì |
4001 | pop ecx ;§ ¯¨áë¢ ¥¬ 㪠§ â¥«ì ¢ë¤¥«¥ãî ¯ ¬ïâì |
3966 | call mem_Free |
4002 | stdcall mem_Free,ecx |
3967 | .no_save: |
4003 | .no_save: |
3968 | popad |
4004 | popad |
3969 | ret |
4005 | ret |
3970 | endp |
4006 | endp |
3971 | } |
4007 | } |