Subversion Repositories Kolibri OS

Rev

Rev 6352 | Rev 6358 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
255 heavyiron 1
;----------------------------------------------------------
2
;-------------draw window of program-----------------------
3
;----------------------------------------------------------
4
drawwin:
1643 mario79 5
	or	ecx,-1
6352 IgorA 6
	mcall SF_THREAD_INFO,procinfo
1643 mario79 7
	mov	esi,procinfo
255 heavyiron 8
 
1643 mario79 9
	mov	eax,[esi+34]
10
	mov	ebx,[esi+38]
11
	mov	ecx,[esi+42]
12
	mov	edx,[esi+46]
13
	mov	[Window_CordinatX],eax
14
	mov	[Window_CordinatY],ebx
6357 IgorA 15
 
16
	cmp	ecx,585
17
	jae	@f
18
		mov	ecx,585 ;minimum size x
19
	@@:
20
	cmp	[Window_SizeY],400
21
	jae	@f
22
		mov	edx,400 ;minimum size y
23
	@@:
1643 mario79 24
	mov	[Window_SizeX],ecx
6357 IgorA 25
	mov [Window_SizeY],edx
255 heavyiron 26
 
1643 mario79 27
	mov	[MaxWorkScreen_SizeX],ecx
28
	mov	[MaxWorkScreen_SizeY],edx
6357 IgorA 29
	sub	[MaxWorkScreen_SizeX],ci_edit_wnd_x_pos+2*ci_edit_wnd_border+34
30
	sub	[MaxWorkScreen_SizeY],ci_edit_wnd_y_pos+2*ci_edit_wnd_border+34
255 heavyiron 31
 
1643 mario79 32
	cmp	[MaxWorkScreen_SizeX],0
33
	jns	no_znak1
255 heavyiron 34
 
1643 mario79 35
	mov	[MaxWorkScreen_SizeX],ecx
255 heavyiron 36
 
1643 mario79 37
no_znak1:
38
	cmp	[MaxWorkScreen_SizeY],0
39
	jns	no_znak2
255 heavyiron 40
 
1643 mario79 41
	mov	[MaxWorkScreen_SizeY],edx
255 heavyiron 42
 
1643 mario79 43
no_znak2:
255 heavyiron 44
 
6352 IgorA 45
	mcall SF_REDRAW,SSF_BEGIN_DRAW
1643 mario79 46
;------------------------------------------------
2037 leency 47
	mov	ebx,50 ;[Window_CordinatX]
48
	mov	ecx,50 ;[Window_CordinatY]
1643 mario79 49
	shl	ebx,16
50
	shl	ecx,16
51
	add	ebx,[Window_SizeX]
52
	add	ecx,[Window_SizeY]
6352 IgorA 53
	mcall SF_CREATE_WINDOW,,,0x53aabbcc,,name_of_program
2045 mario79 54
 
55
	mov	eax,[procinfo+70] ;staus of window
56
	test	eax,100b
57
	jne	.end
58
 
1643 mario79 59
;------------------------------------------------
60
	mov	eax,5
61
	mov	ebx,20
62
	mov	ecx,[Window_SizeX]
63
	mov	edx,15
64
	mov	esi,6
65
	sub	ecx,10
66
	call	draw_volume_rectangle ; top menu - file and etc.
255 heavyiron 67
 
1643 mario79 68
	mov	[counter],7
69
	mov	edi,panel_text
70
	call	print_panel_text
71
;------------------------------------------------
72
	mov	eax,5
73
	mov	ebx,20+15+1
74
	mov	ecx,[Window_SizeX]
75
	mov	edx,50
76
	mov	esi,1
77
	sub	ecx,10
78
	call	draw_volume_rectangle ; tools panel
79
	call	draw_icons
80
	call	PrintMousePos
81
;------------------------------------------------
6352 IgorA 82
	mov ecx,[k]
