Subversion Repositories Kolibri OS

Rev

Rev 1637 | Rev 6358 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1637 Rev 1643
Line 1... Line 1...
1
;-------------------------------------------------
1
;-------------------------------------------------
2
;-----interraction panel with user----------------
2
;-----interraction panel with user----------------
3
;-------------------------------------------------
3
;-------------------------------------------------
4
panel_interraction:
4
panel_interraction:
5
	;>>>>>>>>>>>>>>>>>>>>>>>>>>
5
;>>>>>>>>>>>>>>>>>>>>>>>>>>
6
	mov eax,18
-
 
7
	mov ebx,14
-
 
8
	;mcall
-
 
9
 
-
 
10
	and [Panel_flag],0
-
 
11
	;collision with text on panel
-
 
12
      next_columnus_text:
-
 
13
 
-
 
14
	mov eax,[edi]
-
 
15
	mov ebx,[edi+4]
-
 
16
	sub eax,10
-
 
17
	sub ebx,3
-
 
18
	mov [Icon_text_x],eax
-
 
19
	mov [Icon_text_y],ebx
-
 
20
 
-
 
21
	mov esi,[edi+8]
-
 
22
	imul esi,10
-
 
23
	mov [button_menu_size_x],esi
-
 
24
	mov [button_menu_size_y],dword 13
-
 
25
 
-
 
26
	mov esi,[edi+8]
-
 
27
	add edi,4*3
-
 
28
	add edi,esi
-
 
29
 
-
 
30
	mov ecx,[MouseX]
-
 
31
	mov edx,[MouseY]
-
 
32
 
-
 
33
	push edi
-
 
34
	mov edi,[button_menu_size_y]
-
 
35
	mov esi,[button_menu_size_x]
-
 
36
	call columnus
-
 
37
 
-
 
38
	pop edi
-
 
39
	mov esi,7
-
 
40
 
-
 
41
	test eax,eax
-
 
42
	jz no_columnus_text
-
 
43
 
-
 
44
	mov esi,1
-
 
45
	mov [Panel_flag],1
-
 
46
	call GetMouseClick
-
 
47
 
-
 
48
	test eax,eax
-
 
49
	jz no_mouse_pressed
-
 
50
 
-
 
51
	mov eax,18
-
 
52
	mov ebx,14
6
;	mcall	18,14
53
	;mcall
-
 
54
 
-
 
55
	call print_panel_menu
-
 
56
 
-
 
57
	no_mouse_pressed:
-
 
58
 
-
 
59
	no_columnus_text:
-
 
60
 
-
 
61
	mov eax,[Icon_text_x]
-
 
62
	mov ebx,[Icon_text_y]
-
 
63
	mov ecx,[button_menu_size_x]		;-------------------------
-
 
64
	mov edx,[button_menu_size_y]
-
 
65
	call draw_volume_rectangle
-
 
66
 
-
 
67
	push [counter]
-
 
68
	push edi
-
 
69
	mov [counter],7
-
 
70
	mov edi,panel_text
-
 
71
	call print_panel_text
-
 
72
 
-
 
73
	pop edi
-
 
74
	pop [counter]
-
 
75
	dec [counter]
-
 
76
	jnz next_columnus_text
-
 
Line -... Line 7...
-
 
7
 
-
 
8
	and	[Panel_flag],0
-
 
9
;collision with text on panel
-
 
10
next_columnus_text:
-
 
11
	mov	eax,[edi]
-
 
12
	mov	ebx,[edi+4]
-
 
13
	sub	eax,10
-
 
14
	sub	ebx,3
-
 
15
	mov	[Icon_text_x],eax
-
 
16
	mov	[Icon_text_y],ebx
-
 
17
 
-
 
18
	mov	esi,[edi+8]
-
 
19
	imul	esi,10
-
 
20
	mov	[button_menu_size_x],esi
-
 
21
	mov	[button_menu_size_y],dword 13
-
 
22
 
-
 
23
	mov	esi,[edi+8]
-
 
24
	add	edi,4*3
-
 
25
	add	edi,esi
-
 
26
 
-
 
27
	mov	ecx,[MouseX]
-
 
28
	mov	edx,[MouseY]
-
 
29
 
-
 
30
	push	edi
-
 
31
	mov	edi,[button_menu_size_y]
-
 
32
	mov	esi,[button_menu_size_x]
-
 
33
	call	columnus
-
 
34
	pop	edi
-
 
35
 
-
 
