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

// (DO NOT EDIT: machine generated header) 'PtRVData.pas' rev: 3.00

#ifndef PtRVDataHPP
#define PtRVDataHPP
#include <RVClasses.hpp>
#include <RVUni.hpp>
#include <RichView.hpp>
#include <RVScroll.hpp>
#include <RVStyle.hpp>
#include <RVRVData.hpp>
#include <CRVFData.hpp>
#include <CRVData.hpp>
#include <RVBack.hpp>
#include <RVItem.hpp>
#include <RVFuncs.hpp>
#include <DLines.hpp>
#include <Printers.hpp>
#include <Graphics.hpp>
#include <Windows.hpp>
#include <Classes.hpp>
#include <SysInit.hpp>
#include <System.hpp>

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

namespace Ptrvdata
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TRVMultiDrawItemInfo;
class PASCALIMPLEMENTATION TRVMultiDrawItemInfo : public Dlines::TRVDrawLineInfo 
{
	typedef Dlines::TRVDrawLineInfo inherited;
	
public:
	Rvclasses::TRVList* FPartsList;
	__fastcall TRVMultiDrawItemInfo(void);
	__fastcall virtual ~TRVMultiDrawItemInfo(void);
	__property Rvclasses::TRVList* PartsList = {read=FPartsList};
public:
	/* TRVDrawLineInfo.CreateEx */ __fastcall TRVMultiDrawItemInfo(int ALeft, int ATop, int AWidth, int 
		AHeight, int AItemNo, Byte AFromNewLine) : Dlines::TRVDrawLineInfo(ALeft, ATop, AWidth, AHeight, AItemNo
		, AFromNewLine) { }
	
};

class DELPHICLASS TCustomPrintableRVData;
class PASCALIMPLEMENTATION TCustomPrintableRVData : public Rvrvdata::TRichViewRVData 
{
	typedef Rvrvdata::TRichViewRVData inherited;
	
protected:
	virtual Rvback::TRVBackground* __fastcall GetBack(void);
	virtual int __fastcall GetTopCoord(int PageNo);
	virtual int __fastcall GetTopCoord2(int PageNo);
	virtual int __fastcall GetPrintableAreaTop(void);
	virtual void __fastcall DoPagePrepaint(Graphics::TCanvas* Canvas, int PageNo, bool Preview);
	virtual void __fastcall GetDrawItemsRange(int PageNo, int &StartNo, int &EndNo, int &Part);
	virtual void __fastcall CheckPageNo(int PageNo);
	DYNAMIC bool __fastcall ShareItems(void);
	DYNAMIC Graphics::TCanvas* __fastcall InitPrinterCanvas(void);
	DYNAMIC void __fastcall DonePrinterCanvas(Graphics::TCanvas* Canvas);
	
public:
	bool ParentDrawsBack;
	virtual int __fastcall GetPrintableAreaLeft(int PageNo);
	void __fastcall DrawPage(int pgNo, Graphics::TCanvas* Canvas, bool Preview, bool Correction);
public:
		
	/* TRichViewRVData.Create */ __fastcall virtual TCustomPrintableRVData(Rvscroll::TRVScroller* RichView
		) : Rvrvdata::TRichViewRVData(RichView) { }
	
public:
	/* TCustomRVFormattedData.Destroy */ __fastcall virtual ~TCustomPrintableRVData(void) { }
	
};

class DELPHICLASS TCustomMainPtblRVData;
class PASCALIMPLEMENTATION TCustomMainPtblRVData : public Ptrvdata::TCustomPrintableRVData 
{
	typedef Ptrvdata::TCustomPrintableRVData inherited;
	
private:
	int TmpTMPix;
	int TmpBMPix;
	
protected:
	int StreamSavePage;
	Graphics::TCanvas* PrinterCanvas;
	DYNAMIC void __fastcall DoFormatting(int PageCompleted, Richview::TRVPrintingStep Step);
	virtual Rvback::TRVBackground* __fastcall GetBack(void);
	virtual int __fastcall GetTopCoord(int PageNo);
	virtual int __fastcall GetTopCoord2(int PageNo);
	virtual void __fastcall GetSADForFormatting(Graphics::TCanvas* Canvas, Rvfuncs::TRVScreenAndDevice 
		&sad);
	virtual int __fastcall GetPrintableAreaTop(void);
	virtual void __fastcall GetDrawItemsRange(int PageNo, int &StartNo, int &EndNo, int &Part);
	virtual void __fastcall CheckPageNo(int PageNo);
	DYNAMIC int __fastcall GetPageWidth(void);
	DYNAMIC int __fastcall GetPageHeight(void);
	DYNAMIC void __fastcall Prepare(void);
	DYNAMIC void __fastcall RVFGetLimits(Crvdata::TRVFSaveScope SaveScope, int &StartItem, int &EndItem
		, int &StartOffs, int &EndOffs, Rvitem::TRVMultiDrawItemPart* &StartPart, Rvitem::TRVMultiDrawItemPart* 
		&EndPart);
	
public:
	Classes::TCollection* PagesColl;
	Rvfuncs::TRVScreenAndDevice PrnSad;
	int FTopMarginPix;
	int FBottomMarginPix;
	bool Transparent;
	int TmpLM;
	int TmpTM;
	virtual int __fastcall GetPrintableAreaLeft(int PageNo);
	int __fastcall FormatPages(void);
	void __fastcall FormatNextPage(int &i, int &StartAt, int &StartY, int &Y, bool &Splitting, int MaxHeight
		);
	virtual Graphics::TColor __fastcall GetColor(void);
	bool __fastcall SavePageAsRVF(Classes::TStream* Stream, int PageNo, Graphics::TColor Color, Rvback::TRVBackground* 
		Background);
	__fastcall virtual TCustomMainPtblRVData(Rvscroll::TRVScroller* RichView);
	__fastcall virtual ~TCustomMainPtblRVData(void);
};

