LazMapViewer: Add missing PenStyle setters/getters to the LCL DrawingEngine. Some clean-up.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@9327 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz 2024-04-05 15:12:11 +00:00
parent 20997f05cc
commit 64723e46e1
7 changed files with 22 additions and 13 deletions

View File

@ -235,7 +235,6 @@ end;
procedure TCfgFrame.ReadFromIni(ini: TCustomIniFile); procedure TCfgFrame.ReadFromIni(ini: TCustomIniFile);
var var
n: Integer; n: Integer;
s: String;
begin begin
n := ini.ReadInteger('Proxy', 'UseProxy', 0); n := ini.ReadInteger('Proxy', 'UseProxy', 0);
case n of case n of

View File

@ -38,9 +38,8 @@
</RequiredPackages> </RequiredPackages>
<Units Count="7"> <Units Count="7">
<Unit0> <Unit0>
<Filename Value="mapViewer_demo.lpr"/> <Filename Value="mapviewer_demo.lpr"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="mapviewer_demo"/>
</Unit0> </Unit0>
<Unit1> <Unit1>
<Filename Value="main.pas"/> <Filename Value="main.pas"/>

View File

@ -47,7 +47,6 @@ type
FFontSize: Integer; FFontSize: Integer;
FFontStyle: TFontStyles; FFontStyle: TFontStyles;
protected protected
function GetPenStyle: TPenStyle; override;
function GetBrushColor: TColor; override; function GetBrushColor: TColor; override;
function GetBrushStyle: TBrushStyle; override; function GetBrushStyle: TBrushStyle; override;
function GetFontColor: TColor; override; function GetFontColor: TColor; override;
@ -55,8 +54,8 @@ type
function GetFontSize: Integer; override; function GetFontSize: Integer; override;
function GetFontStyle: TFontStyles; override; function GetFontStyle: TFontStyles; override;
function GetPenColor: TColor; override; function GetPenColor: TColor; override;
function GetPenStyle: TPenStyle; override;
function GetPenWidth: Integer; override; function GetPenWidth: Integer; override;
procedure SetPenStyle(AValue: TPenStyle); override;
procedure SetBrushColor(AValue: TColor); override; procedure SetBrushColor(AValue: TColor); override;
procedure SetBrushStyle(AValue: TBrushStyle); override; procedure SetBrushStyle(AValue: TBrushStyle); override;
procedure SetFontColor(AValue: TColor); override; procedure SetFontColor(AValue: TColor); override;
@ -64,6 +63,7 @@ type
procedure SetFontSize(AValue: Integer); override; procedure SetFontSize(AValue: Integer); override;
procedure SetFontStyle(AValue: TFontStyles); override; procedure SetFontStyle(AValue: TFontStyles); override;
procedure SetPenColor(AValue: TColor); override; procedure SetPenColor(AValue: TColor); override;
procedure SetPenStyle(AValue: TPenStyle); override;
procedure SetPenWidth(AValue: Integer); override; procedure SetPenWidth(AValue: Integer); override;
public public

View File

@ -52,7 +52,6 @@ type
FPenWidth: Integer; FPenWidth: Integer;
protected protected
procedure DrawBitmapOT(X, Y: Integer; ABitmap: TCustomBitmap; AOpaqueColor, ATransparentColor: TColor); procedure DrawBitmapOT(X, Y: Integer; ABitmap: TCustomBitmap; AOpaqueColor, ATransparentColor: TColor);
function GetPenStyle: TPenStyle; override;
function GetBrushColor: TColor; override; function GetBrushColor: TColor; override;
function GetBrushStyle: TBrushStyle; override; function GetBrushStyle: TBrushStyle; override;
function GetFontColor: TColor; override; function GetFontColor: TColor; override;
@ -60,8 +59,8 @@ type
function GetFontSize: Integer; override; function GetFontSize: Integer; override;
function GetFontStyle: TFontStyles; override; function GetFontStyle: TFontStyles; override;
function GetPenColor: TColor; override; function GetPenColor: TColor; override;
function GetPenStyle: TPenStyle; override;
function GetPenWidth: Integer; override; function GetPenWidth: Integer; override;
procedure SetPenStyle(AValue: TPenStyle); override;
procedure SetBrushColor(AValue: TColor); override; procedure SetBrushColor(AValue: TColor); override;
procedure SetBrushStyle(AValue: TBrushStyle); override; procedure SetBrushStyle(AValue: TBrushStyle); override;
procedure SetFontColor(AValue: TColor); override; procedure SetFontColor(AValue: TColor); override;
@ -69,6 +68,7 @@ type
procedure SetFontSize(AValue: Integer); override; procedure SetFontSize(AValue: Integer); override;
procedure SetFontStyle(AValue: TFontStyles); override; procedure SetFontStyle(AValue: TFontStyles); override;
procedure SetPenColor(AValue: TColor); override; procedure SetPenColor(AValue: TColor); override;
procedure SetPenStyle(AValue: TPenStyle); override;
procedure SetPenWidth(AValue: Integer); override; procedure SetPenWidth(AValue: Integer); override;
procedure SetDrawMode; procedure SetDrawMode;
public public

