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

// (DO NOT EDIT: machine generated header) 'Srvpreview.pas' rev: 10.00

#ifndef SrvpreviewHPP
#define SrvpreviewHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp>	// Pascal unit
#include <Sysinit.hpp>	// Pascal unit
#include <Sysutils.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Extctrls.hpp>	// Pascal unit
#include <Printers.hpp>	// Pascal unit
#include <Srvprint.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Crvpp.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <Rvscroll.hpp>	// Pascal unit

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

namespace Srvpreview
{
//-- type declarations -------------------------------------------------------
typedef void __fastcall (__closure *TSRVPOnPaint)(System::TObject* Sender, Graphics::TCanvas* ACanvas, const Types::TRect &ARect);

class DELPHICLASS TSRVPreview;
class PASCALIMPLEMENTATION TSRVPreview : public Crvpp::TCustomRVPrintPreview 
{
	typedef Crvpp::TCustomRVPrintPreview inherited;
	
private:
	int FPageNo;
	Srvprint::TSRVPrint* FSRVPrint;
	Classes::TNotifyEvent FSRVPrtUpdateData;
	Graphics::TColor FFrameBorderColor;
	int FFrameBorderWidth;
	Graphics::TColor FPageBorderColor;
	int FPageBorderWidth;
	Graphics::TPenStyle FPageBorderStyle;
	TSRVPOnPaint FOnAfterPaint;
	TSRVPOnPaint FOnBeforePaint;
	void __fastcall SetSRVPrint(Srvprint::TSRVPrint* Value);
	void __fastcall SetFrameBorderColor(Graphics::TColor Value);
	void __fastcall SetPageBorderColor(Graphics::TColor Value);
	void __fastcall SetFrameBorderWidth(int Value);
	void __fastcall SetPageBorderWidth(int Value);
	void __fastcall SetPageBorderStyle(Graphics::TPenStyle Value);
	void __fastcall SRVPrtUpdateData(System::TObject* Sender);
	Graphics::TColor __fastcall GetBorderColor(void);
	int __fastcall GetBorderWidth(void);
	void __fastcall SetBorderColor(const Graphics::TColor Value);
	HIDESBASE void __fastcall SetBorderWidth(const int Value);
	
protected:
	virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation);
	void __fastcall restoreEvent(Srvprint::TSRVPrint* Value);
	DYNAMIC bool __fastcall CanDrawContents(void);
	DYNAMIC void __fastcall DrawContents(Graphics::TCanvas* Canvas, const Types::TRect &R);
	virtual void __fastcall DrawMargins(Graphics::TCanvas* Canvas, const Types::TRect &R, int PageNo);
	virtual void __fastcall DrawPrintableAreaBorder(Graphics::TCanvas* Canvas, const Types::TRect &R, int PageNo);
	DYNAMIC int __fastcall GetPreview100PercentWidth(void);
	DYNAMIC int __fastcall GetPreview100PercentHeight(void);
	DYNAMIC Types::TRect __fastcall GetPhysMargins();
	DYNAMIC int __fastcall GetPageCount(void);
	virtual void __fastcall SetPageNo(const int Value);
	
public:
	__fastcall virtual TSRVPreview(Classes::TComponent* AOwner);
	HIDESBASE void __fastcall First(void);
	HIDESBASE void __fastcall Last(void);
	HIDESBASE void __fastcall Next(void);
	HIDESBASE void __fastcall Prev(void);
	__property int PageNo = {read=FPageNo, write=SetPageNo, nodefault};
	
__published:
	__property Align  = {default=0};
	__property Color  = {default=-16777200};
	__property BorderStyle ;
	__property HScrollVisible  = {default=1};
	__property Tracking  = {default=1};
	__property UseXPThemes  = {default=1};
	__property VScrollVisible  = {default=1};
	__property WheelStep  = {default=2};
	__property ZoomInCursor  = {default=102};
	__property ZoomOutCursor  = {default=103};
	__property OnZoomChanged ;
	__property MarginsPen ;
	__property PrintableAreaPen ;
	__property ShadowColor  = {default=-16777195};
	__property ShadowWidth  = {default=4};
	__property Graphics::TColor BorderColor = {read=GetBorderColor, write=SetBorderColor, default=-16777203};
	__property int BorderWidth = {read=GetBorderWidth, write=SetBorderWidth, default=2};
	__property Srvprint::TSRVPrint* SRVPrint = {read=FSRVPrint, write=SetSRVPrint};
	__property Graphics::TColor FrameBorderColor = {read=FFrameBorderColor, write=SetFrameBorderColor, default=-16777200};
	__property int FrameBorderWidth = {read=FFrameBorderWidth, write=SetFrameBorderWidth, default=1};
	__property Graphics::TColor PageBorderColor = {read=FPageBorderColor, write=SetPageBorderColor, default=13472101};
	__property int PageBorderWidth = {read=FPageBorderWidth, write=SetPageBorderWidth, default=1};
	__property Graphics::TPenStyle PageBorderStyle = {read=FPageBorderStyle, write=SetPageBorderStyle, default=1};
	__property TSRVPOnPaint OnAfterPaint = {read=FOnAfterPaint, write=FOnAfterPaint};
	__property TSRVPOnPaint OnBeforePaint = {read=FOnBeforePaint, write=FOnBeforePaint};
public:
	#pragma option push -w-inl
	/* TCustomRVPrintPreview.Destroy */ inline __fastcall virtual ~TSRVPreview(void) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TWinControl.CreateParented */ inline __fastcall TSRVPreview(HWND ParentWindow) : Crvpp::TCustomRVPrintPreview(ParentWindow) { }
	#pragma option pop
	
};


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

}	/* namespace Srvpreview */
using namespace Srvpreview;
#pragma pack(pop)
#pragma option pop

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