80,9 → 80,9 |
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 |
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 |
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 |
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 |
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 |
call save_file |
jnc @f |
jmp .lp2 |
.lp1: call btn.load_file |
.lp1: call load_file |
jnc @f |
.lp2: |
ret |
285,18 → 616,12 |
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 |
|
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 |
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 |