View File

@ -49,9 +49,7 @@ type
procedure CreateLazIntfImageAndCanvas(out ABuffer: TLazIntfImage; procedure CreateLazIntfImageAndCanvas(out ABuffer: TLazIntfImage;
out ACanvas: TFPCustomCanvas; AWidth, AHeight: Integer); out ACanvas: TFPCustomCanvas; AWidth, AHeight: Integer);
protected protected
// Drawing bitmap with a given opaque and transparent colors
procedure DrawBitmapOT(X, Y: Integer; ABitmap: TCustomBitmap; AOpaqueColor, ATransparentColor: TColor); procedure DrawBitmapOT(X, Y: Integer; ABitmap: TCustomBitmap; AOpaqueColor, ATransparentColor: TColor);
function GetPenStyle: TPenStyle; override;
function GetBrushColor: TColor; override; function GetBrushColor: TColor; override;
function GetBrushStyle: TBrushStyle; override; function GetBrushStyle: TBrushStyle; override;
function GetFontColor: TColor; override; function GetFontColor: TColor; override;
@ -59,8 +57,8 @@ type
function GetFontSize: Integer; override; function GetFontSize: Integer; override;
function GetFontStyle: TFontStyles; override; function GetFontStyle: TFontStyles; override;
function GetPenColor: TColor; override; function GetPenColor: TColor; override;
function GetPenStyle: TPenStyle; override;
function GetPenWidth: Integer; override; function GetPenWidth: Integer; override;
procedure SetPenStyle(AValue: TPenStyle); override;
procedure SetBrushColor(AValue: TColor); override; procedure SetBrushColor(AValue: TColor); override;
procedure SetBrushStyle(AValue: TBrushStyle); override; procedure SetBrushStyle(AValue: TBrushStyle); override;
procedure SetFontColor(AValue: TColor); override; procedure SetFontColor(AValue: TColor); override;
@ -68,6 +66,7 @@ type
procedure SetFontSize(AValue: Integer); override; procedure SetFontSize(AValue: Integer); override;
procedure SetFontStyle(AValue: TFontStyles); override; procedure SetFontStyle(AValue: TFontStyles); override;
procedure SetPenColor(AValue: TColor); override; procedure SetPenColor(AValue: TColor); override;
procedure SetPenStyle(AValue: TPenStyle); override;
procedure SetPenWidth(AValue: Integer); override; procedure SetPenWidth(AValue: Integer); override;
public public
destructor Destroy; override; destructor Destroy; override;
@ -305,6 +304,7 @@ begin
Result := (AColor1.Red = AColor2.Red) and (AColor1.Green = AColor2.Green) and (AColor1.Blue = AColor2.Blue); Result := (AColor1.Red = AColor2.Red) and (AColor1.Green = AColor2.Green) and (AColor1.Blue = AColor2.Blue);
end; end;
{ Drawing a bitmap with a given opaque and transparent color }
procedure TMvIntfGraphicsDrawingEngine.DrawBitmapOT(X, Y: Integer; procedure TMvIntfGraphicsDrawingEngine.DrawBitmapOT(X, Y: Integer;
ABitmap: TCustomBitmap; AOpaqueColor, ATransparentColor: TColor); ABitmap: TCustomBitmap; AOpaqueColor, ATransparentColor: TColor);
var var

View File

