LazMapViewer: Clean up. Consistent naming of drawing engine classes.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6927 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2019-05-18 22:31:49 +00:00
parent 5499f6e99f
commit 0bce9628fc
7 changed files with 81 additions and 226 deletions

View File

@@ -25,6 +25,7 @@ object MainForm: TMainForm
DefaultTrackWidth = 3 DefaultTrackWidth = 3
DownloadEngine = MapView.BuiltInDLE DownloadEngine = MapView.BuiltInDLE
DrawingEngine = MapView.BuiltInDE DrawingEngine = MapView.BuiltInDE
Font.Color = clBlack
InactiveColor = clWhite InactiveColor = clWhite
MapProvider = 'OpenStreetMap Mapnik' MapProvider = 'OpenStreetMap Mapnik'
UseThreads = True UseThreads = True

View File

@@ -92,8 +92,8 @@ type
procedure ZoomTrackBarChange(Sender: TObject); procedure ZoomTrackBarChange(Sender: TObject);
private private
FLCLDrawingEngine: TLCLDrawingEngine; FLCLDrawingEngine: TMvLCLDrawingEngine;
FRGBGraphicsDrawingEngine: TRGBGraphicsDrawingEngine; FRGBGraphicsDrawingEngine: TMvRGBGraphicsDrawingEngine;
procedure ClearFoundLocations; procedure ClearFoundLocations;
procedure UpdateCoords(X, Y: Integer); procedure UpdateCoords(X, Y: Integer);
procedure UpdateDropdownWidth(ACombobox: TCombobox); procedure UpdateDropdownWidth(ACombobox: TCombobox);
@@ -241,12 +241,12 @@ begin
case CbDrawingEngine.ItemIndex of case CbDrawingEngine.ItemIndex of
0: MapView.DrawingEngine := nil; 0: MapView.DrawingEngine := nil;
1: begin 1: begin
if FLCLDrawingEngine = nil then FLCLDrawingEngine := TLCLDrawingEngine.Create(self); if FLCLDrawingEngine = nil then FLCLDrawingEngine := TMvLCLDrawingEngine.Create(self);
MapView.DrawingEngine := FLCLDrawingEngine; MapView.DrawingEngine := FLCLDrawingEngine;
end; end;
2: begin 2: begin
if FRGBGraphicsDrawingEngine = nil then if FRGBGraphicsDrawingEngine = nil then
FRGBGraphicsDrawingEngine := TRGBGraphicsDrawingEngine.Create(self); FRGBGraphicsDrawingEngine := TMvRGBGraphicsDrawingEngine.Create(self);
MapView.DrawingEngine := FRGBGraphicsDrawingEngine; MapView.DrawingEngine := FRGBGraphicsDrawingEngine;
end; end;
end; end;

View File

