Subversion Repositories Kolibri OS

Rev

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