Subversion Repositories Kolibri OS

Rev

Rev 1636 | Rev 6328 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1636 Rev 1643
Line 1... Line 1...
1
;-----------------------------------------------------------
1
;-----------------------------------------------------------
2
;-----------instruments of menu-----------------------------
2
;-----------instruments of menu-----------------------------
3
;-----------------------------------------------------------
3
;-----------------------------------------------------------
4
TakeInstruments:
4
TakeInstruments:
5
 
-
 
6
	 ;|||||||||||||||||||FILE||||||||||||||||||||||
5
;|||||||||||||||||||FILE||||||||||||||||||||||
7
	 cmp [number_panel],7
6
	cmp	[number_panel],7
8
	 jne no_file
7
	jne	no_file
Line 9... Line 8...
9
 
8
 
Line 58... Line 57...
58
	 mov ecx,0xffffff
57
	mov	ecx,0xffffff
59
	 mov edx,ok_text
58
	mov	edx,ok_text
60
	 mov esi,2
59
	mov	esi,2
61
	 call print_text
60
	call	print_text
Line 62... Line -...
62
 
-
 
63
	 mov eax,8
-
 
64
	 mov ebx,177*65536+40
-
 
65
	 mov ecx,115*65536+14
61
 
66
	 mov edx,1000000000000000000000000000000b
62
	mov	edx,1000000000000000000000000000000b+1000
67
	 add edx,1000
-
 
Line 68... Line -...
68
	 mcall
-
 
69
 
-
 
70
	 mov eax,8
-
 
71
	 mov ebx,177*65536+40
63
	mcall	8,<177,40>,<115,14>,
72
	 mov ecx,139*65536+14
64
 
73
	 mov edx,1000000000000000000000000000000b
-
 
Line 74... Line -...
74
	 add edx,1001
-
 
75
	 mcall
-
 
76
 
-
 
77
	 mov eax,8
65
	mov	edx,1000000000000000000000000000000b+1001
78
	 mov ebx,175*65536+40
66
	mcall	,,<139,14>,
79
	 mov ecx,170*65536+15
-
 
Line 80... Line 67...
80
	 mov edx,1000000000000000000000000000000b
67
 
81
	 add edx,1002
-
 
82
	 mcall
-
 
83
 
68
	mov	edx,1000000000000000000000000000000b+1002
Line 84... Line 69...
84
	 no_activate_space:
69
	mcall	,<175,40>,<170,15>
85
 
70
 
Line 86... Line 71...
86
	 mov eax,10
71
no_activate_space:
87
	 mcall
72
	mcall	10
Line 88... Line -...
88
 
-
 
89
	 cmp eax,1
73
 
90
	 je exit_new
74
	cmp	eax,1
Line 91... Line 75...
91
 
75
	je	exit_new
92
	 cmp eax,3
76
 
Line 115... Line 99...
115
	 mov [length_number],eax
99
	mov	[length_number],eax
116
	 mov eax,string_
100
	mov	eax,string_
117
	 call value
101
	call	value
Line 118... Line 102...
118
 
102
 
119
	 mov [Picture_SizeX],eax
-
 
120
 
103
	mov	[Picture_SizeX],eax
121
	 jmp no_activate_space
-
 
-
 
104
	jmp	no_activate_space
122
 
105
;---------------------------------------------------------------------
123
	 no_picture_size_x:
-
 
124
 
106
no_picture_size_x:
125
	 cmp eax,1001
107
	cmp	eax,1001
Line 126... Line 108...
126
	 jne no_picture_size_y
108
	jne	no_picture_size_y
127
 
109
 
Line 138... Line 120...
138
	 mov [length_number],eax
120
	mov	[length_number],eax
139
	 mov eax,string_
121
	mov	eax,string_
140
	 call value
122
	call	value
Line 141... Line 123...
141
 
123
 
142
	 mov [Picture_SizeY],eax
-
 
143
 
124
	mov	[Picture_SizeY],eax
144
	 jmp no_activate_space
-
 
-
 
125
	jmp	no_activate_space
145
 
126
;---------------------------------------------------------------------
146
	 no_picture_size_y:
-
 
147
 
127
no_picture_size_y:
148
	 cmp eax,1002
128
	cmp	eax,1002
Line 149... Line 129...
149
	 jne no_activate_space
129
	jne	no_activate_space