@@ -10,7 +10,7 @@ uses
mvDrawingEngine; mvDrawingEngine;
type type
TIntfGraphicsDrawingEngine = class(TMvCustomDrawingEngine) TMvIntfGraphicsDrawingEngine = class(TMvCustomDrawingEngine)
private private
FBuffer: TLazIntfImage; FBuffer: TLazIntfImage;
FCanvas: TFPCustomCanvas; FCanvas: TFPCustomCanvas;
@@ -112,21 +112,21 @@ end;
{$IFEND} {$IFEND}
destructor TIntfGraphicsDrawingEngine.Destroy; destructor TMvIntfGraphicsDrawingEngine.Destroy;
begin begin
FCanvas.Free; FCanvas.Free;
FBuffer.Free; FBuffer.Free;
inherited; inherited;
end; end;
procedure TIntfGraphicsDrawingEngine.CreateBuffer(AWidth, AHeight: Integer); procedure TMvIntfGraphicsDrawingEngine.CreateBuffer(AWidth, AHeight: Integer);
begin begin
FCanvas.Free; FCanvas.Free;
FBuffer.Free; FBuffer.Free;
CreateLazIntfImageAndCanvas(FBuffer, FCanvas, AWidth, AHeight); CreateLazIntfImageAndCanvas(FBuffer, FCanvas, AWidth, AHeight);
end; end;
procedure TIntfGraphicsDrawingEngine.CreateLazIntfImageAndCanvas( procedure TMvIntfGraphicsDrawingEngine.CreateLazIntfImageAndCanvas(
out ABuffer: TLazIntfImage; out ABuffer: TLazIntfImage;
out ACanvas: TFPCustomCanvas; AWidth, AHeight: Integer); out ACanvas: TFPCustomCanvas; AWidth, AHeight: Integer);
var var
@@ -145,7 +145,7 @@ begin
ACanvas.FillRect(0, 0, AWidth, AHeight); ACanvas.FillRect(0, 0, AWidth, AHeight);
end; end;
procedure TIntfGraphicsDrawingEngine.DrawLazIntfImage(X, Y: Integer; procedure TMvIntfGraphicsDrawingEngine.DrawLazIntfImage(X, Y: Integer;
AImg: TLazIntfImage); AImg: TLazIntfImage);
begin begin
{$IF Laz_FullVersion < 1090000} {$IF Laz_FullVersion < 1090000}
@@ -156,19 +156,19 @@ begin
{$IFEND} {$IFEND}
end; end;
procedure TIntfGraphicsDrawingEngine.Ellipse(X1, Y1, X2, Y2: Integer); procedure TMvIntfGraphicsDrawingEngine.Ellipse(X1, Y1, X2, Y2: Integer);
begin begin
if FCanvas <> nil then if FCanvas <> nil then
FCanvas.Ellipse(X1,Y1, X2, Y2); FCanvas.Ellipse(X1,Y1, X2, Y2);
end; end;
procedure TIntfGraphicsDrawingEngine.FillRect(X1, Y1, X2, Y2: Integer); procedure TMvIntfGraphicsDrawingEngine.FillRect(X1, Y1, X2, Y2: Integer);
begin begin
if FCanvas <> nil then if FCanvas <> nil then
FCanvas.FillRect(X1,Y1, X2, Y2); FCanvas.FillRect(X1,Y1, X2, Y2);
end; end;
function TIntfGraphicsDrawingEngine.GetBrushColor: TColor; function TMvIntfGraphicsDrawingEngine.GetBrushColor: TColor;
begin begin
if FCanvas <> nil then if FCanvas <> nil then
Result := FPColorToTColor(FCanvas.Brush.FPColor) Result := FPColorToTColor(FCanvas.Brush.FPColor)
@@ -176,7 +176,7 @@ begin
Result := 0; Result := 0;
end; end;
function TIntfGraphicsDrawingEngine.GetBrushStyle: TBrushStyle; function TMvIntfGraphicsDrawingEngine.GetBrushStyle: TBrushStyle;
begin begin
if FCanvas <> nil then if FCanvas <> nil then
Result := FCanvas.Brush.Style Result := FCanvas.Brush.Style
@@ -184,27 +184,27 @@ begin
Result := bsSolid; Result := bsSolid;
end; end;
function TIntfGraphicsDrawingEngine.GetFontColor: TColor; function TMvIntfGraphicsDrawingEngine.GetFontColor: TColor;
begin begin
Result := FFontColor Result := FFontColor
end; end;
function TIntfGraphicsDrawingEngine.GetFontName: String; function TMvIntfGraphicsDrawingEngine.GetFontName: String;
begin begin
Result := FFontName; Result := FFontName;
end; end;
function TIntfGraphicsDrawingEngine.GetFontSize: Integer; function TMvIntfGraphicsDrawingEngine.GetFontSize: Integer;
begin begin
Result := FFontSize; Result := FFontSize;
end; end;
function TIntfGraphicsDrawingEngine.GetFontStyle: TFontStyles; function TMvIntfGraphicsDrawingEngine.GetFontStyle: TFontStyles;
begin begin
Result := FFontStyle; Result := FFontStyle;
end; end;
function TIntfGraphicsDrawingEngine.GetPenColor: TColor; function TMvIntfGraphicsDrawingEngine.GetPenColor: TColor;
begin begin
if FCanvas <> nil then if FCanvas <> nil then
Result := FPColorToTColor(FCanvas.Pen.FPColor) Result := FPColorToTColor(FCanvas.Pen.FPColor)
@@ -212,7 +212,7 @@ begin
Result := 0; Result := 0;
end; end;
function TIntfGraphicsDrawingEngine.GetPenWidth: Integer; function TMvIntfGraphicsDrawingEngine.GetPenWidth: Integer;
begin begin
if FCanvas <> nil then if FCanvas <> nil then
Result := FCanvas.Pen.Width Result := FCanvas.Pen.Width
@@ -220,13 +220,13 @@ begin
Result := 0; Result := 0;
end; end;
procedure TIntfGraphicsDrawingEngine.Line(X1, Y1, X2, Y2: Integer); procedure TMvIntfGraphicsDrawingEngine.Line(X1, Y1, X2, Y2: Integer);
begin begin
if FCanvas <> nil then if FCanvas <> nil then
FCanvas.Line(X1, Y1, X2, Y2); FCanvas.Line(X1, Y1, X2, Y2);
end; end;
procedure TIntfGraphicsDrawingEngine.PaintToCanvas(ACanvas: TCanvas); procedure TMvIntfGraphicsDrawingEngine.PaintToCanvas(ACanvas: TCanvas);
var var
bmp: TBitmap; bmp: TBitmap;
begin begin
@@ -243,13 +243,13 @@ begin
end; end;
end; end;
procedure TIntfGraphicsDrawingEngine.Rectangle(X1, Y1, X2, Y2: Integer); procedure TMvIntfGraphicsDrawingEngine.Rectangle(X1, Y1, X2, Y2: Integer);
begin begin
if FCanvas <> nil then if FCanvas <> nil then
FCanvas.Rectangle(X1,Y1, X2, Y2); FCanvas.Rectangle(X1,Y1, X2, Y2);
end; end;
function TIntfGraphicsDrawingEngine.SaveToImage(AClass: TRasterImageClass): TRasterImage; function TMvIntfGraphicsDrawingEngine.SaveToImage(AClass: TRasterImageClass): TRasterImage;
begin begin
Result := AClass.Create; Result := AClass.Create;
Result.Width := FBuffer.Width; Result.Width := FBuffer.Width;
@@ -258,51 +258,51 @@ begin
Result.LoadFromIntfImage(FBuffer); Result.LoadFromIntfImage(FBuffer);
end; end;
procedure TIntfGraphicsDrawingEngine.SetBrushColor(AValue: TColor); procedure TMvIntfGraphicsDrawingEngine.SetBrushColor(AValue: TColor);
begin begin
if FCanvas <> nil then if FCanvas <> nil then
FCanvas.Brush.FPColor := TColorToFPColor(AValue); FCanvas.Brush.FPColor := TColorToFPColor(AValue);
end; end;
procedure TIntfGraphicsDrawingEngine.SetBrushStyle(AValue: TBrushStyle); procedure TMvIntfGraphicsDrawingEngine.SetBrushStyle(AValue: TBrushStyle);
begin begin
if FCanvas <> nil then if FCanvas <> nil then
FCanvas.Brush.Style := AValue; FCanvas.Brush.Style := AValue;
end; end;
procedure TIntfGraphicsDrawingEngine.SetFontColor(AValue: TColor); procedure TMvIntfGraphicsDrawingEngine.SetFontColor(AValue: TColor);
begin begin
FFontColor := AValue; FFontColor := AValue;
end; end;
procedure TIntfGraphicsDrawingEngine.SetFontName(AValue: String); procedure TMvIntfGraphicsDrawingEngine.SetFontName(AValue: String);
begin begin
FFontName := AValue; FFontName := AValue;
end; end;
procedure TIntfGraphicsDrawingEngine.SetFontSize(AValue: Integer); procedure TMvIntfGraphicsDrawingEngine.SetFontSize(AValue: Integer);
begin begin
FFontSize := AValue; FFontSize := AValue;
end; end;
procedure TIntfGraphicsDrawingEngine.SetFontStyle(AValue: TFontStyles); procedure TMvIntfGraphicsDrawingEngine.SetFontStyle(AValue: TFontStyles);
begin begin
FFontStyle := AValue; FFontStyle := AValue;
end; end;
procedure TIntfGraphicsDrawingEngine.SetPenColor(AValue: TColor); procedure TMvIntfGraphicsDrawingEngine.SetPenColor(AValue: TColor);
begin begin
if FCanvas <> nil then if FCanvas <> nil then
FCanvas.Pen.FPColor := TColorToFPColor(AValue); FCanvas.Pen.FPColor := TColorToFPColor(AValue);
end; end;
procedure TIntfGraphicsDrawingEngine.SetPenWidth(AValue: Integer); procedure TMvIntfGraphicsDrawingEngine.SetPenWidth(AValue: Integer);
begin begin
if FCanvas <> nil then if FCanvas <> nil then
FCanvas.Pen.Width := AValue; FCanvas.Pen.Width := AValue;
end; end;
function TIntfGraphicsDrawingEngine.TextExtent(const AText: String): TSize; function TMvIntfGraphicsDrawingEngine.TextExtent(const AText: String): TSize;
var var
bmp: TBitmap; bmp: TBitmap;
begin begin
@@ -318,7 +318,7 @@ begin
end; end;
end; end;
procedure TIntfGraphicsDrawingEngine.TextOut(X, Y: Integer; const AText: String); procedure TMvIntfGraphicsDrawingEngine.TextOut(X, Y: Integer; const AText: String);
var var
bmp: TBitmap; bmp: TBitmap;
ex: TSize; ex: TSize;

