forked from KolibriOS/kolibrios
fixed position of signatures when pressing [f1]
update 'asm' syntax file git-svn-id: svn://kolibrios.org@6087 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
8a4f974d14
commit
44e780f476
@ -1,6 +1,6 @@
|
||||
; ¬ ªà®á ¤«ï á¨á⥬®© ¡¨¡«¨®â¥ª¨ box_lib.obj
|
||||
; í«¥¬¥â TextEditor ¤«ï Kolibri OS
|
||||
; ä ©« ¯®á«¥¤¨© à § ¨§¬¥ï«áï 20.01.2016 IgorA
|
||||
; ä ©« ¯®á«¥¤¨© à § ¨§¬¥ï«áï 21.01.2016 IgorA
|
||||
; ª®¤ ¯à¨¬¥¥ GPL2 «¨æ¥§¨ï
|
||||
|
||||
;input:
|
||||
@ -106,8 +106,7 @@ KEY_F3 equ 0x0000003D
|
||||
|
||||
|
||||
align 4
|
||||
proc ted_init, edit:dword
|
||||
push eax ecx edi
|
||||
proc ted_init uses eax ecx edi, edit:dword
|
||||
mov edi,dword[edit]
|
||||
|
||||
mov ecx,sizeof.symbol
|
||||
@ -130,7 +129,6 @@ proc ted_init, edit:dword
|
||||
mov ted_syntax_file,eax
|
||||
|
||||
stdcall ted_init_scroll_bars,edi,3
|
||||
pop edi ecx eax
|
||||
ret
|
||||
endp
|
||||
|
||||
@ -210,12 +208,10 @@ proc ted_init_scroll_bars, edit:dword, opt:dword
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc ted_delete, edit:dword
|
||||
push edi
|
||||
proc ted_delete uses edi, edit:dword
|
||||
mov edi,dword[edit]
|
||||
invoke mem.free,ted_tex
|
||||
invoke mem.free,ted_arr_key_pos ;ted_syntax_file
|
||||
pop edi
|
||||
ret
|
||||
endp
|
||||
|
||||
@ -529,8 +525,7 @@ endp
|
||||
;output:
|
||||
; al = 1 - can save
|
||||
align 4
|
||||
proc ted_can_save, edit:dword
|
||||
push ecx edi
|
||||
proc ted_can_save uses ecx edi, edit:dword
|
||||
mov edi,dword[edit]
|
||||
|
||||
mov ecx,ted_tim_ch
|
||||
@ -540,7 +535,6 @@ proc ted_can_save, edit:dword
|
||||
jne @f
|
||||
dec al
|
||||
@@:
|
||||
pop edi ecx
|
||||
ret
|
||||
endp
|
||||
|
||||
@ -549,8 +543,7 @@ endp
|
||||
;output:
|
||||
; al = 1 - selected
|
||||
align 4
|
||||
proc ted_is_select
|
||||
push ebx
|
||||
proc ted_is_select uses ebx
|
||||
xor al,al
|
||||
cmp ted_drag_m,1
|
||||
je @f
|
||||
@ -563,15 +556,13 @@ proc ted_is_select
|
||||
jne @f
|
||||
xor al,al
|
||||
@@:
|
||||
pop ebx
|
||||
ret
|
||||
endp
|
||||
|
||||
;input:
|
||||
; edi = pointer to tedit struct
|
||||
align 4
|
||||
proc ted_sel_normalize
|
||||
push ecx esi
|
||||
proc ted_sel_normalize uses ecx esi
|
||||
push edi
|
||||
mov esi,edi
|
||||
add esi,ted_offs_sel
|
||||
@ -606,7 +597,6 @@ proc ted_sel_normalize
|
||||
jg .swp_f
|
||||
|
||||
.end_f:
|
||||
pop esi ecx
|
||||
ret
|
||||
endp
|
||||
|
||||
@ -615,20 +605,18 @@ endp
|
||||
;description:
|
||||
; ”ãªæ¨ï ¢ë§ë¢ ¥¬ ï ¯à¨ ç «¥ ¢ë¤¥«¥¨ï
|
||||
align 4
|
||||
proc ted_sel_start
|
||||
push eax ecx
|
||||
mov eax,ted_scr_h
|
||||
mov ecx,ted_cur_x
|
||||
add ecx,dword[eax+sb_offs_position]
|
||||
mov ted_sel_x0,ecx
|
||||
mov ted_sel_x1,ecx
|
||||
proc ted_sel_start uses eax ecx
|
||||
mov eax,ted_scr_h
|
||||
mov ecx,ted_cur_x
|
||||
add ecx,dword[eax+sb_offs_position]
|
||||
mov ted_sel_x0,ecx
|
||||
mov ted_sel_x1,ecx
|
||||
|
||||
mov eax,ted_scr_w
|
||||
mov ecx,ted_cur_y
|
||||
add ecx,dword[eax+sb_offs_position]
|
||||
mov ted_sel_y0,ecx
|
||||
mov ted_sel_y1,ecx
|
||||
pop ecx eax
|
||||
mov eax,ted_scr_w
|
||||
mov ecx,ted_cur_y
|
||||
add ecx,dword[eax+sb_offs_position]
|
||||
mov ted_sel_y0,ecx
|
||||
mov ted_sel_y1,ecx
|
||||
ret
|
||||
endp
|
||||
|
||||
@ -682,8 +670,7 @@ endp
|
||||
;input:
|
||||
; cl_al_mem = 1 - clear all memory
|
||||
align 4
|
||||
proc ted_clear, edit:dword, cl_al_mem:dword
|
||||
push ecx edi
|
||||
proc ted_clear uses ecx edi, edit:dword, cl_al_mem:dword
|
||||
mov edi,dword[edit]
|
||||
|
||||
mov ted_cur_x,0
|
||||
@ -727,7 +714,6 @@ proc ted_clear, edit:dword, cl_al_mem:dword
|
||||
pop edx
|
||||
|
||||
.exit:
|
||||
pop edi ecx
|
||||
ret
|
||||
endp
|
||||
|
||||
@ -1055,30 +1041,30 @@ ted_iterat_next_color_tag:
|
||||
; (tex[i].td+ted_tim_undo<=ted_tim_ch && tex[i].td) || (tex[i].tc>ted_tim_ch-ted_tim_undo)
|
||||
align 4
|
||||
ted_symbol_not_vis:
|
||||
push eax
|
||||
push eax
|
||||
|
||||
xor bl,bl
|
||||
xor bl,bl
|
||||
|
||||
cmp dword [edx+14],0
|
||||
je @f
|
||||
mov eax,[edx+14] ;eax=tex[i].td
|
||||
add eax,ted_tim_undo
|
||||
cmp eax,ted_tim_ch
|
||||
jg @f
|
||||
mov bl,1
|
||||
pop eax
|
||||
ret
|
||||
@@:
|
||||
cmp dword [edx+14],0
|
||||
je @f
|
||||
mov eax,[edx+14] ;eax=tex[i].td
|
||||
add eax,ted_tim_undo
|
||||
cmp eax,ted_tim_ch
|
||||
jg @f
|
||||
mov bl,1
|
||||
pop eax
|
||||
ret
|
||||
@@:
|
||||
|
||||
mov eax,ted_tim_ch
|
||||
sub eax,ted_tim_undo
|
||||
cmp [edx+10],eax
|
||||
jle @f
|
||||
or bl,1
|
||||
@@:
|
||||
mov eax,ted_tim_ch
|
||||
sub eax,ted_tim_undo
|
||||
cmp [edx+10],eax
|
||||
jle @f
|
||||
or bl,1
|
||||
@@:
|
||||
|
||||
pop eax
|
||||
ret
|
||||
pop eax
|
||||
ret
|
||||
|
||||
;input:
|
||||
; text:dword - pointer to text string
|
||||
@ -1445,9 +1431,7 @@ endp
|
||||
;description:
|
||||
; ”ãªæ¨ï 㤠«ï¥â ¢ë¤¥«¥ë© ⥪áâ
|
||||
align 4
|
||||
proc ted_sel_text_del, del_opt:dword
|
||||
push ebx ecx edx esi
|
||||
|
||||
proc ted_sel_text_del uses ebx ecx edx esi, del_opt:dword
|
||||
call ted_is_select
|
||||
cmp al,0
|
||||
je .end_f
|
||||
@ -1494,7 +1478,6 @@ proc ted_sel_text_del, del_opt:dword
|
||||
mov ted_sel_y1,0
|
||||
@@:
|
||||
.end_f:
|
||||
pop esi edx ecx ebx
|
||||
ret
|
||||
endp
|
||||
|
||||
@ -1505,56 +1488,56 @@ endp
|
||||
; edi = pointer to tedit struct
|
||||
align 4
|
||||
ted_revers:
|
||||
cmp eax,ebx
|
||||
jne @f
|
||||
ret
|
||||
@@:
|
||||
cmp eax,ebx
|
||||
jne @f
|
||||
ret
|
||||
@@:
|
||||
|
||||
push ecx edx
|
||||
push ecx edx
|
||||
|
||||
mov edx,ted_tex_1
|
||||
cmp edx,ebx ;if(p1==1)p1=tex[1].perv;
|
||||
jne @f
|
||||
call ted_get_text_perv_pos
|
||||
mov ebx,edx
|
||||
@@:
|
||||
mov edx,ted_tex_1
|
||||
cmp edx,ebx ;if(p1==1)p1=tex[1].perv;
|
||||
jne @f
|
||||
call ted_get_text_perv_pos
|
||||
mov ebx,edx
|
||||
@@:
|
||||
|
||||
push esi
|
||||
mov edx,[eax+2] ; *** edx = tex[p0].perv ***
|
||||
ConvertIndexToPointer edx
|
||||
add edx,6
|
||||
mov ecx,[edx] ;tmp = tex[tex[p0].perv].next;
|
||||
push esi
|
||||
mov edx,[eax+2] ; *** edx = tex[p0].perv ***
|
||||
ConvertIndexToPointer edx
|
||||
add edx,6
|
||||
mov ecx,[edx] ;tmp = tex[tex[p0].perv].next;
|
||||
|
||||
mov esi,[ebx+6] ; *** esi = tex[p1].next ***
|
||||
ConvertIndexToPointer esi
|
||||
add esi,2
|
||||
m2m dword[edx],dword[esi] ;tex[tex[p0].perv].next = tex[tex[p1].next].perv;
|
||||
mov esi,[ebx+6] ; *** esi = tex[p1].next ***
|
||||
ConvertIndexToPointer esi
|
||||
add esi,2
|
||||
m2m dword[edx],dword[esi] ;tex[tex[p0].perv].next = tex[tex[p1].next].perv;
|
||||
|
||||
mov [esi],ecx ;tex[tex[p1].next].perv = tmp;
|
||||
pop esi
|
||||
mov [esi],ecx ;tex[tex[p1].next].perv = tmp;
|
||||
pop esi
|
||||
|
||||
mov ecx,[eax+2] ;tmp = tex[p0].perv;
|
||||
m2m dword[eax+2],dword[ebx+6] ;tex[p0].perv = tex[p1].next;
|
||||
mov [ebx+6],ecx ;tex[p1].next = tmp;
|
||||
mov ecx,[eax+2] ;tmp = tex[p0].perv;
|
||||
m2m dword[eax+2],dword[ebx+6] ;tex[p0].perv = tex[p1].next;
|
||||
mov [ebx+6],ecx ;tex[p1].next = tmp;
|
||||
|
||||
mov edx,eax ;i=p0;
|
||||
@@:
|
||||
mov ecx,[edx+6] ;tmp = tex[i].next;
|
||||
m2m dword[edx+6],dword[edx+2] ;tex[i].next = tex[i].perv;
|
||||
mov [edx+2],ecx ;tex[i].perv = tmp;
|
||||
cmp edx,ebx ;if(i==p1)break;
|
||||
je @f
|
||||
mov edx,eax ;i=p0;
|
||||
@@:
|
||||
mov ecx,[edx+6] ;tmp = tex[i].next;
|
||||
m2m dword[edx+6],dword[edx+2] ;tex[i].next = tex[i].perv;
|
||||
mov [edx+2],ecx ;tex[i].perv = tmp;
|
||||
cmp edx,ebx ;if(i==p1)break;
|
||||
je @f
|
||||
; ---
|
||||
;cmp edx,ted_tex
|
||||
;je @f
|
||||
; ---
|
||||
mov edx,ecx ;i = tmp;
|
||||
ConvertIndexToPointer edx
|
||||
jmp @b
|
||||
@@:
|
||||
pop edx ecx
|
||||
call ted_text_colored
|
||||
ret
|
||||
mov edx,ecx ;i = tmp;
|
||||
ConvertIndexToPointer edx
|
||||
jmp @b
|
||||
@@:
|
||||
pop edx ecx
|
||||
call ted_text_colored
|
||||
ret
|
||||
|
||||
|
||||
;input:
|
||||
@ -1975,22 +1958,22 @@ ted_get_text_coords:
|
||||
; eax = num lines
|
||||
align 4
|
||||
ted_get_num_lines:
|
||||
push edx
|
||||
mov eax,1
|
||||
mov edx,ted_tex
|
||||
@@:
|
||||
call ted_iterat_next
|
||||
cmp edx,ted_tex_1
|
||||
jle @f
|
||||
cmp byte [edx],13
|
||||
jne @b
|
||||
inc eax
|
||||
jmp @b
|
||||
@@:
|
||||
push edx
|
||||
mov eax,1
|
||||
mov edx,ted_tex
|
||||
@@:
|
||||
call ted_iterat_next
|
||||
cmp edx,ted_tex_1
|
||||
jle @f
|
||||
cmp byte [edx],13
|
||||
jne @b
|
||||
inc eax
|
||||
jmp @b
|
||||
@@:
|
||||
;...
|
||||
;dec eax
|
||||
pop edx
|
||||
ret
|
||||
pop edx
|
||||
ret
|
||||
|
||||
|
||||
;input:
|
||||
@ -2455,8 +2438,7 @@ endp
|
||||
; eax = ª®¤ ®è¨¡ª¨
|
||||
; ebx = ª®««¨ç¥á⢮ ¯à®ç¨â ëå ¡ ©â
|
||||
align 4
|
||||
proc ted_open_file, edit:dword, file:dword, f_name:dword ;äãªæ¨ï ®âªàëâ¨ï ä ©«
|
||||
push ecx edx edi
|
||||
proc ted_open_file uses ecx edx edi, edit:dword, file:dword, f_name:dword ;äãªæ¨ï ®âªàëâ¨ï ä ©«
|
||||
mov edi,dword[edit]
|
||||
|
||||
; *** ¯à®¢¥à塞 à §¬¥à ¯ ¬ï⨠¨ ¥á«¨ ¥ å¢ â ¥â ⮠㢥«¨ç¨¢ ¥¬ ***
|
||||
@ -2527,7 +2509,6 @@ proc ted_open_file, edit:dword, file:dword, f_name:dword ;
|
||||
;if open file
|
||||
call ted_on_open_file
|
||||
.ret_f:
|
||||
pop edi edx ecx
|
||||
ret
|
||||
endp
|
||||
|
||||
@ -2564,8 +2545,7 @@ proc ted_but_select_word, edit:dword
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc ted_but_cut, edit:dword
|
||||
push edi
|
||||
proc ted_but_cut uses edi, edit:dword
|
||||
mov edi,dword[edit]
|
||||
|
||||
stdcall ted_but_copy,edi
|
||||
@ -2579,7 +2559,6 @@ proc ted_but_cut, edit:dword
|
||||
je @f
|
||||
call ted_fun_draw_panel_buttons
|
||||
@@:
|
||||
pop edi
|
||||
ret
|
||||
endp
|
||||
|
||||
@ -2754,41 +2733,38 @@ proc ted_but_sumb_lover uses edi esi, edit:dword
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc ted_but_reverse, edit:dword
|
||||
push eax ebx edi
|
||||
mov edi,dword[edit]
|
||||
proc ted_but_reverse uses eax ebx edi, edit:dword
|
||||
mov edi,dword[edit]
|
||||
|
||||
call ted_is_select
|
||||
cmp al,0
|
||||
je @f
|
||||
call ted_sel_normalize
|
||||
push esi ecx edx
|
||||
mov esi,ted_seln_x0
|
||||
mov ecx,ted_seln_y0
|
||||
call ted_get_pos_by_coords
|
||||
mov eax,edx
|
||||
mov esi,ted_seln_x1
|
||||
cmp esi,0
|
||||
je .beg_str
|
||||
dec esi
|
||||
.beg_str:
|
||||
mov ecx,ted_seln_y1
|
||||
call ted_get_pos_by_coords
|
||||
;call ted_get_text_perv_pos
|
||||
mov ebx,edx
|
||||
pop edx ecx esi
|
||||
;cmp eax,...
|
||||
;je @f
|
||||
call ted_revers
|
||||
@@:
|
||||
stdcall ted_draw,edi
|
||||
pop edi ebx eax
|
||||
ret
|
||||
call ted_is_select
|
||||
cmp al,0
|
||||
je @f
|
||||
call ted_sel_normalize
|
||||
push esi ecx edx
|
||||
mov esi,ted_seln_x0
|
||||
mov ecx,ted_seln_y0
|
||||
call ted_get_pos_by_coords
|
||||
mov eax,edx
|
||||
mov esi,ted_seln_x1
|
||||
cmp esi,0
|
||||
je .beg_str
|
||||
dec esi
|
||||
.beg_str:
|
||||
mov ecx,ted_seln_y1
|
||||
call ted_get_pos_by_coords
|
||||
;call ted_get_text_perv_pos
|
||||
mov ebx,edx
|
||||
pop edx ecx esi
|
||||
;cmp eax,...
|
||||
;je @f
|
||||
call ted_revers
|
||||
@@:
|
||||
stdcall ted_draw,edi
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc ted_but_undo, edit:dword
|
||||
push eax edi
|
||||
proc ted_but_undo uses eax edi, edit:dword
|
||||
mov edi,dword[edit]
|
||||
|
||||
mov eax,ted_tim_undo
|
||||
@ -2801,13 +2777,11 @@ proc ted_but_undo, edit:dword
|
||||
je @f
|
||||
call ted_fun_draw_panel_buttons
|
||||
@@:
|
||||
pop edi eax
|
||||
ret
|
||||
endp
|
||||
|
||||
align 4
|
||||
proc ted_but_redo, edit:dword
|
||||
push edi
|
||||
proc ted_but_redo uses edi, edit:dword
|
||||
mov edi,dword[edit]
|
||||
|
||||
cmp ted_tim_undo,1
|
||||
@ -2819,7 +2793,6 @@ proc ted_but_redo, edit:dword
|
||||
je @f
|
||||
call ted_fun_draw_panel_buttons
|
||||
@@:
|
||||
pop edi
|
||||
ret
|
||||
endp
|
||||
|
||||
@ -3264,18 +3237,16 @@ proc ted_draw, edit:dword
|
||||
mov dword[esi+sb_offs_all_redraw],0
|
||||
;---------------------------------------------
|
||||
|
||||
;left-bottom square
|
||||
mov ebx,ted_wnd_l
|
||||
shl ebx,16
|
||||
add ebx,ted_rec_l
|
||||
mov ecx,ted_wnd_t
|
||||
add ecx,ted_wnd_h
|
||||
shl ecx,16
|
||||
mov cx,word[eax+sb_offs_size_y]
|
||||
inc cx
|
||||
mov edx,ted_color_wnd_capt ;[sc.work]
|
||||
mov eax,13
|
||||
int 0x40
|
||||
;left-bottom square
|
||||
mov ebx,ted_wnd_l
|
||||
shl ebx,16
|
||||
add ebx,ted_rec_l
|
||||
mov ecx,ted_wnd_t
|
||||
add ecx,ted_wnd_h
|
||||
shl ecx,16
|
||||
mov cx,word[eax+sb_offs_size_y]
|
||||
inc cx
|
||||
mcall 13,,,ted_color_wnd_capt ;[sc.work]
|
||||
|
||||
;right-bottom square
|
||||
mov ebx,ted_wnd_l
|
||||
@ -3479,7 +3450,7 @@ proc ted_draw_help_f1
|
||||
pushad
|
||||
cmp ted_rec_t,13 ;¬¨¨¬ «ì ï ¢ëá®â ¤«ï à¨á®¢ ¨ï á¯à ¢ª¨
|
||||
jle @f
|
||||
mov eax,13 ;clear place before draw help
|
||||
;clear place before draw help
|
||||
mov ebx,ted_wnd_l
|
||||
add ebx,ted_rec_l
|
||||
shl ebx,16
|
||||
@ -3489,8 +3460,7 @@ proc ted_draw_help_f1
|
||||
add ecx,13
|
||||
shl ecx,16
|
||||
add ecx,ted_rec_h
|
||||
mov edx,ted_color_wnd_capt
|
||||
int 0x40
|
||||
mcall 13,,,ted_color_wnd_capt
|
||||
|
||||
cmp ted_help_id,-1
|
||||
je @f
|
||||
@ -3513,11 +3483,12 @@ proc ted_draw_help_f1
|
||||
mov ecx,dword[ecx]
|
||||
or ecx,0xc0000000 ;SetTextStyles
|
||||
mov esi,edi
|
||||
mov edi,ted_color_wnd_work
|
||||
mov eax,4
|
||||
int 0x40
|
||||
mcall 4,,,,,ted_color_wnd_work
|
||||
mov edi,esi
|
||||
|
||||
mov esi,edx
|
||||
call tl_strlen
|
||||
|
||||
;*** draw help string ***
|
||||
mov ecx,ted_color_wnd_bord
|
||||
or ecx,0x80000000
|
||||
@ -3525,8 +3496,11 @@ proc ted_draw_help_f1
|
||||
cmp edx,0
|
||||
je @f
|
||||
add edx,ted_help_text_f1
|
||||
add ebx,0x500000
|
||||
int 0x40
|
||||
inc eax
|
||||
imul eax,6 ;è¨à¨ ᨬ¢®« ¢ á¨áâ. èà¨äâ¥
|
||||
shl eax,16
|
||||
add ebx,eax
|
||||
mcall 4
|
||||
@@:
|
||||
popad
|
||||
ret
|
||||
@ -4062,42 +4036,42 @@ ted_wnd_main_click:
|
||||
mov ebx,ted_el_focus
|
||||
mov dword[ebx],edi ;áâ ¢¨¬ 䮪ãá
|
||||
|
||||
push eax
|
||||
shr eax,16
|
||||
and eax,0xffff
|
||||
sub eax,ted_wnd_l
|
||||
sub eax,ted_rec_l
|
||||
push eax
|
||||
shr eax,16
|
||||
and eax,0xffff
|
||||
sub eax,ted_wnd_l
|
||||
sub eax,ted_rec_l
|
||||
|
||||
xor edx,edx
|
||||
mov ecx,ted_rec_w
|
||||
div cx
|
||||
;inc eax
|
||||
mov ebx,ted_scr_h
|
||||
cmp eax,dword[ebx+sb_offs_cur_area]
|
||||
jle @f
|
||||
mov eax,dword[ebx+sb_offs_cur_area]
|
||||
@@:
|
||||
;dec eax
|
||||
mov ted_cur_x,eax
|
||||
pop eax
|
||||
xor edx,edx
|
||||
mov ecx,ted_rec_w
|
||||
div cx
|
||||
;inc eax
|
||||
mov ebx,ted_scr_h
|
||||
cmp eax,dword[ebx+sb_offs_cur_area]
|
||||
jle @f
|
||||
mov eax,dword[ebx+sb_offs_cur_area]
|
||||
@@:
|
||||
;dec eax
|
||||
mov ted_cur_x,eax
|
||||
pop eax
|
||||
|
||||
push eax
|
||||
and eax,0xffff
|
||||
sub eax,ted_wnd_t
|
||||
sub eax,ted_rec_t
|
||||
push eax
|
||||
and eax,0xffff
|
||||
sub eax,ted_wnd_t
|
||||
sub eax,ted_rec_t
|
||||
|
||||
xor edx,edx
|
||||
mov ecx,ted_rec_h
|
||||
div cx
|
||||
inc eax
|
||||
mov ebx,ted_scr_w
|
||||
cmp eax,dword[ebx+sb_offs_cur_area]
|
||||
jle @f
|
||||
mov eax,dword[ebx+sb_offs_cur_area]
|
||||
@@:
|
||||
dec eax
|
||||
mov ted_cur_y,eax
|
||||
pop eax
|
||||
xor edx,edx
|
||||
mov ecx,ted_rec_h
|
||||
div cx
|
||||
inc eax
|
||||
mov ebx,ted_scr_w
|
||||
cmp eax,dword[ebx+sb_offs_cur_area]
|
||||
jle @f
|
||||
mov eax,dword[ebx+sb_offs_cur_area]
|
||||
@@:
|
||||
dec eax
|
||||
mov ted_cur_y,eax
|
||||
pop eax
|
||||
|
||||
cmp ted_drag_m,0
|
||||
je @f
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,95 +1,95 @@
|
||||
align 4
|
||||
draw_but_toolbar: ;ôóíêöèÿ äëÿ ðèñîâàíèÿ ïàíåëè èíñòðóìåíòîâ
|
||||
pushad
|
||||
mov edi,tedit0
|
||||
pushad
|
||||
mov edi,tedit0
|
||||
|
||||
mov ecx,0x40000000
|
||||
mov edx,5*65536+25
|
||||
call draw_but_icon
|
||||
mov ecx,0x40000000
|
||||
mov edx,5*65536+25
|
||||
call draw_but_icon
|
||||
|
||||
inc cx
|
||||
mov edx,30*65536+25
|
||||
call draw_but_icon
|
||||
inc cx
|
||||
mov edx,30*65536+25
|
||||
call draw_but_icon
|
||||
|
||||
stdcall [ted_can_save],edi
|
||||
cmp al,1
|
||||
je @f
|
||||
and ecx,0xffff
|
||||
@@:
|
||||
inc cx
|
||||
mov edx,55*65536+25
|
||||
call draw_but_icon
|
||||
or ecx,0x40000000
|
||||
stdcall [ted_can_save],edi
|
||||
cmp al,1
|
||||
je @f
|
||||
and ecx,0xffff
|
||||
@@:
|
||||
inc cx
|
||||
mov edx,55*65536+25
|
||||
call draw_but_icon
|
||||
or ecx,0x40000000
|
||||
|
||||
inc cx
|
||||
mov edx,85*65536+25
|
||||
call draw_but_icon
|
||||
inc cx
|
||||
mov edx,85*65536+25
|
||||
call draw_but_icon
|
||||
|
||||
call [ted_is_select]
|
||||
cmp al,0
|
||||
jne @f
|
||||
and ecx,0xffff
|
||||
@@:
|
||||
inc cx ; Cut
|
||||
mov edx,110*65536+25
|
||||
call draw_but_icon
|
||||
call [ted_is_select]
|
||||
cmp al,0
|
||||
jne @f
|
||||
and ecx,0xffff
|
||||
@@:
|
||||
inc cx ; Cut
|
||||
mov edx,110*65536+25
|
||||
call draw_but_icon
|
||||
|
||||
inc cx ; Copy
|
||||
mov edx,135*65536+25
|
||||
call draw_but_icon
|
||||
inc cx ; Copy
|
||||
mov edx,135*65536+25
|
||||
call draw_but_icon
|
||||
|
||||
mov cx,10 ; Upper
|
||||
mov edx,265*65536+25
|
||||
call draw_but_icon
|
||||
mov cx,10 ; Upper
|
||||
mov edx,265*65536+25
|
||||
call draw_but_icon
|
||||
|
||||
inc cx ; Lower
|
||||
mov edx,290*65536+25
|
||||
call draw_but_icon
|
||||
inc cx ; Lower
|
||||
mov edx,290*65536+25
|
||||
call draw_but_icon
|
||||
|
||||
inc cx ; reverse
|
||||
mov edx,315*65536+25
|
||||
call draw_but_icon
|
||||
or ecx,0x40000000
|
||||
inc cx ; reverse
|
||||
mov edx,315*65536+25
|
||||
call draw_but_icon
|
||||
or ecx,0x40000000
|
||||
|
||||
cmp dword[buf],0
|
||||
jne @f
|
||||
and ecx,0xffff
|
||||
@@:
|
||||
mov cx,6 ; Paste
|
||||
mov edx,160*65536+25
|
||||
call draw_but_icon
|
||||
or ecx,0x40000000
|
||||
cmp dword[buf],0
|
||||
jne @f
|
||||
and ecx,0xffff
|
||||
@@:
|
||||
mov cx,6 ; Paste
|
||||
mov edx,160*65536+25
|
||||
call draw_but_icon
|
||||
or ecx,0x40000000
|
||||
|
||||
inc cx
|
||||
mov edx,185*65536+25
|
||||
call draw_but_icon
|
||||
inc cx
|
||||
mov edx,185*65536+25
|
||||
call draw_but_icon
|
||||
|
||||
inc cx
|
||||
mov edx,210*65536+25
|
||||
call draw_but_icon
|
||||
inc cx
|
||||
mov edx,210*65536+25
|
||||
call draw_but_icon
|
||||
|
||||
inc cx
|
||||
mov edx,235*65536+25
|
||||
call draw_but_icon
|
||||
inc cx
|
||||
mov edx,235*65536+25
|
||||
call draw_but_icon
|
||||
|
||||
mov ebx,ted_tim_undo
|
||||
cmp ted_tim_ch,ebx
|
||||
jg @f
|
||||
and ecx,0xffff
|
||||
@@:
|
||||
mov cx,13
|
||||
mov edx,345*65536+25
|
||||
call draw_but_icon
|
||||
or ecx,0x40000000
|
||||
mov ebx,ted_tim_undo
|
||||
cmp ted_tim_ch,ebx
|
||||
jg @f
|
||||
and ecx,0xffff
|
||||
@@:
|
||||
mov cx,13
|
||||
mov edx,345*65536+25
|
||||
call draw_but_icon
|
||||
or ecx,0x40000000
|
||||
|
||||
cmp ted_tim_undo,1
|
||||
jge @f
|
||||
and ecx,0xffff
|
||||
@@:
|
||||
inc cx
|
||||
mov edx,370*65536+25
|
||||
call draw_but_icon
|
||||
or ecx,0x40000000
|
||||
cmp ted_tim_undo,1
|
||||
jge @f
|
||||
and ecx,0xffff
|
||||
@@:
|
||||
inc cx
|
||||
mov edx,370*65536+25
|
||||
call draw_but_icon
|
||||
or ecx,0x40000000
|
||||
|
||||
inc cx
|
||||
mov edx,400*65536+25
|
||||
@ -123,146 +123,112 @@ or ecx,0x40000000
|
||||
; edi = pointer to tedit struct
|
||||
align 4
|
||||
proc draw_panel_find
|
||||
;push edi
|
||||
;mov edi,dword[edit]
|
||||
cmp ted_panel_id,TED_PANEL_FIND ;if not panel
|
||||
jne @f
|
||||
push eax ebx ecx edx
|
||||
cmp ted_panel_id,TED_PANEL_FIND ;if not panel
|
||||
jne @f
|
||||
push eax ebx ecx edx
|
||||
mov ecx,ted_wnd_t
|
||||
shl ecx,16
|
||||
mov cx,20
|
||||
mcall SF_DRAW_RECT,TED_PANEL_WIDTH,,[sc.work]
|
||||
|
||||
mov eax,13 ;ðèñîâàíèå ïðÿìîóãîëüíèêà
|
||||
mov ebx,TED_PANEL_WIDTH
|
||||
mov ecx,ted_wnd_t
|
||||
shl ecx,16
|
||||
mov cx,20
|
||||
mov edx,[sc.work]
|
||||
int 0x40
|
||||
mov ebx,30*65536+25
|
||||
add ebx,ted_wnd_t
|
||||
mov ecx,[sc.work_text]
|
||||
or ecx,0x80000000
|
||||
mcall SF_DRAW_TEXT,,,txtFindCapt
|
||||
|
||||
mov eax,4 ;ðèñîâàíèå òåêñòà
|
||||
mov ebx,30*65536+25
|
||||
add ebx,ted_wnd_t
|
||||
mov ecx,[sc.work_text]
|
||||
or ecx,0x80000000
|
||||
mov edx,txtFindCapt
|
||||
int 0x40
|
||||
stdcall [edit_box_draw], edit2
|
||||
|
||||
stdcall [edit_box_draw], dword edit2
|
||||
mov ecx,ted_wnd_t
|
||||
add cx,20+15 ; 15 - height text box
|
||||
shl ecx,16
|
||||
add ecx,ted_wnd_h
|
||||
mov edx,ted_scr_h
|
||||
add cx,word[edx+sb_offs_size_y]
|
||||
sub cx,20+15-1 ; 15 - height text box
|
||||
mcall SF_DRAW_RECT,TED_PANEL_WIDTH,,[sc.work]
|
||||
|
||||
mov eax,13 ;ðèñîâàíèå ïðÿìîóãîëüíèêà
|
||||
mov ebx,TED_PANEL_WIDTH
|
||||
mov ecx,ted_wnd_t
|
||||
add cx,20+15 ; 15 - height text box
|
||||
shl ecx,16
|
||||
add ecx,ted_wnd_h
|
||||
mov edx,ted_scr_h
|
||||
add cx,word[edx+sb_offs_size_y]
|
||||
sub cx,20+15-1 ; 15 - height text box
|
||||
mov edx,[sc.work]
|
||||
int 0x40
|
||||
mov ecx,ted_wnd_t
|
||||
add cx,20+15+5
|
||||
shl ecx,16
|
||||
mov cx,20
|
||||
mcall SF_DEFINE_BUTTON,5*65536+85,,201,[sc.work_button] ;201 - button id
|
||||
|
||||
mov eax,8 ;êíîïêà
|
||||
mov ebx,5*65536+85
|
||||
mov ecx,ted_wnd_t
|
||||
add cx,20+15+5
|
||||
shl ecx,16
|
||||
mov cx,20
|
||||
mov edx,201 ;button id
|
||||
mov esi,[sc.work_button]
|
||||
int 0x40
|
||||
|
||||
mov eax,4 ;ðèñîâàíèå òåêñòà
|
||||
mov ebx,15*65536+(20+15+10)
|
||||
add ebx,ted_wnd_t
|
||||
mov ecx,[sc.work_text]
|
||||
or ecx,0x80000000
|
||||
mov edx,txtFindNext
|
||||
int 0x40
|
||||
|
||||
pop edx ecx ebx eax
|
||||
jmp .end_f
|
||||
@@:
|
||||
push eax edx
|
||||
mov eax,8
|
||||
mov edx,201
|
||||
or edx,0x80000000
|
||||
int 0x40
|
||||
pop edx eax
|
||||
.end_f:
|
||||
;pop edi
|
||||
ret
|
||||
mov ebx,15*65536+(20+15+10)
|
||||
add ebx,ted_wnd_t
|
||||
mov ecx,[sc.work_text]
|
||||
or ecx,0x80000000
|
||||
mcall SF_DRAW_TEXT,,,txtFindNext
|
||||
pop edx ecx ebx eax
|
||||
jmp .end_f
|
||||
@@:
|
||||
push eax edx
|
||||
mov edx,201
|
||||
or edx,0x80000000
|
||||
mcall SF_DEFINE_BUTTON
|
||||
pop edx eax
|
||||
.end_f:
|
||||
ret
|
||||
endp
|
||||
|
||||
;input:
|
||||
; edi = pointer to tedit struct
|
||||
align 4
|
||||
proc draw_panel_syntax
|
||||
;push edi
|
||||
;mov edi,dword[edit]
|
||||
cmp ted_panel_id,TED_PANEL_SYNTAX ;if not panel
|
||||
jne @f
|
||||
pushad
|
||||
cmp ted_panel_id,TED_PANEL_SYNTAX ;if not panel
|
||||
jne @f
|
||||
pushad
|
||||
|
||||
mov eax,13 ;ðèñîâàíèå ïðÿìîóãîëüíèêà
|
||||
mov ebx,TED_PANEL_WIDTH
|
||||
mov ecx,ted_wnd_t
|
||||
shl ecx,16
|
||||
mov cx,20
|
||||
mov edx,[sc.work]
|
||||
int 0x40 ;ðèñîâàíèå âåðõíåãî ôîíîâîãî ïðÿìîóãîëüíèêà
|
||||
mov ecx,ted_wnd_t
|
||||
shl ecx,16
|
||||
mov cx,20
|
||||
mcall SF_DRAW_RECT,TED_PANEL_WIDTH,,[sc.work] ;ðèñîâàíèå âåðõíåãî ôîíîâîãî ïðÿìîóãîëüíèêà
|
||||
|
||||
stdcall dword[tl_draw], tree1
|
||||
mov [ws_dir_lbox.all_redraw],1 ;äëÿ ïîëíîé ïåðåðèñîâêè äî÷åðíåãî ñêðîëëèíãà
|
||||
stdcall dword[scrollbar_ver_draw], dword ws_dir_lbox
|
||||
stdcall dword[tl_draw], tree1
|
||||
mov [ws_dir_lbox.all_redraw],1 ;äëÿ ïîëíîé ïåðåðèñîâêè äî÷åðíåãî ñêðîëëèíãà
|
||||
stdcall dword[scrollbar_ver_draw], dword ws_dir_lbox
|
||||
|
||||
ror ecx,16
|
||||
add ecx,dword[tree1.box_height]
|
||||
add ecx,20
|
||||
and ecx,0xffff
|
||||
ror ecx,16
|
||||
add ecx,ted_wnd_h
|
||||
mov esi,ted_scr_h
|
||||
add cx,word[esi+sb_offs_size_y]
|
||||
sub cx,20
|
||||
sub ecx,dword[tree1.box_height]
|
||||
inc cx
|
||||
int 0x40 ;ðèñîâàíèå íèæíåãî ôîíîâîãî ïðÿìîóãîëüíèêà
|
||||
ror ecx,16
|
||||
add ecx,dword[tree1.box_height]
|
||||
add ecx,20
|
||||
and ecx,0xffff
|
||||
ror ecx,16
|
||||
add ecx,ted_wnd_h
|
||||
mov esi,ted_scr_h
|
||||
add cx,word[esi+sb_offs_size_y]
|
||||
sub cx,20
|
||||
sub ecx,dword[tree1.box_height]
|
||||
inc cx
|
||||
int 0x40 ;ðèñîâàíèå íèæíåãî ôîíîâîãî ïðÿìîóãîëüíèêà
|
||||
|
||||
mov eax,8 ;êíîïêà
|
||||
mov ebx,5*65536+65
|
||||
mov ecx,ted_wnd_t
|
||||
add ecx,25
|
||||
add ecx,dword[tree1.box_height]
|
||||
shl ecx,16
|
||||
mov cx,20
|
||||
mov edx,200 ;button id
|
||||
mov esi,[sc.work_button]
|
||||
int 0x40
|
||||
mov ecx,ted_wnd_t
|
||||
add ecx,25
|
||||
add ecx,dword[tree1.box_height]
|
||||
shl ecx,16
|
||||
mov cx,20
|
||||
mcall SF_DEFINE_BUTTON,(5 shl 16)+65,,200,[sc.work_button] ;200 - button id
|
||||
|
||||
mov eax,4 ;ðèñîâàíèå òåêñòà
|
||||
mov ebx,30*65536+5
|
||||
add ebx,ted_wnd_t
|
||||
mov ecx,[sc.work_text]
|
||||
or ecx,0x80000000
|
||||
mov edx,txtFormatCapt
|
||||
int 0x40
|
||||
mov ebx,(30 shl 16)+5
|
||||
add ebx,ted_wnd_t
|
||||
mov ecx,[sc.work_text]
|
||||
or ecx,0x80000000
|
||||
mcall SF_DRAW_TEXT,,,txtFormatCapt
|
||||
|
||||
mov ebx,10*65536+31
|
||||
add ebx,dword[tree1.box_height]
|
||||
add ebx,ted_wnd_t
|
||||
mov edx,txtFormatApply
|
||||
int 0x40
|
||||
mov ebx,(10 shl 16)+31
|
||||
add ebx,dword[tree1.box_height]
|
||||
add ebx,ted_wnd_t
|
||||
mcall ,,,txtFormatApply
|
||||
|
||||
popad
|
||||
jmp .end_f
|
||||
@@:
|
||||
push eax edx
|
||||
mov eax,8
|
||||
mov edx,200
|
||||
or edx,0x80000000
|
||||
int 0x40 ;åñëè íåò ïàíåëè òî óäàëÿåì êíîïêó
|
||||
pop edx eax
|
||||
.end_f:
|
||||
;pop edi
|
||||
ret
|
||||
popad
|
||||
jmp .end_f
|
||||
@@:
|
||||
push eax edx
|
||||
mov edx,200
|
||||
or edx,0x80000000
|
||||
mcall SF_DEFINE_BUTTON ;åñëè íåò ïàíåëè òî óäàëÿåì êíîïêó
|
||||
pop edx eax
|
||||
.end_f:
|
||||
ret
|
||||
endp
|
||||
|
||||
MIN_M_WND_H equ 100 ;ìèíèìàëüíàÿ âûñîòà ãëàâíîãî îêíà
|
||||
@ -270,41 +236,39 @@ MIN_M_WND_H equ 100 ;
|
||||
; edi = pointer to tedit struct
|
||||
align 4
|
||||
EvSize:
|
||||
pushad
|
||||
mov ebx,ted_scr_h
|
||||
mov esi,ted_scr_w
|
||||
pushad
|
||||
mov ebx,ted_scr_h
|
||||
mov esi,ted_scr_w
|
||||
|
||||
m2m ted_wnd_w,[procinfo.client_box.width] ;ñòàâèì øèðèíó îêíà ðåäàêòîðà ðàâíîé øèðèíå âñåãî îêíà
|
||||
mov eax,ted_wnd_l
|
||||
sub ted_wnd_w,eax ;îòíèìàåì îòñòóï ñëåâà
|
||||
mov eax,dword[esi+sb_offs_size_x]
|
||||
and eax,0xffff
|
||||
sub ted_wnd_w,eax ;îòíèìàåì øèðèíó âåðò. ñêðîëëèíãà
|
||||
m2m ted_wnd_w,[procinfo.client_box.width] ;ñòàâèì øèðèíó îêíà ðåäàêòîðà ðàâíîé øèðèíå âñåãî îêíà
|
||||
mov eax,ted_wnd_l
|
||||
sub ted_wnd_w,eax ;îòíèìàåì îòñòóï ñëåâà
|
||||
movzx eax,word[esi+sb_offs_size_x]
|
||||
sub ted_wnd_w,eax ;îòíèìàåì øèðèíó âåðò. ñêðîëëèíãà
|
||||
|
||||
m2m ted_wnd_h,[procinfo.client_box.height] ;ñòàâèì âûñîòó îêíà ðåäàêòîðà ðàâíîé âûñîòå âñåãî îêíà
|
||||
cmp ted_wnd_h,MIN_M_WND_H
|
||||
jg @f
|
||||
mov ted_wnd_h,MIN_M_WND_H
|
||||
@@:
|
||||
m2m ted_wnd_h,[procinfo.client_box.height] ;ñòàâèì âûñîòó îêíà ðåäàêòîðà ðàâíîé âûñîòå âñåãî îêíà
|
||||
cmp ted_wnd_h,MIN_M_WND_H
|
||||
jg @f
|
||||
mov ted_wnd_h,MIN_M_WND_H
|
||||
@@:
|
||||
|
||||
mov ax,word[ebx+sb_offs_size_y]
|
||||
and eax,0xffff
|
||||
sub ted_wnd_h,eax ;îòíèìàåì âûñîòó ãîðèç. ñêðîëëèíãà
|
||||
mov eax,ted_wnd_t
|
||||
sub ted_wnd_h,eax ;îòíèìàåì îòñòóï ñâåðõó
|
||||
movzx eax,word[ebx+sb_offs_size_y]
|
||||
sub ted_wnd_h,eax ;îòíèìàåì âûñîòó ãîðèç. ñêðîëëèíãà
|
||||
mov eax,ted_wnd_t
|
||||
sub ted_wnd_h,eax ;îòíèìàåì îòñòóï ñâåðõó
|
||||
|
||||
stdcall [ted_init_scroll_bars], tedit0,2
|
||||
stdcall [ted_init_scroll_bars], tedit0,2
|
||||
|
||||
mov eax,ted_wnd_t
|
||||
mov edi,dword tree1
|
||||
mov tl_box_top,eax ;=ted_wnd_t
|
||||
add tl_box_top,20
|
||||
mov eax,ted_wnd_t
|
||||
mov edi,dword tree1
|
||||
mov tl_box_top,eax ;=ted_wnd_t
|
||||
add tl_box_top,20
|
||||
|
||||
mov dword[edit2.top],eax ;=ted_wnd_t
|
||||
add dword[edit2.top],20
|
||||
mov [edit2.top],eax ;=ted_wnd_t
|
||||
add dword[edit2.top],20
|
||||
|
||||
popad
|
||||
ret
|
||||
popad
|
||||
ret
|
||||
|
||||
;input:
|
||||
; ecx = 0x4000____
|
||||
@ -314,7 +278,7 @@ align 4
|
||||
draw_but_icon:
|
||||
push eax ebx
|
||||
|
||||
mov eax,8 ;êíîïêà
|
||||
mov eax,SF_DEFINE_BUTTON
|
||||
push ecx edx esi
|
||||
mov ebx,edx
|
||||
mov edx,ecx
|
||||
@ -330,11 +294,11 @@ draw_but_icon:
|
||||
jge @f ;êíîïêà íå âëåçëà â îêíî
|
||||
mov esi,[sc.work_button]
|
||||
int 0x40 ;ñòàâèì êíîïêó
|
||||
mov eax,7 ;bmp
|
||||
mov eax,SF_PUT_IMAGE
|
||||
@@:
|
||||
pop esi edx ecx
|
||||
|
||||
cmp eax,7
|
||||
cmp eax,SF_PUT_IMAGE
|
||||
jne @f ;êíîïêà íå âëåçëà â îêíî
|
||||
mov ebx,[bmp_icon]
|
||||
bt ecx,30 ;if (ecx & 0x40000000)
|
||||
|
@ -20,7 +20,7 @@ end if
|
||||
align 4
|
||||
prop_start:
|
||||
pushad
|
||||
mcall 40,0xC0000027 ;¬ ᪠®¦¨¤ ¥¬ëå ᮡë⨩
|
||||
mcall SF_SET_EVENTS_MASK,0xC0000027 ;¬ ᪠®¦¨¤ ¥¬ëå ᮡë⨩
|
||||
inc byte[wnd_k_words_run]
|
||||
|
||||
; áâனª ᯨ᪠®¡ê¥ªâ®¢
|
||||
@ -41,10 +41,8 @@ popad
|
||||
align 4
|
||||
prop_red_win:
|
||||
pushad
|
||||
mcall 12,1
|
||||
mcall SF_REDRAW,SSF_BEGIN_DRAW
|
||||
|
||||
xor eax,eax
|
||||
mov edi,txt_caption
|
||||
mov bx,word[procinfo.box.left]
|
||||
add bx,5 ;word[buf_0.l]
|
||||
shl ebx,16
|
||||
@ -53,43 +51,31 @@ pushad
|
||||
add cx,42 ;word[buf_0.t]
|
||||
shl ecx,16
|
||||
mov cx,250
|
||||
mov edx,0xffffd0
|
||||
or edx,0x33000000
|
||||
int 0x40
|
||||
|
||||
mov eax,8
|
||||
mov ebx,(5 shl 16)+19
|
||||
mov ecx,(5 shl 16)+19
|
||||
mov edx,3
|
||||
mov esi,[sc.work_button]
|
||||
int 0x40
|
||||
mcall SF_CREATE_WINDOW,,,0x33ffffd0,,txt_caption
|
||||
|
||||
mcall SF_DEFINE_BUTTON,(5 shl 16)+19,(5 shl 16)+19,3,[sc.work_button]
|
||||
add ebx,(25 shl 16)
|
||||
mov edx,4
|
||||
int 0x40
|
||||
mcall ,,,4
|
||||
|
||||
mov eax,7
|
||||
mov ebx,[bmp_icon]
|
||||
add ebx,7*IMAGE_TOOLBAR_ICON_SIZE
|
||||
mov ecx,(20 shl 16)+20
|
||||
mov edx,(5 shl 16)+5 ; ©â¨
|
||||
int 0x40
|
||||
mcall SF_PUT_IMAGE,,(20 shl 16)+20,(5 shl 16)+5 ; ©â¨
|
||||
|
||||
sub ebx,2*IMAGE_TOOLBAR_ICON_SIZE
|
||||
mov edx,(30 shl 16)+5 ;ª®¯¨à®¢ âì
|
||||
int 0x40
|
||||
|
||||
mov dword[w_scr_t3.all_redraw],1
|
||||
stdcall [scrollbar_ver_draw],dword w_scr_t3
|
||||
stdcall [scrollbar_ver_draw], w_scr_t3
|
||||
stdcall [tl_draw], tree3
|
||||
stdcall [edit_box_draw], edit3
|
||||
mcall 12,2
|
||||
mcall SF_REDRAW,SSF_END_DRAW
|
||||
popad
|
||||
|
||||
;¥ ®âàë¢ âì íâã äãªæ¨î ®â ¯à¥¤ë¤ã饩
|
||||
align 4
|
||||
prop_still:
|
||||
mcall 10
|
||||
mcall SF_WAIT_EVENT
|
||||
|
||||
cmp al,1 ;¨§¬. ¯®«®¦¥¨¥ ®ª
|
||||
jz prop_red_win
|
||||
@ -111,12 +97,12 @@ prop_still:
|
||||
mov dword[tree3.data_img_sys],0 ;â. ª. ®¨ ¥é¥ ¨á¯®«ì§ãîâìáï ¢ ¤à㣨å í«¥¬¥â å
|
||||
stdcall dword[tl_data_clear], tree3
|
||||
mov byte[wnd_k_words_run],0 ;®¡ã«ï¥¬ áç¥â稪 ®ª®
|
||||
mcall -1 ;§ ªàë⨥ ®ª ¯®¨áª
|
||||
mcall SF_TERMINATE_PROCESS
|
||||
|
||||
align 4
|
||||
prop_key:
|
||||
push eax
|
||||
mcall 2
|
||||
mcall SF_GET_KEY
|
||||
stdcall [edit_box_key], edit3
|
||||
stdcall [tl_key], tree3
|
||||
pop eax
|
||||
@ -133,7 +119,7 @@ prop_mouse:
|
||||
align 4
|
||||
prop_button:
|
||||
pushad
|
||||
mcall 17 ;¯®«ãç¨âì ª®¤ ¦ ⮩ ª®¯ª¨
|
||||
mcall SF_GET_BUTTON
|
||||
|
||||
cmp ah,1
|
||||
je prop_still.exit
|
||||
@ -153,14 +139,23 @@ prop_button:
|
||||
stdcall str_instr, ebx,[edit3.text]
|
||||
test al,al
|
||||
jnz .end_add
|
||||
stdcall dword[tl_node_add], tree3, (0 shl 16), ebx
|
||||
;ª«î祢®¥ á«®¢®
|
||||
stdcall dword[tl_node_add], tree3, (1 shl 16), ebx
|
||||
stdcall dword[tl_cur_next], tree3
|
||||
mov edx,[ebx+MAX_COLOR_WORD_LEN]
|
||||
or edx,edx
|
||||
jz .end_add
|
||||
;á¯à ¢ª ¯® ª«î祢®¬ã á«®¢ã
|
||||
add edx,ted_help_text_f1
|
||||
stdcall dword[tl_node_add], tree3, 1, edx
|
||||
stdcall dword[tl_cur_next], tree3
|
||||
.end_add:
|
||||
add ebx,MAX_COLOR_WORD_LEN+8 ;sizeof.TexColViv
|
||||
loop .cycle_0
|
||||
|
||||
stdcall dword[tl_cur_beg], tree3
|
||||
stdcall dword[tl_draw], tree3
|
||||
jmp .no_select_0
|
||||
@@:
|
||||
cmp ah,4
|
||||
jne @f
|
||||
@ -178,7 +173,7 @@ prop_button:
|
||||
mov ecx,MAX_COLOR_WORD_LEN
|
||||
cld
|
||||
rep movsb
|
||||
mcall 54,2,12+MAX_COLOR_WORD_LEN,[tedit0.buffer]
|
||||
mcall SF_CLIPBOARD,SSF_WRITE_CB,12+MAX_COLOR_WORD_LEN,[tedit0.buffer]
|
||||
.no_select_0:
|
||||
@@:
|
||||
|
||||
@ -187,10 +182,8 @@ prop_button:
|
||||
|
||||
;¤¥à¥¢® á ®¡ê¥ªâ ¬¨ ¢ ¯®«ì§®¢ ⥫ì᪮¬ ä ©«¥
|
||||
align 4
|
||||
tree3 tree_list MAX_COLOR_WORD_LEN,3,\
|
||||
tl_key_no_edit+tl_list_box_mode,\
|
||||
16,16, 0x8080ff,0x0000ff,0xffffff, 5,30,300,160, 16, 0,0, el_focus,\
|
||||
w_scr_t3,0
|
||||
tree3 tree_list MAX_COLOR_WORD_LEN,3,tl_key_no_edit,\
|
||||
16,16, 0x8080ff,0x0000ff,0xffffff, 5,30,300,160, 16, 0,0, el_focus, w_scr_t3,0
|
||||
|
||||
align 4
|
||||
edit3 edit_box 80, 70, 8, 0xffffff, 0xff, 0x80ff, 0, 0x8000, MAX_COLOR_WORD_LEN+2, string1, mouse_dd, 0
|
||||
|
Loading…
Reference in New Issue
Block a user