Subversion Repositories Kolibri OS

Rev

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

Rev 7365 Rev 7415
Line 12... Line 12...
12
include 'lang.inc'
12
include 'lang.inc'
13
include 'cnc_editor.inc'
13
include 'cnc_editor.inc'
14
include '../../develop/info3ds/info_fun_float.inc'
14
include '../../develop/info3ds/info_fun_float.inc'
Line 15... Line 15...
15
 
15
 
16
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
16
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
Line 17... Line 17...
17
caption db 'CNC editor 14.09.18',0 ;¯®¤¯¨áì ®ª­ 
17
caption db 'CNC editor 24.09.18',0 ;¯®¤¯¨áì ®ª­ 
Line 18... Line 18...
18
 
18
 
Line 378... Line 378...
378
	int 0x40 ;captions on off
378
	int 0x40 ;captions on off
Line 379... Line 379...
379
 
379
 
380
	add ebx,25 shl 16
380
	add ebx,25 shl 16
381
	mov edx,7
381
	mov edx,7
382
	int 0x40 ;figure move up
-
 
383
 
382
	int 0x40 ;figure move up
384
	add ebx,25 shl 16
383
	add ebx,25 shl 16
385
	mov edx,8
384
	mov edx,8
Line 386... Line 385...
386
	int 0x40 ;figure move down
385
	int 0x40 ;figure move down
Line 390... Line 389...
390
	int 0x40 ;sel points dlg
389
	int 0x40 ;sel points dlg
Line 391... Line 390...
391
 
390
 
392
	add ebx,25 shl 16
391
	add ebx,25 shl 16
393
	mov edx,10
392
	mov edx,10
394
	int 0x40 ;sel points move up
-
 
395
 
393
	int 0x40 ;sel points move up
396
	add ebx,25 shl 16
394
	add ebx,25 shl 16
397
	mov edx,11
395
	mov edx,11
Line 398... Line 396...
398
	int 0x40 ;sel points move down
396
	int 0x40 ;sel points move down
399
 
397
 
400
	add ebx,25 shl 16
398
	add ebx,25 shl 16
401
	mov edx,12
-
 
402
	int 0x40 ;copy to clipboard
399
	mov edx,12
403
 
400
	int 0x40 ;align sel points left
-
 
401
	add ebx,25 shl 16
-
 
402
	mov edx,13
-
 
403
	int 0x40 ;align sel points right
-
 
404
	add ebx,25 shl 16
-
 
405
	mov edx,14
-
 
406
	int 0x40 ;align sel points top
-
 
407
	add ebx,25 shl 16
-
 
408
	mov edx,15
-
 
409
	int 0x40 ;align sel points bottom
-
 
410
 
-
 
411
	add ebx,25 shl 16
-
 
412
	mov edx,16
-
 
413
	int 0x40 ;copy to clipboard
404
	add ebx,25 shl 16
414
	add ebx,25 shl 16
Line 405... Line 415...
405
	mov edx,13
415
	mov edx,17
406
	int 0x40 ;paste from clipboard
416
	int 0x40 ;paste from clipboard
407
 
417
 
Line 408... Line 418...
408
	add ebx,25 shl 16
418
	add ebx,25 shl 16
409
	mov edx,14
419
	mov edx,18
410
	int 0x40 ;sel points del
420
	int 0x40 ;sel points del
Line 411... Line 421...
411
 
421
 
412
	add ebx,30 shl 16
422
	add ebx,30 shl 16
413
	mov edx,15
423
	mov edx,19
Line 414... Line 424...
414
	int 0x40 ;restore zoom
424
	int 0x40 ;restore zoom
415
 
425
 
416
	add ebx,30 shl 16
426
	add ebx,30 shl 16
Line 417... Line 427...
417
	mov edx,16
427
	mov edx,20
418
	int 0x40 ;.png
428
	int 0x40 ;.png
Line 448... Line 458...
448
	int 0x40
458
	int 0x40
449
	add ebx,IMAGE_TOOLBAR_ICON_SIZE
459
	add ebx,IMAGE_TOOLBAR_ICON_SIZE
450
	add edx,(25 shl 16) ;sel points move down
460
	add edx,(25 shl 16) ;sel points move down
451
	int 0x40
461
	int 0x40
452
	add ebx,IMAGE_TOOLBAR_ICON_SIZE
462
	add ebx,IMAGE_TOOLBAR_ICON_SIZE
-
 
463
	add edx,(25 shl 16) ;aling sel points left
