{********************************************************************}
{                                                                    }
{ written by TMS Software                                            }
{            copyright © 2013                                        }
{            Email : info@tmssoftware.com                            }
{            Web : http://www.tmssoftware.com                        }
{                                                                    }
{ The source code is given as is. The author is not responsible      }
{ for any possible damage done due to the use of this code.          }
{ The complete source code remains property of the author and may    }
{ not be distributed, published, given or sold in any form as such.  }
{ No parts of the source code can be included in any other component }
{ or application without written authorization of the author.        }
{********************************************************************}
unit FMX.TMSPDFRenderLib;

interface

{$I TMSDEFS.INC}

uses
  Classes, Types, FMX.Types;

type
  TTMSFMXPDFRenderLib = class(TComponent)
  public
    function CreateInstance: Integer; virtual; abstract;
    procedure DestroyInstance; virtual; abstract;
    procedure SetOrigin(AOrigin: Integer); virtual; abstract;
    procedure SetPageDimensions(AWidth, AHeight: Single); virtual; abstract;
    procedure NewPage; virtual; abstract;
    procedure BeginExport(AFileName: String); virtual; abstract;
    procedure EndExport; virtual; abstract;
    procedure SetFillColor(ARed, AGreen, ABlue: Extended); virtual; abstract;
    procedure SetTextColor(ARed, AGreen, ABlue: Extended); virtual; abstract;
    procedure SelectFont(AFontId: Integer); virtual; abstract;
    procedure SetTextSize(AFontSize: Single); virtual; abstract;
    procedure SetLineWidth(AWidth: Single); virtual; abstract;
    procedure SetLineColor(ARed, AGreen, ABlue: Extended); virtual; abstract;
    procedure DrawLine(AX, AY, AXTo, AYTo: Single); virtual; abstract;
    procedure AddImageFromStream(AStream: TStream); virtual; abstract;
    procedure DrawBox(ARect: TRectF); virtual; abstract;
    procedure DrawGradient(ARect: TRectF; ARed, AGreen, ABlue, ARedTo, AGreenTo, ABlueTo: Extended); virtual; abstract;
    procedure DrawText(AX, AY: Single; AText: String); virtual; abstract;
    procedure DrawImage(ARect: TRectF); virtual; abstract;
    procedure SetInformation(AKey: Integer; AKeyValue: String); virtual; abstract;
    function GetTextWidth(AText: String): Single; virtual; abstract;
    function GetTextHeight: Single; virtual; abstract;
    function AddTrueTypeFont(FontName: String): Integer; virtual; abstract;
    function UnlockKey(AUnlockKey: String): Integer; virtual; abstract;
  end;

implementation

end.