-
 
130
 
-
 
131
exit_new:
Line 150... Line -...
150
 
-
 
151
	 exit_new:
-
 
152
 
-
 
153
	 mov eax,8
132
	mov	edx,11100000000000000000000000000000b+1002
154
	 mov ebx,175*65536+40
-
 
155
	 mov ecx,170*65536+15
-
 
156
	 mov edx,11100000000000000000000000000000b
-
 
157
	 add edx,1002
-
 
158
	 mcall
133
	mcall	8,<175,40>,<170,15>
159
 
-
 
160
	 mov eax,8
-
 
161
	 mov ebx,177*65536+40
-
 
162
	 mov ecx,139*65536+14
-
 
Line 163... Line -...
163
	 mov edx,11100000000000000000000000000000b
-
 
164
	 add edx,1001
-
 
165
	 mcall
-
 
166
 
134
 
167
	 mov eax,8
135
	mov	edx,11100000000000000000000000000000b+1001
168
	 mov ebx,177*65536+40
-
 
Line 169... Line 136...
169
	 mov ecx,115*65536+14
136
	mcall	,<177,40>,<139,14>
170
	 mov edx,11100000000000000000000000000000b
-
 
171
	 add edx,1000
137
 
Line 172... Line 138...
172
	 mcall
138
	mov	edx,11100000000000000000000000000000b+1000
173
 
139
	mcall	,,<115,14>
174
	 ;get memory for new picture
140
 
Line 175... Line 141...
175
 
141
;get memory for new picture
176
	 call GetMemory
142
	call	GetMemory
177
 
-
 
178
	 and [save_flag],0
143
 
-
 
144
	and	[save_flag],0
179
	 and [number_panel],0
145
	and	[number_panel],0
180
	 and [number_menu],0
-
 
181
 
146
	and	[number_menu],0
182
	 call cleare_work_arrea
147
 
183
	 call drawwin
148
	call	cleare_work_arrea
Line 184... Line 149...
184
 
149
	call	drawwin
Line 197... Line 162...
197
	call    [OpenDialog_Start]
162
	call    [OpenDialog_Start]
Line 198... Line 163...
198
	
163
	
199
	cmp	[OpenDialog_data.status],1
164
	cmp	[OpenDialog_data.status],1
200
	jne	still
165
	jne	still
201
;---------------------------------------------------------------------
-
 
202
 
166
;---------------------------------------------------------------------
203
	 open_1:
-
 
204
 
-
 
205
	 mov eax,40
167
open_1:
206
	 mov ebx,100111b
-
 
Line 207... Line 168...
207
	 mcall
168
	mcall	40,100111b
208
 
169
 
209
	 mov eax,file_path
170
	mov	eax,file_path
Line 226... Line 187...
226
	 xor ebx,ebx
187
	xor	ebx,ebx
227
	 mov eax,[esi+18]
188
	mov	eax,[esi+18]
228
	 mov ebx,[esi+22]
189
	mov	ebx,[esi+22]
229
	 mov [Picture_SizeX],eax
190
	mov	[Picture_SizeX],eax
230
	 mov [Picture_SizeY],ebx
191
	mov	[Picture_SizeY],ebx
231
 
-
 
232
	 jmp exit_type
192
	jmp	exit_type
233
 
-
 
-
 
193
;---------------------------------------------------------------------
234
	 no_bmp_file:
194
no_bmp_file:
235
 
-
 
236
	 ;-------------is this GIF file ?----------------
195
;-------------is this GIF file ?----------------
237
	 xor eax,eax
196
	xor	eax,eax
238
	 mov ax,[esi]
197
	mov	ax,[esi]
239
	 mov [type],ax
198
	mov	[type],ax
Line 246... Line 205...
246
	 xor ebx,ebx
205
	xor	ebx,ebx
247
	 mov ax,word[esi]
206
	mov	ax,word[esi]
248
	 mov bx,word[esi+2]
207
	mov	bx,word[esi+2]
249
	 mov [Picture_SizeX],eax
208
	mov	[Picture_SizeX],eax
250
	 mov [Picture_SizeY],ebx
209
	mov	[Picture_SizeY],ebx
251
 
-
 
252
	 jmp exit_type
210
	jmp	exit_type
253
 
-
 
-
 
211
;---------------------------------------------------------------------
254
	 no_gif_file:
