Subversion Repositories Kolibri OS

Rev

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