36
	mov	esi,7
-
 
37
	test	eax,eax
-
 
38
	jz	no_columnus_text
-
 
39
 
-
 
40
	mov	esi,1
-
 
41
	mov	[Panel_flag],1
-
 
42
	call	GetMouseClick
-
 
43
	test	eax,eax
-
 
44
	jz	no_mouse_pressed
-
 
45
 
-
 
46
;	mcall	18,14
-
 
47
 
-
 
48
	jmp	print_panel_menu
-
 
49
 
-
 
50
no_mouse_pressed:
-
 
51
no_columnus_text:
-
 
52
	mov	eax,[Icon_text_x]
-
 
53
	mov	ebx,[Icon_text_y]
-
 
54
	mov	ecx,[button_menu_size_x]
-
 
55
	mov	edx,[button_menu_size_y]
-
 
56
	call	draw_volume_rectangle
-
 
57
 
-
 
58
	push	[counter]
-
 
59
	push	edi
-
 
60
	mov	[counter],7
-
 
61
	mov	edi,panel_text
77
 
62
	call	print_panel_text
-
 
63
	pop	edi
-
 
64
	pop	[counter]
-
 
65
 
-
 
66
	dec	[counter]
-
 
67
	jnz	next_columnus_text
-
 
68
 
78
	ret
69
	jmp	still
79
;---------------------------------------------------------
70
;---------------------------------------------------------
80
;-----draw panel menu(main engin of panel)----------------
71
;-----draw panel menu(main engin of panel)----------------
81
;---------------------------------------------------------
72
;---------------------------------------------------------
-
 
73
print_panel_menu:
-
 
74
	push	[counter]
-
 
75
;delit main buttons(some time)
-
 
76
	mov	[counter],10
-
 
77
 
-
 
78
next_icon_delit1:
-
 
79
	mov	edx,[counter]
-
 
80
	add	edx,11100000000000000000000000000000b
-
 
81
	mcall	8
-
 
82
	inc	[counter]
-
 
83
	cmp	[counter],30
-
 
84
	jl	next_icon_delit1
-
 
85
 
-
 
86
	;delit	buttons	of	brushes
-
 
87
	mov	[counter],40
-
 
88
 
-
 
89
next_icon_delit2:
-
 
90
	mov	edx,[counter]
-
 
91
	add	edx,11100000000000000000000000000000b
-
 
92
	mcall	8
-
 
93
	inc	[counter]
-
 
94
	cmp	[counter],45
-
 
95
	jl	next_icon_delit2
-
 
96
 
-
 
97
	;delit	buttons	of	zoom
-
 
98
	mov	[counter],45
-
 
99
 
-
 
100
next_icon_delit3:
-
 
101
	mov	edx,[counter]
-
 
102
	add	edx,11100000000000000000000000000000b
-
 
103
	mcall	8
-
 
104
	inc	[counter]
-
 
105
	cmp	[counter],50
-
 
106
	jl	next_icon_delit3
-
 
107
 
-
 
108
;delit buttons of palette
-
 
109
	mov	edx,51
-
 
110
	add	edx,11100000000000000000000000000000b
-
 
111
	mcall	8
-
 
112
 
-
 
113
;delit buttons of color
-
 
114
	mov	edx,52
-
 
115
	add	edx,11100000000000000000000000000000b
-
 
116
	mcall	8
-
 
117
 
-
 
118
	pop	[counter]
-
 
119
 
-
 
120
	push	esi
-
 
121
	mov	esi,[counter]
-
 
122
	dec	esi
-
 
123
	shl	esi,4
-
 
124
 
-
 
125
	mov	eax,[menu_rectangles+esi]
-
 
126
	mov	ebx,[menu_rectangles+esi+4]
-
 
127
	mov	ecx,[menu_rectangles+esi+8]
-
 
128
	mov	edx,[menu_rectangles+esi+12]
-
 
129
	mov	esi,1
-
 
130
	mov	[menu_coordinat_x],eax
-
 
131
	mov	[menu_size_x],ecx
-
 
132
	call	draw_volume_rectangle
-
 
133
	pop	esi
-
 
134
 
-
 
135
calculate_counter_menu:
-
 
136
;calculate menu counter
-
 
137
	mov	eax,[counter]
-
 
138
	dec	eax
-
 
139
	shl	eax,2
-
 
140
	mov	ebx,[menu_counters+eax]
-
 
141
	mov	[counter_menu],ebx
-
 
142
 
