Tinypad 4.0.4 (final release)
git-svn-id: svn://kolibrios.org@297 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -80,9 +80,9 @@ finddlg_handler:
|
||||
mov eax,[p_info.client_box.width]
|
||||
sub eax,6*(s_2find.size+2)+1
|
||||
add eax,6*(s_2find.size+2)*65536
|
||||
mov dword[tbox.x],eax
|
||||
mov dword[tbox.width],eax
|
||||
add ecx,-18*65536+1
|
||||
mov dword[tbox.y],ecx
|
||||
mov dword[tbox.height],ecx
|
||||
call textbox.draw
|
||||
|
||||
pop ecx
|
||||
@@ -93,9 +93,9 @@ finddlg_handler:
|
||||
mov eax,[p_info.client_box.width]
|
||||
sub eax,6*(s_2replace.size+2)+1
|
||||
add eax,6*(s_2replace.size+2)*65536
|
||||
mov dword[tbox.x],eax
|
||||
mov dword[tbox.width],eax
|
||||
inc ecx
|
||||
mov dword[tbox.y],ecx
|
||||
mov dword[tbox.height],ecx
|
||||
call textbox.draw
|
||||
@@:
|
||||
|
||||
@@ -164,9 +164,9 @@ osdlg_handler:
|
||||
mov eax,[p_info.client_box.width]
|
||||
sub eax,6*(s_2filename.size+1)+1
|
||||
add eax,6*(s_2filename.size+1)*65536
|
||||
mov dword[tbox.x],eax
|
||||
mov dword[tbox.width],eax
|
||||
add ecx,-18*65536+1
|
||||
mov dword[tbox.y],ecx
|
||||
mov dword[tbox.height],ecx
|
||||
call textbox.draw
|
||||
|
||||
ret
|
||||
@@ -220,11 +220,16 @@ gotodlg_handler:
|
||||
mov eax,[p_info.box.width]
|
||||
sub eax,6*(s_2filename.size+3)
|
||||
add eax,6*(s_2filename.size+2)*65536
|
||||
mov dword[tbox.x],eax
|
||||
mov dword[tbox.width],eax
|
||||
add ecx,-18*65536+1
|
||||
mov dword[tbox.y],ecx
|
||||
mov dword[tbox.height],ecx
|
||||
call textbox.draw
|
||||
|
||||
sub ebx,(6*(s_2cancel.size+2)+3)*65536
|
||||
mov bx,6*(s_2cancel.size+2)
|
||||
push 20010 s_2cancel s_2cancel.size
|
||||
call define_3d_button
|
||||
|
||||
ret
|
||||
|
||||
.key:
|
||||
@@ -237,6 +242,332 @@ gotodlg_handler:
|
||||
call textbox.key
|
||||
ret
|
||||
|
||||
cur_part dd ?
|
||||
cur_color dd ?
|
||||
cur_colors rd 10
|
||||
|
||||
optsdlg_handler:
|
||||
cmp al,1
|
||||
je .draw
|
||||
cmp al,2
|
||||
je .key
|
||||
cmp al,3
|
||||
je botdlg.button
|
||||
cmp al,4
|
||||
je .mouse
|
||||
ret
|
||||
|
||||
.xchg_colors:
|
||||
mov ecx,10
|
||||
mov esi,color_tbl
|
||||
mov edi,cur_colors
|
||||
@@: lodsd
|
||||
xchg eax,[edi]
|
||||
mov [esi-4],eax
|
||||
add edi,4
|
||||
loop @b
|
||||
ret
|
||||
|
||||
.draw:
|
||||
call .draw_editor
|
||||
|
||||
mov ecx,[bot_ofs-2]
|
||||
mov cx,word[bot_ofs]
|
||||
push ecx
|
||||
add ecx,128
|
||||
mcall 38,<2+3+165,2+3+165>,,[cl_3d_inset]
|
||||
mov bx,word[p_info.client_box.width]
|
||||
pop ecx
|
||||
add ecx,35*65536+35
|
||||
mcall
|
||||
add ecx,0x00240024
|
||||
mcall
|
||||
|
||||
shr ecx,16
|
||||
mov bx,cx
|
||||
add ebx,38*65536-21
|
||||
mcall 4,,[sc.work_text],s_tabpos,s_tabpos.size
|
||||
|
||||
call .draw_tabpos
|
||||
|
||||
mov ebx,[bot_ofs]
|
||||
add ebx,(2+6+165+35)*65536+5+16
|
||||
mcall 4,,[sc.work_text],s_color,s_color.size
|
||||
|
||||
mov dword[tb_color.width],(2+6+6*s_color.size+165+35)*65536+(6*6+8)
|
||||
mov eax,ebx
|
||||
add ax,-3
|
||||
shl eax,16
|
||||
mov ax,14
|
||||
mov dword[tb_color.height],eax
|
||||
|
||||
call .draw_color
|
||||
|
||||
mov ebx,[p_info.client_box.width]
|
||||
shl ebx,16
|
||||
mov ecx,[p_info.client_box.height]
|
||||
shl ecx,16
|
||||
add ecx,(-34)*65536+15
|
||||
|
||||
add ebx,-(2+6*(s_2save.size+2))*65536+6*(s_2save.size+2)
|
||||
push 20004 s_2save s_2save.size
|
||||
call define_3d_button
|
||||
sub ebx,(6*(s_2cancel.size+2)+3)*65536
|
||||
mov bx,6*(s_2cancel.size+2)
|
||||
push 20001 s_2cancel s_2cancel.size
|
||||
call define_3d_button
|
||||
|
||||
ret
|
||||
|
||||
.get_color:
|
||||
movzx ecx,[tb_color.length]
|
||||
mov esi,tb_color.text
|
||||
xor eax,eax
|
||||
xor ebx,ebx
|
||||
jecxz .lp2
|
||||
.lp1: lodsb
|
||||
cmp al,'9'
|
||||
mov dl,-'0'
|
||||
jbe @f
|
||||
mov dl,-'A'+10
|
||||
@@: add al,dl
|
||||
shl ebx,4
|
||||
add bl,al
|
||||
loop .lp1
|
||||
.lp2: mov eax,[cur_part]
|
||||
mov [cur_colors+eax*4],ebx
|
||||
mov [cur_color],ebx
|
||||
jmp .draw_color.2
|
||||
|
||||
.draw_editor:
|
||||
push dword[options] [tab_bar.Current.Ptr]
|
||||
mov [options],0
|
||||
mov ebp,optsdlg_editor
|
||||
call set_cur_tab
|
||||
|
||||
call .xchg_colors
|
||||
mov [cur_editor.Bounds.Left],2
|
||||
mov [cur_editor.Bounds.Right],2+165
|
||||
mov eax,[p_info.client_box.height]
|
||||
add eax,-125-STATH
|
||||
mov [cur_editor.Bounds.Top],eax
|
||||
add eax,122
|
||||
mov [cur_editor.Bounds.Bottom],eax
|
||||
call draw_editor
|
||||
call .xchg_colors
|
||||
|
||||
pop ebp eax
|
||||
mov [options],al
|
||||
call set_cur_tab
|
||||
ret
|
||||
|
||||
.draw_tabpos:
|
||||
mov ecx,[bot_ofs-2]
|
||||
xor cx,cx
|
||||
mov ebx,(2+3+165+3)*65536+31
|
||||
add ecx,38*65536+31
|
||||
mov edx,[cl_3d_inset]
|
||||
mov esi,[sc.work]
|
||||
call draw_fillrect
|
||||
dec ebx
|
||||
dec ecx
|
||||
mcall 8,,,0x40000000+21001
|
||||
mov esi,[cl_3d_normal]
|
||||
mov al,[tab_pos]
|
||||
|
||||
TPOSH = 6
|
||||
TPOSW = 10
|
||||
|
||||
dec al
|
||||
jnz @f
|
||||
;// top
|
||||
inc ebx
|
||||
mov cx,TPOSH
|
||||
call draw_fillrect
|
||||
add ecx,2*65536-2
|
||||
jmp .lp3
|
||||
@@: dec al
|
||||
jnz @f
|
||||
;// bottom
|
||||
inc ebx
|
||||
mov cx,TPOSH
|
||||
add ecx,(31-TPOSH)*65536
|
||||
call draw_fillrect
|
||||
add ecx,-2
|
||||
jmp .lp3
|
||||
@@: dec al
|
||||
jnz @f
|
||||
;// left
|
||||
inc ecx
|
||||
mov bx,TPOSW
|
||||
call draw_fillrect
|
||||
add ebx,2*65536-2
|
||||
jmp .lp4
|
||||
@@: dec al
|
||||
jnz @f
|
||||
;// right
|
||||
inc ecx
|
||||
mov bx,TPOSW
|
||||
add ebx,(31-TPOSW)*65536
|
||||
call draw_fillrect
|
||||
add ebx,-2
|
||||
jmp .lp4
|
||||
|
||||
.lp3:
|
||||
add ebx,(2+TPOSW-2+1)*65536-31+TPOSW-2
|
||||
call draw_fillrect
|
||||
add ebx,-(TPOSW-2+1)*65536
|
||||
mov esi,[sc.work]
|
||||
call draw_fillrect
|
||||
ret
|
||||
.lp4:
|
||||
add ecx,7*65536-31+4
|
||||
call draw_fillrect
|
||||
add ecx,-5*65536
|
||||
mov esi,[sc.work]
|
||||
call draw_fillrect
|
||||
ret
|
||||
|
||||
.draw_color:
|
||||
mov ecx,[cur_part]
|
||||
mov edx,s_appearance+1
|
||||
@@: dec ecx
|
||||
js @f
|
||||
movzx eax,byte[edx-1]
|
||||
lea edx,[edx+eax+1]
|
||||
jmp @b
|
||||
@@:
|
||||
movzx esi,byte[edx-1]
|
||||
mov ebx,[bot_ofs]
|
||||
add ebx,(2+6+165+35)*65536+8
|
||||
push ebx ecx edx
|
||||
mov ecx,ebx
|
||||
shl ecx,16
|
||||
mov bx,s_appearance.maxl*6
|
||||
mov cx,10
|
||||
mcall 13,,,[cl_3d_normal]
|
||||
pop edx ecx ebx
|
||||
mcall 4,,[sc.work_text]
|
||||
|
||||
mov eax,[cur_color]
|
||||
mov edi,tb_color.text
|
||||
mov ebx,6
|
||||
mov ecx,16
|
||||
call uint2strz
|
||||
mov [tb_color.length],6
|
||||
mov [tb_color.sel.x],0
|
||||
mov [tb_color.pos.x],6
|
||||
|
||||
mov ebp,tb_color
|
||||
call textbox.draw
|
||||
|
||||
.draw_color.2:
|
||||
mov ecx,[p_info.client_box.height]
|
||||
sub ecx,[bot_dlg_height]
|
||||
add ecx,-STATH
|
||||
shl ecx,16
|
||||
add ecx,3*65536+31
|
||||
mov ebx,(2+6+165)*65536+31
|
||||
mov edx,[cl_3d_inset]
|
||||
mov esi,[cur_color]
|
||||
call draw_fillrect
|
||||
|
||||
ret
|
||||
|
||||
.key:
|
||||
cmp ebx,KEY_ESCAPE
|
||||
je btn.bot.cancel
|
||||
cmp ebx,KEY_RETURN
|
||||
je btn.bot.appearance
|
||||
cmp ebx,KEY_NUMRETURN
|
||||
je btn.bot.appearance
|
||||
|
||||
cmp ebx,KEY_BACKSPACE
|
||||
je .key.tb.2
|
||||
cmp ebx,KEY_TAB
|
||||
je .key.tb.2
|
||||
cmp bx,0x00FF
|
||||
ja .key.tb.2
|
||||
;cmp ebx,KEY_LSHIFT
|
||||
;je .key.tb.2
|
||||
;cmp ebx,KEY_RSHIFT
|
||||
;je .key.tb.2
|
||||
;cmp ebx,0x00000147
|
||||
;jb .key.exit
|
||||
;cmp ebx,0x00000153
|
||||
;jbe .key.tb.2
|
||||
|
||||
test dword[shi],KM_CTRLALT
|
||||
jnz .key.exit
|
||||
movzx eax,[chr]
|
||||
movzx eax,[eax+key0]
|
||||
or al,al
|
||||
jz .key.exit
|
||||
movzx eax,[eax+key1]
|
||||
|
||||
cmp al,'0'
|
||||
jb @f
|
||||
cmp al,'9'
|
||||
jbe .key.tb
|
||||
@@: cmp al,'A'
|
||||
jb @f
|
||||
cmp al,'F'
|
||||
jbe .key.tb
|
||||
@@: cmp al,'a'
|
||||
jb @f
|
||||
cmp al,'f'
|
||||
jbe .key.tb
|
||||
@@: ret
|
||||
.key.tb:
|
||||
cmp [tb_color.length],6
|
||||
jb @f
|
||||
mov al,[tb_color.sel.x]
|
||||
cmp al,[tb_color.pos.x]
|
||||
jne @f
|
||||
ret
|
||||
.key.tb.2:
|
||||
@@: call textbox.key
|
||||
call .get_color
|
||||
call .draw_editor
|
||||
.key.exit:
|
||||
ret
|
||||
|
||||
.mouse:
|
||||
cmp ah,MEV_LDOWN
|
||||
jne .mouse.exit
|
||||
mcall 37,1
|
||||
movsx ebx,ax
|
||||
sar eax,16
|
||||
cmp eax,[optsdlg_editor+EDITOR.Bounds.Right]
|
||||
jg .mouse.exit
|
||||
cmp ebx,[optsdlg_editor+EDITOR.Bounds.Bottom]
|
||||
jg .mouse.exit
|
||||
sub eax,[optsdlg_editor+EDITOR.Bounds.Left]
|
||||
js .mouse.exit
|
||||
sub ebx,[optsdlg_editor+EDITOR.Bounds.Top]
|
||||
js .mouse.exit
|
||||
mov esi,optsdlg_editor_parts-5
|
||||
@@: add esi,5
|
||||
cmp byte[esi+0],-1
|
||||
je .mouse.exit
|
||||
cmp al,byte[esi+1]
|
||||
jb @b
|
||||
cmp bl,byte[esi+2]
|
||||
jb @b
|
||||
cmp al,byte[esi+3]
|
||||
ja @b
|
||||
cmp bl,byte[esi+4]
|
||||
ja @b
|
||||
movzx ebp,byte[esi+0]
|
||||
mov [cur_part],ebp
|
||||
m2m [cur_color],[cur_colors+ebp*4]
|
||||
;mcall 13,<200,30>,<250,30>,[color_tbl+ebp*4]
|
||||
;call .draw_color
|
||||
call .draw
|
||||
|
||||
.mouse.exit:
|
||||
ret
|
||||
|
||||
botdlg.button:
|
||||
mov esi,accel_table2_botdlg
|
||||
.acc: cmp ebx,[esi]
|
||||
@@ -262,7 +593,7 @@ botdlg.button:
|
||||
call save_file
|
||||
jnc @f
|
||||
jmp .lp2
|
||||
.lp1: call btn.load_file
|
||||
.lp1: call load_file
|
||||
jnc @f
|
||||
.lp2:
|
||||
ret
|
||||
@@ -285,18 +616,12 @@ botdlg.button:
|
||||
je @f
|
||||
call search
|
||||
jnc .found
|
||||
call check_inv_all
|
||||
call editor_check_for_changes
|
||||
ret
|
||||
|
||||
.found:
|
||||
;---------------------------------------
|
||||
push [copy_size] [copy_count] [copy_buf]
|
||||
|
||||
; mov esi,0 ;! AREA_CBUF
|
||||
; mov edi,0 ;! AREA_CBUF-304
|
||||
; mov ecx,300/4
|
||||
; rep movsd
|
||||
|
||||
movzx eax,[tb_replace.length]
|
||||
add eax,10
|
||||
call mem.Alloc
|
||||
@@ -304,7 +629,7 @@ botdlg.button:
|
||||
|
||||
movzx eax,[tb_replace.length]
|
||||
mov esi,tb_replace.text
|
||||
mov edi,[copy_buf] ;! AREA_CBUF
|
||||
mov edi,[copy_buf]
|
||||
stosd
|
||||
mov ecx,eax
|
||||
jecxz .lp1
|
||||
@@ -313,27 +638,41 @@ botdlg.button:
|
||||
mov [copy_size],eax
|
||||
mov [copy_count],1
|
||||
|
||||
push [cur_editor.SelStart.X] ;! [sel.x]
|
||||
push [cur_editor.SelStart.X]
|
||||
mov ebp,cur_editor
|
||||
call init_sel_vars
|
||||
call key.ctrl_v
|
||||
pop [cur_editor.SelStart.X] ;! [sel.x]
|
||||
pop [cur_editor.SelStart.X]
|
||||
|
||||
mov eax,[copy_buf]
|
||||
call mem.Free
|
||||
|
||||
; mov esi,0 ;! AREA_CBUF-304
|
||||
; mov edi,0 ;! AREA_CBUF
|
||||
; mov ecx,300/4
|
||||
; rep movsd
|
||||
|
||||
pop [copy_buf] [copy_count] [copy_size]
|
||||
;---------------------------------------
|
||||
|
||||
call check_inv_all
|
||||
call editor_check_for_changes
|
||||
ret
|
||||
@@: xor eax,eax
|
||||
mov [bot_mode],al
|
||||
mov [bot_dlg_height],eax
|
||||
call btn.search
|
||||
call key.f3
|
||||
call drawwindow
|
||||
ret
|
||||
|
||||
btn.bot.appearance:
|
||||
@@: xor eax,eax
|
||||
mov [bot_mode],al
|
||||
mov [bot_dlg_height],eax
|
||||
call optsdlg_handler.xchg_colors
|
||||
mov al,[tab_pos]
|
||||
mov [tab_bar.Style],al
|
||||
call drawwindow
|
||||
ret
|
||||
|
||||
tabpos_round db 4,3,1,2
|
||||
|
||||
btn.bot.tabpos:
|
||||
movzx eax,[tab_pos]
|
||||
mov al,[tabpos_round+eax-1]
|
||||
mov [tab_pos],al
|
||||
@@: call optsdlg_handler.draw_tabpos
|
||||
ret
|
||||
|
Reference in New Issue
Block a user