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

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

#ifndef RvrvdataHPP
#define RvrvdataHPP

#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 <Windows.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <Stdctrls.hpp>	// Pascal unit
#include <Rvitem.hpp>	// Pascal unit
#include <Rvback.hpp>	// Pascal unit
#include <Rvstyle.hpp>	// Pascal unit
#include <Crvdata.hpp>	// Pascal unit
#include <Crvfdata.hpp>	// Pascal unit
#include <Rvctrldata.hpp>	// Pascal unit
#include <Rvscroll.hpp>	// Pascal unit
#include <Imglist.hpp>	// Pascal unit
#include <Rvmarker.hpp>	// Pascal unit
#include <Rvseqitem.hpp>	// Pascal unit
#include <Activex.hpp>	// Pascal unit
#include <Rvdragdrop.hpp>	// Pascal unit
#include <Rvpopup.hpp>	// Pascal unit
#include <Rvdocparams.hpp>	// Pascal unit
#include <Rvclasses.hpp>	// Pascal unit
#include <Rvfuncs.hpp>	// Pascal unit
#include <Rvanimate.hpp>	// Pascal unit
#include <Rvtypes.hpp>	// Pascal unit

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

namespace Rvrvdata
{
//-- type declarations -------------------------------------------------------
typedef void __fastcall (__closure *TRVGetMouseClientCoords)(Controls::TControl* Sender, int &X, int &Y);

class DELPHICLASS TRichViewRVData;
class PASCALIMPLEMENTATION TRichViewRVData : public Rvctrldata::TRVControlData 
{
	typedef Rvctrldata::TRVControlData inherited;
	
protected:
	Crvfdata::TRVDataDrawHyperlinkEvent FOnDrawHyperlink;
	Rvscroll::TRVScroller* FRichView;
	Crvfdata::TRVFontInfoCache* FFontInfoCache;
	Rvclasses::TRVIntegerList* RVFTextStylesMapping;
	Rvclasses::TRVIntegerList* RVFParaStylesMapping;
	Rvclasses::TRVIntegerList* RVFListStyleMapping;
	Rvseqitem::TRVSeqList* FSeqList;
	Rvmarker::TRVMarkerList* FMarkers;
	DYNAMIC void __fastcall DestroyMarkers(void);
	DYNAMIC void __fastcall DestroySeqList(void);
	DYNAMIC Controls::TControl* __fastcall GetInplaceEditor(void);
	DYNAMIC void __fastcall DestroyInplaceEditor(void);
	DYNAMIC Classes::TPersistent* __fastcall GetRTFProperties(void);
	DYNAMIC bool __fastcall CanStartDragging(void);
	DYNAMIC bool __fastcall InitDragging(Rvdragdrop::TRVDropSource* &DropSource, int &OKEffect);
	DYNAMIC void __fastcall DoneDragging(bool FDeleteSelection);
	virtual int __fastcall GetRVDataExtraVOffs(void);
	Crvfdata::TRVFontInfoCache* __fastcall DoCreateFontInfoCache(Graphics::TCanvas* ACanvas, Crvfdata::TCustomRVFormattedData* Owner);
	virtual int __fastcall GetMaxLength(void);
	virtual bool __fastcall IsWordWrapAllowed(void);
	virtual Graphics::TCanvas* __fastcall GetFormatCanvasEx(Graphics::TCanvas* DefCanvas);
	
public:
	bool FPlayingAnimation;
	Rvanimate::TRVAnimatorList* FAnimatorList;
	Rvdragdrop::TRVDropSource* FDropSource;
	Rvpopup::TRVSmartPopupButton* FSmartPopupButton;
	Classes::TNotifyEvent OnSetHint;
	TRVGetMouseClientCoords OnGetMouseClientCoords;
	DYNAMIC void __fastcall InitStyleMappings(Crvdata::PRVIntegerList &PTextStylesMapping, Crvdata::PRVIntegerList &PParaStylesMapping, Crvdata::PRVIntegerList &PListStylesMapping);
	DYNAMIC void __fastcall DoneStyleMappings(Crvdata::PRVIntegerList PTextStylesMapping, Crvdata::PRVIntegerList PParaStylesMapping, Crvdata::PRVIntegerList PListStylesMapping, bool AsSubDoc);
	DYNAMIC void __fastcall CreateFontInfoCache(Graphics::TCanvas* ACanvas);
	DYNAMIC void __fastcall DestroyFontInfoCache(Crvfdata::TRVFontInfoCache* &Cache);
	DYNAMIC Crvfdata::TRVFontInfoCache* __fastcall GetFontInfoCache(Graphics::TCanvas* ACanvas, Crvfdata::TCustomRVFormattedData* RVData);
	DYNAMIC void __fastcall AdjustSpecialControlsCoords(Crvfdata::TCustomRVFormattedData* RVData);
	void __fastcall SetSmartPopupCoords(void);
	DYNAMIC void __fastcall Clear(void);
	__fastcall virtual ~TRichViewRVData(void);
	DYNAMIC bool __fastcall CanLoadLayout(void);
	DYNAMIC AnsiString __fastcall GetExtraRTFCode(Rvstyle::TRVRTFSaveArea Area, System::TObject* Obj, int Index1, int Index2, bool InStyleSheet);
	DYNAMIC AnsiString __fastcall GetExtraHTMLCode(Rvstyle::TRVHTMLSaveArea Area, bool CSSVersion);
	DYNAMIC AnsiString __fastcall GetParaHTMLCode(Crvdata::TCustomRVData* RVData, int ItemNo, bool ParaStart, bool CSSVersion);
	DYNAMIC Crvdata::TCustomRVData* __fastcall GetChosenRVData(void);
	DYNAMIC Rvitem::TCustomRVItemInfo* __fastcall GetChosenItem(void);
	DYNAMIC void __fastcall AssignChosenRVData(Crvfdata::TCustomRVFormattedData* RVData, Rvitem::TCustomRVItemInfo* Item);
	DYNAMIC void __fastcall SilentReplaceChosenRVData(Crvfdata::TCustomRVFormattedData* RVData);
	DYNAMIC void __fastcall UnassignChosenRVData(Crvdata::TCustomRVData* RVData);
	DYNAMIC Controls::TWinControl* __fastcall GetParentControl(void);
	DYNAMIC void __fastcall GetMouseClientCoords(Controls::TWinControl* Control, int &X, int &Y);
	virtual Rvscroll::TRVPaletteAction __fastcall GetDoInPaletteMode(void);
	virtual HPALETTE __fastcall GetRVPalette(void);
	virtual Rvstyle::TRVStyle* __fastcall GetRVStyle(void);
	virtual Windows::PLogPalette __fastcall GetRVLogPalette(void);
	DYNAMIC AnsiString __fastcall GetURL(int id);
	DYNAMIC void __fastcall ReadHyperlink(const AnsiString Target, const AnsiString Extras, Rvstyle::TRVLoadFormat DocFormat, int &StyleNo, int &ItemTag, AnsiString &ItemName);
	DYNAMIC void __fastcall WriteHyperlink(int id, Crvdata::TCustomRVData* RVData, int ItemNo, Rvstyle::TRVSaveFormat SaveFormat, AnsiString &Target, AnsiString &Extras);
	virtual Rvscroll::TRVOptions __fastcall GetOptions(void);
	virtual void __fastcall SetOptions(const Rvscroll::TRVOptions Value);
	DYNAMIC Classes::TStringList* __fastcall GetDocProperties(void);
	virtual Rvstyle::TRVFOptions __fastcall GetRVFOptions(void);
	virtual void __fastcall SetRVFOptions(const Rvstyle::TRVFOptions Value);
	virtual Rvstyle::TRVFWarnings __fastcall GetRVFWarnings(void);
	virtual void __fastcall SetRVFWarnings(const Rvstyle::TRVFWarnings Value);
	virtual Rvstyle::TRVRTFOptions __fastcall GetRTFOptions(void);
	virtual void __fastcall SetRTFOptions(const Rvstyle::TRVRTFOptions Value);
	virtual int __fastcall GetAreaWidth(void);
	virtual int __fastcall GetAreaHeight(void);
	virtual void __fastcall GetOrigin(int &ALeft, int &ATop);
	DYNAMIC void __fastcall GetOriginEx(int &ALeft, int &ATop);
	virtual int __fastcall GetMinTextWidth(void);
	virtual int __fastcall GetMaxTextWidth(void);
	virtual int __fastcall GetLeftMargin(void);
	virtual int __fastcall GetRightMargin(void);
	virtual int __fastcall GetTopMargin(void);
	virtual int __fastcall GetBottomMargin(void);
	virtual Crvdata::TRVFlags __fastcall GetFlags(void);
	virtual void __fastcall SetFlags(const Crvdata::TRVFlags Value);
	virtual void __fastcall AdjustVScrollUnits(void);
	virtual void __fastcall SetDocumentAreaSize(int Width, int Height, bool UpdateH);
	virtual void __fastcall ScrollTo(int Y, bool Redraw);
	virtual void __fastcall HScrollTo(int X);
	virtual int __fastcall GetVSmallStep(void);
	virtual Rvback::TRVBackground* __fastcall GetBackground(void);
	DYNAMIC bool __fastcall IsAssignedCopy(void);
	DYNAMIC bool __fastcall IsAssignedRVMouseDown(void);
	DYNAMIC bool __fastcall IsAssignedRVMouseUp(void);
	DYNAMIC bool __fastcall IsAssignedRVRightClick(void);
	DYNAMIC bool __fastcall IsAssignedJump(void);
	DYNAMIC bool __fastcall IsAssignedRVDblClick(void);
	DYNAMIC bool __fastcall IsAssignedCheckpointVisible(void);
	DYNAMIC bool __fastcall IsAssignedOnProgress(void);
	DYNAMIC void __fastcall DoProgress(Rvstyle::TRVLongOperation Operation, Rvstyle::TRVProgressStage Stage, Byte PercentDone);
	DYNAMIC void __fastcall DoCopy(void);
	DYNAMIC void __fastcall DoRVMouseMove(int id);
	DYNAMIC void __fastcall DoRVMouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int ItemNo, int X, int Y);
	DYNAMIC void __fastcall DoRVMouseUp(Controls::TMouseButton Button, Classes::TShiftState Shift, int ItemNo, int X, int Y);
	DYNAMIC void __fastcall DoRVRightClick(const AnsiString ClickedWord, int StyleNo, int X, int Y);
	DYNAMIC void __fastcall DoRVDblClick(const AnsiString ClickedWord, int StyleNo);
	DYNAMIC void __fastcall DoCheckpointVisible(Rvstyle::TCheckpointData CheckpointData);
	DYNAMIC void __fastcall DoDrawHyperlink(Crvdata::TCustomRVData* RVData, int ItemNo, const Types::TRect &R);
	DYNAMIC void __fastcall DoJump(int id);
	DYNAMIC void __fastcall DoSelect(void);
	DYNAMIC Controls::TCursor __fastcall GetNormalCursor(void);
	DYNAMIC Rvscroll::TCPEventKind __fastcall GetCPEventKind(void);
	DYNAMIC void __fastcall HTMLSaveImage(Crvdata::TCustomRVData* RVData, int ItemNo, const AnsiString Path, Graphics::TColor BackgroundColor, AnsiString &Location, bool &DoDefault);
	DYNAMIC void __fastcall SaveImage2(Graphics::TGraphic* Graphic, Rvstyle::TRVSaveFormat SaveFormat, const AnsiString Path, const AnsiString ImagePrefix, int &ImageSaveNo, AnsiString &Location, bool &DoDefault);
	__fastcall virtual TRichViewRVData(Rvscroll::TRVScroller* RichView);
	virtual int __fastcall GetHOffs(void);
	virtual int __fastcall GetVOffs(void);
	virtual Graphics::TCanvas* __fastcall GetCanvas(void);
	virtual int __fastcall GetWidth(void);
	virtual int __fastcall GetHeight(void);
	virtual Graphics::TColor __fastcall GetColor(void);
	virtual AnsiString __fastcall SaveComponentToFile(const AnsiString Path, Classes::TComponent* SaveMe, Rvstyle::TRVSaveFormat SaveFormat);
	virtual bool __fastcall SaveItemToFile(const AnsiString Path, Crvdata::TCustomRVData* RVData, int ItemNo, Rvstyle::TRVSaveFormat SaveFormat, bool Unicode, AnsiString &Text);
	DYNAMIC Graphics::TGraphic* __fastcall ImportPicture(const AnsiString Location, int Width, int Height, bool &Invalid);
	DYNAMIC AnsiString __fastcall GetItemHint(Crvdata::TCustomRVData* RVData, int ItemNo, const AnsiString UpperRVDataHint);
	DYNAMIC Graphics::TGraphic* __fastcall RVFPictureNeeded(const AnsiString ItemName, int ItemTag);
	DYNAMIC Controls::TControl* __fastcall RVFControlNeeded(const AnsiString ItemName, int ItemTag);
	DYNAMIC void __fastcall SetControlHint(const AnsiString Hint);
	DYNAMIC Imglist::TCustomImageList* __fastcall RVFImageListNeeded(int ImageListTag);
	DYNAMIC AnsiString __fastcall GetDelimiters();
	virtual Rvstyle::TRVFReaderStyleMode __fastcall GetRVFTextStylesReadMode(void);
	virtual Rvstyle::TRVFReaderStyleMode __fastcall GetRVFParaStylesReadMode(void);
	virtual Rvscroll::TRVBiDiMode __fastcall GetBiDiMode(void);
	DYNAMIC void __fastcall ControlAction2(Crvdata::TCustomRVData* RVData, Rvstyle::TRVControlAction ControlAction, int ItemNo, Controls::TControl* &Control);
	virtual void __fastcall ItemAction(Rvstyle::TRVItemAction ItemAction, Rvitem::TCustomRVItemInfo* Item, AnsiString &Text, Crvdata::TCustomRVData* RVData);
	DYNAMIC void __fastcall AfterAddStyle(Rvstyle::TCustomRVInfo* StyleInfo);
	DYNAMIC Rvdocparams::TRVDocParameters* __fastcall GetDocParameters(bool AllowCreate);
	DYNAMIC Crvfdata::TRVDragDropCaretInfo* __fastcall GetDragDropCaretInfo(void);
	DYNAMIC bool __fastcall IsDragging(void);
	DYNAMIC void __fastcall InsertAnimator(System::TObject* &Animator);
	DYNAMIC bool __fastcall AllowAnimation(void);
	DYNAMIC void __fastcall ResetAniBackground(void);
	DYNAMIC Rvseqitem::TRVSeqList* __fastcall GetSeqList(bool AllowCreate);
	DYNAMIC AnsiString __fastcall GetNoteText();
	DYNAMIC Rvmarker::TRVMarkerList* __fastcall GetMarkers(bool AllowCreate);
	__property Rvscroll::TRVScroller* RichView = {read=FRichView};
	__property Crvfdata::TRVDataDrawHyperlinkEvent OnDrawHyperlink = {read=FOnDrawHyperlink, write=FOnDrawHyperlink};
};


