LazMapViewer: Avoid drawing artefacts when the mapview is dragged. Patch by Ekkehard Domning.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8830 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2023-06-11 22:17:22 +00:00
parent 2b8e8ceeff
commit afa88e8709
4 changed files with 85 additions and 15 deletions

View File

@@ -40,9 +40,9 @@ object MainForm: TMainForm
Height = 640
Top = 0
Width = 275
ActivePage = PgData
ActivePage = PgConfig
Align = alRight
TabIndex = 0
TabIndex = 1
TabOrder = 1
object PgData: TTabSheet
Caption = 'Data'
@@ -834,6 +834,7 @@ object MainForm: TMainForm
Width = 100
BorderSpacing.Left = 6
BorderSpacing.Top = 8
BorderSpacing.Right = 24
Caption = 'Zoom to cursor'
Checked = True
OnChange = CbZoomToCursorChange
@@ -848,13 +849,28 @@ object MainForm: TMainForm
Height = 19
Top = 56
Width = 77
BorderSpacing.Left = 24
Caption = 'Cyclic view'
Checked = True
OnChange = cbCyclicViewChange
State = cbChecked
TabOrder = 8
end
object ColorButton1: TColorButton
AnchorSideLeft.Control = cbCyclicView
AnchorSideTop.Control = CbUseThreads
AnchorSideTop.Side = asrCenter
Left = 130
Height = 25
Top = 78
Width = 105
BorderWidth = 2
ButtonColorAutoSize = False
ButtonColorSize = 15
ButtonColor = clWhite
Caption = 'Map backgr.'
Margin = 4
OnColorChanged = ColorButton1ColorChanged
end
end
end
object GeoNames: TMVGeoNames
@@ -872,7 +888,7 @@ object MainForm: TMainForm
MinFontSize = 0
MaxFontSize = 0
Left = 808
Top = 104
Top = 200
end
object POIImages: TImageList
Height = 48

View File

@@ -33,6 +33,7 @@ type
cbPOITextBgColor: TColorBox;
CbZoomToCursor: TCheckBox;
cbCyclicView: TCheckBox;
ColorButton1: TColorButton;
FontDialog: TFontDialog;
GbCenterCoords: TGroupBox;
GbScreenSize: TGroupBox;
@@ -86,6 +87,7 @@ type
procedure CbUseThreadsChange(Sender: TObject);
procedure CbDistanceUnitsChange(Sender: TObject);
procedure CbZoomToCursorChange(Sender: TObject);
procedure ColorButton1ColorChanged(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormShow(Sender: TObject);
@@ -410,6 +412,11 @@ begin
MapView.ZoomToCursor := CbZoomToCursor.Checked;
end;
procedure TMainForm.ColorButton1ColorChanged(Sender: TObject);
begin
MapView.InactiveColor := ColorButton1.ButtonColor;
end;
procedure TMainForm.ClearFoundLocations;
var
i: Integer;
@@ -732,6 +739,7 @@ begin
pt.Lon := StrToFloatDef(ini.ReadString('MapView', 'Center.Longitude', ''), 0.0, PointFormatSettings);
pt.Lat := StrToFloatDef(ini.ReadString('MapView', 'Center.Latitude', ''), 0.0, PointFormatSettings);
MapView.Center := pt;
MapView.InactiveColor := ini.ReadInteger('MapView', 'MapBkgrColor', MapView.InactiveColor);
s := ini.ReadString('MapView', 'DistanceUnits', '');
if s <> '' then begin
@@ -877,7 +885,7 @@ begin
ini.WriteInteger('MapView', 'Zoom', MapView.Zoom);
ini.WriteString('MapView', 'Center.Longitude', FloatToStr(MapView.Center.Lon, PointFormatSettings));
ini.WriteString('MapView', 'Center.Latitude', FloatToStr(MapView.Center.Lat, PointFormatSettings));
ini.WriteInteger('MapView', 'MapBkgrColor', MapView.InactiveColor);
ini.WriteString('MapView', 'DistanceUnits', DistanceUnit_Names[DistanceUnit]);
if HERE_AppID <> '' then