212
no_gif_file:
255
 
-
 
256
	 jmp no_unpakcing_file
213
	jmp	no_unpakcing_file
257
 
-
 
-
 
214
;---------------------------------------------------------------------
258
	 exit_type:
215
exit_type:
259
 
-
 
260
	 ;----------------------------------------------------------
216
;----------------------------------------------------------
261
	 ;Get momory for unpacking picture and for picture's bufers
217
;Get momory for unpacking picture and for picture's bufers
262
	 ;----------------------------------------------------------
218
;----------------------------------------------------------
263
	 call GetMemory
219
	call	GetMemory
264
	 ;----------------------------------------------------------
220
;----------------------------------------------------------
265
	 ;--------------------Load file in memory-------------------
221
;--------------------Load file in memory-------------------
266
	 ;----------------------------------------------------------
222
;----------------------------------------------------------
267
 
-
 
268
	 mov eax,file_path
223
	mov	eax,file_path
269
	 mov ebx,[PointerToCopyPicture]
224
	mov	ebx,[PointerToCopyPicture]
270
	 add ebx,1000
225
	add	ebx,1000
271
 
-
 
272
	 call load_file
226
	call	load_file
273
 
-
 
274
	 ;----------------------------------------------------------
227
;----------------------------------------------------------
275
	 ;-------------------Unpacking picture----------------------
228
;-------------------Unpacking picture----------------------
276
	 ;----------------------------------------------------------
229
;----------------------------------------------------------
277
	 mov esi,[PointerToCopyPicture]
230
	mov	esi,[PointerToCopyPicture]
278
	 add esi,1000
231
	add	esi,1000
Line 280... Line 233...
280
	 mov eax,[ScreenPointer]
233
	mov	eax,[ScreenPointer]
Line 281... Line 234...
281
 
234
 
282
	 cmp [type],'BM'
235
	cmp	[type],'BM'
283
	 jne no_unpakcing_bmp_file
236
	jne	no_unpakcing_bmp_file
-
 
237
	;BMP DECODER
284
	    ;BMP DECODER
238
 
-
 
239
	call	bmptoimg
285
	    call bmptoimg
240
 
286
	    mov [save_flag],1
241
	mov	[save_flag],1
287
		jmp	draw_1
-
 
-
 
242
	jmp	draw_1
288
		
243
;---------------------------------------------------------------------
289
	 no_unpakcing_bmp_file:
-
 
290
 
-
 
291
 
244
no_unpakcing_bmp_file:
292
	 cmp [type],'GI'
245
	cmp	[type],'GI'
293
	 jne no_unpakcing_file
246
	jne	no_unpakcing_file
294
	   ;GIF DECODER
247
	;GIF DECODER
-
 
248
	sub	edi,8
295
	   sub edi,8
249
 
-
 
250
	call	ReadGIF
296
	   call ReadGIF
251
 
-
 
252
	mov	[save_flag],1
-
 
253
	jmp	draw_1
297
	   mov [save_flag],1
254
;---------------------------------------------------------------------
298
	 no_unpakcing_file:
-
 
299
 
255
no_unpakcing_file:
300
	 call load_icons
256
	call	load_icons
301
draw_1:	
257
draw_1:	
302
	 call drawwin
-
 
303
 
258
	call	drawwin
304
	 open_2:
-
 
305
 
259
open_2:
306
	 mov [Scroll1CoordinatX],9
260
	mov	[Scroll1CoordinatX],9
307
	 mov [Scroll2CoordinatY],89
261
	mov	[Scroll2CoordinatY],89
308
	 and [number_panel],0
262
	and	[number_panel],0
309
	 and [number_menu],0
-
 
310
 
263
	and	[number_menu],0
311
	 jmp still
-
 
-
 
264
	jmp	still
312
 
265
;---------------------------------------------------------------------
313
	 no_open:
-
 
314
 
266
no_open:
315
	 ;<<<<<<<<<<>>>>>>>>>>>
267
 ;<<<<<<<<<<>>>>>>>>>>>
316
	 cmp [number_menu],3
268
	cmp	[number_menu],3
Line 317... Line 269...
317
	 jne no_save_
269
	jne	no_save_
318
 
-
 
319
	 mov al,[save_flag]
270
 
320
 
271
	mov	al,[save_flag]
321
	 test al,al
-
 
322
	 jz no_save_file