-
 
143
	call	GetMouseCoordinats
-
 
144
 
-
 
145
	and	[menu_counter],0
-
 
146
 
-
 
147
	push	esi edi
-
 
148
;ᣫ ¦¨¢ ­¨¥  ­¨¬ æ¨¨ >>>>>>>>>>>>>>>>>>
-
 
149
;	mcall	18,4
-
 
150
 
-
 
151
menu_loop:
-
 
152
	mov	eax,[menu_coordinat_x]
-
 
153
	mov	ebx,36
-
 
154
	mov	ecx,[MouseX]
-
 
155
	mov	edx,[MouseY]
-
 
156
	mov	esi,[menu_size_x]
-
 
157
	mov	edi,18
-
 
158
	add	ebx,[menu_counter]
-
 
159
	add	eax,2
-
 
160
	sub	esi,3
-
 
161
	inc	ebx
-
 
162
	call	columnus
-
 
163
	mov	esi,7
-
 
164
 
-
 
165
	test	eax,eax
-
 
166
	jz	no_columnus_menu_text
-
 
167
 
-
 
168
	mov	esi,1
-
 
169
 
-
 
170
no_columnus_menu_text:
-
 
171
	mov	eax,[menu_coordinat_x]
-
 
172
	mov	ebx,36
-
 
173
	mov	ecx,[menu_size_x]
-
 
174
	mov	edx,18
-
 
175
	add	ebx,[menu_counter]
-
 
176
	add	eax,2
-
 
177
	sub	ecx,3
-
 
178
	inc	ebx
-
 
179
	call	draw_volume_rectangle
-
 
180
	add	[menu_counter],20
-
 
181
 
-
 
182
	dec	[counter_menu]
-
 
183
	jnz	menu_loop
-
 
184
 
-
 
185
;print menu text
-
 
186
	push	[counter]
-
 
187
	mov	esi,[counter]
-
 
188
	dec	esi
-
 
189
	shl	esi,2
-
 
190
	mov	edi,[menu_text_en+esi]
-
 
191
	mov	eax,[menu_counters+esi]
-
 
192
	mov	[counter],eax
-
 
193
	call	print_panel_text
-
 
194
	pop	[counter]
-
 
195
	pop	edi esi
-
 
196
 
-
 
197
 
-
 
198
menu_still:
-
 
199
	mcall	10
-
 
200
	mcall	2
-
 
201
	mcall	17
-
 
202
	call	GetMouseClick
-
 
203
	test	eax,eax
-
 
204
	jz	calculate_counter_menu
-
 
205
 
-
 
206
	call	GetMouseCoordinats
-
 
207
;calculate menu counter
-
 
208
	mov	eax,[counter]
-
 
209
	dec	eax
-
 
210
	shl	eax,2
-
 
211
	mov	ebx,[menu_counters+eax]
-
 
212
	mov	[counter_menu],ebx
-
 
213
 
-
 
214
	and	[menu_counter],0
-
 
215
	and	[counter_11],0
-
 
216
 
-
 
217
	push	esi edi
-
 
218
 
-
 
219
menu_loop2:
-
 
220
	mov	eax,[menu_coordinat_x]
-
 
221
	mov	ebx,36
-
 
222
	mov	ecx,[MouseX]
-
 
223
	mov	edx,[MouseY]
-
 
224
	mov	esi,[menu_size_x]
-
 
225
	mov	edi,18
-
 
226
	add	ebx,[menu_counter]
-
 
227
	add	eax,2
-
 
228
	sub	esi,3
-
 
229
	inc	ebx
-
 
230
	call	columnus
-
 
231
 
-
 
232
	inc	[counter_11]
-
 
233
	test	eax,eax
-
 
234
	jz	no_columnus_menu_text2
-
 
235
 
-
 
236
	mov	esi,[counter_11]
-
 
237
	mov	[number_menu],esi
-
 
238
 
-
 
239
no_columnus_menu_text2:
-
 
240
	add	[menu_counter],20
-
 
241
	dec	[counter_menu]
-
 
242
	jnz	menu_loop2
-
 
243
 
-
 
244
	pop	edi esi
-
 
245
 
-
 
246
	mcall	5,15
-
 
247
 
-
 
248
	push	[counter]
-
 
249
	pusha
-
 
250
	call	drawwin
-
 
251
	popa
Line -... Line 252...
-
 
252
	pop	[counter]
-
 
253
 
Line 82... Line -...
82
print_panel_menu:
-
 
