Subversion Repositories Kolibri OS

Rev

Rev 1637 | Rev 2045 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1637 Rev 1643
1
;----------------------------------------------------------
1
;----------------------------------------------------------
2
;-------------draw window of program-----------------------
2
;-------------draw window of program-----------------------
3
;----------------------------------------------------------
3
;----------------------------------------------------------
4
drawwin:
4
drawwin:
5
 
-
 
6
	mov eax,9
-
 
7
	mov ebx,IPC_table
-
 
8
	or ecx,-1
5
	or	ecx,-1
9
	mcall
6
	mcall	9,procinfo
-
 
7
	mov	esi,procinfo
10
 
8
 
11
	mov eax,[IPC_table+34]
9
	mov	eax,[esi+34]
12
	mov ebx,[IPC_table+38]
10
	mov	ebx,[esi+38]
13
	mov ecx,[IPC_table+42]
11
	mov	ecx,[esi+42]
14
	mov edx,[IPC_table+46]
12
	mov	edx,[esi+46]
15
	mov [Window_CordinatX],eax
13
	mov	[Window_CordinatX],eax
16
	mov [Window_CordinatY],ebx
14
	mov	[Window_CordinatY],ebx
17
	mov [Window_SizeX],ecx
15
	mov	[Window_SizeX],ecx
18
	mov [Window_SizeY],edx
16
	mov	[Window_SizeY],edx
19
 
17
 
20
	cmp [Window_SizeX],585
18
	cmp	[Window_SizeX],585
21
	jae no_minimum_size_x
19
	jae	no_minimum_size_x
22
 
20
 
23
	mov [Window_SizeX],585
21
	mov	[Window_SizeX],585
24
	mov ecx,[Window_SizeX]
22
	mov	ecx,[Window_SizeX]
25
 
23
 
26
	no_minimum_size_x:
24
no_minimum_size_x:
27
 
-
 
28
	cmp [Window_SizeY],400
25
	cmp	[Window_SizeY],400
29
	jae no_minimum_size_y
26
	jae	no_minimum_size_y
30
 
27
 
31
	mov [Window_SizeY],400
28
	mov	[Window_SizeY],400
32
	mov edx,[Window_SizeY]
29
	mov	edx,[Window_SizeY]
33
 
30
 
34
	no_minimum_size_y:
31
no_minimum_size_y:
35
 
-
 
36
	mov [MaxWorkScreen_SizeX],ecx
32
	mov	[MaxWorkScreen_SizeX],ecx
37
	mov [MaxWorkScreen_SizeY],edx
33
	mov	[MaxWorkScreen_SizeY],edx
38
	sub [MaxWorkScreen_SizeX],20+10+5+10
34
	sub	[MaxWorkScreen_SizeX],20+10+5+10
39
	sub [MaxWorkScreen_SizeY],20+10+15+1+49+20+10
35
	sub	[MaxWorkScreen_SizeY],20+10+15+1+49+20+10
40
 
36
 
41
	cmp [MaxWorkScreen_SizeX],0
37
	cmp	[MaxWorkScreen_SizeX],0
42
	jns no_znak1
38
	jns	no_znak1
43
 
39
 
44
	mov [MaxWorkScreen_SizeX],ecx
40
	mov	[MaxWorkScreen_SizeX],ecx
45
 
41
 
46
	no_znak1:
42
no_znak1:
47
 
-
 
48
	cmp [MaxWorkScreen_SizeY],0
43
	cmp	[MaxWorkScreen_SizeY],0
49
	jns no_znak2
44
	jns	no_znak2
50
 
45
 
51
	mov [MaxWorkScreen_SizeY],edx
46
	mov	[MaxWorkScreen_SizeY],edx
52
 
47
 
53
	no_znak2:
48
no_znak2:
54
 
-
 
55
	mov eax,12
-
 
56
	mov ebx,1
49
 
57
	mcall
-
 
58
 
50
	mcall	12,1
59
	and eax,0
51
;------------------------------------------------
60
	mov ebx,[Window_CordinatX]
52
	mov	ebx,[Window_CordinatX]
61
	mov ecx,[Window_CordinatY]
53
	mov	ecx,[Window_CordinatY]
62
	shl ebx,16
54
	shl	ebx,16
63
	shl ecx,16
55
	shl	ecx,16
64
	add ebx,[Window_SizeX]
56
	add	ebx,[Window_SizeX]
65
	add ecx,[Window_SizeY]
57
	add	ecx,[Window_SizeY]
66
	mov edx,0x43aabbcc
-
 
67
	xor esi,esi	;0x805080d0
58
	xor	esi,esi	;0x805080d0
68
	xor edi,edi	;0x005080d0
59
;	xor	edi,edi	;0x005080d0
-
 
60
	mcall	0,,,0x53aabbcc,,name_of_program
-
 
61
;------------------------------------------------
69
	mcall
62
	mov	eax,5
70
 
63
	mov	ebx,20
71
	call draw_panel
64
	mov	ecx,[Window_SizeX]
-
 
65
	mov	edx,15
72
	call PrintMousePos
66
	mov	esi,6
-
 
67
	sub	ecx,10
-
 
68
	call	draw_volume_rectangle ; top menu - file and etc.
73
 
69
 
74
	mov [counter],7
70
	mov	[counter],7
75
	mov edi,panel_text
71
	mov	edi,panel_text
76
	call print_panel_text
72
	call	print_panel_text
77
 
-
 
78
	;>>>>>>Leency
73
;------------------------------------------------
79
	;mov eax,10
-
 
80
	;mov ebx,5
74
	mov	eax,5
81
	;mov ecx,0xffffff
75
	mov	ebx,20+15+1
82
	;mov edx,name_of_program
76
	mov	ecx,[Window_SizeX]
83
	;mov esi,34
77
	mov	edx,50
84
	;call print_text
-
 
85
 
-
 
86
	mov eax,71
78
	mov	esi,1
87
	mov ebx,1
79
	sub	ecx,10
88
	mov ecx,name_of_program
80
	call	draw_volume_rectangle ; tools panel
89
	int 40h
-
 
90
	;Leency<<<<<<<
81
	call	draw_icons
91
 
-
 
92
	mov eax,12
82
	call	PrintMousePos
93
	mov ebx,2
83
;------------------------------------------------
94
	mcall
-
 
95
 
-
 
96
	mov ecx,[k]
84
	mov	ecx,[k]
97
 
-
 
98
	and [PosX],0
85
	and	[PosX],0
99
	and [PosY],0
86
	and	[PosY],0
100
	call MovePictureToWorkScreen
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
-
 
105
 
101
	call draw_scrollers
106
	mcall	13,,,0xc7cbcf
-
 
107
;------------------------------------------------
102
	call draw_icons
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
-
 
118
 
-
 
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
-
 
126
 
-
 
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
-
 
136
 
-
 
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
;------------------------------------------------
103
 
165
	mcall	12,2
104
	ret
166
	ret
-
 
167
;-----------------------------------------------------------------------------
105
 
168
106
>
-
 
107
 
-
 
108
>
-
 
109
 
-
 
110
>
-
 
111
 
-
 
112
>
-
 
113
 
-
 
114
>
-
 
115
 
-
 
116
>
-
 
117
 
-
 
118
>
-