1,4 → 1,3 |
|
;POP_WIDTH = (popup_text.max_title+popup_text.max_accel+6)*6 |
POP_IHEIGHT = 16 |
;POP_HEIGHT = popup_text.cnt_item*POP_IHEIGHT+popup_text.cnt_sep*4+4 |
45,7 → 44,7 |
cmp eax,7 |
jne still_popup |
|
mov ebp,[POPUP_STACK] |
mov ebp,[POPUP_STACK];-32+12+4] |
mov dword[POPUP_STACK-32+4],8 |
movzx ebx,[ebp+POPUP.x] |
movzx ecx,[ebp+POPUP.y] |
52,6 → 51,7 |
movzx edx,[ebp+POPUP.width] |
movzx esi,[ebp+POPUP.height] |
mcall 67 |
; call draw_popup_wnd |
jmp still_popup |
|
mouse_popup: |
75,7 → 75,7 |
jz still_popup |
mov ebx,[ebp+POPUP.actions] |
mov [just_from_popup],1 |
call dword[ebx+eax*4-4] |
call dword[ebx+eax*4-4];dword[popup_text.actions+eax*4-4] |
inc [just_from_popup] |
jmp close_popup |
|
98,12 → 98,18 |
close_popup: |
mcall 18,3,[p_info.PID] |
mov [popup_active],0 |
mov [mi_cur],0 |
mcall -1 |
|
func draw_popup_wnd |
mcall 12,1 |
|
; mcall 48,3,sc,sizeof.system_colors |
; call calc_3d_colors |
|
; mov ebx,[p_pos] |
; mov ecx,[p_pos-2] |
; mov bx,POP_WIDTH |
; mov cx,POP_HEIGHT |
mov ebx,dword[ebp+POPUP.x-2] |
mov bx,[ebp+POPUP.width] |
mov ecx,dword[ebp+POPUP.y-2] |
112,14 → 118,20 |
|
movzx ebx,bx |
movzx ecx,cx |
pushd 0 0 ebx ecx |
pushd 0 0 ebx ecx ;POP_WIDTH POP_HEIGHT |
call draw_3d_panel |
|
mov [pi_sel],0 |
; mcall 37,1 |
; movsx ebx,ax |
; sar eax,16 |
; mov [c_pos.x],eax |
; mov [c_pos.y],ebx |
|
mov eax,4 |
mpack ebx,3*6,3 |
mov ecx,[sc.work_text] |
mov edx,[ebp+POPUP.data] |
mov edx,[ebp+POPUP.data];popup_text.data |
@@: inc [pi_sel] |
inc edx |
movzx esi,byte[edx-1] |
131,10 → 143,11 |
mov cx,bx |
movzx ebx,[ebp+POPUP.width] |
add ebx,0x00010000-1 |
; mpack ebx,1,POP_WIDTH-1 |
add ecx,0x00010001 |
mcall 38,,,[cl_3d_inset] |
mcall 38,,,[cl_3d_inset];0x006382BF;[sc.work_text] |
add ecx,0x00010001 |
mcall ,,,[cl_3d_outset] |
mcall ,,,[cl_3d_outset];0x00FFFFFF |
popad |
add ebx,4 |
jmp .lp2 |
141,7 → 154,7 |
.lp1: mov edi,[pi_sel] |
cmp edi,[pi_cur] |
jne .lp3 |
test byte[ebp+edi-1],0x01 |
test byte[ebp+edi-1],0x01 ; byte[popup_text+edi-1],0x01 |
jz .lp3 |
pushad |
movzx ecx,bx |
149,14 → 162,15 |
mov cl,POP_IHEIGHT-1 |
movzx ebx,[ebp+POPUP.width] |
add ebx,0x00010000-1 |
mcall 13,,,[cl_3d_pushed] |
; mpack ebx,1,POP_WIDTH-1 |
mcall 13,,,[cl_3d_pushed];0x00A3B8CC |
rol ecx,16 |
mov ax,cx |
rol ecx,16 |
mov cx,ax |
mcall 38,,,[cl_3d_inset] |
mcall 38,,,[cl_3d_inset];0x006382BF |
add ecx,(POP_IHEIGHT-1)*65536+POP_IHEIGHT-1 |
mcall ,,,[cl_3d_outset] |
mcall ,,,[cl_3d_outset];0x00FFFFFF |
popad |
.lp3: add ebx,(POP_IHEIGHT-7)/2 |
|
171,8 → 185,8 |
call draw_check |
.lp8: popad |
|
mov ecx,[sc.work_text] |
test byte[ebp+edi-1],0x01 |
mov ecx,[sc.work_text];0x00000000 |
test byte[ebp+edi-1],0x01 ; byte[popup_text+edi-1],0x01 |
jnz .lp5 |
add ebx,0x00010001 |
mov ecx,[cl_3d_outset] |
179,16 → 193,17 |
mcall |
sub ebx,0x00010001 |
mov ecx,[cl_3d_inset] |
;mov ecx,[sc.grab_text];0x007F7F7F |
.lp5: mcall |
push ebx |
add edx,esi |
inc edx |
movzx esi,byte[edx-1] |
add ebx,[ebp+POPUP.acc_ofs] |
add ebx,[ebp+POPUP.acc_ofs] ; ((popup_text.max_title+2)*6-1)*65536 |
cmp edi,[pi_cur] |
je .lp4 |
mov ecx,[cl_3d_inset] |
.lp4: test byte[ebp+edi-1],0x01 |
mov ecx,[cl_3d_inset];0x006382BF |
.lp4: test byte[ebp+edi-1],0x01 ; byte[popup_text+edi-1],0x01 |
jnz .lp6 |
add ebx,0x00010001 |
mov ecx,[cl_3d_outset] |
195,6 → 210,7 |
mcall |
sub ebx,0x00010001 |
mov ecx,[cl_3d_inset] |
;mov ecx,[sc.grab_text];0x007F7F7F |
.lp6: mcall |
pop ebx |
add ebx,POP_IHEIGHT-(POP_IHEIGHT-7)/2 |
255,7 → 271,7 |
.recode: |
ret |
.options: |
;mov word[mm.Options+0],0 |
mov word[mm.Options+0],0 |
mov byte[mm.Options+5],0 |
or byte[mm.Options+2],0x02 |
test [options],OPTS_SECURESEL |