272
	test	al,al
323
 
-
 
-
 
273
	jz	no_save_file
324
	 jmp save_enter
274
	jmp	save_enter
325
 
-
 
326
	 no_save_file:
275
;---------------------------------------------------------------------
327
 
276
no_save_file:
328
	 and [number_panel],0
-
 
329
	 and [number_menu],0
277
	and	[number_panel],0
330
 
-
 
-
 
278
	and	[number_menu],0
331
	 jmp still
279
	jmp	still
332
 
-
 
333
	 no_save_:
280
;---------------------------------------------------------------------
334
 
281
no_save_:
335
	 ;<<<<<<<<>>>>>>>>>>
282
 ;<<<<<<<<>>>>>>>>>>
Line 336... Line 283...
336
	 cmp [number_menu],4
283
	cmp	[number_menu],4
Line 360... Line 307...
360
	call    [OpenDialog_Start]
307
	call    [OpenDialog_Start]
Line 361... Line 308...
361
	
308
 
362
	cmp	[OpenDialog_data.status],1
309
	cmp	[OpenDialog_data.status],1
363
	jne	still
310
	jne	still
364
;---------------------------------------------------------------------
-
 
365
 
311
;---------------------------------------------------------------------
366
	 save1:
-
 
367
 
312
save1:
368
	 save_enter:
-
 
369
	 mov eax,40
313
save_enter:
370
	 mov ebx,100111b
-
 
Line 371... Line 314...
371
	 mcall
314
	mcall	40,100111b
-
 
315
 
372
 
316
	call	analizing_picture_to_palette
373
	 call analizing_picture_to_palette
317
 
374
	 ;eax => number of colors in picture
318
	;eax => number of colors in picture
375
	 mov ebx,[PointerToPicture]
319
	mov	ebx,[PointerToPicture]
376
	 mov ecx,[PointerToEditBufer]
320
	mov	ecx,[PointerToEditBufer]
Line 381... Line 325...
381
	 call coding_bmp
325
	call	coding_bmp
Line 382... Line 326...
382
 
326
 
383
	 mov eax,file_path
327
	mov	eax,file_path
384
	 mov ecx,ebx
328
	mov	ecx,ebx
385
	 mov ebx,[PointerToEditBufer]
-
 
386
	 push eax
-
 
387
	 push ebx
-
 
Line 388... Line 329...
388
	 push ecx
329
	mov	ebx,[PointerToEditBufer]
Line 389... Line 330...
389
 
330
 
390
	 call save_file
331
	call	save_file
391
 
332
 
392
	 mov [save_flag],1
333
	mov	[save_flag],1
393
	 and [number_panel],0
-
 
394
	 and [number_menu],0
-
 
395
	 call drawwin
-
 
396
 
-
 
397
	 jmp still
-
 
398
 
-
 
399
	 save2:
-
 
400
 
-
 
401
	 and [number_panel],0
334
	and	[number_panel],0
-
 
335
	and	[number_menu],0
-
 
336
	call	drawwin
-
 
337
	jmp	still
-
 
338
;---------------------------------------------------------------------
-
 
339
;save2:
-
 
340
;	and	[number_panel],0
402
	 and [number_menu],0
341
;	and	[number_menu],0
403
 
-
 
404
	 jmp still
342
;	jmp	still
405
	 no_save:
343
;---------------------------------------------------------------------
406
 
344
no_save:
Line 407... Line 345...
407
	 ;<<<<<>>>>>>
345
 ;<<<<<>>>>>>
408
	 cmp [number_menu],5
346
	cmp	[number_menu],5
409
	 jne no_exit_program
-
 
-
 
347
	jne	no_exit_program
410
 
348
 
411
	 mov eax,-1
-
 
412
	 mcall
349
	mov	eax,-1
413
 
-
 
414
	 no_exit_program:
350
	mcall
415
 
-
 
416
	 no_file:
351
;---------------------------------------------------------------------
417
 
352
no_exit_program:
418
	 ;|||||||||||||||||||||||||||||EDIT|||||||||||||||||||||||||
353
no_file:
Line 419... Line 354...
419
 
354
;|||||||||||||||||||||||||||||EDIT|||||||||||||||||||||||||
420
	 ;<<<<<<<<<>>>>>>>>>
355
;<<<<<<<<<>>>>>>>>>
Line 421... Line 356...
421
	 cmp [number_panel],6
