type
IChartDrawer = interface
['{6D8E5591-6788-4D2D-9FE6-596D5157C3C3}']
procedure AddToFontOrientation(ADelta: Integer);
procedure ClippingStart(const AClipRect: TRect);
procedure ClippingStart;
procedure ClippingStop;
procedure DrawingBegin(const ABoundingBox: TRect);
procedure DrawingEnd;
procedure DrawLineDepth(AX1, AY1, AX2, AY2, ADepth: Integer);
procedure DrawLineDepth(const AP1, AP2: TPoint; ADepth: Integer);
procedure Ellipse(AX1, AY1, AX2, AY2: Integer);
procedure FillRect(AX1, AY1, AX2, AY2: Integer);
function GetBrushColor: TChartColor;
function GetFontAngle: Double; // in radians
function GetFontColor: TFPColor;
function GetFontName: String;
function GetFontSize: Integer;
function GetFontStyle: TChartFontStyles;
function GetPenColor: TChartColor;
procedure SetDoChartColorToFPColorFunc(AValue: TChartColorToFPColorFunc);
procedure Line(AX1, AY1, AX2, AY2: Integer);
procedure Line(const AP1, AP2: TPoint);
procedure LineTo(AX, AY: Integer);
procedure LineTo(const AP: TPoint);
procedure MoveTo(AX, AY: Integer);
procedure MoveTo(const AP: TPoint);
procedure Polygon(
const APoints: array of TPoint; AStartIndex, ANumPts: Integer);
procedure Polyline(
const APoints: array of TPoint; AStartIndex, ANumPts: Integer);
procedure PrepareSimplePen(AColor: TChartColor);
procedure PutImage(AX, AY: Integer; AImage: TFPCustomImage);
procedure PutPixel(AX, AY: Integer; AColor: TChartColor);
procedure RadialPie(
AX1, AY1, AX2, AY2: Integer;
AStartAngle16Deg, AAngleLength16Deg: Integer);
procedure Rectangle(const ARect: TRect);
procedure Rectangle(AX1, AY1, AX2, AY2: Integer);
procedure ResetFont;
function Scale(ADistance: Integer): Integer;
procedure SetAntialiasingMode(AValue: TChartAntialiasingMode);
procedure SetBrush(ABrush: TFPCustomBrush);
procedure SetBrushColor(AColor: TChartColor);
procedure SetBrushParams(AStyle: TFPBrushStyle; AColor: TChartColor);
procedure SetFont(AValue: TFPCustomFont);
procedure SetGetFontOrientationFunc(AValue: TGetFontOrientationFunc);
procedure SetMonochromeColor(AColor: TChartColor);
procedure SetPen(APen: TFPCustomPen);
procedure SetPenColor(AColor: TChartColor);
procedure SetPenParams(AStyle: TFPPenStyle; AColor: TChartColor; AWidth: Integer = 1);
procedure SetPenWidth(AWidth: Integer);
function GetRightToLeft: Boolean;
procedure SetRightToLeft(AValue: Boolean);
procedure SetTransparency(ATransparency: TChartTransparency);
procedure SetXor(AXor: Boolean);
function TextExtent(const AText: String;
ATextFormat: TChartTextFormat = tfNormal): TPoint;
function TextExtent(AText: TStrings;
ATextFormat: TChartTextFormat = tfNormal): TPoint;
function TextOut: TChartTextOut;
property Brush: TFPCustomBrush write SetBrush;
property BrushColor: TChartColor read GetBrushColor write SetBrushColor;
property Font: TFPCustomFont write SetFont;
property Pen: TFPCustomPen write SetPen;
property DoChartColorToFPColor: TChartColorToFPColorFunc
write SetDoChartColorToFPColorFunc;
property DoGetFontOrientation: TGetFontOrientationFunc
write SetGetFontOrientationFunc;
end;