2010-11-12 00:47:18 +03:00
|
|
|
|
;
|
|
|
|
|
; <EFBFBD> <EFBFBD>⮬ 䠩<EFBFBD><EFBFBD> ᮡ࠭<EFBFBD> <EFBFBD>㭪樨 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>騥 <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
;
|
|
|
|
|
|
2011-03-10 22:58:20 +03:00
|
|
|
|
;<EFBFBD><EFBFBD>।<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>⭮<EFBFBD><EFBFBD>⥫쭮 ᪨<EFBFBD><EFBFBD>
|
2010-11-12 00:47:18 +03:00
|
|
|
|
macro move_to_skin coord_x,coord_y
|
|
|
|
|
{
|
2011-03-10 22:58:20 +03:00
|
|
|
|
push eax
|
|
|
|
|
mov eax,[obj_m_win] ;㪠<EFBFBD><EFBFBD>⥫<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
cmp eax,0
|
|
|
|
|
je @f
|
|
|
|
|
test_bool_prop eax,BIT_MOD_WI_CORD_OTN_CL_OBL
|
|
|
|
|
;bt dword[[obj_m_win]+u_object.modif-u_object],n_prop
|
|
|
|
|
jnc @f
|
|
|
|
|
add coord_x,SKIN_W1
|
|
|
|
|
add coord_y,SKIN_H
|
|
|
|
|
@@:
|
|
|
|
|
pop eax
|
2010-11-12 00:47:18 +03:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
align 4
|
|
|
|
|
draw_constructor:
|
|
|
|
|
stdcall [buf2d_clear], buf_fon,0xffffff
|
|
|
|
|
|
|
|
|
|
pushad
|
|
|
|
|
cmp [err_ini1],1
|
|
|
|
|
jne @f
|
|
|
|
|
stdcall [buf2d_draw_text], buf_fon, buf_font,txtErrIni1,10,10,\
|
|
|
|
|
0xff0000 ;<EFBFBD><EFBFBD><EFBFBD>㥬 <EFBFBD><EFBFBD>ப<EFBFBD> <EFBFBD> ⥪<EFBFBD>⮬
|
|
|
|
|
stdcall [buf2d_draw_text], buf_fon, buf_font,fp_obj_opt,10,20,\
|
|
|
|
|
0xff0000 ;<EFBFBD><EFBFBD><EFBFBD>㥬 <EFBFBD><EFBFBD>ப<EFBFBD> <EFBFBD> ⥪<EFBFBD>⮬
|
|
|
|
|
jmp .end_draw
|
|
|
|
|
@@:
|
|
|
|
|
|
2010-12-13 18:21:52 +03:00
|
|
|
|
mov edx,C_WND
|
2010-11-12 00:47:18 +03:00
|
|
|
|
stdcall find_obj_in_file,edx ;eax - 㪠<EFBFBD><EFBFBD>⥫<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
cmp eax,0
|
|
|
|
|
je .end_draw
|
|
|
|
|
mov dword[obj_m_win],eax
|
|
|
|
|
|
|
|
|
|
;4-width
|
|
|
|
|
stdcall get_obj_text_col,[obj_m_win],4 ;edx = offset
|
|
|
|
|
stdcall conv_str_to_int,edx
|
|
|
|
|
mov ecx,eax ;ecx=width
|
|
|
|
|
|
|
|
|
|
;5-height
|
|
|
|
|
stdcall get_obj_text_col,[obj_m_win],5 ;edx = offset
|
|
|
|
|
stdcall conv_str_to_int,edx
|
|
|
|
|
;eax=height
|
|
|
|
|
|
|
|
|
|
stdcall [buf2d_rect_by_size], buf_fon, 0,0,ecx,eax, dword[sc.frame] ;<EFBFBD><EFBFBD><EFBFBD>㥬 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠬ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
sub eax,2
|
|
|
|
|
sub ecx,2
|
|
|
|
|
stdcall [buf2d_filled_rect_by_size], buf_fon, 1,1,ecx,eax, dword[sc.grab] ;<EFBFBD><EFBFBD><EFBFBD>㥬 䮭 ࠬ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
sub eax,6
|
|
|
|
|
sub ecx,6
|
|
|
|
|
stdcall [buf2d_rect_by_size], buf_fon, 4,4,ecx,eax, dword[sc.frame] ;<EFBFBD><EFBFBD><EFBFBD>㥬 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>७<EFBFBD><EFBFBD><EFBFBD> ࠬ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
sub eax,2
|
|
|
|
|
sub ecx,2
|
|
|
|
|
stdcall [buf2d_filled_rect_by_size], buf_fon, 5,5,ecx,eax, dword[sc.work] ;<EFBFBD><EFBFBD><EFBFBD>㥬 䮭 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
;---;---;---
|
|
|
|
|
;jmp .end_skin
|
|
|
|
|
;---;---;---
|
|
|
|
|
|
|
|
|
|
stdcall get_obj_text_col,[obj_m_win],1
|
|
|
|
|
stdcall conv_str_to_int,edx ;eax = window style
|
|
|
|
|
cmp eax,3
|
|
|
|
|
jl .end_skin
|
|
|
|
|
stdcall [buf2d_bit_blt], buf_fon, 0,0, buf_skin1 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᪨<EFBFBD>
|
|
|
|
|
mov edi,buf_skin1
|
|
|
|
|
mov eax,buf2d_w ;eax - <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ᮢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>।<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᪨<EFBFBD><EFBFBD>
|
|
|
|
|
mov edi,buf_skin2
|
|
|
|
|
mov ebx,buf2d_w ;ebx - <EFBFBD><EFBFBD>ਭ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᪨<EFBFBD><EFBFBD>
|
|
|
|
|
sub ecx,ebx ;<EFBFBD>⭨<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ਭ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ਭ<EFBFBD> <EFBFBD>।<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᪨<EFBFBD><EFBFBD>
|
|
|
|
|
@@:
|
|
|
|
|
stdcall [buf2d_bit_blt], buf_fon, eax,0, buf_skin2 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><EFBFBD> <EFBFBD>।<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᪨<EFBFBD><EFBFBD>
|
|
|
|
|
add eax,ebx
|
|
|
|
|
cmp eax,ecx ;<EFBFBD>ࠢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>।<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᪨<EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD>ਭ<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
jl @b
|
|
|
|
|
|
|
|
|
|
;4-width
|
|
|
|
|
stdcall get_obj_text_col,[obj_m_win],4 ;edx = offset
|
|
|
|
|
stdcall conv_str_to_int,edx
|
|
|
|
|
mov edi,buf_skin3
|
|
|
|
|
sub eax,buf2d_w ;<EFBFBD>⭨<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ਭ<EFBFBD> <EFBFBD>ࠢ<EFBFBD><EFBFBD><EFBFBD> ᪨<EFBFBD><EFBFBD>
|
|
|
|
|
stdcall [buf2d_bit_blt], buf_fon, eax,0, buf_skin3 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><EFBFBD> <EFBFBD>ࠢ<EFBFBD><EFBFBD><EFBFBD> ᪨<EFBFBD><EFBFBD>
|
|
|
|
|
.end_skin:
|
|
|
|
|
|
2010-12-13 18:21:52 +03:00
|
|
|
|
;<EFBFBD><EFBFBD><EFBFBD>㥬 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>᪨<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
mov edx,C_BUT
|
2010-11-12 00:47:18 +03:00
|
|
|
|
stdcall draw_arr_objects, edx,draw_obj_but
|
2010-12-13 18:21:52 +03:00
|
|
|
|
mov edx,C_EDB
|
2010-11-12 00:47:18 +03:00
|
|
|
|
stdcall draw_arr_objects, edx,draw_obj_edit
|
2010-12-13 18:21:52 +03:00
|
|
|
|
mov edx,C_CHB
|
2010-11-12 00:47:18 +03:00
|
|
|
|
stdcall draw_arr_objects, edx,draw_obj_check
|
2010-12-13 18:21:52 +03:00
|
|
|
|
mov edx,C_DTT
|
2010-11-12 00:47:18 +03:00
|
|
|
|
stdcall draw_arr_objects, edx,draw_obj_text
|
2010-12-13 18:21:52 +03:00
|
|
|
|
mov edx,C_REC
|
2010-11-12 00:47:18 +03:00
|
|
|
|
stdcall draw_arr_objects, edx,draw_obj_rect_f13
|
|
|
|
|
|
|
|
|
|
.end_draw:
|
|
|
|
|
popad
|
|
|
|
|
ret
|
|
|
|
|
|
|
|
|
|
;<EFBFBD>㭪<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ᨢ<EFBFBD> <EFBFBD><EFBFBD>।<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⮢
|
|
|
|
|
align 4
|
|
|
|
|
proc draw_arr_objects, obj_t:dword,p_fun_draw:dword
|
|
|
|
|
push eax ebx
|
|
|
|
|
stdcall find_obj_in_file,[obj_t] ;eax - 㪠<EFBFBD><EFBFBD>⥫<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ꥪ<EFBFBD><EFBFBD>
|
|
|
|
|
cmp eax,0
|
|
|
|
|
je .end_draw_o
|
|
|
|
|
mov ebx,[p_fun_draw]
|
|
|
|
|
stdcall ebx,eax
|
|
|
|
|
@@:
|
|
|
|
|
stdcall find_obj_in_file_next,[obj_t] ;eax - 㪠<EFBFBD><EFBFBD>⥫<EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ꥪ<EFBFBD><EFBFBD>
|
|
|
|
|
cmp eax,0
|
|
|
|
|
je .end_draw_o
|
|
|
|
|
stdcall ebx,eax
|
|
|
|
|
jmp @b
|
|
|
|
|
.end_draw_o:
|
|
|
|
|
pop ebx eax
|
|
|
|
|
ret
|
|
|
|
|
endp
|
|
|
|
|
|
|
|
|
|
;<EFBFBD>㭪<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ꥪ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
align 4
|
|
|
|
|
proc draw_obj_but, p_obj:dword
|
|
|
|
|
locals
|
|
|
|
|
coor_x dd ?
|
|
|
|
|
coor_y dd ?
|
|
|
|
|
endl
|
|
|
|
|
pushad
|
|
|
|
|
mov ebx,dword[p_obj]
|
|
|
|
|
;1,2,3,4,5 - x,y,w,h,color
|
|
|
|
|
|
|
|
|
|
stdcall get_obj_text_col,ebx,1
|
|
|
|
|
stdcall conv_str_to_int,edx
|
|
|
|
|
mov [coor_x],eax
|
|
|
|
|
stdcall get_obj_text_col,ebx,2
|
|
|
|
|
stdcall conv_str_to_int,edx
|
|
|
|
|
mov [coor_y],eax
|
|
|
|
|
move_to_skin [coor_x],[coor_y]
|
|
|
|
|
stdcall get_obj_text_col,ebx,3
|
|
|
|
|
stdcall conv_str_to_int,edx
|
|
|
|
|
mov edi,eax
|
|
|
|
|
stdcall get_obj_text_col,ebx,4
|
|
|
|
|
stdcall conv_str_to_int,edx
|
|
|
|
|
mov ecx,eax
|
|
|
|
|
stdcall get_obj_text_col,ebx,5
|
|
|
|
|
stdcall conv_str_to_int,edx
|
2010-12-13 18:21:52 +03:00
|
|
|
|
test_bool_prop ebx,BIT_MOD_BUT_NFON
|
|
|
|
|
jc .no_draw_fon
|
|
|
|
|
stdcall [buf2d_filled_rect_by_size], buf_fon, dword[coor_x],dword[coor_y],edi,ecx,eax
|
|
|
|
|
jmp @f
|
|
|
|
|
.no_draw_fon: ;<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ뢠<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
stdcall [buf2d_rect_by_size], buf_fon, dword[coor_x],dword[coor_y],edi,ecx,eax
|
|
|
|
|
@@:
|
2010-11-12 00:47:18 +03:00
|
|
|
|
popad
|
|
|
|
|
ret
|
|
|
|
|
endp
|
|
|
|
|
|
|
|
|
|
;<EFBFBD>㭪<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ꥪ<EFBFBD> ⥪<EFBFBD>⮢<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
align 4
|
|
|
|
|
proc draw_obj_edit, p_obj:dword
|
|
|
|
|
locals
|
|
|
|
|
coor_x dd ?
|
|
|
|
|
coor_y dd ?
|
|
|
|
|
col_txt dd ? ;梥<EFBFBD> ⥪<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
endl
|
|
|
|
|
pushad
|
|
|
|
|
mov ebx,dword[p_obj]
|
|
|
|
|
;1,2,3,4,...,6,...8,...,10 - w,x,y,col_fon,...,col_frame,...,col_txt,...,txt
|
|
|
|
|
|
|
|
|
|
stdcall get_obj_text_col,ebx,2
|
|
|
|
|
stdcall conv_str_to_int,edx
|
|
|
|
|
mov [coor_x],eax
|
|
|
|
|
stdcall get_obj_text_col,ebx,3
|
|
|
|
|
stdcall conv_str_to_int,edx
|
|
|
|
|
mov [coor_y],eax
|
|
|
|
|
move_to_skin [coor_x],[coor_y]
|
|
|
|
|
stdcall get_obj_text_col,ebx,1
|
|
|
|
|
stdcall conv_str_to_int,edx
|
|
|
|
|
mov ecx,eax
|
|
|
|
|
stdcall get_obj_text_col,ebx,6
|
|
|
|
|
stdcall conv_str_to_int,edx
|
|
|
|
|
stdcall [buf2d_rect_by_size], buf_fon, dword[coor_x],dword[coor_y],\
|
|
|
|
|
ecx,15, eax
|
|
|
|
|
|
|
|
|
|
inc dword[coor_x]
|
|
|
|
|
inc dword[coor_y]
|
|
|
|
|
sub ecx,2
|
|
|
|
|
stdcall get_obj_text_col,ebx,4
|
|
|
|
|
stdcall conv_str_to_int,edx
|
|
|
|
|
stdcall [buf2d_filled_rect_by_size], buf_fon, dword[coor_x],dword[coor_y],\
|
|
|
|
|
ecx,13, eax
|
|
|
|
|
|
|
|
|
|
stdcall get_obj_text_col,ebx,8
|
|
|
|
|
stdcall conv_str_to_int,edx
|
|
|
|
|
mov [col_txt],eax
|
|
|
|
|
add [coor_x],2-1 ;ᬥ頥<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD>-<EFBFBD><EFBFBD>
|
|
|
|
|
add [coor_y],4-1 ;⥪<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
stdcall get_obj_text_col,ebx,10
|
|
|
|
|
stdcall [buf2d_draw_text], buf_fon, buf_font,edx,dword[coor_x],dword[coor_y],\
|
|
|
|
|
dword[col_txt] ;<EFBFBD><EFBFBD><EFBFBD>㥬 <EFBFBD><EFBFBD>ப<EFBFBD> <EFBFBD> ⥪<EFBFBD>⮬
|
|
|
|
|
|
|
|
|
|
popad
|
|
|
|
|
ret
|
|
|
|
|
endp
|
|
|
|
|
|
|
|
|
|
;<EFBFBD>㭪<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ꥪ<EFBFBD> 䫠<EFBFBD><EFBFBD><EFBFBD>, <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
align 4
|
|
|
|
|
proc draw_obj_check, p_obj:dword
|
|
|
|
|
locals
|
|
|
|
|
coor_x dd ?
|
|
|
|
|
coor_y dd ?
|
|
|
|
|
ot_txt dd ? ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> ⥪<EFBFBD><EFBFBD><EFBFBD>
|
2010-12-18 13:13:51 +03:00
|
|
|
|
size_w dd ? ;ࠧ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⨪<EFBFBD> w
|
|
|
|
|
size_h dd ? ;ࠧ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⨪<EFBFBD> h
|
2010-11-12 00:47:18 +03:00
|
|
|
|
col_txt dd ? ;梥<EFBFBD> ⥪<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
endl
|
|
|
|
|
pushad
|
|
|
|
|
mov ebx,dword[p_obj]
|
2010-12-18 13:13:51 +03:00
|
|
|
|
;1,2,3,4,5, 6,7,8, 9 - ot_x,ot_y,w,h,ot_w_txt, col_fon,col_frame,col_txt, txt
|
2010-11-12 00:47:18 +03:00
|
|
|
|
|
2010-12-18 13:13:51 +03:00
|
|
|
|
stdcall get_obj_text_col,ebx,1 ;ot_x
|
2010-11-12 00:47:18 +03:00
|
|
|
|
stdcall conv_str_to_int,edx
|
|
|
|
|
mov [coor_x],eax
|
2010-12-18 13:13:51 +03:00
|
|
|
|
stdcall get_obj_text_col,ebx,2 ;ot_y
|
2010-11-12 00:47:18 +03:00
|
|
|
|
stdcall conv_str_to_int,edx
|
|
|
|
|
mov [coor_y],eax
|
|
|
|
|
move_to_skin [coor_x],[coor_y]
|
2010-12-18 13:13:51 +03:00
|
|
|
|
stdcall get_obj_text_col,ebx,5 ;ot_w_txt
|
2010-11-12 00:47:18 +03:00
|
|
|
|
stdcall conv_str_to_int,edx
|
|
|
|
|
mov [ot_txt],eax
|
2010-12-18 13:13:51 +03:00
|
|
|
|
stdcall get_obj_text_col,ebx,3 ;w
|
2010-11-12 00:47:18 +03:00
|
|
|
|
stdcall conv_str_to_int,edx
|
|
|
|
|
dec eax ;ࠧ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 1 <EFBFBD><EFBFBD><EFBFBD>ᥫ<EFBFBD>
|
2010-12-18 13:13:51 +03:00
|
|
|
|
mov [size_w],eax
|
|
|
|
|
stdcall get_obj_text_col,ebx,4 ;h
|
|
|
|
|
stdcall conv_str_to_int,edx
|
|
|
|
|
dec eax ;ࠧ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 1 <EFBFBD><EFBFBD><EFBFBD>ᥫ<EFBFBD>
|
|
|
|
|
mov [size_h],eax
|
|
|
|
|
stdcall get_obj_text_col,ebx,7 ;col_frame
|
2010-11-12 00:47:18 +03:00
|
|
|
|
stdcall conv_str_to_int,edx
|
|
|
|
|
stdcall [buf2d_rect_by_size], buf_fon, dword[coor_x],dword[coor_y],\
|
2010-12-18 13:13:51 +03:00
|
|
|
|
dword[size_w],dword[size_h], eax
|
2010-11-12 00:47:18 +03:00
|
|
|
|
|
2010-12-18 13:13:51 +03:00
|
|
|
|
;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䮭<EFBFBD> checkbox-<EFBFBD>
|
2010-11-12 00:47:18 +03:00
|
|
|
|
inc dword[coor_x]
|
|
|
|
|
inc dword[coor_y]
|
2010-12-18 13:13:51 +03:00
|
|
|
|
sub dword[size_w],2
|
|
|
|
|
sub dword[size_h],2
|
|
|
|
|
stdcall get_obj_text_col,ebx,6 ;col_fon
|
2010-11-12 00:47:18 +03:00
|
|
|
|
stdcall conv_str_to_int,edx
|
|
|
|
|
stdcall [buf2d_filled_rect_by_size], buf_fon, dword[coor_x],dword[coor_y],\
|
2010-12-18 13:13:51 +03:00
|
|
|
|
dword[size_w],dword[size_h], eax
|
2010-11-12 00:47:18 +03:00
|
|
|
|
|
2010-12-18 13:13:51 +03:00
|
|
|
|
test_bool_prop ebx,BIT_MOD_CHE
|
|
|
|
|
jnc @f
|
|
|
|
|
;<EFBFBD><EFBFBD>ᮢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>⬥⪨ <EFBFBD> checkbox-<EFBFBD>
|
|
|
|
|
inc dword[coor_x]
|
|
|
|
|
inc dword[coor_y]
|
|
|
|
|
sub dword[size_w],2
|
|
|
|
|
sub dword[size_h],2
|
|
|
|
|
stdcall get_obj_text_col,ebx,7 ;col_frame
|
|
|
|
|
stdcall conv_str_to_int,edx
|
|
|
|
|
stdcall [buf2d_filled_rect_by_size], buf_fon, dword[coor_x],dword[coor_y],\
|
|
|
|
|
dword[size_w],dword[size_h], eax
|
|
|
|
|
@@:
|
|
|
|
|
|
|
|
|
|
;<EFBFBD><EFBFBD><EFBFBD>⠭<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> ࠧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
stdcall get_obj_text_col,ebx,1 ;ot_x
|
|
|
|
|
stdcall conv_str_to_int,edx
|
|
|
|
|
mov [coor_x],eax
|
|
|
|
|
stdcall get_obj_text_col,ebx,2 ;ot_y
|
|
|
|
|
stdcall conv_str_to_int,edx
|
|
|
|
|
mov [coor_y],eax
|
|
|
|
|
move_to_skin [coor_x],[coor_y]
|
|
|
|
|
stdcall get_obj_text_col,ebx,3 ;w
|
|
|
|
|
stdcall conv_str_to_int,edx
|
|
|
|
|
dec eax ;ࠧ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 1 <EFBFBD><EFBFBD><EFBFBD>ᥫ<EFBFBD>
|
|
|
|
|
mov [size_w],eax
|
|
|
|
|
stdcall get_obj_text_col,ebx,4 ;h
|
|
|
|
|
stdcall conv_str_to_int,edx
|
|
|
|
|
dec eax ;ࠧ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 1 <EFBFBD><EFBFBD><EFBFBD>ᥫ<EFBFBD>
|
|
|
|
|
mov [size_h],eax
|
|
|
|
|
|
|
|
|
|
stdcall get_obj_text_col,ebx,8 ;col_txt
|
2010-11-12 00:47:18 +03:00
|
|
|
|
stdcall conv_str_to_int,edx
|
|
|
|
|
mov [col_txt],eax
|
2010-12-18 13:13:51 +03:00
|
|
|
|
mov eax,[coor_x]
|
|
|
|
|
add eax,[size_w]
|
|
|
|
|
add eax,[ot_txt] ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>塞 <EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> ⥪<EFBFBD>⮢<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
test_bool_prop ebx,BIT_MOD_CHE_T
|
|
|
|
|
jc .end_txt_align ;if text aligment = top
|
|
|
|
|
|
|
|
|
|
test_bool_prop ebx,BIT_MOD_CHE_M
|
|
|
|
|
jnc @f
|
|
|
|
|
shl [coor_y],1 ;㬭<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 2
|
|
|
|
|
mov ecx,[size_h]
|
|
|
|
|
add [coor_y],ecx ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>塞 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> checkbox
|
|
|
|
|
sub [coor_y],9 ;<EFBFBD>⭨<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᨬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
shr [coor_y],1 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>稢襥<EFBFBD><EFBFBD> 2, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>砥<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>饣<EFBFBD> <EFBFBD><EFBFBD> 業<EFBFBD><EFBFBD><EFBFBD> ⥪<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
jmp .end_txt_align
|
|
|
|
|
@@:
|
|
|
|
|
|
|
|
|
|
test_bool_prop ebx,BIT_MOD_CHE_B
|
|
|
|
|
jnc @f
|
|
|
|
|
mov ecx,[size_h]
|
|
|
|
|
add [coor_y],ecx ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>塞 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> checkbox
|
|
|
|
|
sub [coor_y],9 ;<EFBFBD>⭨<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᨬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砥<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>饣<EFBFBD> ᭨<EFBFBD><EFBFBD> ⥪<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
@@:
|
|
|
|
|
.end_txt_align:
|
|
|
|
|
|
|
|
|
|
stdcall get_obj_text_col,ebx,9 ;txt
|
|
|
|
|
stdcall [buf2d_draw_text], buf_fon, buf_font,edx,eax,dword[coor_y],\
|
2010-11-12 00:47:18 +03:00
|
|
|
|
dword[col_txt] ;<EFBFBD><EFBFBD><EFBFBD>㥬 <EFBFBD><EFBFBD>ப<EFBFBD> <EFBFBD> ⥪<EFBFBD>⮬
|
|
|
|
|
popad
|
|
|
|
|
ret
|
|
|
|
|
endp
|
|
|
|
|
|
|
|
|
|
;<EFBFBD>㭪<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ꥪ<EFBFBD> ⥪<EFBFBD>⮢<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
align 4
|
|
|
|
|
proc draw_obj_text, p_obj:dword
|
|
|
|
|
locals
|
|
|
|
|
coor_x dd ?
|
|
|
|
|
coor_y dd ?
|
|
|
|
|
col_txt dd ? ;梥<EFBFBD> ⥪<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
endl
|
|
|
|
|
pushad
|
|
|
|
|
mov ebx,dword[p_obj]
|
|
|
|
|
;0,1,2,3,... - txt,x,y,col_txt,...
|
|
|
|
|
|
|
|
|
|
stdcall get_obj_text_col,ebx,1
|
|
|
|
|
stdcall conv_str_to_int,edx
|
|
|
|
|
mov [coor_x],eax
|
|
|
|
|
stdcall get_obj_text_col,ebx,2
|
|
|
|
|
stdcall conv_str_to_int,edx
|
|
|
|
|
mov [coor_y],eax
|
|
|
|
|
move_to_skin [coor_x],[coor_y]
|
|
|
|
|
|
|
|
|
|
stdcall get_obj_text_col,ebx,3
|
|
|
|
|
stdcall conv_str_to_int,edx
|
|
|
|
|
mov [col_txt],eax
|
|
|
|
|
|
|
|
|
|
stdcall get_obj_text_col,ebx,0
|
|
|
|
|
stdcall [buf2d_draw_text], buf_fon, buf_font,edx,dword[coor_x],dword[coor_y],\
|
|
|
|
|
dword[col_txt] ;<EFBFBD><EFBFBD><EFBFBD>㥬 <EFBFBD><EFBFBD>ப<EFBFBD> <EFBFBD> ⥪<EFBFBD>⮬
|
|
|
|
|
popad
|
|
|
|
|
ret
|
|
|
|
|
endp
|
|
|
|
|
|
|
|
|
|
;<EFBFBD>㭪<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>ꥪ<EFBFBD> <EFBFBD><EFBFBD>אַ㣮<EFBFBD>쭨<EFBFBD><EFBFBD> (<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <EFBFBD>. 13)
|
|
|
|
|
align 4
|
|
|
|
|
proc draw_obj_rect_f13, p_obj:dword
|
|
|
|
|
locals
|
|
|
|
|
coor_x dd ?
|
|
|
|
|
coor_y dd ?
|
|
|
|
|
color dd ? ;梥<EFBFBD> ⥪<EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
endl
|
|
|
|
|
pushad
|
|
|
|
|
mov ebx,dword[p_obj]
|
|
|
|
|
;0,1,2,3,4 - color,x,y,w,h
|
|
|
|
|
|
|
|
|
|
stdcall get_obj_text_col,ebx,1
|
|
|
|
|
stdcall conv_str_to_int,edx
|
|
|
|
|
mov [coor_x],eax
|
|
|
|
|
stdcall get_obj_text_col,ebx,2
|
|
|
|
|
stdcall conv_str_to_int,edx
|
|
|
|
|
mov [coor_y],eax
|
|
|
|
|
move_to_skin [coor_x],[coor_y]
|
|
|
|
|
|
|
|
|
|
stdcall get_obj_text_col,ebx,0
|
|
|
|
|
stdcall conv_str_to_int,edx
|
|
|
|
|
mov [color],eax
|
|
|
|
|
|
|
|
|
|
stdcall get_obj_text_col,ebx,3
|
|
|
|
|
stdcall conv_str_to_int,edx
|
|
|
|
|
mov ecx,eax
|
|
|
|
|
|
|
|
|
|
stdcall get_obj_text_col,ebx,4
|
|
|
|
|
stdcall conv_str_to_int,edx
|
|
|
|
|
mov esi,eax
|
|
|
|
|
|
|
|
|
|
stdcall [buf2d_filled_rect_by_size], buf_fon,\
|
|
|
|
|
dword[coor_x],dword[coor_y],ecx,esi,dword[color]
|
|
|
|
|
popad
|
|
|
|
|
ret
|
|
|
|
|
endp
|