mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-27 16:40:32 +02:00
TAChart: Add IChartDrawer.SetMonochromeColor procedure
git-svn-id: trunk@40049 -
This commit is contained in:
parent
bc9136c398
commit
fe0143e2cd
@ -207,7 +207,7 @@ begin
|
||||
if FXor then
|
||||
Color := clWhite
|
||||
else
|
||||
Color := AColor;
|
||||
Color := ColorOrMono(AColor);
|
||||
Style := psSolid;
|
||||
if FXor then
|
||||
Mode := pmXor
|
||||
@ -244,24 +244,28 @@ procedure TCanvasDrawer.SetBrush(ABrush: TFPCustomBrush);
|
||||
begin
|
||||
GetCanvas.Brush.Assign(ABrush);
|
||||
if FXor then
|
||||
GetCanvas.Brush.Style := bsClear;
|
||||
GetCanvas.Brush.Style := bsClear
|
||||
else if FMonochromeColor <> clTAColor then
|
||||
GetCanvas.Brush.Color := FMonochromeColor;
|
||||
end;
|
||||
|
||||
procedure TCanvasDrawer.SetBrushColor(AColor: TChartColor);
|
||||
begin
|
||||
GetCanvas.Brush.Color := AColor;
|
||||
GetCanvas.Brush.Color := ColorOrMono(AColor);
|
||||
end;
|
||||
|
||||
procedure TCanvasDrawer.SetBrushParams(
|
||||
AStyle: TFPBrushStyle; AColor: TChartColor);
|
||||
begin
|
||||
GetCanvas.Brush.Color := AColor;
|
||||
GetCanvas.Brush.Color := ColorOrMono(AColor);
|
||||
GetCanvas.Brush.Style := AStyle;
|
||||
end;
|
||||
|
||||
procedure TCanvasDrawer.SetFont(AFont: TFPCustomFont);
|
||||
begin
|
||||
GetCanvas.Font.Assign(AFont);
|
||||
if FMonochromeColor <> clTAColor then
|
||||
GetCanvas.Font.Color := FMonochromeColor;
|
||||
end;
|
||||
|
||||
procedure TCanvasDrawer.SetPen(APen: TFPCustomPen);
|
||||
@ -280,15 +284,18 @@ begin
|
||||
else
|
||||
Pen.Width := APen.Width;
|
||||
end
|
||||
else
|
||||
else begin
|
||||
GetCanvas.Pen.Assign(APen);
|
||||
if FMonochromeColor <> clTAColor then
|
||||
GetCanvas.Pen.Color := FMonochromeColor;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCanvasDrawer.SetPenParams(AStyle: TFPPenStyle; AColor: TChartColor);
|
||||
begin
|
||||
GetCanvas.Pen.Style := AStyle;
|
||||
if not FXor then
|
||||
GetCanvas.Pen.Color := AColor;
|
||||
GetCanvas.Pen.Color := ColorOrMono(AColor);
|
||||
end;
|
||||
|
||||
procedure TCanvasDrawer.SetTransparency(ATransparency: TChartTransparency);
|
||||
|
@ -103,6 +103,7 @@ type
|
||||
procedure SetBrushParams(AStyle: TFPBrushStyle; AColor: TChartColor);
|
||||
procedure SetFont(AValue: TFPCustomFont);
|
||||
procedure SetGetFontOrientationFunc(AValue: TGetFontOrientationFunc);
|
||||
procedure SetMonochromeColor(AColor: TChartColor);
|
||||
procedure SetPen(APen: TFPCustomPen);
|
||||
procedure SetPenParams(AStyle: TFPPenStyle; AColor: TChartColor);
|
||||
procedure SetTransparency(ATransparency: TChartTransparency);
|
||||
@ -127,8 +128,10 @@ type
|
||||
strict protected
|
||||
FChartColorToFPColorFunc: TChartColorToFPColorFunc;
|
||||
FGetFontOrientationFunc: TGetFontOrientationFunc;
|
||||
FMonochromeColor: TChartColor;
|
||||
FTransparency: TChartTransparency;
|
||||
FXor: Boolean;
|
||||
function ColorOrMono(AColor: TChartColor): TChartColor; inline;
|
||||
function GetFontAngle: Double; virtual; abstract;
|
||||
function SimpleTextExtent(const AText: String): TPoint; virtual; abstract;
|
||||
procedure SimpleTextOut(AX, AY: Integer; const AText: String); virtual; abstract;
|
||||
@ -148,6 +151,7 @@ type
|
||||
procedure SetAntialiasingMode(AValue: TChartAntialiasingMode);
|
||||
procedure SetDoChartColorToFPColorFunc(AValue: TChartColorToFPColorFunc);
|
||||
procedure SetGetFontOrientationFunc(AValue: TGetFontOrientationFunc);
|
||||
procedure SetMonochromeColor(AColor: TChartColor);
|
||||
procedure SetTransparency(ATransparency: TChartTransparency);
|
||||
procedure SetXor(AXor: Boolean);
|
||||
function TextExtent(const AText: String): TPoint;
|
||||
@ -288,10 +292,16 @@ end;
|
||||
|
||||
{ TBasicDrawer }
|
||||
|
||||
function TBasicDrawer.ColorOrMono(AColor: TChartColor): TChartColor;
|
||||
begin
|
||||
Result := ColorDef(FMonochromeColor, AColor);
|
||||
end;
|
||||
|
||||
constructor TBasicDrawer.Create;
|
||||
begin
|
||||
FChartColorToFPColorFunc := @ChartColorToFPColor;
|
||||
FGetFontOrientationFunc := @DummyGetFontOrientationFunc;
|
||||
FMonochromeColor := clTAColor;
|
||||
end;
|
||||
|
||||
procedure TBasicDrawer.DrawingBegin(const ABoundingBox: TRect);
|
||||
@ -349,6 +359,11 @@ begin
|
||||
FGetFontOrientationFunc := AValue;
|
||||
end;
|
||||
|
||||
procedure TBasicDrawer.SetMonochromeColor(AColor: TChartColor);
|
||||
begin
|
||||
FMonochromeColor := AColor;
|
||||
end;
|
||||
|
||||
procedure TBasicDrawer.SetTransparency(ATransparency: TChartTransparency);
|
||||
begin
|
||||
FTransparency := ATransparency;
|
||||
|
Loading…
Reference in New Issue
Block a user