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

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

#ifndef PSPreviewHPP
#define PSPreviewHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <PSCommon.hpp>	// Pascal unit
#include <Printers.hpp>	// Pascal unit
#include <ExtCtrls.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 Pspreview
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TSpecialScrollBox;
class PASCALIMPLEMENTATION TSpecialScrollBox : public Forms::TScrollBox 
{
	typedef Forms::TScrollBox inherited;
	
public:
	__fastcall virtual TSpecialScrollBox(Classes::TComponent* AOwner);
public:
	#pragma option push -w-inl
	/* TScrollingWinControl.Destroy */ inline __fastcall virtual ~TSpecialScrollBox(void) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TSpecialScrollBox(HWND ParentWindow) : Forms::TScrollBox(
		ParentWindow) { }
	#pragma option pop
	
};


class DELPHICLASS TSpecialPanel;
class PASCALIMPLEMENTATION TSpecialPanel : public Extctrls::TCustomPanel 
{
	typedef Extctrls::TCustomPanel inherited;
	
public:
	__fastcall virtual TSpecialPanel(Classes::TComponent* AOwner);
public:
	#pragma option push -w-inl
	/* TCustomControl.Destroy */ inline __fastcall virtual ~TSpecialPanel(void) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TSpecialPanel(HWND ParentWindow) : Extctrls::TCustomPanel(
		ParentWindow) { }
	#pragma option pop
	
};


class DELPHICLASS TDrawPanel;
class DELPHICLASS TCustomPreview;
#pragma option push -b-
enum TViewMode { vmWholePage, vmPageWidth, vmCustom };
#pragma option pop

class PASCALIMPLEMENTATION TCustomPreview : public Controls::TWinControl 
{
	typedef Controls::TWinControl inherited;
	
private:
	Graphics::TMetafile* FMetafile;
	Psjob::TCustomPrintJob* FPrintJob;
	Classes::TList* FControls;
	TSpecialScrollBox* FScrollBox;
	TSpecialPanel* FShadow;
	TDrawPanel* FPage;
	Graphics::TColor FColor;
	Graphics::TColor FShadowColor;
	TViewMode FViewMode;
	int FViewScale;
	bool FMarginsVisible;
	Graphics::TColor FMarginsFill;
	Graphics::TColor FMarginsBorder;
	bool FNonPrintableVisible;
	Graphics::TColor FNonPrintableFill;
	Graphics::TColor FNonPrintableBorder;
	int FPageIndex;
	bool FScrollTracking;
	bool FDragScroll;
	bool FUseMetafile;
	Classes::TNotifyEvent FOnUpdate;
	Classes::TNotifyEvent FOnPageChanged;
	void __fastcall PrepareCanvas(Graphics::TCanvas* TheCanvas);
	void __fastcall SetPrintJob(const Psjob::TCustomPrintJob* Value);
	Forms::TBorderStyle __fastcall GetBorderStyle(void);
	void __fastcall SetBorderStyle(const Forms::TBorderStyle Value);
	bool __fastcall GetCtl3D(void);
	HIDESBASE void __fastcall SetCtl3D(const bool Value);
	bool __fastcall GetParentCtl3D(void);
	HIDESBASE void __fastcall SetParentCtl3D(const bool Value);
	HIDESBASE void __fastcall SetColor(const Graphics::TColor Value);
	void __fastcall SetShadowColor(const Graphics::TColor Value);
	void __fastcall SetViewMode(const TViewMode Value);
	void __fastcall SetViewScale(const int Value);
	void __fastcall SetMarginsVisible(const bool Value);
	void __fastcall SetMarginsFill(const Graphics::TColor Value);
	void __fastcall SetMarginsBorder(const Graphics::TColor Value);
	void __fastcall SetNonPrintableVisible(const bool Value);
	void __fastcall SetNonPrintableFill(const Graphics::TColor Value);
	void __fastcall SetNonPrintableBorder(const Graphics::TColor Value);
	void __fastcall SetPageIndex(const int Value);
	void __fastcall SetScrollTracking(const bool Value);
	void __fastcall SetUseMetafile(const bool Value);
	Controls::TCursor __fastcall GetCursor(void);
	HIDESBASE void __fastcall SetCursor(const Controls::TCursor Value);
	AnsiString __fastcall GetScaleText();
	AnsiString __fastcall GetPageText();
	
protected:
	virtual void __fastcall WndProc(Messages::TMessage &Msg);
	HIDESBASE MESSAGE void __fastcall CMChildKey(Controls::TCMChildKey &Msg);
	virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
		);
	
