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
DownloadEngine = MapView.BuiltInDLE
DrawingEngine = MapView.BuiltInDE
Font.Color = clBlack
InactiveColor = clWhite
MapProvider = 'OpenStreetMap Mapnik'
UseThreads = True

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -41,15 +41,6 @@ Type
FEngine: TMapViewerEngine;
FBuiltinDrawingEngine: TMvCustomDrawingEngine;
FDrawingEngine: TMvCustomDrawingEngine;
(*
{$IFDEF USE_RGBGRAPHICS}
Buffer: TRGB32Bitmap;
{$ENDIF}
{$IFDEF USE_LAZINTFIMAGE}
Buffer: TLazIntfImage;
BufferCanvas: TFPCustomCanvas;
{$ENDIF}
*)
FActive: boolean;
FGPSItems: TGPSObjectList;
FInactiveColor: TColor;
@ -167,7 +158,7 @@ implementation
uses
GraphType, mvJobQueue, mvExtraData, mvDLEFpc, mvDE_IntfGraphics;
Type
type
{ TDrawObjJob }
@ -496,47 +487,16 @@ begin
inherited DoOnResize;
//cancel all rendering threads
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);
if IsActive then
Engine.SetSize(ClientWidth, ClientHeight);
end;
procedure TMapView.Paint;
var
bmp: TBitmap;
begin
inherited Paint;
if IsActive then
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
begin
Canvas.Brush.Color := InactiveColor;
@ -578,7 +538,7 @@ var
trkColor: TColor;
trkWidth: Integer;
begin
if trk.Points.Count>0 then
if trk.Points.Count > 0 then
begin
trkColor := FDefaultTrackColor;
trkWidth := FDefaultTrackWidth;
@ -591,6 +551,8 @@ begin
end;
if trkWidth < 1 then trkWidth := 1;
LastInside := false;
DrawingEngine.PenColor := trkColor;
DrawingEngine.PenWidth := trkWidth;
for i:=0 to pred(trk.Points.Count) do
begin
aPt := trk.Points[i].RealPoint;
@ -602,18 +564,6 @@ begin
begin
if not LastInside then
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);
end;
Old := New;
@ -630,14 +580,6 @@ var
begin
if Assigned(FOnDrawGpsPoint) then begin
FOnDrawGpsPoint(Self, DrawingEngine, aPOI);
(*
{$IFDEF USE_RGBGRAPHICS}
FOnDrawGpsPoint(Self, Buffer, aPOI);
{$ENDIF}
{$IFDEF USE_LAZINTFIMAGE}
FOnDrawGpsPoint(Self, BufferCanvas, aPOI);
{$ENDIF}
*)
exit;
end;
@ -648,18 +590,6 @@ begin
if aPOI.ExtraData.inheritsFrom(TDrawingExtraData) then
PtColor := TDrawingExtraData(aPOI.ExtraData).Color;
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.Line(Pt.X, Pt.Y - 5, Pt.X, Pt.Y + 5);
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;
TileImg: TLazIntfImage);
(*
{$IFDEF USE_RGBGRAPHICS}
var
temp: TRGB32Bitmap;
ri: TRawImage;
BuffLaz: TLazIntfImage;
{$ENDIF}
*)
begin
{
if Assigned(Buffer) then
begin
}
if Assigned(TileImg) then
begin
(*
{$IFDEF USE_RGBGRAPHICS}
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 Assigned(TileImg) then begin
DrawingEngine.DrawLazIntfImage(X, Y, TileImg);
end
else begin
DrawingEngine.BrushColor := clWhite;
DrawingEngine.BrushStyle := bsSolid;
DrawingEngine.FillRect(X, Y, X + TILE_SIZE, Y + TILE_SIZE);
end;
if FDebugTiles then
DoDrawTileInfo(TileID, X, Y);
DrawObjects(TileId, X, Y, X + TILE_SIZE, Y + TILE_SIZE);
end;
@ -828,7 +700,7 @@ begin
FEngine.DrawTitleInGuiThread := false;
FEngine.DownloadEngine := FBuiltinDownloadEngine;
FBuiltinDrawingEngine := TIntfGraphicsDrawingEngine.Create(self);
FBuiltinDrawingEngine := TMvIntfGraphicsDrawingEngine.Create(self);
FBuiltinDrawingEngine.Name := 'BuiltInDE';
FBuiltinDrawingEngine.CreateBuffer(Width, Height);
@ -862,18 +734,6 @@ end;
function TMapView.SaveToImage(AClass: TRasterImageClass): TRasterImage;
begin
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;
procedure TMapView.SaveToStream(AClass: TRasterImageClass; AStream: TStream);
@ -947,11 +807,6 @@ end;
procedure TMapView.ClearBuffer;
begin
DrawingEngine.CreateBuffer(ClientWidth, ClientHeight); // ???
(*
{$IFDEF USE_LAZINTFIMAGE}
CreateLazIntfImageAndCanvas(Buffer, BufferCanvas, ClientWidth, ClientHeight);
{$ENDIF}
*)
end;
procedure TMapView.UpdateFont(Sender: TObject);