-
 
464
	int 0x40
-
 
465
	add ebx,IMAGE_TOOLBAR_ICON_SIZE
-
 
466
	add edx,(25 shl 16) ;aling sel points right
-
 
467
	int 0x40
-
 
468
	add ebx,IMAGE_TOOLBAR_ICON_SIZE
-
 
469
	add edx,(25 shl 16) ;aling sel points top
-
 
470
	int 0x40
-
 
471
	add ebx,IMAGE_TOOLBAR_ICON_SIZE
-
 
472
	add edx,(25 shl 16) ;aling sel points bottom
-
 
473
	int 0x40
-
 
474
	add ebx,IMAGE_TOOLBAR_ICON_SIZE
453
	add edx,(25 shl 16) ;copy to clipboard
475
	add edx,(25 shl 16) ;copy to clipboard
454
	int 0x40
476
	int 0x40
455
	add ebx,IMAGE_TOOLBAR_ICON_SIZE
477
	add ebx,IMAGE_TOOLBAR_ICON_SIZE
456
	add edx,(25 shl 16) ;paste from clipboard
478
	add edx,(25 shl 16) ;paste from clipboard
457
	int 0x40
479
	int 0x40
Line 587... Line 609...
587
		call but_sel_points_move_down
609
		call but_sel_points_move_down
588
		jmp still
610
		jmp still
589
	@@:
611
	@@:
590
	cmp ah,12
612
	cmp ah,12
591
	jne @f
613
	jne @f
592
		call but_clipboard_copy_points
614
		call but_sel_points_align_coord_xmin
593
		jmp still
615
		jmp still
594
	@@:
616
	@@:
595
	cmp ah,13
617
	cmp ah,13
596
	jne @f
618
	jne @f
597
		call but_clipboard_paste_points
619
		call but_sel_points_align_coord_xmax
598
		jmp still
620
		jmp still
599
	@@:
621
	@@:
600
	cmp ah,14
622
	cmp ah,14
601
	jne @f
623
	jne @f
602
		call but_sel_points_del
624
		call but_sel_points_align_coord_ymax
603
		jmp still
625
		jmp still
604
	@@:
626
	@@:
605
	cmp ah,15
627
	cmp ah,15
606
	jne @f
628
	jne @f
-
 
629
		call but_sel_points_align_coord_ymin
-
 
630
	@@:
-
 
631
	cmp ah,16
-
 
632
	jne @f
-
 
633
		call but_clipboard_copy_points
-
 
634
		jmp still
-
 
635
	@@:
-
 
636
	cmp ah,17
-
 
637
	jne @f
-
 
638
		call but_clipboard_paste_points
-
 
639
		jmp still
-
 
640
	@@:
-
 
641
	cmp ah,18
-
 
642
	jne @f
-
 
643
		call but_sel_points_del
-
 
644
		jmp still
-
 
645
	@@:
-
 
646
	cmp ah,19
-
 
647
	jne @f
607
		call but_restore_zoom
648
		call but_restore_zoom
608
		jmp still
649
		jmp still
609
	@@:
650
	@@:
610
	cmp ah,16
651
	cmp ah,20
611
	jne @f
652
	jne @f
612
		call but_save_png
653
		call but_save_png
613
		jmp still
654
		jmp still
614
	@@:
655
	@@:
615
	cmp ah,17
656
	cmp ah,21
616
	jne @f
657
	jne @f
617
		call but_dlg_opt_scale
658
		call but_dlg_opt_scale
618
		jmp still
659
		jmp still
619
	@@:
660
	@@:
Line 620... Line 661...
620
 
661
 
621
	;cmp ah,18
662
	;cmp ah,22
622
	;jne @f
663
	;jne @f
623
		;call but_...
664
		;call but_...
624
		;jmp still
665
		;jmp still
625
	;@@:
666
	;@@:
Line 663... Line 704...
663
	mov dword[run_file_70.Buffer], open_b
704
	mov dword[run_file_70.Buffer], open_b
664
	mov byte[run_file_70+20], 0
705
	mov byte[run_file_70+20], 0
665
	mov dword[run_file_70.FileName], openfile_path
706
	mov dword[run_file_70.FileName], openfile_path
666
	mcall SF_FILE,run_file_70
707
	mcall SF_FILE,run_file_70
Line 667... Line -...
667
 
-
 
668
	;mov eax,dword[open_b+32]
-
 
669
	;mov edi,txt_buf
-
 
670
	;stdcall convert_int_to_str,20
