// Borland C++ Builder
// Copyright (c) 1995, 2002 by Borland Software Corporation
// All rights reserved

// (DO NOT EDIT: machine generated header) 'EnPrint.pas' rev: 6.00

#ifndef EnPrintHPP
#define EnPrintHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <EnDiGrph.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Enprint
{
//-- type declarations -------------------------------------------------------
#pragma pack(push, 1)
struct TPrinterMetrics
{
	int PrintableWidth;
	int PrintableHeight;
	int XPixelsPerInch;
	int YPixelsPerInch;
	int GutterTop;
	int GutterLeft;
	int GutterBottom;
	int GutterRight;
} ;
#pragma pack(pop)

#pragma option push -b-
enum TEnvisionPrintMode { pmOriginalSize, pmFullPage, pmSpecificWidth, pmSpecificHeight, pmSpecificWidthAndHeight, pmStretchToPage };
#pragma option pop

class DELPHICLASS TDibGraphicPrinter;
class PASCALIMPLEMENTATION TDibGraphicPrinter : public System::TObject 
{
	typedef System::TObject inherited;
	
protected:
	TEnvisionPrintMode FPrintMode;
	double FWidth;
	double FHeight;
	bool FUsePrintJob;
	#pragma pack(push, 1)
	TPrinterMetrics FPrinterMetrics;
	#pragma pack(pop)
	
	double FLeftMargin;
	double FTopMargin;
	AnsiString FTitle;
	void __fastcall SetPrintMode(const TEnvisionPrintMode InPrintMode);
	
public:
	__fastcall TDibGraphicPrinter(void);
	void __fastcall Print(const Endigrph::TDibGraphic* Graphic);
	__property TEnvisionPrintMode PrintMode = {read=FPrintMode, write=SetPrintMode, nodefault};
	__property double Width = {read=FWidth, write=FWidth};
	__property double Height = {read=FHeight, write=FHeight};
	__property double LeftMargin = {read=FLeftMargin, write=FLeftMargin};
	__property double TopMargin = {read=FTopMargin, write=FTopMargin};
	__property bool UsePrintJob = {read=FUsePrintJob, write=FUsePrintJob, nodefault};
	__property AnsiString Title = {read=FTitle, write=FTitle};
public:
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~TDibGraphicPrinter(void) { }
	#pragma option pop
	
};


//-- var, const, procedure ---------------------------------------------------
extern PACKAGE void __fastcall GetPrinterMetrics(TPrinterMetrics &PrinterMetrics);

}	/* namespace Enprint */
using namespace Enprint;
#pragma option pop	// -w-
#pragma option pop	// -Vx

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// EnPrint
