;----------------------------------------------------------
;-------------draw window of program-----------------------
;----------------------------------------------------------
drawwin:
	or	ecx,-1
	mcall SF_THREAD_INFO,procinfo
	mov	esi,procinfo

	mov	eax,[esi+34]
	mov	ebx,[esi+38]
	mov	ecx,[esi+42]
	mov	edx,[esi+46]
	mov	[Window_CordinatX],eax
	mov	[Window_CordinatY],ebx
	
	cmp ecx,ci_wnd_min_siz_x
	jge @f
		mov ecx,ci_wnd_min_siz_x
	@@:
	cmp edx,ci_wnd_min_siz_y
	jge @f
		mov edx,ci_wnd_min_siz_y
	@@:
	mov	[Window_SizeX],ecx
	mov [Window_SizeY],edx
	mov	[MaxWorkScreen_SizeX],ecx
	mov	[MaxWorkScreen_SizeY],edx
	sub	[MaxWorkScreen_SizeX],ci_edit_wnd_x_pos+2*ci_edit_wnd_border\
		+ci_scroll_dim+ci_offs_skin_w+5
	sub	[MaxWorkScreen_SizeY],ci_edit_wnd_y_pos+2*ci_edit_wnd_border\
		+ci_scroll_dim+ci_offs_skin_h+5

	cmp	[MaxWorkScreen_SizeX],0
	jns	no_znak1

	mov	[MaxWorkScreen_SizeX],ecx

no_znak1:
	cmp	[MaxWorkScreen_SizeY],0
	jns	no_znak2

	mov	[MaxWorkScreen_SizeY],edx

no_znak2:

	mcall SF_REDRAW,SSF_BEGIN_DRAW
;------------------------------------------------
	mov	ebx,50 ;[Window_CordinatX]
	mov	ecx,50 ;[Window_CordinatY]
	shl	ebx,16
	shl	ecx,16
	add	ebx, [Window_SizeX]
	add	ecx, [Window_SizeY]
	mcall SF_CREATE_WINDOW,,,0x73aabbcc,,name_of_program
	
	mov	eax,[procinfo+70] ;staus of window
	test eax,100b
	jne	.end
	
;------------------------------------------------
	mov	ebx,[Window_SizeX]
	sub	ebx,5+ci_panel_x_pos+ci_offs_skin_w-1
	mcall SF_DRAW_RECT,,ci_panel_y_pos,dword[syscolors+20] ; ��⪠ ������ ��� ����

	call put_main_menu
;------------------------------------------------
	; draw toolbard background
	mov ebx, ci_panel_x_pos
	shl ebx, 16
	add ebx, [Window_SizeX]
	sub	ebx, 9
	mov ecx, ci_panel_y_pos
	shl ecx, 16
	add ecx, 51
	mov edx, 0xD5CDCB
	mcall 13

	;mov	eax,ci_panel_x_pos
	;mov	ebx,ci_panel_y_pos
	;mov	ecx,[Window_SizeX]
	;mov	edx,50
	;mov	esi,1
	;sub	ecx,5+ci_panel_x_pos+ci_offs_skin_w
	call	draw_icons
	call	PrintMousePos
;------------------------------------------------
	mov ecx,[k]
	call MovePictureToWorkScreen
;------------------------------------------------
	mov	ebx,[WorkScreen_SizeX]
	add	ebx,ci_edit_wnd_x_pos+ci_edit_wnd_border
	mov	edx,[Window_SizeX]
	sub	edx,ebx
	sub	edx,ci_scroll_dim+5-ci_edit_wnd_border
	shl	ebx,16
	mov	bx,dx ;�ਭ� �����
	
	mov	ecx,ci_edit_wnd_y_pos+ci_edit_wnd_border
	mov	edx,[Window_SizeY]
	sub	edx,ci_edit_wnd_y_pos+2*ci_edit_wnd_border+ci_scroll_dim+5+ci_offs_skin_h
	shl	ecx,16
	mov	cx,dx ;���� �����

	mcall SF_DRAW_RECT,,,dword[syscolors+20] ;����� �ࠢ� �� ���� ��। �஫������
;------------------------------------------------
	mcall ,<ci_edit_wnd_x_pos,ci_edit_wnd_border> ;����� ᫥�� �� ����
;------------------------------------------------
	mov	ebx,ci_edit_wnd_x_pos
	mov	edx,[Window_SizeX]
	sub	edx,ci_scroll_dim+5+ci_edit_wnd_x_pos
	shl	ebx,16
	mov	bx,dx ;�ਭ� �����

	mov	ecx,[WorkScreen_SizeY]
	add	ecx,ci_edit_wnd_y_pos+ci_edit_wnd_border
	mov	edx,[Window_SizeY]
	sub	edx,ecx
	sub	edx,ci_scroll_dim+5+ci_offs_skin_h;ci_edit_wnd_border
	shl	ecx,16
	mov	cx,dx ;���� �����

	mcall SF_DRAW_RECT,,,dword[syscolors+20] ;����� ��� ����� � ��� �஫������
;------------------------------------------------
	mcall ,,<ci_edit_wnd_y_pos,ci_edit_wnd_border> ;����� ��� ������� � ��� �����
;------------------------------------------------
	mov	eax,ci_edit_wnd_x_pos
	mov	ebx,[Window_SizeY]
	mov	ecx,[Window_SizeX]
	mov	edx,ci_scroll_dim
	mov	esi,3
	sub	ecx,ci_scroll_dim+5+ci_edit_wnd_x_pos+ci_offs_skin_w
	sub	ebx,ci_scroll_dim+5+ci_offs_skin_h
	call draw_volume_rectangle ; horizontal scrollbar border
;------------------------------------------------
	mov	eax,[Window_SizeX]
	mov	ebx,ci_edit_wnd_y_pos
	mov	ecx,ci_scroll_dim
	mov	edx,[Window_SizeY]
	mov	esi,3
	sub	eax,ci_scroll_dim+5+ci_offs_skin_w
	sub	edx,ci_scroll_dim+5+ci_edit_wnd_y_pos+ci_offs_skin_h
	call draw_volume_rectangle ; vertical scrollbar border
	call draw_scrollers
;------------------------------------------------
	mov	eax,[Window_SizeX]
	mov	ebx,[Window_SizeY]
	mov	ecx,ci_scroll_dim
	mov	edx,ci_scroll_dim
	mov	esi,6
	sub	eax,ci_scroll_dim+5+ci_offs_skin_w
	sub	ebx,ci_scroll_dim+5+ci_offs_skin_h
	call draw_volume_rectangle ; down and right small area
;------------------------------------------------
.end:
	mcall SF_REDRAW,SSF_END_DRAW
	ret
;-----------------------------------------------------------------------------