Subversion Repositories Kolibri OS

Rev

Rev 2037 | 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
6
	mcall	9,procinfo
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
 
1643 mario79 50
	mcall	12,1
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]
2037 leency 58
	;xor	esi,esi	;0x805080d0
1643 mario79 59
;	xor	edi,edi	;0x005080d0
60
	mcall	0,,,0x53aabbcc,,name_of_program
2045 mario79 61
 
62
	mov	eax,[procinfo+70] ;staus of window
63
	test	eax,100b
64
	jne	.end
65
 
1643 mario79 66
;------------------------------------------------
67
	mov	eax,5
68
	mov	ebx,20
69
	mov	ecx,[Window_SizeX]
70
	mov	edx,15
71
	mov	esi,6
72
	sub	ecx,10
73
	call	draw_volume_rectangle ; top menu - file and etc.
255 heavyiron 74
 
1643 mario79 75
	mov	[counter],7
76
	mov	edi,panel_text
77
	call	print_panel_text
78
;------------------------------------------------
79
	mov	eax,5
80
	mov	ebx,20+15+1
81
	mov	ecx,[Window_SizeX]
82
	mov	edx,50
83
	mov	esi,1
84
	sub	ecx,10
85
	call	draw_volume_rectangle ; tools panel
86
	call	draw_icons
87
	call	PrintMousePos
88
;------------------------------------------------
89
	mov	ecx,[k]
90
	and	[PosX],0
91
	and	[PosY],0
92
	call	MovePictureToWorkScreen
93
;------------------------------------------------
94
	mov	ebx,[WorkScreen_SizeX]
95
	add	ebx,5+3
96
	mov	edx,[Window_SizeX]
97
	sub	edx,ebx
98
	sub	edx,25+10-3
99
	shl	ebx,16
100
	mov	bx,dx
101
 
102
	mov	ecx,20+15+1+49+2
103
	mov	edx,[Window_SizeY]
104
	mov	eax,[WorkScreen_SizeY]
105
	shr	eax,16
106
	sub	edx,eax
107
	sub	edx,20+15+1+49+2+25+10
108
	shl	ecx,16
109
	mov	cx,dx
255 heavyiron 110
 
1643 mario79 111
	mcall	13,,,0xc7cbcf
112
;------------------------------------------------
113
	mcall	,<5,3>
114
;------------------------------------------------
115
	mov	ebx,5
116
	mov	edx,[Window_SizeX]
117
	mov	eax,[WorkScreen_SizeX]
118
	shr	eax,16
119
	sub	edx,eax
120
	sub	edx,25+10
121
	shl	ebx,16
122
	mov	bx,dx
255 heavyiron 123
 
1643 mario79 124
	mov	ecx,[WorkScreen_SizeY]
125
	add	ecx,20+15+1+49+2+3
126
	mov	edx,[Window_SizeY]
127
	sub	edx,ecx
128
	sub	edx,25+10-3
129
	shl	ecx,16
130
	mov	cx,dx
255 heavyiron 131
 
1643 mario79 132
	mcall	13,,,0xc7cbcf
133
;------------------------------------------------
134
	mcall	,,<20+15+1+49+2,3>
135
;------------------------------------------------
136
;	draw_volume_rectangle
137
;	eax - start X
138
;	ebx - start Y
139
;	ecx - size X
140
;	edx - size Y
255 heavyiron 141
 
1643 mario79 142
	mov	eax,5
143
	mov	ebx,[Window_SizeY]
144
	mov	ecx,[Window_SizeX]
145
	mov	edx,20+10
146
	mov	esi,3
147
	sub	ecx,30
148
	sub	ebx,25+10
149
	call	draw_volume_rectangle	; horizontal scrollbar
150
;------------------------------------------------
151
	mov	eax,[Window_SizeX]
152
	mov	ebx,20+15+1+49+2
153
	mov	ecx,20+10
154
	mov	edx,[Window_SizeY]
155
	mov	esi,3
156
	sub	eax,25+10
157
	sub	edx,20+15+1+49+5+20
158
	call	draw_volume_rectangle	; vertical scrollbar
159
	call	draw_scrollers
160
;------------------------------------------------
161
	mov	eax,[Window_SizeX]
162
	mov	ebx,[Window_SizeY]
163
	mov	ecx,20+10
164
	mov	edx,20+10
165
	mov	esi,6
166
	sub	eax,25+10
167
	sub	ebx,25+10
168
	call	draw_volume_rectangle	; down and right small area
169
;------------------------------------------------
2045 mario79 170
.end:
1643 mario79 171
	mcall	12,2
172
	ret
173
;-----------------------------------------------------------------------------