public:
	__fastcall virtual TCustomPreview(Classes::TComponent* AOwner);
	__fastcall virtual ~TCustomPreview(void);
	virtual void __fastcall Update(void);
	virtual void __fastcall Repaint(void);
	void __fastcall AddControlNotification(Controls::TControl* Control);
	void __fastcall DeleteControlNotification(Controls::TControl* Control);
	void __fastcall ZoomIn(void);
	void __fastcall ZoomOut(void);
	int __fastcall DPIX(void);
	int __fastcall DPIY(void);
	__property AnsiString ScaleText = {read=GetScaleText};
	__property AnsiString PageText = {read=GetPageText};
	__property Psjob::TCustomPrintJob* PrintJob = {read=FPrintJob, write=SetPrintJob};
	__property Forms::TBorderStyle BorderStyle = {read=GetBorderStyle, write=SetBorderStyle, nodefault}
		;
	__property Controls::TCursor Cursor = {read=GetCursor, write=SetCursor, nodefault};
	__property bool Ctl3D = {read=GetCtl3D, write=SetCtl3D, nodefault};
	__property bool ParentCtl3D = {read=GetParentCtl3D, write=SetParentCtl3D, nodefault};
	__property Graphics::TColor Color = {read=FColor, write=SetColor, nodefault};
	__property Graphics::TColor ShadowColor = {read=FShadowColor, write=SetShadowColor, nodefault};
	__property TViewMode ViewMode = {read=FViewMode, write=SetViewMode, nodefault};
	__property int ViewScale = {read=FViewScale, write=SetViewScale, nodefault};
	__property bool MarginsVisible = {read=FMarginsVisible, write=SetMarginsVisible, nodefault};
	__property Graphics::TColor MarginsFill = {read=FMarginsFill, write=SetMarginsFill, nodefault};
	__property Graphics::TColor MarginsBorder = {read=FMarginsBorder, write=SetMarginsBorder, nodefault
		};
	__property bool NonPrintableVisible = {read=FNonPrintableVisible, write=SetNonPrintableVisible, nodefault
		};
	__property Graphics::TColor NonPrintableFill = {read=FNonPrintableFill, write=SetNonPrintableFill, 
		nodefault};
	__property Graphics::TColor NonPrintableBorder = {read=FNonPrintableBorder, write=SetNonPrintableBorder
		, nodefault};
	__property int PageIndex = {read=FPageIndex, write=SetPageIndex, nodefault};
	__property bool ScrollTracking = {read=FScrollTracking, write=SetScrollTracking, nodefault};
	__property bool DragScroll = {read=FDragScroll, write=FDragScroll, nodefault};
	__property bool UseMetafile = {read=FUseMetafile, write=SetUseMetafile, nodefault};
	__property Classes::TNotifyEvent OnUpdate = {read=FOnUpdate, write=FOnUpdate};
	__property Classes::TNotifyEvent OnPageChanged = {read=FOnPageChanged, write=FOnPageChanged};
public:
		
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TCustomPreview(HWND ParentWindow) : Controls::TWinControl(
		ParentWindow) { }
	#pragma option pop
	
};


class PASCALIMPLEMENTATION TDrawPanel : public TSpecialPanel 
{
	typedef TSpecialPanel inherited;
	
private:
	TCustomPreview* Preview;
	Windows::TPoint Drag;
	
public:
	__fastcall virtual TDrawPanel(Classes::TComponent* AOwner);
	virtual void __fastcall Paint(void);
	DYNAMIC void __fastcall Click(void);
	DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, 
		int Y);
	DYNAMIC void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y);
	DYNAMIC void __fastcall MouseUp(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int 
		Y);
	__property Canvas ;
public:
	#pragma option push -w-inl
	/* TCustomControl.Destroy */ inline __fastcall virtual ~TDrawPanel(void) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TDrawPanel(HWND ParentWindow) : TSpecialPanel(ParentWindow
		) { }
	#pragma option pop
	
};


class DELPHICLASS TPrinterMetafileCanvas;
class PASCALIMPLEMENTATION TPrinterMetafileCanvas : public Graphics::TMetafileCanvas 
{
	typedef Graphics::TMetafileCanvas inherited;
	
public:
	__fastcall TPrinterMetafileCanvas(Graphics::TMetafile* AMetafile);
public:
	#pragma option push -w-inl
	/* TMetafileCanvas.Create */ inline __fastcall TPrinterMetafileCanvas(Graphics::TMetafile* AMetafile
		, HDC ReferenceDevice) : Graphics::TMetafileCanvas(AMetafile, ReferenceDevice) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TMetafileCanvas.CreateWithComment */ inline __fastcall TPrinterMetafileCanvas(Graphics::TMetafile* 
		AMetafile, HDC ReferenceDevice, const AnsiString CreatedBy, const AnsiString Description) : Graphics::TMetafileCanvas(
		AMetafile, ReferenceDevice, CreatedBy, Description) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TMetafileCanvas.Destroy */ inline __fastcall virtual ~TPrinterMetafileCanvas(void) { }
	#pragma option pop
	
};


class DELPHICLASS TPreview;
class PASCALIMPLEMENTATION TPreview : public TCustomPreview 
{
	typedef TCustomPreview inherited;
	
__published:
	__property PrintJob ;
	__property BorderStyle ;
	__property Cursor ;
	__property Ctl3D ;
	__property ParentCtl3D ;
	__property Color ;
	__property ShadowColor ;
	__property ViewMode ;
	__property ViewScale ;
	__property MarginsVisible ;
	__property MarginsFill ;
	__property MarginsBorder ;
	__property NonPrintableVisible ;
	__property NonPrintableFill ;
	__property NonPrintableBorder ;
	__property PageIndex ;
	__property ScrollTracking ;
	__property DragScroll ;
	__property UseMetafile ;
	__property OnUpdate ;
	__property OnPageChanged ;
	__property Align ;
	__property TabStop ;
	__property TabOrder ;
	__property Visible ;
	__property OnEnter ;
	__property OnExit ;
	__property OnKeyDown ;
	__property OnKeyPress ;
	__property OnKeyUp ;
public:
	#pragma option push -w-inl
	/* TCustomPreview.Create */ inline __fastcall virtual TPreview(Classes::TComponent* AOwner) : TCustomPreview(
		AOwner) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TCustomPreview.Destroy */ inline __fastcall virtual ~TPreview(void) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TPreview(HWND ParentWindow) : TCustomPreview(ParentWindow
		) { }
	#pragma option pop
	
};


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

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

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