356
	cmp	[number_panel],6
422
	 jne no_edit
357
	jne	still	;no_edit
Line 423... Line 358...
423
 
358
 
Line 424... Line 359...
424
	 cmp [number_menu],1
359
	cmp	[number_menu],1
425
	 jne no_undo
-
 
426
 
360
	jne	no_undo
427
	 cmp [number_undo],1
361
 
Line 428... Line 362...
428
	 jne no_one____
362
	cmp	[number_undo],1
Line 429... Line 363...
429
 
363
	jne	no_one____
430
	 mov esi,[PointerToCopyPicture]
-
 
431
 
364
 
432
	 no_one____:
365
	mov	esi,[PointerToCopyPicture]
433
 
366
 
434
	 cmp [number_undo],2
367
no_one____:
435
	 jne no_two____
368
	cmp	[number_undo],2
Line 452... Line 385...
452
	 jnz no_null_undo
385
	jnz	no_null_undo
Line 453... Line 386...
453
 
386
 
Line 454... Line 387...
454
	 mov [number_undo],1
387
	mov	[number_undo],1
455
 
-
 
456
	 no_null_undo:
388
 
457
 
389
no_null_undo:
458
	 and [number_panel],0
390
	and	[number_panel],0
-
 
391
	and	[number_menu],0
459
	 and [number_menu],0
392
	jmp	still
460
	 jmp still
-
 
461
	 no_undo:
393
;---------------------------------------------------------------------
462
 
-
 
463
	 ;<<<<<<<<<>>>>>>>>>
394
no_undo:
464
 
395
;<<<<<<<<<>>>>>>>>>
Line 465... Line 396...
465
	 cmp [number_menu],2
396
	cmp	[number_menu],2
466
	 jne no_copy
397
	jne	no_copy
Line 479... Line 410...
479
	mov ecx,[rectangular_shade_x]
410
	mov	ecx,[rectangular_shade_x]
480
	mov [OldX],ecx			  ; OldX <-----> rectangulare_shade_x
411
	mov	[OldX],ecx			 ; OldX <-----> rectangulare_shade_x
481
	mov [rectangular_shade_x],eax
412
	mov	[rectangular_shade_x],eax
Line 482... Line 413...
482
 
413
 
483
	no_remove_x_copy:
-
 
484
 
414
no_remove_x_copy:
485
	cmp ebx,[rectangular_shade_y]
415
	cmp	ebx,[rectangular_shade_y]
Line 486... Line 416...
486
	jl no_remove_y_copy
416
	jl	no_remove_y_copy
487
 
417
 
488
	mov ecx,[rectangular_shade_y]
418
	mov	ecx,[rectangular_shade_y]
Line 489... Line 419...
489
	mov [OldY],ecx			  ; OldY <-----> rectangulare_shade_y
419
	mov	[OldY],ecx			 ; OldY <-----> rectangulare_shade_y
490
	mov [rectangular_shade_y],ebx
-
 
491
 
420
	mov	[rectangular_shade_y],ebx
492
	no_remove_y_copy:
421
 
493
 
422
no_remove_y_copy:
494
	 mov eax,[OldX]
423
	mov	eax,[OldX]
495
	 mov ebx,[OldY]
424
	mov	ebx,[OldY]
Line 511... Line 440...
511
	 jnz no_signum_fill_r_x_copy
440
	jnz	no_signum_fill_r_x_copy
Line 512... Line 441...
512
 
441
 
Line 513... Line 442...
513
	 mov [Dx_],-1
442
	mov	[Dx_],-1
514
 
-
 
515
	 no_signum_fill_r_x_copy:
443
 
516
 
444
no_signum_fill_r_x_copy:
Line 517... Line 445...
517
	 sub edx,ebx
445
	sub	edx,ebx
Line 518... Line 446...
518
	 jnz no_signum_fill_r_y_copy
446
	jnz	no_signum_fill_r_y_copy
519
 
-
 
520
	 mov [Dy_],-1
447
 
521
 
448
	mov	[Dy_],-1
Line 522... Line 449...
522
	 no_signum_fill_r_y_copy:
449
 
523
 
450
no_signum_fill_r_y_copy:
524
	 mov ebx,[rectangular_shade_y]
-
 
Line -... Line 451...
-
 
