Changeset 98 for trunk/UEngine.pas
- Timestamp:
- Sep 28, 2022, 1:45:58 PM (20 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
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
Note:
See TracChangeset
for help on using the changeset viewer.