class DELPHICLASS TPrintableRVData;
class PASCALIMPLEMENTATION TPrintableRVData : public Ptrvdata::TCustomMainPtblRVData 
{
	typedef Ptrvdata::TCustomMainPtblRVData inherited;
	
protected:
	DYNAMIC void __fastcall DoFormatting(int PageCompleted, Richview::TRVPrintingStep Step);
	DYNAMIC Graphics::TCanvas* __fastcall InitPrinterCanvas(void);
	DYNAMIC void __fastcall DonePrinterCanvas(Graphics::TCanvas* Canvas);
	virtual void __fastcall DoPagePrepaint(Graphics::TCanvas* Canvas, int PageNo, bool Preview);
	DYNAMIC int __fastcall GetPageWidth(void);
	DYNAMIC int __fastcall GetPageHeight(void);
	DYNAMIC void __fastcall Prepare(void);
	
public:
	int TmpRM;
	int TmpBM;
	int TmpLMMir;
	virtual int __fastcall GetPrintableAreaLeft(int PageNo);
public:
	/* TCustomMainPtblRVData.Create */ __fastcall virtual TPrintableRVData(Rvscroll::TRVScroller* RichView
		) : Ptrvdata::TCustomMainPtblRVData(RichView) { }
	/* TCustomMainPtblRVData.Destroy */ __fastcall virtual ~TPrintableRVData(void) { }
	
};

class DELPHICLASS TRectPtblRVData;
class PASCALIMPLEMENTATION TRectPtblRVData : public Ptrvdata::TCustomPrintableRVData 
{
	typedef Ptrvdata::TCustomPrintableRVData inherited;
	
protected:
	virtual void __fastcall GetSADForFormatting(Graphics::TCanvas* Canvas, Rvfuncs::TRVScreenAndDevice 
		&sad);
	virtual int __fastcall GetPrintableAreaTop(void);
	virtual int __fastcall GetTopCoord(int PageNo);
	DYNAMIC Graphics::TCanvas* __fastcall InitPrinterCanvas(void);
	
public:
	Crvfdata::TCustomRVFormattedData* FPrintingData;
	int Left;
	int Top;
	int DX;
	int DY;
	int Width;
	int Height;
	Graphics::TColor FColor;
	virtual int __fastcall GetPrintableAreaLeft(int PageNo);
	virtual Crvdata::TCustomRVData* __fastcall GetParentData(void);
	virtual Crvdata::TCustomRVData* __fastcall GetRootData(void);
	__fastcall TRectPtblRVData(Rvscroll::TRVScroller* RichView, Crvfdata::TCustomRVFormattedData* PrintingData
		);
	virtual int __fastcall GetWidth(void);
	virtual int __fastcall GetHeight(void);
	virtual int __fastcall GetLeftMargin(void);
	virtual int __fastcall GetRightMargin(void);
	virtual int __fastcall GetTopMargin(void);
	virtual int __fastcall GetBottomMargin(void);
	virtual Graphics::TCanvas* __fastcall GetCanvas(void);
	virtual Graphics::TColor __fastcall GetColor(void);
public:
	/* TCustomRVFormattedData.Destroy */ __fastcall virtual ~TRectPtblRVData(void) { }
	
};

class DELPHICLASS TRVPageInfo;
class PASCALIMPLEMENTATION TRVPageInfo : public Classes::TCollectionItem 
{
	typedef Classes::TCollectionItem inherited;
	
public:
	int StartY;
	int StartDrawItemNo;
	int StartPart;
	int StartY2;
	virtual void __fastcall Assign(Classes::TPersistent* Source);
public:
	/* TCollectionItem.Create */ __fastcall virtual TRVPageInfo(Classes::TCollection* Collection) : Classes::
		TCollectionItem(Collection) { }
	/* TCollectionItem.Destroy */ __fastcall virtual ~TRVPageInfo(void) { }
	
};

//-- var, const, procedure ---------------------------------------------------

}	/* namespace Ptrvdata */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Ptrvdata;
#endif
//-- end unit ----------------------------------------------------------------
#endif	// PtRVData
