diff --git a/programs/system/desktop/trunk/desktop.asm b/programs/system/desktop/trunk/desktop.asm index 4eca3fbfe4..6d510299fb 100644 --- a/programs/system/desktop/trunk/desktop.asm +++ b/programs/system/desktop/trunk/desktop.asm @@ -430,11 +430,27 @@ draw_colours: mov ebx,220*65536+14 mov ecx,10*65536+14 mov eax,13 + mov [frame_data.draw_text_flag],dword 0 ;-------------------------------------- newcol: mov edx,[esi] mcall - call draw_rectangle + + push ebx ecx + + sub ebx,2 shl 16 + add bx,4 + sub ecx,2 shl 16 + add cx,4 + + mov [frame_data.x],ebx + mov [frame_data.y],ecx + + push dword frame_data + call [Frame_draw] + + pop ecx ebx + add ecx,20*65536 add esi,4 cmp esi,color_table+4*9 @@ -525,27 +541,24 @@ draw_window: call draw_button_row_of_texts call draw_colours ;----------------------------------- - mov ebx,frame_1.x shl 16+frame_1.width - mov ecx,frame_1.y shl 16+frame_1.height - call draw_rectangle - -; select color DTP text - mov ecx,[w_work_text] - and ecx,0xffffff - add ecx,0x40000000 - mcall 4,,,select_dtp_text,\ - select_dtp_text.size,[w_work] -;----------------------------------- - mov ebx,frame_2.x shl 16+frame_2.width - mov ecx,frame_2.y shl 16+frame_2.height - call draw_rectangle + mov [frame_data.x],dword frame_1.x shl 16+frame_1.width + mov [frame_data.y],dword frame_1.y shl 16+frame_1.height + mov [frame_data.text_pointer],dword select_dtp_text + mov eax,[w_work] + mov [frame_data.font_backgr_color],eax + mov eax,[w_work_text] + mov [frame_data.font_color],eax + mov [frame_data.draw_text_flag],dword 1 -; select skin text - mov ecx,[w_work_text] - and ecx,0xffffff - add ecx,0x40000000 - mcall 4,,,select_skin_text,\ - select_skin_text.size,[w_work] + push dword frame_data + call [Frame_draw] +;----------------------------------- + mov [frame_data.x],dword frame_2.x shl 16+frame_2.width + mov [frame_data.y],dword frame_2.y shl 16+frame_2.height + mov [frame_data.text_pointer],dword select_skin_text + + push dword frame_data + call [Frame_draw] ;----------------------------------- call draw_PathShow ;----------------------------------- @@ -557,8 +570,6 @@ draw_window: mcall 12,2 ret ;----------------------------------------------------------------------------- -include 'drawrect.inc' -;----------------------------------------------------------------------------- include 'drawskin.inc' ;----------------------------------------------------------------------------- ; DATA AREA diff --git a/programs/system/desktop/trunk/drawrect.inc b/programs/system/desktop/trunk/drawrect.inc deleted file mode 100644 index 5e6923e5d3..0000000000 --- a/programs/system/desktop/trunk/drawrect.inc +++ /dev/null @@ -1,103 +0,0 @@ -;---------------------------------------------------------------------- -draw_rectangle: -; in -; ebx = [coordinate on axis x]*65536 + [size on axis x] -; ecx = [coordinate on axis y]*65536 + [size on axis y] - push edx eax -;-------------------------------------- -; top - push ebx ecx - mov eax,ebx - shr eax,16 - add bx,ax - - mov eax,ecx - shr eax,16 - mov cx,ax - - sub ecx,1 shl 16 +1 - sub ebx,1 shl 16 - mcall 38,,,0xffffff - - sub ecx,1 shl 16 +1 - sub ebx,1 shl 16 - inc ebx - xor edx,edx ; color black - mcall - pop ecx ebx -;-------------------------------------- -; bottom - push ebx ecx - mov eax,ebx - shr eax,16 - add bx,ax - - mov eax,ecx - shr eax,16 - add cx,ax - - mov eax,ecx - ror ecx,16 - mov cx,ax - rol ecx,16 - - sub ebx,1 shl 16 - mcall 38,,,0xffffff - - add ecx,1 shl 16 +1 - sub ebx,1 shl 16 - inc ebx - xor edx,edx - mcall - pop ecx ebx -;-------------------------------------- -; left - push ebx ecx - - mov eax,ebx - shr eax,16 - mov bx,ax - - mov eax,ecx - shr eax,16 - add cx,ax - - sub ebx,1 shl 16 +1 - sub ecx,1 shl 16 - mcall 38,,,0xffffff - - sub ebx,1 shl 16 +1 - xor edx,edx - mcall - pop ecx ebx -;-------------------------------------- -; right - push ebx ecx - - mov eax,ebx - shr eax,16 - add bx,ax - - mov eax,ebx - ror ebx,16 - mov bx,ax - rol ebx,16 - - mov eax,ecx - shr eax,16 - add cx,ax - - sub ecx,1 shl 16 - mcall 38,,,0xffffff - - add ebx,1 shl 16 +1 - sub ecx,1 shl 16 - inc ecx - xor edx,edx - mcall - pop ecx ebx -;-------------------------------------- - pop eax edx - ret -;---------------------------------------------------------------------- - \ No newline at end of file diff --git a/programs/system/desktop/trunk/idata.inc b/programs/system/desktop/trunk/idata.inc index d388d2e7b4..4af440f293 100644 --- a/programs/system/desktop/trunk/idata.inc +++ b/programs/system/desktop/trunk/idata.inc @@ -47,12 +47,14 @@ lsz select_dtp_text,\ ru, ' : ',\ en, ' CHOICE OF COLOR SCHEMES: ',\ et, ' VALIK VARVISKEEME: ' - + db 0 + lsz select_skin_text,\ ru, ' : ',\ en, ' CHOICE OF SKINS: ',\ et, ' VALIK NAHAD: ' - + db 0 + lsz caption_text,\ ru, '',\ en, 'Caption',\ @@ -161,6 +163,10 @@ Box_lib_import: PathShow_prepare dd sz_PathShow_prepare PathShow_draw dd sz_PathShow_draw ;Version_path_show dd szVersion_path_show + +Frame_draw dd sz_Frame_draw +;Version_frame dd szVersion_frame + dd 0 dd 0 @@ -203,6 +209,9 @@ PathShow_draw dd sz_PathShow_draw sz_PathShow_prepare db 'PathShow_prepare',0 sz_PathShow_draw db 'PathShow_draw',0 ;szVersion_path_show db 'version_PathShow',0 + +sz_Frame_draw db 'frame_draw',0 +;szVersion_frame db 'version_frame',0 ;--------------------------------------------------------------------- PathShow_data_1: .type dd 0 ;+0 @@ -330,4 +339,22 @@ cd_communication_area_name: colordialog_path: db '/rd/1/colrdial',0 ;--------------------------------------------------------------------- +frame_data: +.type dd 0 ;+0 +.x: +.x_size dw 0 ;+4 +.x_start dw 0 ;+6 +.y: +.y_size dw 0 ;+8 +.y_start dw 0 ;+10 +.ext_fr_col dd 0x0 ;+12 +.int_fr_col dd 0xffffff ;+16 +.draw_text_flag dd 1 ;+20 +.text_pointer dd 0 ;+24 +.text_position dd 0 ;+28 +.font_number dd 0 ;+32 +.font_size_y dd 9 ;+36 +.font_color dd 0x0 ;+40 +.font_backgr_color dd 0xffffff ;+44 +;--------------------------------------------------------------------- IncludeIGlobals \ No newline at end of file