diff --git a/components/tachart/demo/fpvectorial/fpvectorialdemo.lpi b/components/tachart/demo/fpvectorial/fpvectorialdemo.lpi index bba0c0f4a9..3cd743de9d 100644 --- a/components/tachart/demo/fpvectorial/fpvectorialdemo.lpi +++ b/components/tachart/demo/fpvectorial/fpvectorialdemo.lpi @@ -26,6 +26,7 @@ + diff --git a/components/tachart/tadrawerfpvectorial.pas b/components/tachart/tadrawerfpvectorial.pas index 91aab02a92..d563dfd327 100644 --- a/components/tachart/tadrawerfpvectorial.pas +++ b/components/tachart/tadrawerfpvectorial.pas @@ -20,7 +20,7 @@ unit TADrawerFPVectorial; interface uses - Classes, FPCanvas, FPVectorial, TADrawUtils; + Classes, FPCanvas, FPVectorial, TADrawUtils, fpimage; type @@ -28,10 +28,11 @@ type TFPVectorialDrawer = class(TBasicDrawer, IChartDrawer) strict private - FBrushColor: TvColor; + FBrushColor: TFPColor; + FBrushStyle: TFPBrushStyle; FCanvas: TvVectorialDocument; FFontSize: Integer; - FPenColor: TvColor; + FPenColor: TFPColor; strict protected function GetFontAngle: Double; override; procedure SetBrush(ABrush: TFPCustomBrush); @@ -71,21 +72,7 @@ type implementation uses - Math, TAChartUtils, TAGeometry; - -function ChartColorToVColor(AColor: TChartColor): TvColor; -begin - Result.Alpha := 255; - Result.Red := AColor; - Result.Green := AColor shr 8; - Result.Blue := AColor shr 16; -end; - -function VColorToChartColor(AColor: TvColor): TChartColor; -begin - with AColor do - Result := Red + (Green shl 8) + (Blue shl 16); -end; + Math, TAChartUtils, TAGeometry, fpvutils; { TFPVectorialDrawer } @@ -137,7 +124,7 @@ end; function TFPVectorialDrawer.GetBrushColor: TChartColor; begin - Result := VColorToChartColor(FBrushColor); + Result := FPColorToChartColor(FBrushColor); end; function TFPVectorialDrawer.GetFontAngle: Double; @@ -198,7 +185,7 @@ end; procedure TFPVectorialDrawer.PrepareSimplePen(AColor: TChartColor); begin - FPenColor := ChartColorToVColor(AColor); + FPenColor := ChartColorToFPColor(AColor); end; procedure TFPVectorialDrawer.RadialPie( @@ -215,7 +202,7 @@ begin FCanvas.AddLineToPath(AX1, AY2); FCanvas.AddLineToPath(AX1, AY1); FCanvas.SetBrushColor(FBrushColor); - FCanvas.SetBrushStyle(bsSolid); + FCanvas.SetBrushStyle(FBrushStyle); FCanvas.SetPenColor(FPenColor); FCanvas.EndPath(); end; @@ -228,12 +215,13 @@ end; procedure TFPVectorialDrawer.SetBrush(ABrush: TFPCustomBrush); begin - FBrushColor := ChartColorToVColor(FPColorToChartColor(ABrush.FPColor)); + FBrushColor := ABrush.FPColor; + FBrushStyle := ABrush.Style; end; procedure TFPVectorialDrawer.SetBrushColor(AColor: TChartColor); begin - FBrushColor := ChartColorToVColor(AColor); + FBrushColor := ChartColorToFPColor(AColor); end; procedure TFPVectorialDrawer.SetBrushParams( @@ -250,14 +238,14 @@ end; procedure TFPVectorialDrawer.SetPen(APen: TFPCustomPen); begin - FPenColor := ChartColorToVColor(FPColorToChartColor(APen.FPColor)); + FPenColor := APen.FPColor; end; procedure TFPVectorialDrawer.SetPenParams( AStyle: TFPPenStyle; AColor: TChartColor); begin Unused(AStyle); - FPenColor := ChartColorToVColor(AColor); + FPenColor := ChartColorToFPColor(AColor); end; function TFPVectorialDrawer.SimpleTextExtent(const AText: String): TPoint;