84,6 → 84,8 |
call .check_offset ;¢ëç¨á«¥¨¥ ¯®§¨æ¨¨ ªãàá®à áâ ¡¨«ì |
;--- à¨á㥬 ¢ãâà¥îî ®¡« áâì --- |
call .draw_bg ; à¨á®¢ âì ¯àאַ㣮«ì¨ª à ¡®ç¥© ®¡« á⨠|
;---- à¨á㥬 ¢ë¤¥«¥¨¥, ¯® shift ¥á«¨ ¥áâì |
call .draw_shift |
.draw_cursor_text: |
;--- à¨á㥬 ªãàá®à --- |
;--- ¬®¦¥â ¥£® ¥ ¤® à¨á®¢ âì ---- |
95,6 → 97,18 |
popa |
ret |
;---------------------------------------------------------- |
;--- ¯à®æ¥¤ãà ¯à®à¨á®¢ª¨ ¢ë¤¥«¥®© ç á⨠----------------- |
;---------------------------------------------------------- |
.draw_shift: |
test word ed_flags,ed_shift_bac ;ãáâ ®¢ª ä« £ , ¢ë¤¥«¥®© ®¡« á⨠|
jz @f |
mov ebp,shift_color |
mov ebx,dword ed_shift_pos |
call .sh_cl_ |
@@: ret |
|
|
;---------------------------------------------------------- |
;--- ¯à®æ¥¤ãà ¯à®à¨á®¢ª¨ ⥪áâ -------------------------- |
;---------------------------------------------------------- |
.draw_text: |
549,7 → 563,6 |
;¤«ï ®¡à ¡®âª¨ áïâ¨ï ¢ë¤¥«¥¨ï |
;¢å®¤ë¥ ¯ à ¬¥âàë ebp=color ebx=ed_shift_pos |
mov eax,dword ed_pos |
; mov ebx,dword ed_shift_pos |
cmp eax,ebx |
jae .sh_n |
push eax ;¬¥ì襥 ¢ eax |
640,7 → 653,6 |
mov eax,dword ed_pos |
test word ed_flags,ed_left_fl |
jz .low |
;dec eax |
@@: call .draw_rectangle ; à¨á®¢ âì ¯àאַ㣮«ì¨ª § ªà 訢 ¥¬®© ®¡« á⨠|
ret |
.low: dec eax |
696,7 → 708,7 |
.sh_ext_en: |
call .check_offset |
test word ed_flags,ed_offset_fl |
jne @f |
je @f |
;¨á®¢ ¨¥ § ªà è¥ëå ¯àאַ㣮«ì¨ª®¢ ¨ ®ç¨á⪠¨å |
mov eax,dword ed_shift_pos |
mov ebx,dword ed_pos |
733,7 → 745,7 |
call .sh_cl_ |
|
@@: test word ed_flags,ed_shift |
je .sh_exit_ ; à¨á®¢ âì § ªà è¥ë© ¯àאַ㣮«ì¨ª (®¡« áâì) |
je .sh_exit_ ;¢ë©â¨ |
mov ebp,shift_color |
mov ebx,dword ed_shift_pos |
call .sh_cl_ |
824,7 → 836,6 |
pop eax ;ed_pos |
mov ecx,ed_offset |
sub eax,ecx |
|
.nxt: |
mov ebp,eax ;¯à®¢¥àª ¢ë室 § ªà 訢 ¥¬®© ®¡« á⨠§ ¯à¥¤¥«ë ¤«¨ë |
add ebp,ebx |
926,8 → 937,31 |
jna @f |
mov ax,ed_size |
@@: |
test word ed_flags,ed_shift_bac |
je @f |
mov ebp,dword ed_color |
mov ebx,dword ed_shift_pos |
push eax |
call .sh_cl_ |
and word ed_flags,ed_shift_cl |
pop eax |
|
@@: |
test word ed_flags,ed_shift |
je @f |
mov ebx,ed_pos |
mov ed_shift_pos,ebx |
|
mov ed_pos,eax |
mov ebp,dword shift_color |
|
call .sh_cl_ |
or word ed_flags,ed_shift_bac ;ãáâ ®¢¨¬ ¡¨â çâ® ¬ë ¢ë¤¥«¨«¨ |
and word ed_flags,ed_shift_off |
jmp .m_sh |
@@: |
mov ed_pos,ax |
call .check_offset |
.m_sh: call .draw_text |
call .draw_cursor |
;---------------------------------------------------------- |
;--- ¯à®æ¥¤ãà ãáâ ®¢ª¨ 䮪ãá --------------------------- |
941,6 → 975,7 |
jne @f |
btr word ed_flags,1 ; ¥á«¨ ¥ ¢ 䮪ãá¥, ¢ë室¨¬ |
jnc @f |
|
mov ebp,ed_color |
call .clear_cursor |
.drc: call .draw_border |
1032,6 → 1067,28 |
.shift_old dd 0 |
} |
|
struc edit_box1 width,left,top,color,focus_border_color,\ |
blur_border_color,text_color,max,text,flags,ed_size |
{ |
.width dd width |
.left dd left |
.top dd top |
.color dd color |
.focus_border_color dd focus_border_color |
.blur_border_color dd blur_border_color |
.text_color dd text_color |
.max dd max |
.text dd text |
.flags dw flags+0 |
.size dd ed_size |
.pos dd 0 |
.offset dd 0 |
.cl_curs_x dd 0 |
.cl_curs_y dd 0 |
.shift dd 0 |
.shift_old dd 0 |
} |
|
macro edit_boxes_set_sys_color start,end,color_table |
{ |
mov edi,start |