- Timestamp:
- Sep 28, 2022, 1:45:58 PM (2 years ago)
- Location:
- trunk
- Files:
-
- 7 added
- 2 deleted
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Forms/UFormImages.lfm
r97 r98 741 741 Width = 64 742 742 Picture.Data = { 743 1754506F727461626C654E6574776F726B47726170686963B105000089504E47 744 0D0A1A0A0000000D49484452000000400000004008030000009DB781EC000002 745 1C504C54450000000000000202010000000303040C0C0E000000000000000000 746 0000000202020E0E100D0D0C0000000606060000000000000000000000000000 747 0007070700000000000000000000000000000000000000000000000008080A00 748 0000000000000000050505000000050506000000000000030302000000000001 749 0000000000000000000000000000000000000000000000000000000303030606 750 0500000000000000000000000000000000000003030300000001010100000004 751 0404000000000000000000010101000000000000000000000000000000000000 752 0202020101010101000000000000000000000000000000000000000000000000 753 0000000000000000000001010102020200000000000000000000000000000000 754 0000000000000000000000000000000000000000000000000000000000000000 755 0000000000000000000000000000000000000000000000000000000101010000 756 0000000000000000000000000000000000000001010100000001010100000000 757 0000000000000000000000010101000000000000010101000000000000000000 758 0000000000000000000101010000000202020000000101010000000000000101 759 0100000000000000000000000000000000000000000000000000000001010100 760 0000000000000000000000010101000000000000000000000000000000000000 761 0101010000000000000000000000000000000000000000000000000000000000 762 008C7B74B4000000B374524E53000101020201030405060304060708090A0B0C 763 0D0C0E0F10111213141514161719191A1A1B1C1D1E1E1F2023272A2B2D2E3232 764 32343A3B3D3F404245484B58595A5B5B5F6162636468686C7D83848586878889 765 8D8E8F90909598999A9B9C9DA1A2A3A4A5A6A7A8A9AAABACAEAFB1B2B3B4B6B6 766 B7B8B9BABBBCC0C0C1C1C2C3C4C6C7C7CACCCCCECFD0D1D2D3D3D5D5D6D6D7D8 767 D9DBDCDDDEE1E2E3E4E5E5E9EAEBECECEDEEEFF0F2F4F4F5F6F7F8FAFBFCFDFE 768 416DAAD00000029149444154789C636018B6405C4B4B4B0859401428204CBC7E 769 F6C83933E7782309308600057C883780B762F3E6CDC94C08018E42A0400633F1 770 069401D527220970140005D289378013AB01698C446A67661701792189831D0E 771 F8415EC89196E42546BF507041D122A0FA59790850300F28B0ACAB3794930803 772 34676FC609FAA5893160266E037A65883040692A6E03DA24883080CB2E20683A 773 5071B7BF1F1CF83683DCEFEF6F4B6444B09502D527208B8480A29138CD208091 774 9018C2484B48036F00F63048255237B3AE99552B507D89992902640305AACDCD 775 74888905F996D5AB3602D5AF5F810436000536AE5A53274E8401F852623F3129 776 5173168506C8D62C5EB80EA878ED0224B01628B06EE1923231220C60D5D0336A 777 02AACFD34300DD54A040B9819E2A9149997D3429434AE5046491F0CDC497CA3C 778 5EB171A062714A340244F50105A6C5C47A70106180DA0C3C65A214110668E233 779 809894A88E272F4C24A658E70FAEAF5B02543CAF1601AAE70205E6D7D6FB1255 780 35B10B8883AAB6140104E08B000A64090AB011A39F014BE5CA104A4234320C86 781 94C881911B49F282A0846215C842490938108F060AE44A4B0810A35F3CADAB67 782 2550FD920E24008AD7E59DDDF14284F5E36D1F4C22AA50A5B47DA03C19B7011D 783 C464266E1B57CF0940C50DAE2E08500914687777B3263229B280A2311E598494 784 BA916130A4448A0D60A6280C184D1C9DBB80EAEB1D1DE0C0BE1828D0E8E8644C 785 8C0172ED9B3781237D131280086C6E18F0F6C144620C102F59BA18D43E58D68B 786 04960105564C9C944C4C6E6450D0376C00AACF904100A958A040BEBC0C51FA19 787 B0B50FC0251291BA19A89112CB81EA93908B40900124F4DA3832D7AD5E178A2C 788 1208148826BE5E60D0B6B4B0544116D0040AA813AF9F8E00007AE473E56359C9 789 0B0000000049454E44AE426082 743 1754506F727461626C654E6574776F726B477261706869631705000089504E47 744 0D0A1A0A0000000D49484452000000400000004008030000009DB781EC000001 745 C8504C5445000000000000000000000000000000000000000000000000000000 746 0000000000000000000000000000000000000000000000000000000000000000 747 0000000000000000000000000000000000000000000000000000000000000000 748 0000000000000000000000000000000000000000000000000000000000000000 749 0000000000000000000000000000000000000000000000000000000000000000 750 0000000000000000000000000000000000000000000000000000000000000000 751 0000000000000000000000000000000000000000000000000000000000000000 752 0000000000000000000000000000000000000000000000000000000000000000 753 0000000000000000000000000000000000000000000000000000000000000000 754 0000000000000000000000000000000000000000000000000000000000000000 755 0000000000000000000000000000000000000000000000000000000000000000 756 0000000000000000000000000000000000000000000000000000000000000000 757 0000000000000000000000000000000000000000000000000000000000000000 758 0000000000000000000000000000000000000000000000000000000000000000 759 00000000000000000000000000B0B7026F0000009774524E5300010203050709 760 0A0B0C0F101516171B1C1F20212224262A2B2C2E30313233353738393A3B3C3E 761 3F404447484A4D4E505152555758595A5C5F6062636467696C6E6F7073747576 762 7778797A7D7F8082838485898B8C8D8F909293969798999A9E9FA1A3A4A6A7A9 763 AAACAFB0B2B4B5BBBEBFC0C4CCCDCED0D1D2D3D4D6D8DADBDCDDDEDFE0E1E2E3 764 E5E6E7E8E9EBEEF0F5F6F7F8F9FAFCFD98502E3A0000026749444154789CED95 765 E757D44014C5775910B08115BB2062C52E10C54244AC2BA2C2AA5888622116AC 766 B1975D2BF682BBEFDFF5DDE19CDD642099974FFA81FB25FB6EEEFD9DE4CC6C26 767 9198D4FFABE98EE3D416A75EC7591B13D0484425C063A21331012D0CA8284E77 768 8906E3B4BFD0C45A2AECCF0DE9D30E2160FB58FCF738405F8CB718211A2A4D07 769 B83D33463B91A82C109D2B8DED0C688C0558C08DEED2B899C73671B9DAF3BC97 770 DCF8E815F58AC70F7C5D2602AC085B04A23D22C0EE70C0791160A7EBBA9F393D 771 E4280DF27893C751BE1E1701A087DC58581A937F88F215E1F1F1FAAA2DFC279E 772 E7C5E85771BE90F2194FD890FEA1E75B96B51F3B39EDD35B362EF28D0601A027 773 7C11886E090037A200EF04806C14A030D5D89F92CDE5723F39FB2DE71356258F 774 1FC26FCA33CE77F90D0B80725919FAC1F976BFB101CF3F4BDCAF417C8BDF6982 775 D32406AC427C8DDFA983D32AE9263B6CDBBE8478AFEDD331382E7E551A0073A2 776 1611AA3700369A00BB0C80A326C01903E0BA0970CF0018E6DDF606C1EF770252 777 A7DD7BBEE9190090DA06C3416F00DE124119C2D14E5782DE29789B84805684CF 778 06BDC3F0F6090147104E073DF5ADCF08011710DE1BF4B6C273CDDDBAC5ACFB08 779 F7AC0EA813DE73DC5D14D52FFF65DA06AC19510F20E8D3BA08C03609E06004A0 780 5B02B81A01702580171180D71240BE3AB45FD697613D402A676B7A0A7704F733 781 35118F005D43F4B6EE5E869B3554C7F408D101DD3D0D77B44CD04FE250A093BA 782 9D56EF5F3B5143D36C95ECD2ED0E65AF1400D6ABA4A5DB6DCA6E11006C956CD6 783 ED66651F1200FA5572B96E3728BB5F00A89A06A5743BA56CD3B934A97FA3BFA3 784 2E3D9507DF5A8F0000000049454E44AE426082 790 785 } 791 786 Proportional = True -
trunk/UControls.pas
r96 r98 56 56 procedure TLabel.Paint; 57 57 begin 58 if Assigned(Canvas) then58 if not Assigned(Canvas) then Exit; 59 59 with Canvas do begin 60 60 TextOut(Bounds.Left, Bounds.Top, Text); … … 111 111 procedure TImage.Paint; 112 112 begin 113 if not Assigned(Canvas) then Exit; 113 114 if Canvas.Brush.Color = clNone then Canvas.Brush.Style := bsClear 114 115 else Canvas.Brush.Style := bsSolid; -
trunk/UEngine.pas
r97 r98 1032 1032 { TEngine } 1033 1033 1034 // Need to see all stations on screen 1034 1035 procedure TEngine.ResizeView; 1035 1036 var 1036 1037 NewPoint: TPoint; 1037 begin 1038 // Need to see all stations on screen 1039 View.SourceRect := RectEnlarge(Stations.GetRect, 100); 1040 1038 Intersected: TRect; 1039 NewView: TView; 1040 begin 1041 NewView := TView.Create; 1042 NewView.Assign(View); 1043 1044 NewView.SourceRect := RectEnlarge(Stations.GetRect, 100); 1041 1045 NewPoint := Point( 1042 Trunc((View.SourceRect.Left + (View.SourceRect.Right - View.SourceRect.Left) / 2) - 1043 (View.DestRect.Left + (View.DestRect.Right - View.DestRect.Left) / 2 / View.Zoom)), 1044 Trunc((View.SourceRect.Top + (View.SourceRect.Bottom - View.SourceRect.Top) / 2) - 1045 (View.DestRect.Top + (View.DestRect.Bottom - View.DestRect.Top) / 2 / View.Zoom))); 1046 View.SourceRect := Bounds(NewPoint.X, NewPoint.Y, Trunc((View.DestRect.Right - View.DestRect.Left) / View.Zoom), 1047 Trunc((View.DestRect.Bottom - View.DestRect.Top) / View.Zoom)); 1046 Trunc((NewView.SourceRect.Left + (NewView.SourceRect.Right - NewView.SourceRect.Left) / 2) - 1047 (NewView.DestRect.Left + (NewView.DestRect.Right - NewView.DestRect.Left) / 2 / NewView.Zoom)), 1048 Trunc((NewView.SourceRect.Top + (NewView.SourceRect.Bottom - NewView.SourceRect.Top) / 2) - 1049 (NewView.DestRect.Top + (NewView.DestRect.Bottom - NewView.DestRect.Top) / 2 / NewView.Zoom))); 1050 NewView.SourceRect := Bounds(NewPoint.X, NewPoint.Y, Trunc((NewView.DestRect.Right - NewView.DestRect.Left) / NewView.Zoom), 1051 Trunc((NewView.DestRect.Bottom - NewView.DestRect.Top) / NewView.Zoom)); 1052 1053 Intersected := NewView.SourceRect; 1054 Intersected.Union(View.SourceRect); 1055 if Intersected = View.SourceRect then Exit; 1056 1057 View.Assign(NewView); 1058 1059 NewView.Free; 1048 1060 end; 1049 1061 … … 2560 2572 end; 2561 2573 2562 // Add new station s2574 // Add new station 2563 2575 if (Time - LastNewStationTime) > NewStationPeriod then begin 2564 2576 LastNewStationTime := Time; … … 2860 2872 KeyF4 = 115; 2861 2873 KeyF5 = 116; 2874 KeyF6 = 117; 2862 2875 begin 2863 2876 if Key = KeyEsc then begin … … 2893 2906 Redraw; 2894 2907 end; 2908 end else 2909 if Key = KeyF6 then begin 2910 if State = gsRunning then begin 2911 Stations.AddNew; 2912 ResizeView; 2913 Redraw; 2914 end; 2895 2915 end; 2896 2916 {$ENDIF} … … 2910 2930 Lines.Clear; 2911 2931 Stations.Clear; 2932 View.SourceRect := Bounds(0, 0, 0, 0); 2912 2933 end; 2913 2934 -
trunk/UView.pas
r91 r98 18 18 procedure SetZoom(AValue: Double); 19 19 public 20 procedure Assign(Source: TView); 20 21 function PointDestToSrc(Pos: TPoint): TPoint; 21 22 function PointSrcToDest(Pos: TPoint): TPoint; … … 76 77 end; 77 78 79 procedure TView.Assign(Source: TView); 80 begin 81 FDestRect := Source.FDestRect; 82 FSourceRect := Source.FSourceRect; 83 FZoom := Source.FZoom; 84 end; 85 78 86 function TView.PointDestToSrc(Pos: TPoint): TPoint; 79 87 begin
Note:
See TracChangeset
for help on using the changeset viewer.