-
 
671
	;notify_window_run txt_buf
-
 
672
 
708
 
673
	mov ecx,dword[open_b+32] ;+32 qword: à §¬¥à ä ©«  ¢ ¡ ©â å
709
	mov ecx,dword[open_b+32] ;+32 qword: à §¬¥à ä ©«  ¢ ¡ ©â å
674
	inc ecx ;for text files
710
	inc ecx ;for text files
675
	stdcall mem.ReAlloc,[open_file_data],ecx
711
	stdcall mem.ReAlloc,[open_file_data],ecx
676
	mov [open_file_data],eax
712
	mov [open_file_data],eax
Line 1454... Line 1490...
1454
	or eax,eax
1490
	or eax,eax
1455
	jz .no_point
1491
	jz .no_point
1456
	cmp [eax+Figure.OType],'Fig'
1492
	cmp [eax+Figure.OType],'Fig'
1457
	jne .no_point
1493
	jne .no_point
Line 1458... Line -...
1458
 
-
 
1459
	;¯à®¢¥à塞 ¢ë¤¥«¥­­ë¥ â®çª¨
1494
 
1460
	mov ecx,[eax+Figure.PoiCount]
1495
	mov ecx,[eax+Figure.PoiCount]
1461
	or ecx,ecx
1496
	or ecx,ecx
1462
	jz .no_point
1497
	jz .no_point
1463
	mov eax,[eax+Figure.PoiData]
1498
	mov eax,[eax+Figure.PoiData]
1464
	.cycle0: ;1-ï ¢ë¤¥«¥­­ ï â®çª 
1499
	.cycle0: ;横« ¤«ï ¢ë¤¥«¥­­¨ï â®ç¥ª
1465
		bts dword[eax+Point.Prop],PROP_BIT_SELECT
1500
		bts dword[eax+Point.Prop],PROP_BIT_SELECT
1466
		add eax,sizeof.Point
1501
		add eax,sizeof.Point
1467
		loop .cycle0
1502
		loop .cycle0
1468
	;¤«ï ®¡­®¢«¥­¨ï ¯® â ©¬¥àã
1503
	;¤«ï ®¡­®¢«¥­¨ï ¯® â ©¬¥àã
1469
	mov dword[offs_last_timer],0
1504
	mov dword[offs_last_timer],0
1470
	.no_point:
1505
	.no_point:
1471
	ret
1506
	ret
Line 1472... Line 1507...
1472
endp
1507
endp
-
 
1508
 
-
 
1509
align 4
-
 
1510
proc but_sel_points_align_coord_xmin
-
 
1511
pushad
-
 
1512
	stdcall [tl_node_get_data],tree1
-
 
1513
	or eax,eax
-
 
1514
	jz .no_point
-
 
1515
	cmp [eax+Figure.OType],'Fig'
-
 
1516
	jne .no_point
-
 
1517
 
-
 
1518
	mov ebx,eax
-
 
1519
	stdcall sel_points_get_count,eax
-
 
1520
	cmp eax,1
-
 
1521
	jle .no_point
-
 
1522
	mov ecx,[ebx+Figure.PoiCount]
-
 
1523
	or ecx,ecx
-
 
1524
	jz .no_point
-
 
1525
	cmp eax,ecx
-
 
1526
	je .no_point ;¥á«¨ ¢ë¤¥«¥­­ë ¢á¥ â®çª¨, çâ®-¡ë ­¥ ¯®àâ¨âì ª®­âãà
-
 
1527
 
-
 
1528
	mov edx,ecx
-
 
1529
	imul edx,sizeof.Point
-
 
1530
	mov ebx,[ebx+Figure.PoiData]
-
 
1531
	add edx,ebx
-
 
1532
align 4
-
 
1533
	.cycle0: ;1-ï ¢ë¤¥«¥­­ ï â®çª 
-
 
1534
		cmp ebx,edx
-
 
1535
		jge .no_point
-
 
1536
		bt dword[ebx+Point.Prop],PROP_BIT_SELECT
-
 
1537
		jc .cycle0end
-
 
1538
		add ebx,sizeof.Point
-
 
1539
		jmp .cycle0
-
 
1540
	.cycle0end:
-
 
1541
	lea esi,[ebx+Point.CoordX]
-
 
1542
	mov edi,Data_Double
-
 
1543
	movsd
-
 
1544
	movsd
-
 
1545
	finit
-
 
1546
	fld qword[Data_Double]
-
 
1547
align 4
-
 