View File

@@ -9,7 +9,7 @@ uses
mvDrawingEngine; mvDrawingEngine;
type type
TLCLDrawingEngine = class(TMvCustomDrawingEngine) TMvLCLDrawingEngine = class(TMvCustomDrawingEngine)
private private
FBuffer: TBitmap; FBuffer: TBitmap;
protected protected
@@ -45,13 +45,16 @@ type
implementation implementation
destructor TLCLDrawingEngine.Destroy; uses
LCLType;
destructor TMvLCLDrawingEngine.Destroy;
begin begin
FBuffer.Free; FBuffer.Free;
inherited; inherited;
end; end;
procedure TLCLDrawingEngine.CreateBuffer(AWidth, AHeight: Integer); procedure TMvLCLDrawingEngine.CreateBuffer(AWidth, AHeight: Integer);
begin begin
FBuffer.Free; FBuffer.Free;
FBuffer := TBitmap.Create; FBuffer := TBitmap.Create;
@@ -59,11 +62,11 @@ begin
FBuffer.SetSize(AWidth, AHeight); FBuffer.SetSize(AWidth, AHeight);
end; end;
procedure TLCLDrawingEngine.DrawLazIntfImage(X, Y: Integer; procedure TMvLCLDrawingEngine.DrawLazIntfImage(X, Y: Integer;
AImg: TLazIntfImage); AImg: TLazIntfImage);
var var
bmp: TBitmap; bmp: TBitmap;
h, mh: THandle; h, mh: HBITMAP;
begin begin
bmp := TBitmap.Create; bmp := TBitmap.Create;
try try
@@ -78,72 +81,72 @@ begin
end; end;
end; end;
procedure TLCLDrawingEngine.Ellipse(X1, Y1, X2, Y2: Integer); procedure TMvLCLDrawingEngine.Ellipse(X1, Y1, X2, Y2: Integer);
begin begin
FBuffer.Canvas.Ellipse(X1,Y1, X2, Y2); FBuffer.Canvas.Ellipse(X1,Y1, X2, Y2);
end; end;
procedure TLCLDrawingEngine.FillRect(X1, Y1, X2, Y2: Integer); procedure TMvLCLDrawingEngine.FillRect(X1, Y1, X2, Y2: Integer);
begin begin
FBuffer.Canvas.FillRect(X1,Y1, X2, Y2); FBuffer.Canvas.FillRect(X1,Y1, X2, Y2);
end; end;
function TLCLDrawingEngine.GetBrushColor: TColor; function TMvLCLDrawingEngine.GetBrushColor: TColor;
begin begin
Result := FBuffer.Canvas.Brush.Color; Result := FBuffer.Canvas.Brush.Color;
end; end;
function TLCLDrawingEngine.GetBrushStyle: TBrushStyle; function TMvLCLDrawingEngine.GetBrushStyle: TBrushStyle;
begin begin
Result := FBuffer.Canvas.Brush.Style Result := FBuffer.Canvas.Brush.Style
end; end;
function TLCLDrawingEngine.GetFontColor: TColor; function TMvLCLDrawingEngine.GetFontColor: TColor;
begin begin
Result := FBuffer.Canvas.Font.Color Result := FBuffer.Canvas.Font.Color
end; end;
function TLCLDrawingEngine.GetFontName: String; function TMvLCLDrawingEngine.GetFontName: String;
begin begin
Result := FBuffer.Canvas.Font.Name; Result := FBuffer.Canvas.Font.Name;
end; end;
function TLCLDrawingEngine.GetFontSize: Integer; function TMvLCLDrawingEngine.GetFontSize: Integer;
begin begin
Result := FBuffer.Canvas.Font.Size; Result := FBuffer.Canvas.Font.Size;
end; end;
function TLCLDrawingEngine.GetFontStyle: TFontStyles; function TMvLCLDrawingEngine.GetFontStyle: TFontStyles;
begin begin
Result := FBuffer.Canvas.Font.Style; Result := FBuffer.Canvas.Font.Style;
end; end;
function TLCLDrawingEngine.GetPenColor: TColor; function TMvLCLDrawingEngine.GetPenColor: TColor;
begin begin
Result := FBuffer.Canvas.Pen.Color; Result := FBuffer.Canvas.Pen.Color;
end; end;
function TLCLDrawingEngine.GetPenWidth: Integer; function TMvLCLDrawingEngine.GetPenWidth: Integer;
begin begin
Result := FBuffer.Canvas.Pen.Width; Result := FBuffer.Canvas.Pen.Width;
end; end;
procedure TLCLDrawingEngine.Line(X1, Y1, X2, Y2: Integer); procedure TMvLCLDrawingEngine.Line(X1, Y1, X2, Y2: Integer);
begin begin
FBuffer.Canvas.Line(X1, Y1, X2, Y2); FBuffer.Canvas.Line(X1, Y1, X2, Y2);
end; end;
procedure TLCLDrawingEngine.PaintToCanvas(ACanvas: TCanvas); procedure TMvLCLDrawingEngine.PaintToCanvas(ACanvas: TCanvas);
begin begin
ACanvas.Draw(0, 0, FBuffer); ACanvas.Draw(0, 0, FBuffer);
end; end;
procedure TLCLDrawingEngine.Rectangle(X1, Y1, X2, Y2: Integer); procedure TMvLCLDrawingEngine.Rectangle(X1, Y1, X2, Y2: Integer);
begin begin
FBuffer.Canvas.Rectangle(X1,Y1, X2, Y2); FBuffer.Canvas.Rectangle(X1,Y1, X2, Y2);
end; end;
function TLCLDrawingEngine.SaveToImage(AClass: TRasterImageClass): TRasterImage; function TMvLCLDrawingEngine.SaveToImage(AClass: TRasterImageClass): TRasterImage;
begin begin
Result := AClass.Create; Result := AClass.Create;
Result.Width := FBuffer.Width; Result.Width := FBuffer.Width;
@@ -152,52 +155,52 @@ begin
Result.Canvas.Draw(0, 0, FBuffer); Result.Canvas.Draw(0, 0, FBuffer);
end; end;
procedure TLCLDrawingEngine.SetBrushColor(AValue: TColor); procedure TMvLCLDrawingEngine.SetBrushColor(AValue: TColor);
begin begin
FBuffer.Canvas.Brush.Color := AValue; FBuffer.Canvas.Brush.Color := AValue;
end; end;
procedure TLCLDrawingEngine.SetBrushStyle(AValue: TBrushStyle); procedure TMvLCLDrawingEngine.SetBrushStyle(AValue: TBrushStyle);
begin begin
FBuffer.Canvas.Brush.Style := AValue; FBuffer.Canvas.Brush.Style := AValue;
end; end;
procedure TLCLDrawingEngine.SetFontColor(AValue: TColor); procedure TMvLCLDrawingEngine.SetFontColor(AValue: TColor);
begin begin
FBuffer.Canvas.Font.Color := AValue; FBuffer.Canvas.Font.Color := AValue;
end; end;
procedure TLCLDrawingEngine.SetFontName(AValue: String); procedure TMvLCLDrawingEngine.SetFontName(AValue: String);
begin begin
FBuffer.Canvas.Font.Name := AValue; FBuffer.Canvas.Font.Name := AValue;
end; end;
procedure TLCLDrawingEngine.SetFontSize(AValue: Integer); procedure TMvLCLDrawingEngine.SetFontSize(AValue: Integer);
begin begin
FBuffer.Canvas.Font.Size := AValue; FBuffer.Canvas.Font.Size := AValue;
end; end;
procedure TLCLDrawingEngine.SetFontStyle(AValue: TFontStyles); procedure TMvLCLDrawingEngine.SetFontStyle(AValue: TFontStyles);
begin begin
FBuffer.Canvas.Font.Style := AValue; FBuffer.Canvas.Font.Style := AValue;
end; end;
procedure TLCLDrawingEngine.SetPenColor(AValue: TColor); procedure TMvLCLDrawingEngine.SetPenColor(AValue: TColor);
begin begin
FBuffer.Canvas.Pen.Color := AValue; FBuffer.Canvas.Pen.Color := AValue;
end; end;
procedure TLCLDrawingEngine.SetPenWidth(AValue: Integer); procedure TMvLCLDrawingEngine.SetPenWidth(AValue: Integer);
begin begin
FBuffer.Canvas.Pen.Width := AValue; FBuffer.Canvas.Pen.Width := AValue;
end; end;
function TLCLDrawingEngine.TextExtent(const AText: String): TSize; function TMvLCLDrawingEngine.TextExtent(const AText: String): TSize;
begin begin
Result := FBuffer.Canvas.TextExtent(AText) Result := FBuffer.Canvas.TextExtent(AText)
end; end;
procedure TLCLDrawingEngine.TextOut(X, Y: Integer; const AText: String); procedure TMvLCLDrawingEngine.TextOut(X, Y: Integer; const AText: String);
begin begin
if (AText <> '') then if (AText <> '') then
FBuffer.Canvas.TextOut(X, Y, AText); FBuffer.Canvas.TextOut(X, Y, AText);