83
 
-
 
84
 
-
 
85
	push [counter]
-
 
86
	;delit main buttons(some time)
-
 
87
 
-
 
88
	mov [counter],10
-
 
89
 
-
 
90
	next_icon_delit1:
-
 
91
 
-
 
92
	mov eax,8
-
 
93
	mov edx,[counter]
-
 
94
	add edx,11100000000000000000000000000000b
-
 
95
	mcall
-
 
96
	inc [counter]
-
 
97
 
-
 
98
	cmp [counter],30
-
 
99
	jl next_icon_delit1
-
 
100
 
-
 
101
	;delit buttons of brushes
-
 
102
	mov [counter],40
-
 
103
 
-
 
104
	next_icon_delit2:
-
 
105
 
-
 
106
	mov eax,8
-
 
107
	mov edx,[counter]
-
 
108
	add edx,11100000000000000000000000000000b
-
 
109
	mcall
-
 
110
	inc [counter]
-
 
111
 
-
 
112
	cmp [counter],45
-
 
113
	jl next_icon_delit2
-
 
114
 
-
 
115
	;delit buttons of zoom
-
 
116
	mov [counter],45
-
 
117
 
-
 
118
	next_icon_delit3:
-
 
119
 
-
 
120
	mov eax,8
-
 
121
	mov edx,[counter]
-
 
122
	add edx,11100000000000000000000000000000b
-
 
123
	mcall
-
 
124
	inc [counter]
-
 
125
 
-
 
126
	cmp [counter],50
-
 
127
	jl next_icon_delit3
-
 
128
 
-
 
129
	;delit buttons of palette
-
 
130
	mov eax,8
-
 
131
	mov edx,51
-
 
132
	add edx,11100000000000000000000000000000b
-
 
133
	mcall
-
 
134
 
-
 
135
 
-
 
136
	;delit buttons of color
-
 
137
	mov eax,8
-
 
138
	mov edx,52
-
 
139
	add edx,11100000000000000000000000000000b
-
 
140
	mcall
-
 
141
 
-
 
142
	pop [counter]
-
 
143
 
-
 
144
	push esi
-
 
145
	mov esi,[counter]
-
 
146
	dec esi
-
 
147
	shl esi,4
-
 
148
 
-
 
149
	mov eax,[menu_rectangles+esi]
-
 
150
	mov ebx,[menu_rectangles+esi+4]
-
 
151
	mov ecx,[menu_rectangles+esi+8]
-
 
152
	mov edx,[menu_rectangles+esi+12]
-
 
153
	mov esi,1
-
 
154
	mov [menu_coordinat_x],eax
-
 
155
	mov [menu_size_x],ecx
-
 
156
	call draw_volume_rectangle
-
 
157
	pop esi
-
 
158
 
-
 
159
    calculate_counter_menu:
-
 
160
 
-
 
161
 
-
 
162
	;calculate menu counter
-
 
163
	mov eax,[counter]
-
 
164
	dec eax
-
 
165
	shl eax,2
-
 
166
	mov ebx,[menu_counters+eax]
-
 
167
	mov [counter_menu],ebx
-
 
168
 
-
 
169
	call GetMouseCoordinats
-
 
170
 
-
 
171
	and [menu_counter],0
-
 
172
	push esi
-
 
173
	push edi
-
 
174
	;ᣫ ¦¨¢ ­¨¥  ­¨¬ æ¨¨ >>>>>>>>>>>>>>>>>>
-
 
175
	mov eax,18
-
 
176
	mov ebx,14
-
 
177
	;mcall
-
 
178
 
-
 
179
    menu_loop:
-
 
180
 
-
 
181
	mov eax,[menu_coordinat_x]
-
 
182
	mov ebx,36
-
 
183
	mov ecx,[MouseX]
-
 
184
	mov edx,[MouseY]
-
 
185
	mov esi,[menu_size_x]
-
 
186
	mov edi,18
-
 
187
	add ebx,[menu_counter]
-
 
188
	add eax,2
-
 
189
	sub esi,3
-
 
190
	inc ebx
-
 
191
	call columnus
-
 
192
	mov esi,7
-
 
193
 
-
 
194
	test eax,eax
-
 
195
	jz no_columnus_menu_text
-
 
196
 
-
 
197
	mov esi,1
-
 
198
 
-
 
199
	no_columnus_menu_text:
-
 
200
 
-
 
201
	mov eax,[menu_coordinat_x]