1548
	.cycle1: ;横« ¤«ï ­ å®¦¤¥­¨ï min(Point.CoordX)
-
 
1549
		bt dword[ebx+Point.Prop],PROP_BIT_SELECT
-
 
1550
		jnc .no_sel
-
 
1551
			fcom qword[ebx+Point.CoordX]
-
 
1552
			fstsw ax
-
 
1553
			sahf
-
 
1554
			jbe .no_sel
-
 
1555
				;if (st0>Point.CoordX)
-
 
1556
				ffree st0
-
 
1557
				fincstp
-
 
1558
				fld qword[ebx+Point.CoordX]
-
 
1559
		.no_sel:
-
 
1560
		add ebx,sizeof.Point
-
 
1561
		cmp ebx,edx
-
 
1562
		jl .cycle1
-
 
1563
	fstp qword[Data_Double]
-
 
1564
align 4
-
 
1565
	.cycle2: ;横« ¤«ï ¯à¨á¢ ¨¢ ­¨ï ¢á¥¬ Point.CoordX = min(Point.CoordX)
-
 
1566
		sub edx,sizeof.Point
-
 
1567
		bt dword[edx+Point.Prop],PROP_BIT_SELECT
-
 
1568
		jnc @f
-
 
1569
			mov esi,Data_Double
-
 
1570
			lea edi,[edx+Point.CoordX]
-
 
1571
			movsd
-
 
1572
			movsd
-
 
1573
		@@:
-
 
1574
		loop .cycle2
-
 
1575
	;¤«ï ®¡­®¢«¥­¨ï ¯® â ©¬¥àã
-
 
1576
	mov dword[offs_last_timer],0
-
 
1577
	.no_point:
-
 
1578
popad
-
 
1579
	ret
-
 
1580
endp
-
 
1581
 
-
 
1582
align 4
-
 
1583
proc but_sel_points_align_coord_ymin
-
 
1584
pushad
-
 
1585
	stdcall [tl_node_get_data],tree1
-
 
1586
	or eax,eax
-
 
1587
	jz .no_point
-
 
1588
	cmp [eax+Figure.OType],'Fig'
-
 
1589
	jne .no_point
-
 
1590
 
-
 
1591
	mov ebx,eax
-
 
1592
	stdcall sel_points_get_count,eax
-
 
1593
	cmp eax,1
-
 
1594
	jle .no_point
-
 
1595
	mov ecx,[ebx+Figure.PoiCount]
-
 
1596
	or ecx,ecx
-
 
1597
	jz .no_point
-
 
1598
	cmp eax,ecx
-
 
1599
	je .no_point ;¥á«¨ ¢ë¤¥«¥­­ë ¢á¥ â®çª¨, çâ®-¡ë ­¥ ¯®àâ¨âì ª®­âãà
-
 
1600
 
-
 
1601
	mov edx,ecx
-
 
1602
	imul edx,sizeof.Point
-
 
1603
	mov ebx,[ebx+Figure.PoiData]
-
 
1604
	add edx,ebx
-
 
1605
align 4
-
 
1606
	.cycle0: ;1-ï ¢ë¤¥«¥­­ ï â®çª 
-
 
1607
		cmp ebx,edx
-
 
1608
		jge .no_point
-
 
1609
		bt dword[ebx+Point.Prop],PROP_BIT_SELECT
-
 
1610
		jc .cycle0end
-
 
1611
		add ebx,sizeof.Point
-
 
1612
		jmp .cycle0
-
 
1613
	.cycle0end:
-
 
1614
	lea esi,[ebx+Point.CoordY]
-
 
1615
	mov edi,Data_Double
-
 
1616
	movsd
-
 
1617
	movsd
-
 
1618
	finit
-
 
1619
	fld qword[Data_Double]
-
 
1620
align 4
-
 
1621
	.cycle1: ;横« ¤«ï ­ å®¦¤¥­¨ï min(Point.CoordY)
-
 
1622
		bt dword[ebx+Point.Prop],PROP_BIT_SELECT
-
 
1623
		jnc .no_sel
-
 
1624
			fcom qword[ebx+Point.CoordY]
-
 
1625
			fstsw ax
-
 
1626
			sahf
-
 
1627
			jbe .no_sel
-
 
1628
				;if (st0>Point.CoordY)
-
 
1629
				ffree st0
-
 
1630
				fincstp
-
 
1631
				fld qword[ebx+Point.CoordY]
-
 
1632
		.no_sel:
-
 
