Subversion Repositories Kolibri OS

Rev

Rev 2045 | Rev 6357 | 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
15
	mov	[Window_SizeX],ecx
16
	mov	[Window_SizeY],edx
255 heavyiron 17
 
1643 mario79 18
	cmp	[Window_SizeX],585
19
	jae	no_minimum_size_x
255 heavyiron 20
 
1643 mario79 21
	mov	[Window_SizeX],585
22
	mov	ecx,[Window_SizeX]
255 heavyiron 23
 
1643 mario79 24
no_minimum_size_x:
25
	cmp	[Window_SizeY],400
26
	jae	no_minimum_size_y
255 heavyiron 27
 
1643 mario79 28
	mov	[Window_SizeY],400
29
	mov	edx,[Window_SizeY]
255 heavyiron 30
 
1643 mario79 31
no_minimum_size_y:
32
	mov	[MaxWorkScreen_SizeX],ecx
33
	mov	[MaxWorkScreen_SizeY],edx
34
	sub	[MaxWorkScreen_SizeX],20+10+5+10
35
	sub	[MaxWorkScreen_SizeY],20+10+15+1+49+20+10
255 heavyiron 36
 
1643 mario79 37
	cmp	[MaxWorkScreen_SizeX],0
38
	jns	no_znak1
255 heavyiron 39
 
1643 mario79 40
	mov	[MaxWorkScreen_SizeX],ecx
255 heavyiron 41
 
1643 mario79 42
no_znak1:
43
	cmp	[MaxWorkScreen_SizeY],0
44
	jns	no_znak2
255 heavyiron 45
 
1643 mario79 46
	mov	[MaxWorkScreen_SizeY],edx
255 heavyiron 47
 
1643 mario79 48
no_znak2:
255 heavyiron 49
 
6352 IgorA 50
	mcall SF_REDRAW,SSF_BEGIN_DRAW
1643 mario79 51
;------------------------------------------------
2037 leency 52
	mov	ebx,50 ;[Window_CordinatX]
53
	mov	ecx,50 ;[Window_CordinatY]
1643 mario79 54
	shl	ebx,16
55
	shl	ecx,16
56
	add	ebx,[Window_SizeX]
57
	add	ecx,[Window_SizeY]
6352 IgorA 58
	mcall SF_CREATE_WINDOW,,,0x53aabbcc,,name_of_program
2045 mario79 59
 
60
	mov	eax,[procinfo+70] ;staus of window
61
	test	eax,100b
62
	jne	.end
63
 
1643 mario79 64
;------------------------------------------------
65
	mov	eax,5
66
	mov	ebx,20
67
	mov	ecx,[Window_SizeX]
68
	mov	edx,15
69
	mov	esi,6
70
	sub	ecx,10
71
	call	draw_volume_rectangle ; top menu - file and etc.
255 heavyiron 72
 
1643 mario79 73
	mov	[counter],7
74
	mov	edi,panel_text
75
	call	print_panel_text
76
;------------------------------------------------
77
	mov	eax,5
78
	mov	ebx,20+15+1
79
	mov	ecx,[Window_SizeX]
80
	mov	edx,50
81
	mov	esi,1
82
	sub	ecx,10
83
	call	draw_volume_rectangle ; tools panel
84
	call	draw_icons
85
	call	PrintMousePos
86
;------------------------------------------------
6352 IgorA 87
	mov ecx,[k]
88
	call MovePictureToWorkScreen
1643 mario79 89
;------------------------------------------------
90
	mov	ebx,[WorkScreen_SizeX]
91
	add	ebx,5+3
92
	mov	edx,[Window_SizeX]
93
	sub	edx,ebx
94
	sub	edx,25+10-3
95
	shl	ebx,16
96
	mov	bx,dx
97
 
98
	mov	ecx,20+15+1+49+2
99
	mov	edx,[Window_SizeY]
100
	mov	eax,[WorkScreen_SizeY]
101
	shr	eax,16
102
	sub	edx,eax
103
	sub	edx,20+15+1+49+2+25+10
104
	shl	ecx,16
105
	mov	cx,dx
255 heavyiron 106
 
6352 IgorA 107
	mcall SF_DRAW_RECT,,,0xc7cbcf
1643 mario79 108
;------------------------------------------------
109
	mcall	,<5,3>
110
;------------------------------------------------
111
	mov	ebx,5
112
	mov	edx,[Window_SizeX]
113
	mov	eax,[WorkScreen_SizeX]
114
	shr	eax,16
115
	sub	edx,eax
116
	sub	edx,25+10
117
	shl	ebx,16
118
	mov	bx,dx
255 heavyiron 119
 
1643 mario79 120
	mov	ecx,[WorkScreen_SizeY]
121
	add	ecx,20+15+1+49+2+3
122
	mov	edx,[Window_SizeY]
123
	sub	edx,ecx
124
	sub	edx,25+10-3
125
	shl	ecx,16
126
	mov	cx,dx
255 heavyiron 127
 
6352 IgorA 128
	mcall SF_DRAW_RECT,,,0xc7cbcf
1643 mario79 129
;------------------------------------------------
130
	mcall	,,<20+15+1+49+2,3>
131
;------------------------------------------------
132
;	draw_volume_rectangle
133
;	eax - start X
134
;	ebx - start Y
135
;	ecx - size X
136
;	edx - size Y
255 heavyiron 137
 
1643 mario79 138
	mov	eax,5
139
	mov	ebx,[Window_SizeY]
140
	mov	ecx,[Window_SizeX]
141
	mov	edx,20+10
142
	mov	esi,3
143
	sub	ecx,30
144
	sub	ebx,25+10
145
	call	draw_volume_rectangle	; horizontal scrollbar
146
;------------------------------------------------
147
	mov	eax,[Window_SizeX]
148
	mov	ebx,20+15+1+49+2
149
	mov	ecx,20+10
150
	mov	edx,[Window_SizeY]
151
	mov	esi,3
152
	sub	eax,25+10
153
	sub	edx,20+15+1+49+5+20
154
	call	draw_volume_rectangle	; vertical scrollbar
155
	call	draw_scrollers
156
;------------------------------------------------
157
	mov	eax,[Window_SizeX]
158
	mov	ebx,[Window_SizeY]
159
	mov	ecx,20+10
160
	mov	edx,20+10
161
	mov	esi,6
162
	sub	eax,25+10
163
	sub	ebx,25+10
164
	call	draw_volume_rectangle	; down and right small area
165
;------------------------------------------------
2045 mario79 166
.end:
6352 IgorA 167
	mcall SF_REDRAW,SSF_END_DRAW
1643 mario79 168
	ret
169
;-----------------------------------------------------------------------------