-
 
202
	mov ebx,36
-
 
203
	mov ecx,[menu_size_x]
-
 
204
	mov edx,18
-
 
205
	add ebx,[menu_counter]
-
 
206
	add eax,2
-
 
207
	sub ecx,3
-
 
208
	inc ebx
-
 
209
	call draw_volume_rectangle
-
 
210
	add [menu_counter],20
-
 
211
 
-
 
212
 
-
 
213
	dec [counter_menu]
-
 
214
	jnz menu_loop
-
 
215
 
-
 
216
 
-
 
217
	;print menu text
-
 
218
	push [counter]
-
 
219
	mov esi,[counter]
-
 
220
	dec esi
-
 
221
	shl esi,2
-
 
222
	mov edi,[menu_text_en+esi]
-
 
223
	mov eax,[menu_counters+esi]
-
 
224
	mov [counter],eax
-
 
225
	call print_panel_text
-
 
226
	pop [counter]
-
 
227
	pop edi
-
 
228
	pop esi
-
 
229
 
-
 
230
 
-
 
231
	menu_still:
-
 
232
 
-
 
233
	mov eax,10
-
 
234
	mcall
-
 
235
	mov eax,2
-
 
236
	mcall
-
 
237
	mov eax,17
-
 
238
	mcall
-
 
239
 
-
 
240
	call GetMouseClick
-
 
241
 
-
 
242
	test eax,eax
-
 
243
	jz calculate_counter_menu
-
 
244
 
-
 
245
	call GetMouseCoordinats
-
 
246
 
-
 
247
	;calculate menu counter
-
 
248
	mov eax,[counter]
-
 
249
	dec eax
-
 
250
	shl eax,2
-
 
251
	mov ebx,[menu_counters+eax]
-
 
252
	mov [counter_menu],ebx
-
 
253
 
-
 
254
	and [menu_counter],0
-
 
255
	and [counter_11],0
-
 
256
 
-
 
257
	push esi
-
 
258
	push edi
-
 
259
 
-
 
260
    menu_loop2:
-
 
261
 
-
 
262
 
-
 
263
	mov eax,[menu_coordinat_x]
-
 
264
	mov ebx,36
-
 
265
	mov ecx,[MouseX]
-
 
266
	mov edx,[MouseY]
-
 
267
	mov esi,[menu_size_x]
-
 
268
	mov edi,18
-
 
269
	add ebx,[menu_counter]
-
 
270
	add eax,2
-
 
271
	sub esi,3
-
 
272
	inc ebx
-
 
273
	call columnus
-
 
274
 
-
 
275
	inc [counter_11]
-
 
276
 
-
 
277
	test eax,eax
-
 
278
	jz no_columnus_menu_text2
-
 
279
 
-
 
280
	mov esi,[counter_11]
-
 
281
	mov [number_menu],esi
-
 
282
 
-
 
283
	no_columnus_menu_text2:
-
 
284
 
-
 
285
	add [menu_counter],20
-
 
286
 
-
 
287
	dec [counter_menu]
-
 
288
	jnz menu_loop2
-
 
289
 
-
 
290
	pop edi
-
 
291
	pop esi
-
 
292
 
-
 
293
	mov eax,5
-
 
294
	mov ebx,15
-
 
295
	mcall
-
 
296
 
-
 
297
	push [counter]
-
 
298
	pushad
-
 
299
 
-
 
300
	call drawwin
-
 
301
 
-
 
302
	popad
-
 
303
	pop [counter]
-
 
304
 
-
 
305
	mov eax,[counter]
254
	mov	eax,[counter]
306
	mov [number_panel],eax
-
 
Line 307... Line 255...
307
 
255
	mov	[number_panel],eax
308
	call TakeInstruments
256
 
309
	jmp still
257
	jmp	TakeInstruments
310
 
258
 
311
;---------------------------------------------------------
-
 
312
;------print mouse position on panel----------------------
259
;---------------------------------------------------------
313
;---------------------------------------------------------
-
 
314
PrintMousePos:
260
;------print mouse position on panel----------------------
315
 
261
;---------------------------------------------------------
316
	pushad
262
PrintMousePos:
317
 
263
	pushad
318
	mov eax,[Window_SizeX]
264
	mov	eax,[Window_SizeX]
319
	sub eax,75
265
	sub	eax,75
320
	mov ebx,20+15+6
266
	mov	ebx,20+15+6
321
	mov ecx,52
267
	mov	ecx,52
