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

// (DO NOT EDIT: machine generated header) 'RVRVData.pas' rev: 6.00

#ifndef RVRVDataHPP
#define RVRVDataHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <RVGrIn.hpp>	// Pascal unit
#include <RVTypes.hpp>	// Pascal unit
#include <RVAnimate.hpp>	// Pascal unit
#include <RVFuncs.hpp>	// Pascal unit
#include <RVClasses.hpp>	// Pascal unit
#include <RVDocParams.hpp>	// Pascal unit
#include <RVPopup.hpp>	// Pascal unit
#include <RVDragDrop.hpp>	// Pascal unit
#include <ActiveX.hpp>	// Pascal unit
#include <RVSeqItem.hpp>	// Pascal unit
#include <RVMarker.hpp>	// Pascal unit
#include <ImgList.hpp>	// Pascal unit
#include <RVScroll.hpp>	// Pascal unit
#include <RVCtrlData.hpp>	// Pascal unit
#include <CRVFData.hpp>	// Pascal unit
#include <CRVData.hpp>	// Pascal unit
#include <RVStyle.hpp>	// Pascal unit
#include <RVBack.hpp>	// Pascal unit
#include <RVItem.hpp>	// Pascal unit
#include <StdCtrls.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.hpp>	// Pascal unit

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

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

typedef void __fastcall (__closure *TRVAfterReadNoteEvent)(Crvdata::TCustomRVData* RVData, int ItemNo);

class DELPHICLASS TRVFGlobalReadData;
class PASCALIMPLEMENTATION TRVFGlobalReadData : public System::TObject 
{
	typedef System::TObject inherited;
	
public:
	Rvclasses::TRVIntegerList* RVFTextStylesMapping;
	Rvclasses::TRVIntegerList* RVFParaStylesMapping;
	Rvclasses::TRVIntegerList* RVFListStylesMapping;
	Rvstyle::TRVStyleUnits Units;
	__fastcall virtual ~TRVFGlobalReadData(void);
public:
	#pragma option push -w-inl
	/* TObject.Create */ inline __fastcall TRVFGlobalReadData(void) : System::TObject() { }
	#pragma option pop
	
};


class DELPHICLASS TRichViewRVData;
class PASCALIMPLEMENTATION TRichViewRVData : public Rvctrldata::TRVControlData 
{
	typedef Rvctrldata::TRVControlData inherited;
	
private:
	Classes::TNotifyEvent FOnClear;
	TRVAfterReadNoteEvent FOnAfterReadNote;
	Classes::TNotifyEvent FOnBeforeSaving;
	Classes::TStrings* __fastcall GetExtraDocumentsList(void);
	void __fastcall SetExtraDocumentsList(const Classes::TStrings* Value);
	
protected:
	TRVFGlobalReadData* FRVFGlobalReadData;
	Classes::TStringList* FExtraDocuments;
	Crvfdata::TRVDataDrawHyperlinkEvent FOnDrawHyperlink;
	Rvscroll::TRVScroller* FRichView;
	Crvfdata::TRVFontInfoCache* FFontInfoCache;
	int FClickX;
	int FClickY;
	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);
	DYNAMIC void __fastcall SetClickCoords(int X, int Y);
	DYNAMIC bool __fastcall CanStartDragBecauseMouseMoved(int X, int Y);
	virtual int __fastcall GetRVDataExtraVOffs(void);
	Crvfdata::TRVFontInfoCache* __fastcall DoCreateFontInfoCache(Graphics::TCanvas* ACanvas, Graphics::TCanvas* AFormatCanvas, Crvfdata::TCustomRVFormattedData* Owner);
	virtual int __fastcall GetMaxLength(void);
	virtual bool __fastcall IsWordWrapAllowed(void);
	DYNAMIC Classes::TStrings* __fastcall GetExtraDocuments(void);
	
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, Rvstyle::PRVStyleUnits &PUnits);
	DYNAMIC void __fastcall DoneStyleMappings(bool AsSubDoc);
	DYNAMIC void __fastcall CreateFontInfoCache(Graphics::TCanvas* ACanvas, Graphics::TCanvas* AFormatCanvas);
	DYNAMIC void __fastcall DestroyFontInfoCache(Crvfdata::TRVFontInfoCache* &Cache);
	DYNAMIC Crvfdata::TRVFontInfoCache* __fastcall GetFontInfoCache(Graphics::TCanvas* ACanvas, Graphics::TCanvas* AFormatCanvas, Crvfdata::TCustomRVFormattedData* RVData);
	DYNAMIC void __fastcall AdjustSpecialControlsCoords(Crvfdata::TCustomRVFormattedData* RVData);
	void __fastcall SetSmartPopupCoords(void);
	DYNAMIC void __fastcall Clear(void);
	__fastcall virtual ~TRichViewRVData(void);
	virtual Graphics::TCanvas* __fastcall GetFormatCanvasEx(Graphics::TCanvas* DefCanvas);
	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 DoGetItemCursor(Crvdata::TCustomRVData* RVData, int ItemNo, Controls::TCursor &Cursor);
	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, bool PictureInsideRVF);
	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 AfterReadNote(Crvdata::TCustomRVData* RVData, int ItemNo);
	DYNAMIC void __fastcall DoBeforeSaving(void);
	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};
	__property Classes::TStrings* ExtraDocumentsList = {read=GetExtraDocumentsList, write=SetExtraDocumentsList};
	__property Classes::TNotifyEvent OnClear = {read=FOnClear, write=FOnClear};
	__property TRVAfterReadNoteEvent OnAfterReadNote = {read=FOnAfterReadNote, write=FOnAfterReadNote};
	__property Classes::TNotifyEvent OnBeforeSaving = {read=FOnBeforeSaving, write=FOnBeforeSaving};
};


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 option pop	// -w-
#pragma option pop	// -Vx

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