// Borland C++ Builder
// Copyright (c) 1995, 1999 by Borland International
// All rights reserved

// (DO NOT EDIT: machine generated header) 'PJStrings.pas' rev: 5.00

#ifndef PJStringsHPP
#define PJStringsHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <Printers.hpp>	// Pascal unit
#include <PSJob.hpp>	// Pascal unit
#include <Dialogs.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <SysUtils.hpp>	// Pascal unit
#include <Messages.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.hpp>	// Pascal unit

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

namespace Pjstrings
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TCustomStringsPrintJob;
class PASCALIMPLEMENTATION TCustomStringsPrintJob : public Psjob::TCustomPrintJob 
{
	typedef Psjob::TCustomPrintJob inherited;
	
private:
	Classes::TStrings* FStrings;
	Classes::TStrings* FFormattedStrings;
	Graphics::TFont* FFont;
	int FLinesPerPage;
	bool FWordWrap;
	Psjob::TPSProgressEvent FOnUpdateProgress;
	void __fastcall SetStrings(const Classes::TStrings* Value);
	void __fastcall SetFont(const Graphics::TFont* Value);
	void __fastcall SetWordWrap(const bool Value);
	void __fastcall FormatText(HDC DC, Classes::TStrings* Lines, int Width);
	
protected:
	__property Classes::TStrings* Strings = {read=FStrings, write=SetStrings};
	__property Graphics::TFont* Font = {read=FFont, write=SetFont};
	__property bool WordWrap = {read=FWordWrap, write=SetWordWrap, nodefault};
	__property Psjob::TPSProgressEvent OnUpdateProgress = {read=FOnUpdateProgress, write=FOnUpdateProgress
		};
	
public:
	__fastcall virtual TCustomStringsPrintJob(Classes::TComponent* AOwner);
	__fastcall virtual ~TCustomStringsPrintJob(void);
	virtual void __fastcall Update(void);
	virtual void __fastcall DrawArea(Graphics::TCanvas* TheCanvas, int PageIndex, const Windows::TRect 
		&Rect, Psjob::TDrawArea Area, Psjob::TDrawTarget Target);
};


class DELPHICLASS TStringsPrintJob;
class PASCALIMPLEMENTATION TStringsPrintJob : public TCustomStringsPrintJob 
{
	typedef TCustomStringsPrintJob inherited;
	
__published:
	__property Strings ;
	__property Font ;
	__property WordWrap ;
	__property OnUpdateProgress ;
	__property Title ;
	__property Margins ;
	__property MarginsUnits ;
	__property Header ;
	__property HeaderUnits ;
	__property Footer ;
	__property FooterUnits ;
	__property PageMode ;
	__property PageWidth ;
	__property PageHeight ;
	__property PageUnits ;
	__property Orientation ;
	__property Options ;
	__property OnCreate ;
	__property OnDestroy ;
	__property OnDraw ;
	__property OnPrinterSetupChange ;
	__property OnStartPrint ;
	__property OnEndPrint ;
	__property OnPrintProgress ;
	__property OnStartPrintPage ;
	__property OnEndPrintPage ;
	__property OnUpdate ;
public:
	#pragma option push -w-inl
	/* TCustomStringsPrintJob.Create */ inline __fastcall virtual TStringsPrintJob(Classes::TComponent* 
		AOwner) : TCustomStringsPrintJob(AOwner) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TCustomStringsPrintJob.Destroy */ inline __fastcall virtual ~TStringsPrintJob(void) { }
	#pragma option pop
	
};


//-- var, const, procedure ---------------------------------------------------
extern PACKAGE void __fastcall Register(void);

}	/* namespace Pjstrings */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Pjstrings;
#endif
#pragma option pop	// -w-
#pragma option pop	// -Vx

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