451
	mov	ebx,[rectangular_shade_y]
525
	 sub ebx,edi
452
	sub	ebx,edi
526
 
-
 
527
	 mov edx,[PointerToEditBufer]
-
 
528
	 mov [y],edi
-
 
529
	 loop_fill_rectangle_y_copy:
-
 
Line -... Line 453...
-
 
453
 
-
 
454
	mov	edx,[PointerToEditBufer]
530
 
455
	mov	[y],edi
531
	 mov [x],esi
456
 
532
	 loop_fill_rectangle_x_copy:
457
loop_fill_rectangle_y_copy:
533
 
458
	mov	[x],esi
534
	 push esi
459
 
535
	 push edi
-
 
536
 
460
loop_fill_rectangle_x_copy:
537
	 mov eax,[PointerToPicture]
461
	push	esi edi
538
	 mov ebx,[Picture_SizeX]
462
	mov	eax,[PointerToPicture]
539
	 mov esi,[x]
-
 
540
	 mov edi,[y]
-
 
541
	 call GetColorOfPixel
463
	mov	ebx,[Picture_SizeX]
Line 542... Line 464...
542
 
464
	mov	esi,[x]
543
	 mov [edx],ax
-
 
544
	 shr eax,16
465
	mov	edi,[y]
545
	 mov [edx+2],al
466
	call	GetColorOfPixel
546
 
467
	mov	[edx],ax
Line 547... Line 468...
547
	 pop edi
468
	shr	eax,16
Line 566... Line 487...
566
	 call MovePictureToWorkScreen
487
	call	MovePictureToWorkScreen
Line 567... Line 488...
567
 
488
 
568
	 and [number_panel],0
489
	and	[number_panel],0
569
	 and [number_menu],0
490
	and	[number_menu],0
570
	 mov [DrawSprite_flag],1
-
 
571
 
491
	mov	[DrawSprite_flag],1
572
	 jmp still
-
 
-
 
492
	jmp	still
573
 
493
;---------------------------------------------------------------------
574
	 no_copy:
-
 
575
 
494
no_copy:
576
	 ;<<<<<<<<<>>>>>>>
495
;<<<<<<<<<>>>>>>>
577
	 cmp [number_menu],3
496
	cmp	[number_menu],3
Line 578... Line 497...
578
	 jne no_paste
497
	jne	no_paste
Line 592... Line 511...
592
	 mov ecx,[rectangular_shade_x]
511
	mov	ecx,[rectangular_shade_x]
593
	 mov [OldX],ecx 		   ; OldX <-----> rectangulare_shade_x
512
	mov	[OldX],ecx 		  ; OldX <-----> rectangulare_shade_x
594
	 mov [rectangular_shade_x],eax
513
	mov	[rectangular_shade_x],eax
Line 595... Line 514...
595
 
514
 
596
	 no_remove_x_paste:
-
 
597
 
515
no_remove_x_paste:
598
	 cmp ebx,[rectangular_shade_y]
516
	cmp	ebx,[rectangular_shade_y]
Line 599... Line 517...
599
	 jl no_remove_y_paste
517
	jl	no_remove_y_paste
600
 
518
 
601
	 mov ecx,[rectangular_shade_y]
519
	mov	ecx,[rectangular_shade_y]
Line 602... Line 520...
602
	 mov [OldY],ecx 		   ; OldY <-----> rectangulare_shade_y
520
	mov	[OldY],ecx 		  ; OldY <-----> rectangulare_shade_y
603
	 mov [rectangular_shade_y],ebx
-
 
604
 
521
	mov	[rectangular_shade_y],ebx
605
	 no_remove_y_paste:
522
 
606
 
523
no_remove_y_paste:
607
	 mov eax,[OldX]
524
	mov	eax,[OldX]
608
	 mov ebx,[OldY]
525
	mov	ebx,[OldY]
Line 624... Line 541...
624
	 jnz no_signum_fill_r_x_paste
541
	jnz	no_signum_fill_r_x_paste
Line 625... Line 542...
625
 
542
 
Line 626... Line 543...
626
	 mov [Dx_],-1
543
	mov	[Dx_],-1
627
 
-
 
628
	 no_signum_fill_r_x_paste:
544
 
629
 
545
no_signum_fill_r_x_paste:
Line 630... Line 546...
630
	 sub edx,ebx
