Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 296 → Rev 297

/programs/develop/tinypad/trunk/tp-tbox.asm
1,15 → 1,3
struct TBOX
x dw ?
width dw ?
y dw ?
height dw ?
sel.x db ?
pos.x db ?
ofs.x db ?
length db ?
text rb 255
ends
 
virtual at ebp
tbox TBOX
end virtual
20,7 → 8,7
 
func textbox.get_width
push ebx edx
movzx eax,[tbox.width-2]
movzx eax,[tbox.width]
add eax,-6
xor edx,edx
mov ebx,6
84,7 → 72,7
@@: mov [tb.pos.x],al
mov [tb.sel.x],ah
 
mcall 13,dword[tbox.x],dword[tbox.y],[color_tbl+4*5];[sc.work]
mcall 13,dword[tbox.width],dword[tbox.height],[color_tbl.back]
mov edx,[cl_3d_inset]
call draw_framerect
 
94,15 → 82,14
 
cmp ebp,[focused_tb]
je @f
mov ebx,dword[tbox.x]
mov bx,[tbox.y+2]
movzx eax,[tbox.height-2]
mov ebx,dword[tbox.x-2]
mov bx,[tbox.y]
movzx eax,[tbox.height]
shr eax,1
add eax,4*65536-4
add ebx,eax
lea edx,[tbox.text]
; movzx esi,[tbox.length]
mcall 4,,[color_tbl+4*0];[sc.work_text]
mcall 4,,[color_tbl.text]
ret
 
@@: movzx eax,[tb.pos.x]
123,26 → 110,25
mov eax,ecx
.lp2: imul eax,6
imul ebx,6
movzx ecx,[tbox.x+2]
movzx ecx,[tbox.x]
add ecx,3
; sub eax,ebx
add ebx,ecx
shl ebx,16
add ebx,eax
movzx ecx,[tbox.height-2]
movzx ecx,[tbox.height]
shr ecx,1
add cx,[tbox.y+2]
add cx,[tbox.y]
shl ecx,16
add ecx,-5*65536+10
mcall 13,,,[color_tbl+4*7];0x0000007F
mcall 13,,,[color_tbl.back.sel]
 
mov esi,[esp]
lea edx,[tbox.text]
movzx eax,[tbox.ofs.x]
add edx,eax
mov ebx,dword[tbox.x]
mov bx,[tbox.y+2]
movzx eax,[tbox.height-2]
mov ebx,dword[tbox.x-2]
mov bx,[tbox.y]
movzx eax,[tbox.height]
shr eax,1
add eax,4*65536-4
add ebx,eax
149,7 → 135,7
mov eax,4
or esi,esi
jz .lp3
mcall ,,[color_tbl+4*0];[sc.work_text]
mcall ,,[color_tbl.text]
.lp3: sub edi,esi
jnz .lp4
add esp,8
164,7 → 150,7
jbe .lp5
mov esi,edi
.lp5:
mcall ,,[color_tbl+4*6];0x00FFFFFF
mcall ,,[color_tbl.text.sel]
sub edi,esi
jz .exit
add edx,esi
171,17 → 157,15
imul esi,6*65536
add ebx,esi
lea ecx,[tbox.text]
; sub ecx,edx
; add edi,ecx
mcall ,,[color_tbl+4*0],,edi;[sc.work_text],,edi
mcall ,,[color_tbl.text],,edi
jmp .exit
 
@@: lea edx,[tbox.text]
movzx eax,[tbox.ofs.x]
add edx,eax
mov ebx,dword[tbox.x]
mov bx,[tbox.y+2]
movzx eax,[tbox.height-2]
mov ebx,dword[tbox.x-2]
mov bx,[tbox.y]
movzx eax,[tbox.height]
shr eax,1
add eax,4*65536-4
add ebx,eax
188,7 → 172,7
movzx eax,[tbox.ofs.x]
call textbox.get_width
mov esi,eax
mcall 4,,[color_tbl+4*0];[sc.work_text]
mcall 4,,[color_tbl.text]
 
.exit:
movzx ebx,[tbox.pos.x]
195,15 → 179,15
movzx eax,[tbox.ofs.x]
sub ebx,eax
imul ebx,6
movzx eax,[tbox.x+2]
movzx eax,[tbox.x]
add eax,3
add ebx,eax
push bx
shl ebx,16
pop bx
movzx ecx,[tbox.height-2]
movzx ecx,[tbox.height]
shr ecx,1
add cx,[tbox.y+2]
add cx,[tbox.y]
push cx
shl ecx,16
pop cx