322
	mov edx,18
268
	mov	edx,18
323
	mov esi,4
269
	mov	esi,4
324
	call draw_volume_rectangle
270
	call	draw_volume_rectangle
325
 
271
 
326
	mov eax,[Window_SizeX]
272
	mov	eax,[Window_SizeX]
327
	sub eax,75
273
	sub	eax,75
328
	mov ebx,20+15+6+18+2
274
	mov	ebx,20+15+6+18+2
329
	mov ecx,52
275
	mov	ecx,52
330
	mov edx,18
276
	mov	edx,18
331
	mov esi,4
277
	mov	esi,4
332
	call draw_volume_rectangle
278
	call	draw_volume_rectangle
333
 
279
 
334
	mov eax,[Window_SizeX]
280
	mov	eax,[Window_SizeX]
335
	sub eax,70
281
	sub	eax,70
336
	mov ebx,20+15+6+6
282
	mov	ebx,20+15+6+6
337
	and ecx,0
283
	and	ecx,0
338
	mov edx,mouse_pos_x
284
	mov	edx,mouse_pos_x
339
	mov esi,2
285
	mov	esi,2
340
	call print_text
286
	call	print_text
341
 
287
 
342
	mov eax,[Window_SizeX]
288
	mov	eax,[Window_SizeX]
343
	sub eax,70
289
	sub	eax,70
344
	mov ebx,20+15+6+6+18+1
290
	mov	ebx,20+15+6+6+18+1
345
	and ecx,0
291
	and	ecx,0
346
	mov edx,mouse_pos_y
-
 
347
	mov esi,2
-
 
348
	call print_text
292
	mov	edx,mouse_pos_y
349
 
293
	mov	esi,2
350
	mov eax,47
294
	call	print_text
351
	mov ebx,4*65536
295
 
352
	mov ecx,[ScreenX]
296
	mov	ecx,[ScreenX]
353
	add ecx,[PosX]
297
	add	ecx,[PosX]
354
	mov edx,[Window_SizeX]
298
	mov	edx,[Window_SizeX]
355
	sub edx,55
299
	sub	edx,55
356
	shl edx,16
300
	shl	edx,16
357
	add edx,20+15+6+6
-
 
358
	and esi,0
-
 
359
	mcall
301
	add	edx,20+15+6+6
360
 
302
	and	esi,0
361
	mov eax,47
303
	mcall	47,<4,0>
362
	mov ebx,4*65536
304
 
363
	mov ecx,[ScreenY]
305
	mov	ecx,[ScreenY]
364
	add ecx,[PosY]
306
	add	ecx,[PosY]
365
	mov edx,[Window_SizeX]
-
 
366
	sub edx,55
307
	mov	edx,[Window_SizeX]
Line 367... Line 308...
367
	shl edx,16
308
	sub	edx,55
368
	add edx,20+15+6+18+1+6
309
	shl	edx,16
369
	and esi,0
-
 
370
	mcall
-
 
371
 
-
 
372
	popad
-
 
373
	ret
-
 
374
;----------------------------------------------------------
-
 
375
;---------------draw panel in window of program------------
-
 
376
;----------------------------------------------------------
-
 
377
draw_panel:
-
 
378
 
-
 
379
	mov eax,5
-
 
380
	mov ebx,20
-
 
381
	mov ecx,[Window_SizeX]
-
 
382
	mov edx,15
-
 
383
	mov esi,6
-
 
384
	sub ecx,10
-
 
385
	call draw_volume_rectangle ; top menu - file and etc.
-
 
386
 
-
 
387
	;mov eax,5
-
 
388
	;mov ebx,20
-
 
389
	;mov ecx,[Window_SizeX]
-
 
390
	;mov edx,15
-
 
391
	;mov esi,6
-
 
392
	;sub ecx,10
-
 
393
	;call draw_volume_rectangle
-
 
394
 
-
 
395
	mov eax,5
-
 
396
	mov ebx,20+15+1
-
 
397
	mov ecx,[Window_SizeX]
-
 
398
	mov edx,50
-
 
399
	mov esi,1
-
 
400
	sub ecx,10
-
 
401
	call draw_volume_rectangle ; tools panel
-
 
402
 
-
 
403
	mov eax,5
-
 
404
	mov ebx,20+15+1+50+1
-
 
405
	mov ecx,[Window_SizeX]
-
 
406
	mov edx,[Window_SizeY]
-
 
407
	mov esi,1
-
 