546
	sub	edx,ebx
Line 631... Line 547...
631
	 jnz no_signum_fill_r_y_paste
547
	jnz	no_signum_fill_r_y_paste
632
 
-
 
633
	 mov [Dy_],-1
548
 
634
 
549
	mov	[Dy_],-1
Line 635... Line 550...
635
	 no_signum_fill_r_y_paste:
550
 
636
 
-
 
637
	 mov edx,[PointerToEditBufer]
551
no_signum_fill_r_y_paste:
638
	 mov [y],edi
-
 
639
 
-
 
640
	 loop_fill_rectangle_y_paste:
-
 
641
 
-
 
Line -... Line 552...
-
 
552
	mov	edx,[PointerToEditBufer]
-
 
553
	mov	[y],edi
642
	 mov [x],esi
554
 
643
	 loop_fill_rectangle_x_paste:
555
loop_fill_rectangle_y_paste:
644
 
-
 
645
	 push esi
556
	mov	[x],esi
646
	 push edi
557
 
647
 
558
loop_fill_rectangle_x_paste:
648
	 mov ecx,[edx]
559
	push	esi edi
649
	 and ecx,0xffffff ;color
560
	mov	ecx,[edx]
650
 
-
 
651
	 mov eax,[PointerToPicture]
-
 
652
	 mov ebx,[Picture_SizeX]
561
	and	ecx,0xffffff ;color
Line 653... Line 562...
653
	 mov esi,[x]
562
	mov	eax,[PointerToPicture]
Line 654... Line 563...
654
	 mov edi,[y]
563
	mov	ebx,[Picture_SizeX]
655
	 call PutPixel
564
	mov	esi,[x]
Line 667... Line 576...
667
 
576
 
668
	 mov eax,[y]
577
	mov	eax,[y]
669
	 add eax,[Dy_]
578
	add	eax,[Dy_]
670
	 mov [y],eax
579
	mov	[y],eax
671
	 cmp eax,[rectangular_shade_y]
-
 
672
 
580
	cmp	eax,[rectangular_shade_y]
Line 673... Line 581...
673
	 jl loop_fill_rectangle_y_paste
581
	jl	loop_fill_rectangle_y_paste
674
 
582
 
675
	 call MovePictureToWorkScreen
583
	call	MovePictureToWorkScreen
676
	 and [number_panel],0
584
	and	[number_panel],0
677
	 and [number_menu],0
-
 
678
	 mov [Paste_flag],1
585
	and	[number_menu],0
679
 
-
 
-
 
586
	mov	[Paste_flag],1
680
	 jmp still
587
	jmp	still
681
 
-
 
682
	 no_paste:
588
;---------------------------------------------------------------------
683
 
589
no_paste:
684
	 ;<<<<<<<<<>>>>>>>>>
590
;<<<<<<<<<>>>>>>>>>
Line 685... Line 591...
685
	 cmp [number_menu],4
591
	cmp	[number_menu],4
Line 700... Line 606...
700
	 mov ecx,[rectangular_shade_x]
606
	mov	ecx,[rectangular_shade_x]
701
	 mov [OldX],ecx 		   ; OldX <-----> rectangulare_shade_x
607
	mov	[OldX],ecx 		  ; OldX <-----> rectangulare_shade_x
702
	 mov [rectangular_shade_x],eax
608
	mov	[rectangular_shade_x],eax
Line 703... Line 609...
703
 
609
 
704
	 no_remove_x_cut:
-
 
705
 
610
no_remove_x_cut:
706
	 cmp ebx,[rectangular_shade_y]
611
	cmp	ebx,[rectangular_shade_y]
Line 707... Line 612...
707
	 jl no_remove_y_cut
612
	jl	no_remove_y_cut
708
 
613
 
709
	 mov ecx,[rectangular_shade_y]
614
	mov	ecx,[rectangular_shade_y]
Line 710... Line 615...
710
	 mov [OldY],ecx 		   ; OldY <-----> rectangulare_shade_y
615
	mov	[OldY],ecx 		  ; OldY <-----> rectangulare_shade_y
711
	 mov [rectangular_shade_y],ebx
-
 
712
 
616
	mov	[rectangular_shade_y],ebx
713
	 no_remove_y_cut:
617
 
714
 
618
no_remove_y_cut:
715
	 mov eax,[OldX]
619
	mov	eax,[OldX]
