diff --git a/components/lazmapviewer/example/main.lfm b/components/lazmapviewer/example/main.lfm index 0da46096a..31a9a9d79 100644 --- a/components/lazmapviewer/example/main.lfm +++ b/components/lazmapviewer/example/main.lfm @@ -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 diff --git a/components/lazmapviewer/example/main.pas b/components/lazmapviewer/example/main.pas index 44314dd51..e669f7bea 100644 --- a/components/lazmapviewer/example/main.pas +++ b/components/lazmapviewer/example/main.pas @@ -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; diff --git a/components/lazmapviewer/source/mvde_intfgraphics.pas b/components/lazmapviewer/source/mvde_intfgraphics.pas index 9c1a2f18a..5c084c8e4 100644 --- a/components/lazmapviewer/source/mvde_intfgraphics.pas +++ b/components/lazmapviewer/source/mvde_intfgraphics.pas @@ -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; diff --git a/components/lazmapviewer/source/mvde_lcl.pas b/components/lazmapviewer/source/mvde_lcl.pas index b55662086..fd9e1bfa2 100644 --- a/components/lazmapviewer/source/mvde_lcl.pas +++ b/components/lazmapviewer/source/mvde_lcl.pas @@ -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); diff --git a/components/lazmapviewer/source/mvengine.pas b/components/lazmapviewer/source/mvengine.pas index 136fbbf00..2db24f37f 100644 --- a/components/lazmapviewer/source/mvengine.pas +++ b/components/lazmapviewer/source/mvengine.pas @@ -749,7 +749,6 @@ var stream: TFileStream; doc: TXMLDocument = nil; node, layerNode: TDOMNode; - attr: TDOMNamedNodeMap; providerName: String; url: String; minZoom: Integer; diff --git a/components/lazmapviewer/source/mvgpx.pas b/components/lazmapviewer/source/mvgpx.pas index ebec8219b..70e83ab5b 100644 --- a/components/lazmapviewer/source/mvgpx.pas +++ b/components/lazmapviewer/source/mvgpx.pas @@ -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; diff --git a/components/lazmapviewer/source/mvmapviewer.pas b/components/lazmapviewer/source/mvmapviewer.pas index ac85fdc83..5a9dcf566 100644 --- a/components/lazmapviewer/source/mvmapviewer.pas +++ b/components/lazmapviewer/source/mvmapviewer.pas @@ -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);