1633
		add ebx,sizeof.Point
-
 
1634
		cmp ebx,edx
-
 
1635
		jl .cycle1
-
 
1636
	fstp qword[Data_Double]
-
 
1637
align 4
-
 
1638
	.cycle2: ;横« ¤«ï ¯à¨á¢ ¨¢ ­¨ï ¢á¥¬ Point.CoordY = min(Point.CoordY)
-
 
1639
		sub edx,sizeof.Point
-
 
1640
		bt dword[edx+Point.Prop],PROP_BIT_SELECT
-
 
1641
		jnc @f
-
 
1642
			mov esi,Data_Double
-
 
1643
			lea edi,[edx+Point.CoordY]
-
 
1644
			movsd
-
 
1645
			movsd
-
 
1646
		@@:
-
 
1647
		loop .cycle2
-
 
1648
	;¤«ï ®¡­®¢«¥­¨ï ¯® â ©¬¥àã
-
 
1649
	mov dword[offs_last_timer],0
-
 
1650
	.no_point:
-
 
1651
popad
-
 
1652
	ret
-
 
1653
endp
-
 
1654
 
-
 
1655
align 4
-
 
1656
proc but_sel_points_align_coord_xmax
-
 
1657
pushad
-
 
1658
	stdcall [tl_node_get_data],tree1
-
 
1659
	or eax,eax
-
 
1660
	jz .no_point
-
 
1661
	cmp [eax+Figure.OType],'Fig'
-
 
1662
	jne .no_point
-
 
1663
 
-
 
1664
	mov ebx,eax
-
 
1665
	stdcall sel_points_get_count,eax
-
 
1666
	cmp eax,1
-
 
1667
	jle .no_point
-
 
1668
	mov ecx,[ebx+Figure.PoiCount]
-
 
1669
	or ecx,ecx
-
 
1670
	jz .no_point
-
 
1671
	cmp eax,ecx
-
 
1672
	je .no_point ;¥á«¨ ¢ë¤¥«¥­­ë ¢á¥ â®çª¨, çâ®-¡ë ­¥ ¯®àâ¨âì ª®­âãà
-
 
1673
 
-
 
1674
	mov edx,ecx
-
 
1675
	imul edx,sizeof.Point
-
 
1676
	mov ebx,[ebx+Figure.PoiData]
-
 
1677
	add edx,ebx
-
 
1678
align 4
-
 
1679
	.cycle0: ;1-ï ¢ë¤¥«¥­­ ï â®çª 
-
 
1680
		cmp ebx,edx
-
 
1681
		jge .no_point
-
 
1682
		bt dword[ebx+Point.Prop],PROP_BIT_SELECT
-
 
1683
		jc .cycle0end
-
 
1684
		add ebx,sizeof.Point
-
 
1685
		jmp .cycle0
-
 
1686
	.cycle0end:
-
 
1687
	lea esi,[ebx+Point.CoordX]
-
 
1688
	mov edi,Data_Double
-
 
1689
	movsd
-
 
1690
	movsd
-
 
1691
	finit
-
 
1692
	fld qword[Data_Double]
-
 
1693
align 4
-
 
1694
	.cycle1: ;横« ¤«ï ­ å®¦¤¥­¨ï max(Point.CoordX)
-
 
1695
		bt dword[ebx+Point.Prop],PROP_BIT_SELECT
-
 
1696
		jnc .no_sel
-
 
1697
			fcom qword[ebx+Point.CoordX]
-
 
1698
			fstsw ax
-
 
1699
			sahf
-
 
1700
			jae .no_sel
-
 