View File

@@ -749,7 +749,6 @@ var
stream: TFileStream; stream: TFileStream;
doc: TXMLDocument = nil; doc: TXMLDocument = nil;
node, layerNode: TDOMNode; node, layerNode: TDOMNode;
attr: TDOMNamedNodeMap;
providerName: String; providerName: String;
url: String; url: String;
minZoom: Integer; minZoom: Integer;

View File

@@ -60,8 +60,6 @@ type
PISOTimeRec = ^TISOTimeRec; PISOTimeRec = ^TISOTimeRec;
const const
NUMBER: array['0'..'9'] of Integer = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9); NUMBER: array['0'..'9'] of Integer = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
const
ZERO = ord('0');
var var
yr,mon,dy, hr,mn,sec,s1000: Integer; yr,mon,dy, hr,mn,sec,s1000: Integer;
begin begin
@@ -160,7 +158,6 @@ procedure TGpxReader.LoadFromStream(AStream: TStream; AList: TGpsObjectList;
out ABounds: TRealArea); out ABounds: TRealArea);
var var
doc: TXMLDocument = nil; doc: TXMLDocument = nil;
node: TDOMNode;
begin begin
try try
ID := random(MaxInt - 1000) + 1000; ID := random(MaxInt - 1000) + 1000;

View File