408
	sub ecx,10+20
-
 
409
	sub edx,20+15+1+50+1+5+20
-
 
410
	call draw_volume_rectangle	; picure area
-
 
411
 
-
 
412
	mov eax,5
-
 
413
	mov ebx,[Window_SizeY]
-
 
414
	mov ecx,[Window_SizeX]
-
 
415
	mov edx,20+10
-
 
416
	mov esi,3
-
 
417
	sub ecx,30
-
 
418
	sub ebx,25+10
-
 
419
	call draw_volume_rectangle	; horizontal scrollbar
-
 
420
 
-
 
421
	mov eax,[Window_SizeX]
-
 
422
	mov ebx,20+15+1+49+2
-
 
423
	mov ecx,20+10
-
 
424
	mov edx,[Window_SizeY]
-
 
425
	mov esi,3
-
 
426
	sub eax,25+10
-
 
427
	sub edx,20+15+1+49+5+20
-
 
428
	call draw_volume_rectangle	; vertical scrollbar
-
 
429
 
-
 
430
	mov eax,[Window_SizeX]
-
 
431
	mov ebx,[Window_SizeY]
-
 
432
	mov ecx,20+10
-
 
433
	mov edx,20+10
-
 
434
	mov esi,6
-
 
435
	sub eax,25+10
-
 
436
	sub ebx,25+10
-
 
437
	call draw_volume_rectangle	; down and right small area
-
 
438
 
-
 
439
	;mov eax,445
-
 
440
	;mov ebx,20+15+6
-
 
441
	;mov ecx,37
-
 
442
	;mov edx,37
-
 
Line 443... Line 310...
443
	;mov esi,4
310
	add	edx,20+15+6+18+1+6
444
	;call draw_volume_rectangle
311
	mcall
445
 
312
 
446
	ret
313
	popad
447
 
314
	ret
448
 
-
 
449
;----------------------------------------------------------
315
 
450
;----------print text on the panel and menu----------------
316
;----------------------------------------------------------
451
;----------------------------------------------------------
317
;----------print text on the panel and menu----------------
452
print_panel_text:
318
;----------------------------------------------------------
453
       next_panel_text:
319
print_panel_text:
454
 
320
next_panel_text:
455
	mov eax,[edi]
321
	mov	eax,[edi]
456
	mov ebx,[edi+4]
322
	mov	ebx,[edi+4]
457
	;xor ecx,ecx
323
;	xor	ecx,ecx
458
	mov ecx,0x10000000
324
	mov	ecx,0x10000000
459
	mov edx,edi
325
	mov	edx,edi
460
	add edx,12
326
	add	edx,12
461
	mov esi,[edi+8]
327
	mov	esi,[edi+8]
Line 462... Line 328...
462
	add edi,esi
328
	add	edi,esi
463
	add edi,3*4
329
	add	edi,3*4
464
 
330
 
465
	push edi
331
	push	edi
466
	call print_text
332
	call	print_text
467
	pop edi
333
	pop	edi
468
 
334
 
-
 
335
	dec	[counter]
-
 
336
	jnz	next_panel_text
-
 
337
	ret
-
 
338
;----------------------------------------------------------
-
 
339
;------------draw lines of scoll---------------------------
-
 
340
;----------------------------------------------------------
-
 
341
draw_scrollers:
-
 
342
	mov	edi,[CounterX]
-
 
343
	mov	eax,[Scroll1CoordinatX]
-
 
344
	mov	ebx,[Window_SizeY]
-
 
345
	sub	ebx,22+10
-
 
346
	mov	ecx,[Window_SizeX]
-
 
347
	sub	ecx,10+5+20+10+1
-
 
348
	mov	edx,14+10
-
 
349
	mov	esi,1
-
 
350
	mov	[Scroll1CoordinatX],eax
-
 
351
	mov	[Scroll1CoordinatY],ebx
-
 
352
	mov	[Scroll1MaxSizeY],edx
-
 
353
	mov	[Scroll1MaxSizeX],ecx
-
 
354
	imul	ecx,edi
-
 
355
	push	eax	ebx	edx
-
 
356
	mov	eax,ecx
-
 
357
	mov	ebx,[Picture_SizeX]
-
 
358
	cdq
-
 
359
	idiv	ebx
-
 
360
	mov	ecx,eax
-
 
361
	pop	edx	ebx	eax
-
 
362
	mov	[Scroll1SizeX],ecx
-
 