83
	call MovePictureToWorkScreen
1643 mario79 84
;------------------------------------------------
85
	mov	ebx,[WorkScreen_SizeX]
6357 IgorA 86
	add	ebx,ci_edit_wnd_x_pos+ci_edit_wnd_border
1643 mario79 87
	shl	ebx,16
6357 IgorA 88
	mov	bx,ci_edit_wnd_border ;ширина бордюра
1643 mario79 89
 
6357 IgorA 90
	mov	ecx,ci_edit_wnd_y_pos+ci_edit_wnd_border
1643 mario79 91
	mov	edx,[Window_SizeY]
6357 IgorA 92
	sub	edx,ci_edit_wnd_y_pos+2*ci_edit_wnd_border+34
1643 mario79 93
	shl	ecx,16
6357 IgorA 94
	mov	cx,dx ;высота бордюра
255 heavyiron 95
 
6357 IgorA 96
	mcall SF_DRAW_RECT,,,0xc7cbcf ;бордюр справа от окна перед скроллингом
1643 mario79 97
;------------------------------------------------
6357 IgorA 98
	mcall , ;бордюр слева от окна
1643 mario79 99
;------------------------------------------------
6357 IgorA 100
	mov	ebx,ci_edit_wnd_x_pos
1643 mario79 101
	mov	edx,[Window_SizeX]
6357 IgorA 102
	sub	edx,25+10+ci_edit_wnd_x_pos
1643 mario79 103
	shl	ebx,16
6357 IgorA 104
	mov	bx,dx ;ширина бордюра
255 heavyiron 105
 
1643 mario79 106
	mov	ecx,[WorkScreen_SizeY]
6357 IgorA 107
	add	ecx,ci_edit_wnd_y_pos+ci_edit_wnd_border
1643 mario79 108
	shl	ecx,16
6357 IgorA 109
	mov	cx,ci_edit_wnd_border ;высота бордюра
255 heavyiron 110
 
6357 IgorA 111
	mcall SF_DRAW_RECT,,,0xc7cbcf ;бордюр под окном и над скроллингом
1643 mario79 112
;------------------------------------------------
6357 IgorA 113
	mcall ,, ;бордюр под панелью и над окном
1643 mario79 114
;------------------------------------------------
6357 IgorA 115
	mov	eax,ci_edit_wnd_x_pos
1643 mario79 116
	mov	ebx,[Window_SizeY]
117
	mov	ecx,[Window_SizeX]
118
	mov	edx,20+10
119
	mov	esi,3
6357 IgorA 120
	sub	ecx,35+ci_edit_wnd_x_pos
1643 mario79 121
	sub	ebx,25+10
6357 IgorA 122
	call draw_volume_rectangle ; horizontal scrollbar border
1643 mario79 123
;------------------------------------------------
124
	mov	eax,[Window_SizeX]
6357 IgorA 125
	mov	ebx,ci_edit_wnd_y_pos
1643 mario79 126
	mov	ecx,20+10
127
	mov	edx,[Window_SizeY]
128
	mov	esi,3
129
	sub	eax,25+10
6357 IgorA 130
	sub	edx,35+ci_edit_wnd_y_pos
131
	call draw_volume_rectangle ; vertical scrollbar border
132
	call draw_scrollers
1643 mario79 133
;------------------------------------------------
134
	mov	eax,[Window_SizeX]
135
	mov	ebx,[Window_SizeY]
136
	mov	ecx,20+10
137
	mov	edx,20+10
138
	mov	esi,6
139
	sub	eax,25+10
140
	sub	ebx,25+10
6357 IgorA 141
	call draw_volume_rectangle ; down and right small area
1643 mario79 142
;------------------------------------------------
2045 mario79 143
.end:
6352 IgorA 144
	mcall SF_REDRAW,SSF_END_DRAW
1643 mario79 145
	ret
146
;-----------------------------------------------------------------------------