716
	 mov ebx,[OldY]
620
	mov	ebx,[OldY]
Line 732... Line 636...
732
	 jnz no_signum_fill_r_x
636
	jnz	no_signum_fill_r_x
Line 733... Line 637...
733
 
637
 
Line 734... Line 638...
734
	 mov [Dx_],-1
638
	mov	[Dx_],-1
735
 
-
 
736
	 no_signum_fill_r_x:
639
 
737
 
640
no_signum_fill_r_x:
Line 738... Line 641...
738
	 sub edx,ebx
641
	sub	edx,ebx
Line 739... Line 642...
739
	 jnz no_signum_fill_r_y
642
	jnz	no_signum_fill_r_y
740
 
-
 
741
	 mov [Dy_],-1
643
 
742
 
-
 
Line -... Line 644...
-
 
644
	mov	[Dy_],-1
743
	 no_signum_fill_r_y:
645
 
744
 
-
 
745
	 mov [y],edi
-
 
746
	 loop_fill_rectangle_y:
-
 
747
 
-
 
Line -... Line 646...
-
 
646
no_signum_fill_r_y:
-
 
647
	mov	[y],edi
748
	 mov [x],esi
648
 
749
	 loop_fill_rectangle_x:
649
loop_fill_rectangle_y:
750
 
650
	mov	[x],esi
751
	 push esi
651
 
752
	 push edi
652
loop_fill_rectangle_x:
753
 
653
	push	esi edi
754
	 mov eax,[PointerToPicture]
-
 
755
	 mov ebx,[Picture_SizeX]
-
 
756
	 mov ecx,dword 0xffffff
654
	mov	eax,[PointerToPicture]
Line 757... Line 655...
757
	 mov esi,[x]
655
	mov	ebx,[Picture_SizeX]
758
	 mov edi,[y]
656
	mov	ecx,dword 0xffffff
759
	 call PutPixel
657
	mov	esi,[x]
Line 777... Line 675...
777
 
675
 
Line 778... Line 676...
778
	 call MovePictureToWorkScreen
676
	call	MovePictureToWorkScreen
779
 
677
 
780
	 and [number_panel],0
-
 
781
	 and [number_menu],0
678
	and	[number_panel],0
-
 
679
	and	[number_menu],0
782
 
680
	jmp	still
783
	 jmp still
-
 
784
	 no_cut:
681
;---------------------------------------------------------------------
785
 
682
no_cut:
786
	 ;<<<<<>>>>>
683
;<<<<<>>>>>
Line 787... Line 684...
787
	 cmp [number_menu],5
684
	cmp	[number_menu],5
788
	 jne no_cleare_all
-
 
789
 
685
	jne	no_cleare_all
Line 790... Line 686...
790
	 call cleare_work_arrea
686
 
791
 
687
	call	cleare_work_arrea
792
	 call MovePictureToWorkScreen
-
 
793
 
688
	call	MovePictureToWorkScreen
-
 
689
 
794
	 and [number_panel],0
690
	and	[number_panel],0
795
	 and [number_menu],0
691
	and	[number_menu],0
796
 
-
 
797
	 jmp still
692
	jmp	still
798
	 no_cleare_all:
693
;---------------------------------------------------------------------
Line 799... Line 694...
799
	 ;<<<<<>>>>>
694
no_cleare_all:
800
 
695
;<<<<<>>>>>
801
	 cmp [number_menu],6
696
	cmp	[number_menu],6
802
	 jne no_to_allocate_all
697
	jne	still	;no_to_allocate_all
Line 816... Line 711...
816
	 and [number_panel],0
711
	and	[number_panel],0
817
	 and [number_menu],0
712
	and	[number_menu],0
818
	 ;call TakeButtonInstruments
713
;	call	TakeButtonInstruments
819
	 ;call MovePictureToWorkScreen
714
;	call	MovePictureToWorkScreen
820
	 jmp still
715
	jmp	still
821
 
-
 
-
 
716
;---------------------------------------------------------------------
822
	 no_to_allocate_all:
717
;no_to_allocate_all:
823
 
-
 
824
	 no_edit:
718
;no_edit:
825
 
-
 
826
 
-
 
827
	 jmp still
719
;	jmp	still
828
 
-
 
829
	 ret
-
 
-
 
720
;---------------------------------------------------------------------
830
721