1701
				;if (st0
-
 
1702
				ffree st0
-
 
1703
				fincstp
-
 
1704
				fld qword[ebx+Point.CoordX]
-
 
1705
		.no_sel:
-
 
1706
		add ebx,sizeof.Point
-
 
1707
		cmp ebx,edx
-
 
1708
		jl .cycle1
-
 
1709
	fstp qword[Data_Double]
-
 
1710
align 4
-
 
1711
	.cycle2: ;横« ¤«ï ¯à¨á¢ ¨¢ ­¨ï ¢á¥¬ Point.CoordX = max(Point.CoordX)
-
 
1712
		sub edx,sizeof.Point
-
 
1713
		bt dword[edx+Point.Prop],PROP_BIT_SELECT
-
 
1714
		jnc @f
-
 
1715
			mov esi,Data_Double
-
 
1716
			lea edi,[edx+Point.CoordX]
-
 
1717
			movsd
-
 
1718
			movsd
-
 
1719
		@@:
-
 
1720
		loop .cycle2
-
 
1721
	;¤«ï ®¡­®¢«¥­¨ï ¯® â ©¬¥àã
-
 
1722
	mov dword[offs_last_timer],0
-
 
1723
	.no_point:
-
 
1724
popad
-
 
1725
	ret
-
 
1726
endp
-
 
1727
 
-
 
1728
align 4
-
 
1729
proc but_sel_points_align_coord_ymax
-
 
1730
pushad
-
 
1731
	stdcall [tl_node_get_data],tree1
-
 
1732
	or eax,eax
-
 
1733
	jz .no_point
-
 
1734
	cmp [eax+Figure.OType],'Fig'
-
 
1735
	jne .no_point
-
 
1736
 
-
 
1737
	mov ebx,eax
-
 
1738
	stdcall sel_points_get_count,eax
-
 
1739
	cmp eax,1
-
 
1740
	jle .no_point
-
 
1741
	mov ecx,[ebx+Figure.PoiCount]
-
 
1742
	or ecx,ecx
-
 
1743
	jz .no_point
-
 
1744
	cmp eax,ecx
-
 
1745
	je .no_point ;¥á«¨ ¢ë¤¥«¥­­ë ¢á¥ â®çª¨, çâ®-¡ë ­¥ ¯®àâ¨âì ª®­âãà
-
 
1746
 
-
 
1747
	mov edx,ecx
-
 
1748
	imul edx,sizeof.Point
-
 
1749
	mov ebx,[ebx+Figure.PoiData]
-
 
1750
	add edx,ebx
-
 
1751
align 4
-
 
1752
	.cycle0: ;1-ï ¢ë¤¥«¥­­ ï â®çª 
-
 
1753
		cmp ebx,edx
-
 
1754
		jge .no_point
-
 
1755
		bt dword[ebx+Point.Prop],PROP_BIT_SELECT
-
 
1756
		jc .cycle0end
-
 
1757
		add ebx,sizeof.Point
-
 
1758
		jmp .cycle0
-
 
1759
	.cycle0end:
-
 
1760
	lea esi,[ebx+Point.CoordY]
-
 
1761
	mov edi,Data_Double
-
 
1762
	movsd
-
 
1763
	movsd
-
 
1764
	finit
-
 
1765
	fld qword[Data_Double]
-
 
1766
align 4
-
 
1767
	.cycle1: ;横« ¤«ï ­ å®¦¤¥­¨ï max(Point.CoordY)
-
 
1768
		bt dword[ebx+Point.Prop],PROP_BIT_SELECT
-
 
1769
		jnc .no_sel
-
 
1770
			fcom qword[ebx+Point.CoordY]
-
 
1771
			fstsw ax
-
 
1772
			sahf
-
 
1773
			jae .no_sel
-
 
1774
				;if (st0
-
 
1775
				ffree st0
-
 
1776
				fincstp
-
 
1777
				fld qword[ebx+Point.CoordY]
-
 
1778
		.no_sel:
-
 
1779
		add ebx,sizeof.Point
-
 
1780
		cmp ebx,edx
-
 
1781
		jl .cycle1
-
 
1782
	fstp qword[Data_Double]
-
 
1783
align 4
-
 
1784
	.cycle2: ;横« ¤«ï ¯à¨á¢ ¨¢ ­¨ï ¢á¥¬ Point.CoordY = max(Point.CoordY)
-
 
1785
		sub edx,sizeof.Point
-
 
1786
		bt dword[edx+Point.Prop],PROP_BIT_SELECT
-
 
1787
		jnc @f
-
 
1788
			mov esi,Data_Double
-
 
1789
			lea edi,[edx+Point.CoordY]
-
 
1790
			movsd
-
 
1791
			movsd
-
 
1792
		@@:
-
 
1793
		loop .cycle2
-
 
1794
	;¤«ï ®¡­®¢«¥­¨ï ¯® â ©¬¥àã
-
 
1795
	mov dword[offs_last_timer],0
-
 
1796
	.no_point:
-
 
1797
popad
-
 
1798
	ret
-
 
1799
endp
1473
 
1800
 
1474
align 4
1801
align 4
1475
proc but_restore_zoom uses eax
1802
proc but_restore_zoom uses eax
1476
	stdcall [tl_node_get_data],tree1
1803
	stdcall [tl_node_get_data],tree1
1477
	or eax,eax
1804
	or eax,eax