363
	mov	edi,[Scroll1MaxSizeX]
-
 
364
	sub	edi,ecx
-
 
365
	mov	[Scroll1FreeX],edi
-
 
366
	call	draw_volume_rectangle
-
 
367
 
-
 
368
	mov	eax,[Window_SizeX]
-
 
369
	sub	eax,22+10
-
 
370
	mov	ebx,[Scroll2CoordinatY]
-
 
371
	mov	ecx,14+10
-
 
372
	mov	edx,[Window_SizeY]
-
 
373
	sub	edx,20+15+1+49+10+20+11
-
 
374
	mov	esi,1
-
 
375
	mov	[Scroll2CoordinatX],eax
-
 
376
	mov	[Scroll2CoordinatY],ebx
-
 
377
	mov	[Scroll2MaxSizeX],ecx
-
 
378
	mov	[Scroll2MaxSizeY],edx
-
 
379
 
-
 
380
	imul	edx,[CounterY]
-
 
381
	push	eax	ebx
-
 
382
	mov	eax,edx
-
 
383
	mov	ebx,[Picture_SizeY]
-
 
384
	cdq
Line 469... Line -...
469
	dec [counter]
-
 
470
	jnz next_panel_text
-
 
471
	ret
-
 
472
;----------------------------------------------------------
-
 
473
;------------draw lines of scoll---------------------------
-
 
474
;----------------------------------------------------------
-
 
475
draw_scrollers:
-
 
476
 
-
 
477
	 mov edi,[CounterX]
-
 
478
	 mov eax,[Scroll1CoordinatX]
-
 
479
	 mov ebx,[Window_SizeY]
-
 
480
	 sub ebx,22+10
-
 
481
	 mov ecx,[Window_SizeX]
-
 
482
	 sub ecx,10+5+20+10+1
-
 
483
	 mov edx,14+10
-
 
484
	 mov esi,1
-
 
485
	 mov [Scroll1CoordinatX],eax
-
 
486
	 mov [Scroll1CoordinatY],ebx
-
 
487
	 mov [Scroll1MaxSizeY],edx
-
 
488
	 mov [Scroll1MaxSizeX],ecx
-
 
489
	 imul ecx,edi
-
 
490
	 push eax
-
 
491
	 push ebx
-
 
492
	 push edx
-
 
493
	 mov eax,ecx
-
 
494
	 mov ebx,[Picture_SizeX]
-
 
495
	 cdq
-
 
496
	 idiv ebx
-
 
497
	 mov ecx,eax
385
	idiv	ebx
498
	 pop edx
-
 
499
	 pop ebx
-
 
500
	 pop eax
-
 
501
	 mov [Scroll1SizeX],ecx
-
 
502
	 mov edi,[Scroll1MaxSizeX]
-
 
503
	 sub edi,ecx
-
 
504
	 mov [Scroll1FreeX],edi
-
 
505
	 call draw_volume_rectangle
-
 
506
 
-
 
507
	 mov eax,[Window_SizeX]
-
 
508
	 sub eax,22+10
-
 
509
	 mov ebx,[Scroll2CoordinatY]
-
 
510
	 mov ecx,14+10
-
 
511
	 mov edx,[Window_SizeY]
-
 
512
	 sub edx,20+15+1+49+10+20+11
-
 
513
	 mov esi,1
-
 
514
	 mov [Scroll2CoordinatX],eax
-
 
515
	 mov [Scroll2CoordinatY],ebx
-
 
516
	 mov [Scroll2MaxSizeX],ecx
-
 
517
	 mov [Scroll2MaxSizeY],edx
-
 
518
 
-
 
519
	 imul edx,[CounterY]
-
 
520
	 push eax
-
 
521
	 push ebx
-
 
522
	 mov eax,edx
-
 
523
	 mov ebx,[Picture_SizeY]
-
 
524
	 cdq
-
 
Line 525... Line -...
525
	 idiv ebx
-
 
526
	 mov edx,eax
-
 
527
	 pop ebx
-
 
528
	 pop eax
386
	mov	edx,eax
Line 529... Line -...
529
	 mov [Scroll2SizeY],edx
-
 
530
	 mov edi,[Scroll2MaxSizeY]
-
 
531
	 sub edi,edx
387
	pop	ebx	eax
-
 
388
	mov	[Scroll2SizeY],edx
-
 
389
	mov	edi,[Scroll2MaxSizeY]
532
	 mov [Scroll2FreeY],edi
390
	sub	edi,edx