typedef TMetaClass* TRichViewRVDataClass;

class DELPHICLASS TRVFontInfoCacheFast;
class PASCALIMPLEMENTATION TRVFontInfoCacheFast : public Crvfdata::TRVFontInfoCache 
{
	typedef Crvfdata::TRVFontInfoCache inherited;
	
protected:
	virtual Crvfdata::TRVFontInfoCacheItem* __fastcall GetItems(int Index);
	
public:
	virtual void __fastcall Clear(void);
public:
	#pragma option push -w-inl
	/* TRVFontInfoCache.Create */ inline __fastcall virtual TRVFontInfoCacheFast(const Crvfdata::TCustomRVFormattedData* AData, const Rvstyle::TRVStyle* ARVStyle, const Graphics::TCanvas* ACanvas, const Graphics::TCanvas* ADrawCanvas, bool ACanUseCustomPPI) : Crvfdata::TRVFontInfoCache(AData, ARVStyle, ACanvas, ADrawCanvas, ACanUseCustomPPI) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TRVList.Destroy */ inline __fastcall virtual ~TRVFontInfoCacheFast(void) { }
	#pragma option pop
	
};


class DELPHICLASS TRVFontInfoCacheLowResource;
class PASCALIMPLEMENTATION TRVFontInfoCacheLowResource : public Crvfdata::TRVFontInfoCache 
{
	typedef Crvfdata::TRVFontInfoCache inherited;
	
protected:
	virtual Crvfdata::TRVFontInfoCacheItem* __fastcall GetItems(int Index);
public:
	#pragma option push -w-inl
	/* TRVFontInfoCache.Create */ inline __fastcall virtual TRVFontInfoCacheLowResource(const Crvfdata::TCustomRVFormattedData* AData, const Rvstyle::TRVStyle* ARVStyle, const Graphics::TCanvas* ACanvas, const Graphics::TCanvas* ADrawCanvas, bool ACanUseCustomPPI) : Crvfdata::TRVFontInfoCache(AData, ARVStyle, ACanvas, ADrawCanvas, ACanUseCustomPPI) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TRVList.Destroy */ inline __fastcall virtual ~TRVFontInfoCacheLowResource(void) { }
	#pragma option pop
	
};


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

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

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