@ -49,6 +49,7 @@ type
function GetFontSize: Integer; override; function GetFontSize: Integer; override;
function GetFontStyle: TFontStyles; override; function GetFontStyle: TFontStyles; override;
function GetPenColor: TColor; override; function GetPenColor: TColor; override;
function GetPenStyle: TPenstyle; override;
function GetPenWidth: Integer; override; function GetPenWidth: Integer; override;
procedure SetBrushColor(AValue: TColor); override; procedure SetBrushColor(AValue: TColor); override;
procedure SetBrushStyle(AValue: TBrushStyle); override; procedure SetBrushStyle(AValue: TBrushStyle); override;
@ -57,6 +58,7 @@ type
procedure SetFontSize(AValue: Integer); override; procedure SetFontSize(AValue: Integer); override;
procedure SetFontStyle(AValue: TFontStyles); override; procedure SetFontStyle(AValue: TFontStyles); override;
procedure SetPenColor(AValue: TColor); override; procedure SetPenColor(AValue: TColor); override;
procedure SetPenStyle(AValue: TPenStyle); override;
procedure SetPenWidth(AValue: Integer); override; procedure SetPenWidth(AValue: Integer); override;
public public
destructor Destroy; override; destructor Destroy; override;
@ -173,7 +175,6 @@ procedure TMvLCLDrawingEngine.DrawScaledCacheItem(DestRect,
SrcRect: TRect; ASrcImg: TPictureCacheItem); SrcRect: TRect; ASrcImg: TPictureCacheItem);
var var
item: TLCLCacheItem; item: TLCLCacheItem;
bmp: TBitmap;
begin begin
item := ASrcImg as TLCLCacheItem; item := ASrcImg as TLCLCacheItem;
FBuffer.Canvas.CopyRect(DestRect, item.Image.Canvas, SrcRect); FBuffer.Canvas.CopyRect(DestRect, item.Image.Canvas, SrcRect);
@ -243,6 +244,11 @@ begin
Result := FBuffer.Canvas.Pen.Color; Result := FBuffer.Canvas.Pen.Color;
end; end;
function TMvLCLDrawingEngine.GetPenStyle: TPenStyle;
begin
Result := FBuffer.Canvas.Pen.Style;
end;
function TMvLCLDrawingEngine.GetPenWidth: Integer; function TMvLCLDrawingEngine.GetPenWidth: Integer;
begin begin
Result := FBuffer.Canvas.Pen.Width; Result := FBuffer.Canvas.Pen.Width;
@ -323,6 +329,11 @@ begin
FBuffer.Canvas.Pen.Color := AValue; FBuffer.Canvas.Pen.Color := AValue;
end; end;
procedure TMvLCLDrawingEngine.SetPenStyle(AValue: TPenStyle);
begin
FBuffer.Canvas.Pen.Style := AValue;
end;
procedure TMvLCLDrawingEngine.SetPenWidth(AValue: Integer); procedure TMvLCLDrawingEngine.SetPenWidth(AValue: Integer);
begin begin
FBuffer.Canvas.Pen.Width := AValue; FBuffer.Canvas.Pen.Width := AValue;

View File

@ -28,7 +28,6 @@ type
TMvCustomDrawingEngine = class(TComponent) TMvCustomDrawingEngine = class(TComponent)
protected protected
function GetPenStyle: TPenStyle; virtual; abstract;
function GetBrushColor: TColor; virtual; abstract; function GetBrushColor: TColor; virtual; abstract;
function GetBrushStyle: TBrushStyle; virtual; abstract; function GetBrushStyle: TBrushStyle; virtual; abstract;
function GetFontColor: TColor; virtual; abstract; function GetFontColor: TColor; virtual; abstract;
@ -36,6 +35,7 @@ type
function GetFontSize: Integer; virtual; abstract; function GetFontSize: Integer; virtual; abstract;
function GetFontStyle: TFontStyles; virtual; abstract; function GetFontStyle: TFontStyles; virtual; abstract;
function GetPenColor: TColor; virtual; abstract; function GetPenColor: TColor; virtual; abstract;
function GetPenStyle: TPenStyle; virtual; abstract;
function GetPenWidth: Integer; virtual; abstract; function GetPenWidth: Integer; virtual; abstract;
procedure SetPenStyle(AValue: TPenStyle); virtual; abstract; procedure SetPenStyle(AValue: TPenStyle); virtual; abstract;
procedure SetBrushColor(AValue: TColor); virtual; abstract; procedure SetBrushColor(AValue: TColor); virtual; abstract;
@ -80,8 +80,8 @@ type
property FontSize: Integer read GetFontSize write SetFontSize; property FontSize: Integer read GetFontSize write SetFontSize;
property FontStyle: TFontStyles read GetFontStyle write SetFontStyle; property FontStyle: TFontStyles read GetFontStyle write SetFontStyle;
property PenColor: TColor read GetPenColor write SetPenColor; property PenColor: TColor read GetPenColor write SetPenColor;
property PenWidth: Integer read GetPenWidth write SetPenWidth;
property PenStyle: TPenStyle read GetPenStyle write SetPenStyle; property PenStyle: TPenStyle read GetPenStyle write SetPenStyle;
property PenWidth: Integer read GetPenWidth write SetPenWidth;
end; end;
// Vector <MX, MY> orthogonal to a line <X1, Y1>, <X2, Y2> // Vector <MX, MY> orthogonal to a line <X1, Y1>, <X2, Y2>