@@ -41,15 +41,6 @@ Type
FEngine: TMapViewerEngine; FEngine: TMapViewerEngine;
FBuiltinDrawingEngine: TMvCustomDrawingEngine; FBuiltinDrawingEngine: TMvCustomDrawingEngine;
FDrawingEngine: TMvCustomDrawingEngine; FDrawingEngine: TMvCustomDrawingEngine;
(*
{$IFDEF USE_RGBGRAPHICS}
Buffer: TRGB32Bitmap;
{$ENDIF}
{$IFDEF USE_LAZINTFIMAGE}
Buffer: TLazIntfImage;
BufferCanvas: TFPCustomCanvas;
{$ENDIF}
*)
FActive: boolean; FActive: boolean;
FGPSItems: TGPSObjectList; FGPSItems: TGPSObjectList;
FInactiveColor: TColor; FInactiveColor: TColor;
@@ -167,7 +158,7 @@ implementation
uses uses
GraphType, mvJobQueue, mvExtraData, mvDLEFpc, mvDE_IntfGraphics; GraphType, mvJobQueue, mvExtraData, mvDLEFpc, mvDE_IntfGraphics;
Type type
{ TDrawObjJob } { TDrawObjJob }
@@ -496,47 +487,16 @@ begin
inherited DoOnResize; inherited DoOnResize;
//cancel all rendering threads //cancel all rendering threads
Engine.CancelCurrentDrawing; Engine.CancelCurrentDrawing;
(*
FreeAndNil(Buffer);
{$IFDEF USE_RGBGRAPHICS}
Buffer := TRGB32Bitmap.Create(ClientWidth,ClientHeight);
{$ENDIF}
{$IFDEF USE_LAZINTFIMAGE}
BufferCanvas.Free;
CreateLazIntfImageAndCanvas(Buffer, BufferCanvas, ClientWidth, ClientHeight);
{$ENDIF}
*)
DrawingEngine.CreateBuffer(ClientWidth, ClientHeight); DrawingEngine.CreateBuffer(ClientWidth, ClientHeight);
if IsActive then if IsActive then
Engine.SetSize(ClientWidth, ClientHeight); Engine.SetSize(ClientWidth, ClientHeight);
end; end;
procedure TMapView.Paint; procedure TMapView.Paint;
var
bmp: TBitmap;
begin begin
inherited Paint; inherited Paint;
if IsActive then if IsActive then
DrawingEngine.PaintToCanvas(Canvas) DrawingEngine.PaintToCanvas(Canvas)
(*
if IsActive and Assigned(Buffer) then
begin
{$IFDEF USE_RGBGRAPHICS}
Buffer.Canvas.DrawTo(Canvas,0,0);
{$ENDIF}
{$IFDEF USE_LAZINTFIMAGE}
bmp := TBitmap.Create;
try
bmp.PixelFormat := pf32Bit;
bmp.SetSize(Buffer.Width, Buffer.Height);
bmp.LoadFromIntfImage(Buffer);
Canvas.Draw(0, 0, bmp);
finally
bmp.Free;
end;
{$ENDIF}
end
*)
else else
begin begin
Canvas.Brush.Color := InactiveColor; Canvas.Brush.Color := InactiveColor;
@@ -578,7 +538,7 @@ var
trkColor: TColor; trkColor: TColor;
trkWidth: Integer; trkWidth: Integer;
begin begin
if trk.Points.Count>0 then if trk.Points.Count > 0 then
begin begin
trkColor := FDefaultTrackColor; trkColor := FDefaultTrackColor;
trkWidth := FDefaultTrackWidth; trkWidth := FDefaultTrackWidth;
@@ -591,6 +551,8 @@ begin
end; end;
if trkWidth < 1 then trkWidth := 1; if trkWidth < 1 then trkWidth := 1;
LastInside := false; LastInside := false;
DrawingEngine.PenColor := trkColor;
DrawingEngine.PenWidth := trkWidth;
for i:=0 to pred(trk.Points.Count) do for i:=0 to pred(trk.Points.Count) do
begin begin
aPt := trk.Points[i].RealPoint; aPt := trk.Points[i].RealPoint;
@@ -602,18 +564,6 @@ begin
begin begin
if not LastInside then if not LastInside then
Old := Engine.LonLatToScreen(trk.Points[pred(i)].RealPoint); Old := Engine.LonLatToScreen(trk.Points[pred(i)].RealPoint);
(*
{$IFDEF USE_RGBGRAPHICS}
Buffer.Canvas.OutlineColor := trkColor;
// --- no linewidth support in RGBGraphics ---
Buffer.Canvas.Line(Old.X, Old.y, New.X, New.Y);
{$ENDIF}
{$IFDEF USE_LAZINTFIMAGE}
BufferCanvas.Pen.FPColor := TColorToFPColor(trkColor);
BufferCanvas.Pen.Width := trkWidth;
BufferCanvas.Line(Old.X, Old.Y, New.X, New.Y);
{$ENDIF}
*)
DrawingEngine.Line(Old.X, Old.Y, New.X, New.Y); DrawingEngine.Line(Old.X, Old.Y, New.X, New.Y);
end; end;
Old := New; Old := New;
@@ -630,14 +580,6 @@ var
begin begin
if Assigned(FOnDrawGpsPoint) then begin if Assigned(FOnDrawGpsPoint) then begin
FOnDrawGpsPoint(Self, DrawingEngine, aPOI); FOnDrawGpsPoint(Self, DrawingEngine, aPOI);
(*
{$IFDEF USE_RGBGRAPHICS}
FOnDrawGpsPoint(Self, Buffer, aPOI);
{$ENDIF}
{$IFDEF USE_LAZINTFIMAGE}
FOnDrawGpsPoint(Self, BufferCanvas, aPOI);
{$ENDIF}
*)
exit; exit;
end; end;
@@ -648,18 +590,6 @@ begin
if aPOI.ExtraData.inheritsFrom(TDrawingExtraData) then if aPOI.ExtraData.inheritsFrom(TDrawingExtraData) then
PtColor := TDrawingExtraData(aPOI.ExtraData).Color; PtColor := TDrawingExtraData(aPOI.ExtraData).Color;
end; end;
(*
{$IFDEF USE_RGBGRAPHICS}
Buffer.Canvas.OutlineColor := ptColor;
Buffer.Canvas.Line(Pt.X, Pt.y-5, Pt.X, Pt.Y+5);
Buffer.Canvas.Line(Pt.X-5, Pt.y, Pt.X+5, Pt.Y);
{$ENDIF}
{$IFDEF USE_LAZINTFIMAGE}
BufferCanvas.Pen.FPColor := TColorToFPColor(ptColor);
BufferCanvas.Line(Pt.X, Pt.Y-5, Pt.X, Pt.Y+5);
BufferCanvas.Line(Pt.X-5, Pt.Y, Pt.X+5, Pt.Y);
{$ENDIF}
*)
DrawingEngine.PenColor := ptColor; DrawingEngine.PenColor := ptColor;
DrawingEngine.Line(Pt.X, Pt.Y - 5, Pt.X, Pt.Y + 5); DrawingEngine.Line(Pt.X, Pt.Y - 5, Pt.X, Pt.Y + 5);
DrawingEngine.Line(Pt.X - 5, Pt.Y, Pt.X + 5, Pt.Y); DrawingEngine.Line(Pt.X - 5, Pt.Y, Pt.X + 5, Pt.Y);
@@ -712,77 +642,19 @@ end;
procedure TMapView.DoDrawTile(const TileId: TTileId; X, Y: integer; procedure TMapView.DoDrawTile(const TileId: TTileId; X, Y: integer;
TileImg: TLazIntfImage); TileImg: TLazIntfImage);
(*
{$IFDEF USE_RGBGRAPHICS}
var
temp: TRGB32Bitmap;
ri: TRawImage;
BuffLaz: TLazIntfImage;
{$ENDIF}
*)
begin begin
{ if Assigned(TileImg) then begin
if Assigned(Buffer) then DrawingEngine.DrawLazIntfImage(X, Y, TileImg);
begin end
} else begin
if Assigned(TileImg) then DrawingEngine.BrushColor := clWhite;
begin DrawingEngine.BrushStyle := bsSolid;
(* DrawingEngine.FillRect(X, Y, X + TILE_SIZE, Y + TILE_SIZE);
{$IFDEF USE_RGBGRAPHICS} end;
if (X >= 0) and (Y >= 0) then //http://mantis.freepascal.org/view.php?id=27144
begin
ri.Init;
ri.Description.Init_BPP32_R8G8B8A8_BIO_TTB(Buffer.Width,Buffer.Height);
ri.Data := Buffer.Pixels;
BuffLaz := TLazIntfImage.Create(ri, false);
try
BuffLaz.CopyPixels(TileImg, X, Y);
ri.Init;
finally
FreeandNil(BuffLaz);
end;
end
else
begin
//i think it take more memory then the previous method but work in all case
temp := TRGB32Bitmap.CreateFromLazIntfImage(TileImg);
try
Buffer.Draw(X, Y, temp);
finally
FreeAndNil(temp);
end;
end;
{$ENDIF}
{$IFDEF USE_LAZINTFIMAGE}
{$IF LCL_FULLVERSION < 1090000}
{ Workaround for //http://mantis.freepascal.org/view.php?id=27144 }
CopyPixels(TileImg, Buffer, X, Y);
{$ELSE}
Buffer.CopyPixels(TileImg, X, Y);
{$IFEND}
{$ENDIF}
*)
DrawingEngine.DrawLazIntfImage(X, Y, TileImg);
end
else begin
DrawingEngine.BrushColor := clWhite;
DrawingEngine.BrushStyle := bsSolid;
DrawingEngine.FillRect(X, Y, X + TILE_SIZE, Y + TILE_SIZE);
(*
{$IFDEF USE_RGBGRAPHICS}
Buffer.Canvas.FillRect(X, Y, X + TILE_SIZE, Y + TILE_SIZE);
{$ENDIF}
{$IFDEF USE_LAZINTFIMAGE}
begin
BufferCanvas.Brush.FPColor := ColWhite;
BufferCanvas.FillRect(X, Y, X + TILE_SIZE, Y + TILE_SIZE);
end;
{$ENDIF}
*)
end;
// end;
if FDebugTiles then if FDebugTiles then
DoDrawTileInfo(TileID, X, Y); DoDrawTileInfo(TileID, X, Y);
DrawObjects(TileId, X, Y, X + TILE_SIZE, Y + TILE_SIZE); DrawObjects(TileId, X, Y, X + TILE_SIZE, Y + TILE_SIZE);
end; end;
@@ -828,7 +700,7 @@ begin
FEngine.DrawTitleInGuiThread := false; FEngine.DrawTitleInGuiThread := false;
FEngine.DownloadEngine := FBuiltinDownloadEngine; FEngine.DownloadEngine := FBuiltinDownloadEngine;
FBuiltinDrawingEngine := TIntfGraphicsDrawingEngine.Create(self); FBuiltinDrawingEngine := TMvIntfGraphicsDrawingEngine.Create(self);
FBuiltinDrawingEngine.Name := 'BuiltInDE'; FBuiltinDrawingEngine.Name := 'BuiltInDE';
FBuiltinDrawingEngine.CreateBuffer(Width, Height); FBuiltinDrawingEngine.CreateBuffer(Width, Height);
@@ -862,18 +734,6 @@ end;
function TMapView.SaveToImage(AClass: TRasterImageClass): TRasterImage; function TMapView.SaveToImage(AClass: TRasterImageClass): TRasterImage;
begin begin
Result := DrawingEngine.SaveToImage(AClass); Result := DrawingEngine.SaveToImage(AClass);
(*
Result := AClass.Create;
Result.Width := Width;
Result.Height := Height;
Result.Canvas.FillRect(0, 0, Width, Height);
{$IFDEF USE_RGBGRAPHICS}
Buffer.Canvas.DrawTo(Result.Canvas,0,0);
{$ENDIF}
{$IFDEF USE_LAZINTFIMAGE}
Result.LoadFromIntfImage(Buffer);
{$ENDIF}
*)
end; end;
procedure TMapView.SaveToStream(AClass: TRasterImageClass; AStream: TStream); procedure TMapView.SaveToStream(AClass: TRasterImageClass; AStream: TStream);
@@ -947,11 +807,6 @@ end;
procedure TMapView.ClearBuffer; procedure TMapView.ClearBuffer;
begin begin
DrawingEngine.CreateBuffer(ClientWidth, ClientHeight); // ??? DrawingEngine.CreateBuffer(ClientWidth, ClientHeight); // ???
(*
{$IFDEF USE_LAZINTFIMAGE}
CreateLazIntfImageAndCanvas(Buffer, BufferCanvas, ClientWidth, ClientHeight);
{$ENDIF}
*)
end; end;
procedure TMapView.UpdateFont(Sender: TObject); procedure TMapView.UpdateFont(Sender: TObject);