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

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

#ifndef RVItemHPP
#define RVItemHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <RVTypes.hpp>	// Pascal unit
#include <RVGrIn.hpp>	// Pascal unit
#include <DLines.hpp>	// Pascal unit
#include <RVStyle.hpp>	// Pascal unit
#include <RVScroll.hpp>	// Pascal unit
#include <RVFuncs.hpp>	// Pascal unit
#include <RVClasses.hpp>	// Pascal unit
#include <RVWordPaint.hpp>	// Pascal unit
#include <ImgList.hpp>	// Pascal unit
#include <jpeg.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <SysUtils.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.hpp>	// Pascal unit

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

namespace Rvitem
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS ERichViewError;
class PASCALIMPLEMENTATION ERichViewError : public Sysutils::Exception 
{
	typedef Sysutils::Exception inherited;
	
public:
	#pragma option push -w-inl
	/* Exception.Create */ inline __fastcall ERichViewError(const AnsiString Msg) : Sysutils::Exception(Msg) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateFmt */ inline __fastcall ERichViewError(const AnsiString Msg, const System::TVarRec * Args, const int Args_Size) : Sysutils::Exception(Msg, Args, Args_Size) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateRes */ inline __fastcall ERichViewError(int Ident)/* overload */ : Sysutils::Exception(Ident) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResFmt */ inline __fastcall ERichViewError(int Ident, const System::TVarRec * Args, const int Args_Size)/* overload */ : Sysutils::Exception(Ident, Args, Args_Size) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateHelp */ inline __fastcall ERichViewError(const AnsiString Msg, int AHelpContext) : Sysutils::Exception(Msg, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateFmtHelp */ inline __fastcall ERichViewError(const AnsiString Msg, const System::TVarRec * Args, const int Args_Size, int AHelpContext) : Sysutils::Exception(Msg, Args, Args_Size, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResHelp */ inline __fastcall ERichViewError(int Ident, int AHelpContext)/* overload */ : Sysutils::Exception(Ident, AHelpContext) { }
	#pragma option pop
	#pragma option push -w-inl
	/* Exception.CreateResFmtHelp */ inline __fastcall ERichViewError(System::PResStringRec ResStringRec, const System::TVarRec * Args, const int Args_Size, int AHelpContext)/* overload */ : Sysutils::Exception(ResStringRec, Args, Args_Size, AHelpContext) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~ERichViewError(void) { }
	#pragma option pop
	
};


#pragma option push -b-
enum TRVItemOption { rvioSameAsPrev, rvioPageBreakBefore, rvioBR, rvioUnicode, rvioClearLeft, rvioClearRight, rvioGroupWithNext };
#pragma option pop

typedef Set<TRVItemOption, rvioSameAsPrev, rvioGroupWithNext>  TRVItemOptions;

#pragma option push -b-
enum TRVItemState { rvisSpellChecked };
#pragma option pop

typedef Set<TRVItemState, rvisSpellChecked, rvisSpellChecked>  TRVItemStates;

#pragma option push -b-
enum TRVItemDrawState { rvidsSelected, rvidsCurrent, rvidsHover, rvidsPrinting, rvidsPreview, rvidsPreviewCorrection, rvidsControlFocused, rvidsControlDisabled, rvidsCanUseCustomPPI, rvidsRTL, rvidsShowSpecialCharacters, rvidsDrawInplaceOnMainCanvas, rvidsPrintSimulation };
#pragma option pop

typedef Set<TRVItemDrawState, rvidsSelected, rvidsPrintSimulation>  TRVItemDrawStates;

#pragma option push -b-
enum TRVFReadMode { rmText, rmBeforeBinary, rmBinary, rmBeforeUnicode, rmUnicode, rmAfterUnicode };
#pragma option pop

#pragma option push -b-
enum TRVFReadState { rstHeader, rstData, rstSkip };
#pragma option pop

#pragma option push -b-
enum TRVItemBoolProperty { rvbpIgnorePara, rvbpFullWidth, rvbpValid, rvbpRequiresRVFLines, rvbpDrawingChangesFont, rvbpCanSaveUnicode, rvbpAlwaysInText, rvbpImmediateControlOwner, rvbpResizable, rvbpResizeHandlesOutside, rvbpHasSubRVData, rvbpClickSelect, rvbpNoHTML_P, rvbpSwitchToAssStyleNo, rvbpFloating };
#pragma option pop

#pragma option push -b-
enum TRVItemBoolPropertyEx { rvbpDisplayActiveState, rvbpPrintToBMP, rvbpJump, rvbpAllowsFocus, rvbpHotColdJump, rvbpXORFocus, rvbpActualPrintSize };
#pragma option pop

#pragma option push -b-
enum TRVEnterDirection { rvedLeft, rvedRight, rvedTop, rvedBottom };
#pragma option pop

#pragma option push -b-
enum TRVExtraItemProperty { rvepUnknown, rvepVShift, rvepVShiftAbs, rvepImageWidth, rvepImageHeight, rvepTransparent, rvepTransparentMode, rvepTransparentColor, rvepMinHeightOnPage, rvepSpacing, rvepResizable, rvepDeleteProtect, rvepNoHTMLImageSize, rvepAnimationInterval, rvepVisible, rvepHidden, rvepShared };
#pragma option pop

#pragma option push -b-
enum TRVExtraItemStrProperty { rvespUnknown, rvespHint, rvespAlt, rvespImageFileName };
#pragma option pop

#pragma option push -b-
enum TRVEStyleConversionType { rvscParaStyle, rvscTextStyle, rvscParaStyleConversion, rvscTextStyleConversion, rvscParaStyleTemplate, rvscTextStyleTemplate };
#pragma option pop

class DELPHICLASS TRVMultiDrawItemPart;
class DELPHICLASS TCustomRVItemInfo;
class PASCALIMPLEMENTATION TRVMultiDrawItemPart : public System::TObject 
{
	typedef System::TObject inherited;
	
public:
	int Height;
	DYNAMIC int __fastcall GetSoftPageBreakInfo(void);
	DYNAMIC bool __fastcall IsComplexSoftPageBreak(Dlines::TRVDrawLineInfo* DrawItem);
	DYNAMIC void __fastcall AssignSoftPageBreaksToItem(Dlines::TRVDrawLineInfo* DrawItem, TCustomRVItemInfo* Item);
	virtual int __fastcall GetImageHeight(void);
public:
	#pragma option push -w-inl
	/* TObject.Create */ inline __fastcall TRVMultiDrawItemPart(void) : System::TObject() { }
	#pragma option pop
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~TRVMultiDrawItemPart(void) { }
	#pragma option pop
	
};


class DELPHICLASS TRVDeleteUnusedStylesData;
class PASCALIMPLEMENTATION TRVDeleteUnusedStylesData : public System::TObject 
{
	typedef System::TObject inherited;
	
private:
	bool FInitialized;
	bool FConvertedToShifts;
	Rvclasses::TRVIntegerList* FUsedTextStyles;
	Rvclasses::TRVIntegerList* FUsedParaStyles;
	Rvclasses::TRVIntegerList* FUsedListStyles;
	bool FTextStyles;
	bool FParaStyles;
	bool FListStyles;
	
public:
	__fastcall TRVDeleteUnusedStylesData(bool ATextStyles, bool AParaStyles, bool AListStyles);
	__fastcall virtual ~TRVDeleteUnusedStylesData(void);
	void __fastcall Init(Rvstyle::TRVStyle* RVStyle);
	void __fastcall ConvertFlagsToShifts(Rvstyle::TRVStyle* RVStyle);
	__property Rvclasses::TRVIntegerList* UsedTextStyles = {read=FUsedTextStyles};
	__property Rvclasses::TRVIntegerList* UsedParaStyles = {read=FUsedParaStyles};
	__property Rvclasses::TRVIntegerList* UsedListStyles = {read=FUsedListStyles};
	__property bool TextStyles = {read=FTextStyles, nodefault};
	__property bool ParaStyles = {read=FParaStyles, nodefault};
	__property bool ListStyles = {read=FListStyles, nodefault};
	__property bool ConvertedToShifts = {read=FConvertedToShifts, nodefault};
};


class DELPHICLASS TRVCPInfo;
class PASCALIMPLEMENTATION TRVCPInfo : public System::TObject 
{
	typedef System::TObject inherited;
	
public:
	AnsiString Name;
	TRVCPInfo* Next;
	TRVCPInfo* Prev;
	bool RaiseEvent;
	bool Persistent;
	TCustomRVItemInfo* ItemInfo;
	int ItemNo;
	int Tag;
	void __fastcall Assign(TRVCPInfo* Source, bool TagsArePChars);
	TRVCPInfo* __fastcall CreateCopy(bool TagsArePChars);
public:
	#pragma option push -w-inl
	/* TObject.Create */ inline __fastcall TRVCPInfo(void) : System::TObject() { }
	#pragma option pop
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~TRVCPInfo(void) { }
	#pragma option pop
	
};


#pragma option push -b-
enum TRVSubRVDataPos { rvdFirst, rvdLast, rvdChosenUp, rvdChosenDown, rvdNext, rvdPrev };
#pragma option pop

class DELPHICLASS TRVStoreSubRVData;
class PASCALIMPLEMENTATION TRVStoreSubRVData : public System::TObject 
{
	typedef System::TObject inherited;
	
public:
	DYNAMIC TRVStoreSubRVData* __fastcall Duplicate(void);
	DYNAMIC int __fastcall Compare(TRVStoreSubRVData* StoreSub);
public:
	#pragma option push -w-inl
	/* TObject.Create */ inline __fastcall TRVStoreSubRVData(void) : System::TObject() { }
	#pragma option pop
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~TRVStoreSubRVData(void) { }
	#pragma option pop
	
};


class PASCALIMPLEMENTATION TCustomRVItemInfo : public Classes::TPersistent 
{
	typedef Classes::TPersistent inherited;
	
private:
	bool __fastcall GetSameAsPrev(void);
	void __fastcall SetSameAsPrev(const bool Value);
	bool __fastcall GetBR(void);
	void __fastcall SetBR(bool Value);
	bool __fastcall GetPageBreakBefore(void);
	void __fastcall SetPageBreakBefore(const bool Value);
	bool __fastcall GetClearLeft(void);
	bool __fastcall GetClearRight(void);
	void __fastcall SetClearLeft(const bool Value);
	void __fastcall SetClearRight(const bool Value);
	
protected:
	DYNAMIC AnsiString __fastcall SaveRVFHeaderTail(Classes::TPersistent* RVData);
	DYNAMIC int __fastcall GetRVFExtraPropertyCount(void);
	DYNAMIC void __fastcall SaveRVFExtraProperties(Classes::TStream* Stream);
	void __fastcall SetExtraPropertyFromRVFStr(const AnsiString Str, bool UTF8Strings);
	virtual int __fastcall GetAssociatedTextStyleNo(void);
	virtual void __fastcall SetAssociatedTextStyleNo(int Value);
	
public:
	AnsiString ItemText;
	int StyleNo;
	int ParaNo;
	TRVItemOptions ItemOptions;
	TRVItemStates ItemState;
	Rvwordpaint::TRVWordPainterList* WordPaintList;
	TRVCPInfo* Checkpoint;
	int JumpID;
	int Tag;
	int DrawItemNo;
	AnsiString Hint;
	__fastcall virtual TCustomRVItemInfo(Classes::TPersistent* RVData);
	__fastcall virtual ~TCustomRVItemInfo(void);
	void __fastcall ClearLiveSpellingResult(void);
	void __fastcall ClearWordPainters(int Index);
	bool __fastcall AdjustWordPaintersOnInsert(int Index, const AnsiString Text, char ch, Classes::TPersistent* RVData);
	bool __fastcall AdjustWordPaintersOnDelete(int Index, int Count);
	bool __fastcall GetMisspelling(int Offs, int &MisOffs, int &MisLength);
	void __fastcall AddMisspelling(int StartOffs, int Length);
	bool __fastcall IsMisspelled(int Index);
	bool __fastcall ValidateMisspelledWord(const AnsiString AItemText, const AnsiString AWord);
	HIDESBASEDYNAMIC void __fastcall Assign(TCustomRVItemInfo* Source);
	void __fastcall AssignParaProperties(TCustomRVItemInfo* Source);
	DYNAMIC void __fastcall TransferProperties(TCustomRVItemInfo* Source, Classes::TPersistent* RVData);
	DYNAMIC Classes::TPersistent* __fastcall GetSubRVDataAt(int X, int Y, bool ReturnClosest);
	virtual int __fastcall GetMinWidth(Rvstyle::PRVScreenAndDevice sad, Graphics::TCanvas* Canvas, Classes::TPersistent* RVData);
	DYNAMIC bool __fastcall OwnsControl(Controls::TControl* AControl);
	DYNAMIC bool __fastcall OwnsInplaceEditor(Controls::TControl* AEditor);
	bool __fastcall CanBeBorderStart(void);
	bool __fastcall ParaStart(bool CountBR);
	__property bool SameAsPrev = {read=GetSameAsPrev, write=SetSameAsPrev, nodefault};
	virtual Graphics::TGraphic* __fastcall AsImage(void);
	DYNAMIC void __fastcall SaveToHTML(Classes::TStream* Stream, Classes::TPersistent* RVData, int ItemNo, const AnsiString Text, const AnsiString Path, const AnsiString imgSavePrefix, int &imgSaveNo, Graphics::TColor CurrentFileColor, Rvstyle::TRVSaveOptions SaveOptions, bool UseCSS, Rvclasses::TRVList* Bullets);
	DYNAMIC AnsiString __fastcall AsText(int LineWidth, Classes::TPersistent* RVData, const AnsiString Text, const AnsiString Path, bool TextOnly, bool Unicode);
	DYNAMIC void __fastcall UpdatePaletteInfo(Rvscroll::TRVPaletteAction PaletteAction, bool ForceRecreateCopy, HPALETTE Palette, Windows::PLogPalette LogPalette);
	DYNAMIC bool __fastcall ReadRVFHeaderTail(char * &P, Classes::TPersistent* RVData, bool UTF8Strings, bool &AssStyleNameUsed);
	virtual bool __fastcall GetBoolValue(TRVItemBoolProperty Prop);
	virtual bool __fastcall GetBoolValueEx(TRVItemBoolPropertyEx Prop, Rvstyle::TRVStyle* RVStyle);
	DYNAMIC bool __fastcall ReadRVFLine(const AnsiString s, Classes::TPersistent* RVData, int ReadType, int LineNo, int LineCount, AnsiString &Name, TRVFReadMode &ReadMode, TRVFReadState &ReadState, bool UTF8Strings, bool &AssStyleNameUsed);
	DYNAMIC void __fastcall SaveRVF(Classes::TStream* Stream, Classes::TPersistent* RVData, int ItemNo, int ParaNo, const AnsiString Name, TRVMultiDrawItemPart* Part, bool ForceSameAsPrev);
	DYNAMIC void __fastcall SaveRVFSelection(Classes::TStream* Stream, Classes::TPersistent* RVData, int ItemNo, int ParaNo);
	DYNAMIC void __fastcall SaveTextSelection(Classes::TStream* Stream, Classes::TPersistent* RVData, int LineWidth, const AnsiString Path, bool TextOnly, bool Unicode);
	DYNAMIC void __fastcall SaveRTF(Classes::TStream* Stream, const AnsiString Path, Classes::TPersistent* RVData, int ItemNo, double TwipsPerPixel, int Level, Rvclasses::TRVColorList* ColorList, Rvclasses::TRVIntegerList* StyleToFont, Rvclasses::TRVIntegerList* ListOverrideOffsetsList1, Rvclasses::TRVIntegerList* ListOverrideOffsetsList2, Rvclasses::TRVList* FontTable, bool HiddenParent);
	DYNAMIC void __fastcall FillRTFTables(Rvclasses::TRVColorList* ColorList, Rvclasses::TRVIntegerList* ListOverrideCountList, Classes::TPersistent* RVData);
	virtual void __fastcall PaintFullWidth(int Left, int Right, int Top, Graphics::TCanvas* Canvas, TRVItemDrawStates State, Rvstyle::TRVStyle* Style, const Types::TRect &ClipRect, Dlines::TRVDrawLineInfo* dli, int ExtraX, int ExtraY);
	virtual void __fastcall Paint(int x, int y, Graphics::TCanvas* Canvas, TRVItemDrawStates State, Rvstyle::TRVStyle* Style, Dlines::TRVDrawLineInfo* dli);
	virtual bool __fastcall PrintToBitmap(Graphics::TBitmap* Bkgnd, bool Preview, Rvscroll::TRVScroller* RichView, Dlines::TRVDrawLineInfo* dli, int Part, Rvstyle::TRVColorMode ColorMode);
	virtual void __fastcall Print(Graphics::TCanvas* Canvas, int x, int y, int x2, bool Preview, bool Correction, const Rvstyle::TRVScreenAndDevice &sad, Rvscroll::TRVScroller* RichView, Dlines::TRVDrawLineInfo* dli, int Part, Rvstyle::TRVColorMode ColorMode, Classes::TPersistent* RVData);
	virtual int __fastcall GetImageWidth(Rvstyle::TRVStyle* RVStyle);
	virtual int __fastcall GetImageHeight(Rvstyle::TRVStyle* RVStyle);
	virtual int __fastcall GetImageWidthEx(Rvstyle::TRVStyle* RVStyle, Rvstyle::PRVScreenAndDevice sad);
	virtual int __fastcall GetImageHeightEx(Rvstyle::TRVStyle* RVStyle, Rvstyle::PRVScreenAndDevice sad);
	virtual Rvstyle::TRVStyleLength __fastcall GetBorderWidth(void);
	virtual Rvstyle::TRVStyleLength __fastcall GetBorderHeight(void);
	DYNAMIC void __fastcall MovingToUndoList(int ItemNo, System::TObject* RVData, System::TObject* AContainerUndoItem);
	DYNAMIC void __fastcall MovingFromUndoList(int ItemNo, System::TObject* RVData);
	DYNAMIC void __fastcall Hiding(void);
	DYNAMIC void __fastcall Unhiding(System::TObject* RVData);
	DYNAMIC void __fastcall FinalizeUndoGroup(void);
	DYNAMIC bool __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y, int ItemNo, System::TObject* RVData);
	DYNAMIC bool __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y, int ItemNo, System::TObject* RVData);
	DYNAMIC bool __fastcall MouseUp(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y, int ItemNo, System::TObject* RVData);
	DYNAMIC void __fastcall BeforeLoading(Rvstyle::TRVLoadFormat FileFormat);
	DYNAMIC void __fastcall AfterLoading(Rvstyle::TRVLoadFormat FileFormat);
	DYNAMIC void __fastcall DeselectPartial(void);
	DYNAMIC bool __fastcall PartiallySelected(void);
	DYNAMIC bool __fastcall CanDeletePartiallySelected(void);
	DYNAMIC void __fastcall DeletePartiallySelected(void);
	DYNAMIC void __fastcall ApplyStyleConversionToSubRVDatas(int UserData, bool SelectedOnly, TRVEStyleConversionType ConvType);
	DYNAMIC void __fastcall ApplyStyleConversion(Classes::TPersistent* RVData, int ItemNo, int UserData, TRVEStyleConversionType ConvType);
	virtual Dlines::TRVDrawLineInfo* __fastcall CreatePrintingDrawItem(System::TObject* RVData, System::TObject* ParaStyle, const Rvstyle::TRVScreenAndDevice &sad);
	DYNAMIC void __fastcall StartExport(void);
	DYNAMIC void __fastcall EndExport(void);
	virtual void __fastcall Inserting(System::TObject* RVData, AnsiString &Text, bool Safe);
	virtual void __fastcall Inserted(System::TObject* RVData, int ItemNo);
	DYNAMIC void __fastcall BeforeUndoChangeProperty(void);
	DYNAMIC void __fastcall AfterUndoChangeProperty(void);
	DYNAMIC bool __fastcall EnterItem(TRVEnterDirection From, int Coord);
	DYNAMIC Controls::TCursor __fastcall GetHypertextCursor(Rvstyle::TRVStyle* RVStyle);
	DYNAMIC void __fastcall BuildJumps(int Left, int Top, int &StartJumpNo, Classes::TList* jumps);
	DYNAMIC void __fastcall Focusing(void);
	DYNAMIC bool __fastcall MoveFocus(bool GoForward, Classes::TPersistent* &TopLevelRVData, int &TopLevelItemNo);
	DYNAMIC void __fastcall ClearFocus(void);
	DYNAMIC void __fastcall Execute(Classes::TPersistent* RVData);
	DYNAMIC bool __fastcall AdjustFocusToControl(Controls::TControl* Control, Classes::TPersistent* &TopLevelRVData, int &TopLevelItemNo);
	virtual void __fastcall OnDocWidthChange(int DocWidth, Dlines::TRVDrawLineInfo* dli, bool Printing, Graphics::TCanvas* Canvas, Classes::TPersistent* RVData, Rvstyle::PRVScreenAndDevice sad, int &HShift, int &Desc, bool NoCaching, bool Reformatting, bool UseFormatCanvas);
	DYNAMIC void __fastcall MarkStylesInUse(TRVDeleteUnusedStylesData* Data);
	DYNAMIC void __fastcall UpdateStyles(TRVDeleteUnusedStylesData* Data);
	DYNAMIC Classes::TPersistent* __fastcall GetSubRVData(TRVStoreSubRVData* &StoreState, TRVSubRVDataPos Position);
	DYNAMIC void __fastcall ChooseSubRVData(TRVStoreSubRVData* StoreState);
	DYNAMIC void __fastcall CleanUpChosen(void);
	DYNAMIC void __fastcall ResetSubCoords(void);
	DYNAMIC bool __fastcall SetExtraIntProperty(TRVExtraItemProperty Prop, int Value);
	DYNAMIC bool __fastcall GetExtraIntProperty(TRVExtraItemProperty Prop, int &Value);
	DYNAMIC bool __fastcall SetExtraStrProperty(TRVExtraItemStrProperty Prop, const AnsiString Value);
	DYNAMIC bool __fastcall GetExtraStrProperty(TRVExtraItemStrProperty Prop, AnsiString &Value);
	DYNAMIC bool __fastcall SetExtraCustomProperty(const AnsiString PropName, const AnsiString Value);
	DYNAMIC int __fastcall GetSoftPageBreakDY(int Data);
	int __fastcall GetActualStyleNo(Rvstyle::TRVStyle* RVStyle);
	virtual void __fastcall DrawBackgroundForPrinting(Graphics::TCanvas* Canvas, const Types::TRect &Rect, const Types::TRect &FullRect, Rvstyle::TRVColorMode ColorMode, int ItemBackgroundLayer, Rvgrin::TRVGraphicInterface* GraphicIterface);
	DYNAMIC void __fastcall ClearSoftPageBreaks(void);
	DYNAMIC void __fastcall UpdateAnimator(System::TObject* RVData);
	DYNAMIC void __fastcall KeyDown(Word Key, bool Shift);
	DYNAMIC void __fastcall ConvertToDifferentUnits(Rvstyle::TRVStyleUnits NewUnits, Rvstyle::TRVStyle* RVStyle, bool Recursive);
	__property bool BR = {read=GetBR, write=SetBR, nodefault};
	__property bool PageBreakBefore = {read=GetPageBreakBefore, write=SetPageBreakBefore, nodefault};
	__property bool ClearLeft = {read=GetClearLeft, write=SetClearLeft, nodefault};
	__property bool ClearRight = {read=GetClearRight, write=SetClearRight, nodefault};
	__property int AssociatedTextStyleNo = {read=GetAssociatedTextStyleNo, write=SetAssociatedTextStyleNo, nodefault};
};


typedef TMetaClass*TCustomRVItemInfoClass;

class DELPHICLASS TRVItemList;
class PASCALIMPLEMENTATION TRVItemList : public Classes::TList 
{
	typedef Classes::TList inherited;
	
public:
	AnsiString operator[](int Index) { return Items[Index]; }
	
private:
	AnsiString __fastcall GetItem(int Index);
	TCustomRVItemInfo* __fastcall GetObject(int Index);
	void __fastcall SetItem(int Index, const AnsiString Value);
	void __fastcall SetObject(int Index, const TCustomRVItemInfo* Value);
	
public:
	void __fastcall AddObject(const AnsiString ItemText, TCustomRVItemInfo* Item);
	void __fastcall InsertObject(int Index, const AnsiString ItemText, TCustomRVItemInfo* Item);
	int __fastcall IndexOfObject(TCustomRVItemInfo* Item);
	__property AnsiString Items[int Index] = {read=GetItem, write=SetItem/*, default*/};
	__property TCustomRVItemInfo* Objects[int Index] = {read=GetObject, write=SetObject};
public:
	#pragma option push -w-inl
	/* TList.Destroy */ inline __fastcall virtual ~TRVItemList(void) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TObject.Create */ inline __fastcall TRVItemList(void) : Classes::TList() { }
	#pragma option pop
	
};


class DELPHICLASS TRVTextItemInfo;
class PASCALIMPLEMENTATION TRVTextItemInfo : public TCustomRVItemInfo 
{
	typedef TCustomRVItemInfo inherited;
	
public:
	virtual bool __fastcall GetBoolValueEx(TRVItemBoolPropertyEx Prop, Rvstyle::TRVStyle* RVStyle);
	DYNAMIC void __fastcall Execute(Classes::TPersistent* RVData);
	DYNAMIC void __fastcall MarkStylesInUse(TRVDeleteUnusedStylesData* Data);
	DYNAMIC void __fastcall UpdateStyles(TRVDeleteUnusedStylesData* Data);
	DYNAMIC bool __fastcall ReadRVFHeaderTail(char * &P, Classes::TPersistent* RVData, bool UTF8Strings, bool &AssStyleNameUsed);
public:
	#pragma option push -w-inl
	/* TCustomRVItemInfo.Create */ inline __fastcall virtual TRVTextItemInfo(Classes::TPersistent* RVData) : TCustomRVItemInfo(RVData) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TCustomRVItemInfo.Destroy */ inline __fastcall virtual ~TRVTextItemInfo(void) { }
	#pragma option pop
	
};


typedef TMetaClass*TRVTextItemInfoClass;

class DELPHICLASS TRVNonTextItemInfo;
class PASCALIMPLEMENTATION TRVNonTextItemInfo : public TCustomRVItemInfo 
{
	typedef TCustomRVItemInfo inherited;
	
protected:
	DYNAMIC int __fastcall GetRVFExtraPropertyCount(void);
	DYNAMIC void __fastcall SaveRVFExtraProperties(Classes::TStream* Stream);
	
public:
	bool DeleteProtect;
	bool Hidden;
	virtual int __fastcall GetLeftOverhang(void);
	virtual void __fastcall AdjustInserted(int x, int y, bool adjusty, Rvstyle::TRVStyle* RVStyle);
	DYNAMIC void __fastcall Assign(TCustomRVItemInfo* Source);
	DYNAMIC bool __fastcall SetExtraIntProperty(TRVExtraItemProperty Prop, int Value);
	DYNAMIC bool __fastcall GetExtraIntProperty(TRVExtraItemProperty Prop, int &Value);
	virtual int __fastcall GetHeight(Rvstyle::TRVStyle* RVStyle);
	virtual int __fastcall GetWidth(Rvstyle::TRVStyle* RVStyle);
	virtual int __fastcall GetHeightEx(Rvstyle::TRVStyle* RVStyle, Rvstyle::PRVScreenAndDevice sad);
	virtual int __fastcall GetWidthEx(Rvstyle::TRVStyle* RVStyle, Rvstyle::PRVScreenAndDevice sad);
public:
	#pragma option push -w-inl
	/* TCustomRVItemInfo.Create */ inline __fastcall virtual TRVNonTextItemInfo(Classes::TPersistent* RVData) : TCustomRVItemInfo(RVData) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TCustomRVItemInfo.Destroy */ inline __fastcall virtual ~TRVNonTextItemInfo(void) { }
	#pragma option pop
	
};


class DELPHICLASS TRVFullLineItemInfo;
class PASCALIMPLEMENTATION TRVFullLineItemInfo : public TRVNonTextItemInfo 
{
	typedef TRVNonTextItemInfo inherited;
	
public:
	virtual bool __fastcall GetBoolValue(TRVItemBoolProperty Prop);
public:
	#pragma option push -w-inl
	/* TCustomRVItemInfo.Create */ inline __fastcall virtual TRVFullLineItemInfo(Classes::TPersistent* RVData) : TRVNonTextItemInfo(RVData) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TCustomRVItemInfo.Destroy */ inline __fastcall virtual ~TRVFullLineItemInfo(void) { }
	#pragma option pop
	
};


class DELPHICLASS TRVRectItemInfo;
class PASCALIMPLEMENTATION TRVRectItemInfo : public TRVNonTextItemInfo 
{
	typedef TRVNonTextItemInfo inherited;
	
protected:
	int FMinHeightOnPage;
	DYNAMIC AnsiString __fastcall SaveRVFHeaderTail(Classes::TPersistent* RVData);
	DYNAMIC int __fastcall GetRVFExtraPropertyCount(void);
	DYNAMIC void __fastcall SaveRVFExtraProperties(Classes::TStream* Stream);
	AnsiString __fastcall GetVShiftCSS(Rvstyle::TRVStyle* RVStyle);
	
public:
	Rvstyle::TRVVAlign VAlign;
	int VShift;
	bool VShiftAbs;
	Rvstyle::TRVStyleLength Spacing;
	__fastcall virtual TRVRectItemInfo(Classes::TPersistent* RVData);
	DYNAMIC void __fastcall Assign(TCustomRVItemInfo* Source);
	DYNAMIC bool __fastcall SetExtraIntProperty(TRVExtraItemProperty Prop, int Value);
	DYNAMIC bool __fastcall GetExtraIntProperty(TRVExtraItemProperty Prop, int &Value);
	DYNAMIC bool __fastcall ReadRVFHeaderTail(char * &P, Classes::TPersistent* RVData, bool UTF8Strings, bool &AssStyleNameUsed);
	virtual bool __fastcall GetBoolValue(TRVItemBoolProperty Prop);
	virtual Rvstyle::TRVStyleLength __fastcall GetBorderWidth(void);
	virtual Rvstyle::TRVStyleLength __fastcall GetBorderHeight(void);
	DYNAMIC void __fastcall ConvertToDifferentUnits(Rvstyle::TRVStyleUnits NewUnits, Rvstyle::TRVStyle* RVStyle, bool Recursive);
public:
	#pragma option push -w-inl
	/* TCustomRVItemInfo.Destroy */ inline __fastcall virtual ~TRVRectItemInfo(void) { }
	#pragma option pop
	
};


class DELPHICLASS TRVTabItemInfo;
class PASCALIMPLEMENTATION TRVTabItemInfo : public TRVRectItemInfo 
{
	typedef TRVRectItemInfo inherited;
	
private:
	void __fastcall DrawTab(Graphics::TCanvas* Canvas, int x, int y, Dlines::TRVDrawLineInfo* dli, Rvstyle::TRVStyle* Style, Rvstyle::TRVTextDrawStates TextDrawState, bool CanUseCustomPPI, bool RTL, bool SpecialChars, bool Printing, Rvstyle::TRVColorMode ColorMode);
	
protected:
	virtual int __fastcall GetAssociatedTextStyleNo(void);
	virtual void __fastcall SetAssociatedTextStyleNo(int Value);
	DYNAMIC AnsiString __fastcall SaveRVFHeaderTail(Classes::TPersistent* RVData);
	HIDESBASE int __fastcall GetActualStyleNo(Rvstyle::TRVStyle* RVStyle);
	
public:
	int TextStyleNo;
	AnsiString Leader;
	DYNAMIC bool __fastcall ReadRVFHeaderTail(char * &P, Classes::TPersistent* RVData, bool UTF8Strings, bool &AssStyleNameUsed);
	virtual bool __fastcall GetBoolValueEx(TRVItemBoolPropertyEx Prop, Rvstyle::TRVStyle* RVStyle);
	virtual bool __fastcall GetBoolValue(TRVItemBoolProperty Prop);
	DYNAMIC void __fastcall MarkStylesInUse(TRVDeleteUnusedStylesData* Data);
	DYNAMIC void __fastcall UpdateStyles(TRVDeleteUnusedStylesData* Data);
	virtual void __fastcall Paint(int x, int y, Graphics::TCanvas* Canvas, TRVItemDrawStates State, Rvstyle::TRVStyle* Style, Dlines::TRVDrawLineInfo* dli);
	virtual void __fastcall Print(Graphics::TCanvas* Canvas, int x, int y, int x2, bool Preview, bool Correction, const Rvstyle::TRVScreenAndDevice &sad, Rvscroll::TRVScroller* RichView, Dlines::TRVDrawLineInfo* dli, int Part, Rvstyle::TRVColorMode ColorMode, Classes::TPersistent* RVData);
	DYNAMIC void __fastcall ApplyStyleConversion(Classes::TPersistent* RVData, int ItemNo, int UserData, TRVEStyleConversionType ConvType);
	virtual void __fastcall OnDocWidthChange(int DocWidth, Dlines::TRVDrawLineInfo* dli, bool Printing, Graphics::TCanvas* Canvas, Classes::TPersistent* RVData, Rvstyle::PRVScreenAndDevice sad, int &HShift, int &Desc, bool NoCaching, bool Reformatting, bool UseFormatCanvas);
	DYNAMIC void __fastcall SaveRVF(Classes::TStream* Stream, Classes::TPersistent* RVData, int ItemNo, int ParaNo, const AnsiString Name, TRVMultiDrawItemPart* Part, bool ForceSameAsPrev);
	DYNAMIC void __fastcall SaveRTF(Classes::TStream* Stream, const AnsiString Path, Classes::TPersistent* RVData, int ItemNo, double TwipsPerPixel, int Level, Rvclasses::TRVColorList* ColorList, Rvclasses::TRVIntegerList* StyleToFont, Rvclasses::TRVIntegerList* ListOverrideOffsetsList1, Rvclasses::TRVIntegerList* ListOverrideOffsetsList2, Rvclasses::TRVList* FontTable, bool HiddenParent);
	DYNAMIC void __fastcall SaveToHTML(Classes::TStream* Stream, Classes::TPersistent* RVData, int ItemNo, const AnsiString Text, const AnsiString Path, const AnsiString imgSavePrefix, int &imgSaveNo, Graphics::TColor CurrentFileColor, Rvstyle::TRVSaveOptions SaveOptions, bool UseCSS, Rvclasses::TRVList* Bullets);
	DYNAMIC AnsiString __fastcall AsText(int LineWidth, Classes::TPersistent* RVData, const AnsiString Text, const AnsiString Path, bool TextOnly, bool Unicode);
public:
	#pragma option push -w-inl
	/* TRVRectItemInfo.Create */ inline __fastcall virtual TRVTabItemInfo(Classes::TPersistent* RVData) : TRVRectItemInfo(RVData) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TCustomRVItemInfo.Destroy */ inline __fastcall virtual ~TRVTabItemInfo(void) { }
	#pragma option pop
	
};


class DELPHICLASS TRVControlItemInfo;
class PASCALIMPLEMENTATION TRVControlItemInfo : public TRVRectItemInfo 
{
	typedef TRVRectItemInfo inherited;
	
protected:
	bool FResizable;
	bool FVisible;
	bool FShared;
	DYNAMIC int __fastcall GetRVFExtraPropertyCount(void);
	DYNAMIC void __fastcall SaveRVFExtraProperties(Classes::TStream* Stream);
	
public:
	Controls::TControl* Control;
	int PercentWidth;
	__fastcall TRVControlItemInfo(Classes::TPersistent* RVData, Controls::TControl* AControl, Rvstyle::TRVVAlign AVAlign);
	__fastcall virtual TRVControlItemInfo(Classes::TPersistent* RVData);
	virtual int __fastcall GetHeight(Rvstyle::TRVStyle* RVStyle);
	virtual int __fastcall GetWidth(Rvstyle::TRVStyle* RVStyle);
	virtual int __fastcall GetHeightEx(Rvstyle::TRVStyle* RVStyle, Rvstyle::PRVScreenAndDevice sad);
	virtual int __fastcall GetWidthEx(Rvstyle::TRVStyle* RVStyle, Rvstyle::PRVScreenAndDevice sad);
	DYNAMIC void __fastcall Assign(TCustomRVItemInfo* Source);
	__fastcall virtual ~TRVControlItemInfo(void);
	virtual int __fastcall GetMinWidth(Rvstyle::PRVScreenAndDevice sad, Graphics::TCanvas* Canvas, Classes::TPersistent* RVData);
	virtual void __fastcall AdjustInserted(int x, int y, bool adjusty, Rvstyle::TRVStyle* RVStyle);
	virtual bool __fastcall PrintToBitmap(Graphics::TBitmap* Bkgnd, bool Preview, Rvscroll::TRVScroller* RichView, Dlines::TRVDrawLineInfo* dli, int Part, Rvstyle::TRVColorMode ColorMode);
	virtual Dlines::TRVDrawLineInfo* __fastcall CreatePrintingDrawItem(System::TObject* RVData, System::TObject* ParaStyle, const Rvstyle::TRVScreenAndDevice &sad);
	virtual void __fastcall Paint(int x, int y, Graphics::TCanvas* Canvas, TRVItemDrawStates State, Rvstyle::TRVStyle* Style, Dlines::TRVDrawLineInfo* dli);
	DYNAMIC bool __fastcall OwnsControl(Controls::TControl* AControl);
	DYNAMIC AnsiString __fastcall AsText(int LineWidth, Classes::TPersistent* RVData, const AnsiString Text, const AnsiString Path, bool TextOnly, bool Unicode);
	DYNAMIC void __fastcall SaveToHTML(Classes::TStream* Stream, Classes::TPersistent* RVData, int ItemNo, const AnsiString Text, const AnsiString Path, const AnsiString imgSavePrefix, int &imgSaveNo, Graphics::TColor CurrentFileColor, Rvstyle::TRVSaveOptions SaveOptions, bool UseCSS, Rvclasses::TRVList* Bullets);
	DYNAMIC bool __fastcall ReadRVFLine(const AnsiString s, Classes::TPersistent* RVData, int ReadType, int LineNo, int LineCount, AnsiString &Name, TRVFReadMode &ReadMode, TRVFReadState &ReadState, bool UTF8Strings, bool &AssStyleNameUsed);
	DYNAMIC void __fastcall SaveRVF(Classes::TStream* Stream, Classes::TPersistent* RVData, int ItemNo, int ParaNo, const AnsiString Name, TRVMultiDrawItemPart* Part, bool ForceSameAsPrev);
	DYNAMIC bool __fastcall SetExtraIntProperty(TRVExtraItemProperty Prop, int Value);
	DYNAMIC bool __fastcall GetExtraIntProperty(TRVExtraItemProperty Prop, int &Value);
	DYNAMIC void __fastcall SaveRTF(Classes::TStream* Stream, const AnsiString Path, Classes::TPersistent* RVData, int ItemNo, double TwipsPerPixel, int Level, Rvclasses::TRVColorList* ColorList, Rvclasses::TRVIntegerList* StyleToFont, Rvclasses::TRVIntegerList* ListOverrideOffsetsList1, Rvclasses::TRVIntegerList* ListOverrideOffsetsList2, Rvclasses::TRVList* FontTable, bool HiddenParent);
	virtual bool __fastcall GetBoolValue(TRVItemBoolProperty Prop);
	virtual bool __fastcall GetBoolValueEx(TRVItemBoolPropertyEx Prop, Rvstyle::TRVStyle* RVStyle);
	virtual int __fastcall GetImageHeight(Rvstyle::TRVStyle* RVStyle);
	virtual int __fastcall GetImageWidth(Rvstyle::TRVStyle* RVStyle);
	DYNAMIC void __fastcall MovingToUndoList(int ItemNo, System::TObject* RVData, System::TObject* AContainerUndoItem);
	DYNAMIC void __fastcall MovingFromUndoList(int ItemNo, System::TObject* RVData);
	DYNAMIC void __fastcall Hiding(void);
	DYNAMIC void __fastcall Unhiding(System::TObject* RVData);
	virtual void __fastcall Inserting(System::TObject* RVData, AnsiString &Text, bool Safe);
	DYNAMIC void __fastcall Focusing(void);
	virtual void __fastcall OnDocWidthChange(int DocWidth, Dlines::TRVDrawLineInfo* dli, bool Printing, Graphics::TCanvas* Canvas, Classes::TPersistent* RVData, Rvstyle::PRVScreenAndDevice sad, int &HShift, int &Desc, bool NoCaching, bool Reformatting, bool UseFormatCanvas);
	__property int MinHeightOnPage = {read=FMinHeightOnPage, write=FMinHeightOnPage, nodefault};
};


class DELPHICLASS TRVGraphicItemInfo;
class PASCALIMPLEMENTATION TRVGraphicItemInfo : public TRVRectItemInfo 
{
	typedef TRVRectItemInfo inherited;
	
protected:
	System::TObject* FAnimator;
	bool FResizable;
	bool FShared;
	DYNAMIC int __fastcall GetRVFExtraPropertyCount(void);
	DYNAMIC void __fastcall SaveRVFExtraProperties(Classes::TStream* Stream);
	void __fastcall PrepareImage(void);
	
public:
	Graphics::TGraphic* Image;
	Graphics::TGraphic* ImageCopy;
	Rvstyle::TRVStyleLength ImageWidth;
	Rvstyle::TRVStyleLength ImageHeight;
	int Interval;
	bool NoHTMLImageSize;
	AnsiString Alt;
	AnsiString ImageFileName;
	__fastcall virtual TRVGraphicItemInfo(Classes::TPersistent* RVData, Graphics::TGraphic* AImage, Rvstyle::TRVVAlign AVAlign);
	__fastcall virtual TRVGraphicItemInfo(Classes::TPersistent* RVData);
	virtual int __fastcall GetHeight(Rvstyle::TRVStyle* RVStyle);
	virtual int __fastcall GetWidth(Rvstyle::TRVStyle* RVStyle);
	virtual int __fastcall GetHeightEx(Rvstyle::TRVStyle* RVStyle, Rvstyle::PRVScreenAndDevice sad);
	virtual int __fastcall GetWidthEx(Rvstyle::TRVStyle* RVStyle, Rvstyle::PRVScreenAndDevice sad);
	DYNAMIC void __fastcall ConvertToDifferentUnits(Rvstyle::TRVStyleUnits NewUnits, Rvstyle::TRVStyle* RVStyle, bool Recursive);
	DYNAMIC void __fastcall Assign(TCustomRVItemInfo* Source);
	DYNAMIC void __fastcall TransferProperties(TCustomRVItemInfo* Source, Classes::TPersistent* RVData);
	DYNAMIC bool __fastcall SetExtraIntProperty(TRVExtraItemProperty Prop, int Value);
	DYNAMIC bool __fastcall GetExtraIntProperty(TRVExtraItemProperty Prop, int &Value);
	DYNAMIC bool __fastcall SetExtraStrProperty(TRVExtraItemStrProperty Prop, const AnsiString Value);
	DYNAMIC bool __fastcall GetExtraStrProperty(TRVExtraItemStrProperty Prop, AnsiString &Value);
	DYNAMIC void __fastcall UpdatePaletteInfo(Rvscroll::TRVPaletteAction PaletteAction, bool ForceRecreateCopy, HPALETTE Palette, Windows::PLogPalette LogPalette);
	virtual int __fastcall GetMinWidth(Rvstyle::PRVScreenAndDevice sad, Graphics::TCanvas* Canvas, Classes::TPersistent* RVData);
	__fastcall virtual ~TRVGraphicItemInfo(void);
	virtual Graphics::TGraphic* __fastcall AsImage(void);
	virtual void __fastcall Paint(int x, int y, Graphics::TCanvas* Canvas, TRVItemDrawStates State, Rvstyle::TRVStyle* Style, Dlines::TRVDrawLineInfo* dli);
	virtual bool __fastcall GetBoolValue(TRVItemBoolProperty Prop);
	virtual bool __fastcall GetBoolValueEx(TRVItemBoolPropertyEx Prop, Rvstyle::TRVStyle* RVStyle);
	DYNAMIC void __fastcall SaveToHTML(Classes::TStream* Stream, Classes::TPersistent* RVData, int ItemNo, const AnsiString Text, const AnsiString Path, const AnsiString imgSavePrefix, int &imgSaveNo, Graphics::TColor CurrentFileColor, Rvstyle::TRVSaveOptions SaveOptions, bool UseCSS, Rvclasses::TRVList* Bullets);
	DYNAMIC bool __fastcall ReadRVFLine(const AnsiString s, Classes::TPersistent* RVData, int ReadType, int LineNo, int LineCount, AnsiString &Name, TRVFReadMode &ReadMode, TRVFReadState &ReadState, bool UTF8Strings, bool &AssStyleNameUsed);
	DYNAMIC void __fastcall SaveRVF(Classes::TStream* Stream, Classes::TPersistent* RVData, int ItemNo, int ParaNo, const AnsiString Name, TRVMultiDrawItemPart* Part, bool ForceSameAsPrev);
	DYNAMIC void __fastcall SaveRTF(Classes::TStream* Stream, const AnsiString Path, Classes::TPersistent* RVData, int ItemNo, double TwipsPerPixel, int Level, Rvclasses::TRVColorList* ColorList, Rvclasses::TRVIntegerList* StyleToFont, Rvclasses::TRVIntegerList* ListOverrideOffsetsList1, Rvclasses::TRVIntegerList* ListOverrideOffsetsList2, Rvclasses::TRVList* FontTable, bool HiddenParent);
	virtual bool __fastcall PrintToBitmap(Graphics::TBitmap* Bkgnd, bool Preview, Rvscroll::TRVScroller* RichView, Dlines::TRVDrawLineInfo* dli, int Part, Rvstyle::TRVColorMode ColorMode);
	virtual void __fastcall Print(Graphics::TCanvas* Canvas, int x, int y, int x2, bool Preview, bool Correction, const Rvstyle::TRVScreenAndDevice &sad, Rvscroll::TRVScroller* RichView, Dlines::TRVDrawLineInfo* dli, int Part, Rvstyle::TRVColorMode ColorMode, Classes::TPersistent* RVData);
	virtual int __fastcall GetImageHeight(Rvstyle::TRVStyle* RVStyle);
	virtual int __fastcall GetImageWidth(Rvstyle::TRVStyle* RVStyle);
	virtual int __fastcall GetImageHeightEx(Rvstyle::TRVStyle* RVStyle, Rvstyle::PRVScreenAndDevice sad);
	virtual int __fastcall GetImageWidthEx(Rvstyle::TRVStyle* RVStyle, Rvstyle::PRVScreenAndDevice sad);
	DYNAMIC void __fastcall MovingToUndoList(int ItemNo, System::TObject* RVData, System::TObject* AContainerUndoItem);
	virtual Dlines::TRVDrawLineInfo* __fastcall CreatePrintingDrawItem(System::TObject* RVData, System::TObject* ParaStyle, const Rvstyle::TRVScreenAndDevice &sad);
	DYNAMIC void __fastcall UpdateAnimator(System::TObject* RVData);
	__property int MinHeightOnPage = {read=FMinHeightOnPage, write=FMinHeightOnPage, nodefault};
	__property bool Shared = {read=FShared, write=FShared, nodefault};
};


typedef TMetaClass*TRVGraphicItemInfoClass;

class DELPHICLASS TRVHotGraphicItemInfo;
class PASCALIMPLEMENTATION TRVHotGraphicItemInfo : public TRVGraphicItemInfo 
{
	typedef TRVGraphicItemInfo inherited;
	
public:
	virtual bool __fastcall GetBoolValueEx(TRVItemBoolPropertyEx Prop, Rvstyle::TRVStyle* RVStyle);
	__fastcall virtual TRVHotGraphicItemInfo(Classes::TPersistent* RVData, Graphics::TGraphic* AImage, Rvstyle::TRVVAlign AVAlign);
	DYNAMIC void __fastcall Execute(Classes::TPersistent* RVData);
public:
	#pragma option push -w-inl
	/* TRVGraphicItemInfo.Create */ inline __fastcall virtual TRVHotGraphicItemInfo(Classes::TPersistent* RVData) : TRVGraphicItemInfo(RVData) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TRVGraphicItemInfo.Destroy */ inline __fastcall virtual ~TRVHotGraphicItemInfo(void) { }
	#pragma option pop
	
};


class DELPHICLASS TRVBulletItemInfo;
class PASCALIMPLEMENTATION TRVBulletItemInfo : public TRVRectItemInfo 
{
	typedef TRVRectItemInfo inherited;
	
protected:
	virtual int __fastcall GetImageIndex(bool Hot);
	DYNAMIC AnsiString __fastcall SaveRVFHeaderTail(Classes::TPersistent* RVData);
	DYNAMIC int __fastcall GetRVFExtraPropertyCount(void);
	DYNAMIC void __fastcall SaveRVFExtraProperties(Classes::TStream* Stream);
	
public:
	Imglist::TCustomImageList* ImageList;
	int ImageIndex;
	bool NoHTMLImageSize;
	AnsiString Alt;
	__fastcall TRVBulletItemInfo(Classes::TPersistent* RVData, int AImageIndex, Imglist::TCustomImageList* AImageList, Rvstyle::TRVVAlign AVAlign);
	DYNAMIC void __fastcall SaveToHTML(Classes::TStream* Stream, Classes::TPersistent* RVData, int ItemNo, const AnsiString Text, const AnsiString Path, const AnsiString imgSavePrefix, int &imgSaveNo, Graphics::TColor CurrentFileColor, Rvstyle::TRVSaveOptions SaveOptions, bool UseCSS, Rvclasses::TRVList* Bullets);
	virtual int __fastcall GetHeight(Rvstyle::TRVStyle* RVStyle);
	virtual int __fastcall GetWidth(Rvstyle::TRVStyle* RVStyle);
	virtual int __fastcall GetHeightEx(Rvstyle::TRVStyle* RVStyle, Rvstyle::PRVScreenAndDevice sad);
	virtual int __fastcall GetWidthEx(Rvstyle::TRVStyle* RVStyle, Rvstyle::PRVScreenAndDevice sad);
	DYNAMIC void __fastcall Assign(TCustomRVItemInfo* Source);
	virtual int __fastcall GetMinWidth(Rvstyle::PRVScreenAndDevice sad, Graphics::TCanvas* Canvas, Classes::TPersistent* RVData);
	virtual void __fastcall Paint(int x, int y, Graphics::TCanvas* Canvas, TRVItemDrawStates State, Rvstyle::TRVStyle* Style, Dlines::TRVDrawLineInfo* dli);
	virtual bool __fastcall PrintToBitmap(Graphics::TBitmap* Bkgnd, bool Preview, Rvscroll::TRVScroller* RichView, Dlines::TRVDrawLineInfo* dli, int Part, Rvstyle::TRVColorMode ColorMode);
	DYNAMIC bool __fastcall ReadRVFHeaderTail(char * &P, Classes::TPersistent* RVData, bool UTF8Strings, bool &AssStyleNameUsed);
	DYNAMIC bool __fastcall ReadRVFLine(const AnsiString s, Classes::TPersistent* RVData, int ReadType, int LineNo, int LineCount, AnsiString &Name, TRVFReadMode &ReadMode, TRVFReadState &ReadState, bool UTF8Strings, bool &AssStyleNameUsed);
	DYNAMIC void __fastcall SaveRVF(Classes::TStream* Stream, Classes::TPersistent* RVData, int ItemNo, int ParaNo, const AnsiString Name, TRVMultiDrawItemPart* Part, bool ForceSameAsPrev);
	DYNAMIC void __fastcall SaveRTF(Classes::TStream* Stream, const AnsiString Path, Classes::TPersistent* RVData, int ItemNo, double TwipsPerPixel, int Level, Rvclasses::TRVColorList* ColorList, Rvclasses::TRVIntegerList* StyleToFont, Rvclasses::TRVIntegerList* ListOverrideOffsetsList1, Rvclasses::TRVIntegerList* ListOverrideOffsetsList2, Rvclasses::TRVList* FontTable, bool HiddenParent);
	virtual bool __fastcall GetBoolValue(TRVItemBoolProperty Prop);
	virtual bool __fastcall GetBoolValueEx(TRVItemBoolPropertyEx Prop, Rvstyle::TRVStyle* RVStyle);
	DYNAMIC bool __fastcall SetExtraIntProperty(TRVExtraItemProperty Prop, int Value);
	DYNAMIC bool __fastcall GetExtraIntProperty(TRVExtraItemProperty Prop, int &Value);
	DYNAMIC bool __fastcall SetExtraStrProperty(TRVExtraItemStrProperty Prop, const AnsiString Value);
	DYNAMIC bool __fastcall GetExtraStrProperty(TRVExtraItemStrProperty Prop, AnsiString &Value);
	virtual int __fastcall GetImageHeight(Rvstyle::TRVStyle* RVStyle);
	virtual int __fastcall GetImageWidth(Rvstyle::TRVStyle* RVStyle);
public:
	#pragma option push -w-inl
	/* TRVRectItemInfo.Create */ inline __fastcall virtual TRVBulletItemInfo(Classes::TPersistent* RVData) : TRVRectItemInfo(RVData) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TCustomRVItemInfo.Destroy */ inline __fastcall virtual ~TRVBulletItemInfo(void) { }
	#pragma option pop
	
};


class DELPHICLASS TRVHotspotItemInfo;
class PASCALIMPLEMENTATION TRVHotspotItemInfo : public TRVBulletItemInfo 
{
	typedef TRVBulletItemInfo inherited;
	
protected:
	virtual int __fastcall GetImageIndex(bool Hot);
	DYNAMIC AnsiString __fastcall SaveRVFHeaderTail(Classes::TPersistent* RVData);
	
public:
	int HotImageIndex;
	__fastcall TRVHotspotItemInfo(Classes::TPersistent* RVData, int AImageIndex, int AHotImageIndex, Imglist::TCustomImageList* AImageList, Rvstyle::TRVVAlign AVAlign);
	DYNAMIC void __fastcall Assign(TCustomRVItemInfo* Source);
	DYNAMIC bool __fastcall ReadRVFHeaderTail(char * &P, Classes::TPersistent* RVData, bool UTF8Strings, bool &AssStyleNameUsed);
	DYNAMIC void __fastcall SaveRVF(Classes::TStream* Stream, Classes::TPersistent* RVData, int ItemNo, int ParaNo, const AnsiString Name, TRVMultiDrawItemPart* Part, bool ForceSameAsPrev);
	virtual bool __fastcall GetBoolValueEx(TRVItemBoolPropertyEx Prop, Rvstyle::TRVStyle* RVStyle);
	DYNAMIC void __fastcall Execute(Classes::TPersistent* RVData);
public:
	#pragma option push -w-inl
	/* TRVRectItemInfo.Create */ inline __fastcall virtual TRVHotspotItemInfo(Classes::TPersistent* RVData) : TRVBulletItemInfo(RVData) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TCustomRVItemInfo.Destroy */ inline __fastcall virtual ~TRVHotspotItemInfo(void) { }
	#pragma option pop
	
};


class DELPHICLASS TRVBreakItemInfo;
class PASCALIMPLEMENTATION TRVBreakItemInfo : public TRVFullLineItemInfo 
{
	typedef TRVFullLineItemInfo inherited;
	
protected:
	DYNAMIC AnsiString __fastcall SaveRVFHeaderTail(Classes::TPersistent* RVData);
	
public:
	Rvstyle::TRVStyleLength LineWidth;
	Rvstyle::TRVBreakStyle Style;
	Graphics::TColor Color;
	__fastcall TRVBreakItemInfo(Classes::TPersistent* RVData, Byte ALineWidth, Rvstyle::TRVBreakStyle AStyle, Graphics::TColor AColor);
	DYNAMIC void __fastcall Assign(TCustomRVItemInfo* Source);
	virtual void __fastcall OnDocWidthChange(int DocWidth, Dlines::TRVDrawLineInfo* dli, bool Printing, Graphics::TCanvas* Canvas, Classes::TPersistent* RVData, Rvstyle::PRVScreenAndDevice sad, int &HShift, int &Desc, bool NoCaching, bool Reformatting, bool UseFormatCanvas);
	virtual void __fastcall PaintFullWidth(int Left, int Right, int Top, Graphics::TCanvas* Canvas, TRVItemDrawStates State, Rvstyle::TRVStyle* Style, const Types::TRect &ClipRect, Dlines::TRVDrawLineInfo* dli, int ExtraX, int ExtraY);
	virtual void __fastcall Print(Graphics::TCanvas* Canvas, int x, int y, int x2, bool Preview, bool Correction, const Rvstyle::TRVScreenAndDevice &sad, Rvscroll::TRVScroller* RichView, Dlines::TRVDrawLineInfo* dli, int Part, Rvstyle::TRVColorMode ColorMode, Classes::TPersistent* RVData);
	DYNAMIC AnsiString __fastcall AsText(int LineWidth, Classes::TPersistent* RVData, const AnsiString Text, const AnsiString Path, bool TextOnly, bool Unicode);
	DYNAMIC void __fastcall SaveToHTML(Classes::TStream* Stream, Classes::TPersistent* RVData, int ItemNo, const AnsiString Text, const AnsiString Path, const AnsiString imgSavePrefix, int &imgSaveNo, Graphics::TColor CurrentFileColor, Rvstyle::TRVSaveOptions SaveOptions, bool UseCSS, Rvclasses::TRVList* Bullets);
	DYNAMIC bool __fastcall ReadRVFHeaderTail(char * &P, Classes::TPersistent* RVData, bool UTF8Strings, bool &AssStyleNameUsed);
	DYNAMIC void __fastcall SaveRVF(Classes::TStream* Stream, Classes::TPersistent* RVData, int ItemNo, int ParaNo, const AnsiString Name, TRVMultiDrawItemPart* Part, bool ForceSameAsPrev);
	DYNAMIC void __fastcall SaveRTF(Classes::TStream* Stream, const AnsiString Path, Classes::TPersistent* RVData, int ItemNo, double TwipsPerPixel, int Level, Rvclasses::TRVColorList* ColorList, Rvclasses::TRVIntegerList* StyleToFont, Rvclasses::TRVIntegerList* ListOverrideOffsetsList1, Rvclasses::TRVIntegerList* ListOverrideOffsetsList2, Rvclasses::TRVList* FontTable, bool HiddenParent);
	DYNAMIC void __fastcall FillRTFTables(Rvclasses::TRVColorList* ColorList, Rvclasses::TRVIntegerList* ListOverrideCountList, Classes::TPersistent* RVData);
	virtual bool __fastcall GetBoolValue(TRVItemBoolProperty Prop);
	virtual bool __fastcall GetBoolValueEx(TRVItemBoolPropertyEx Prop, Rvstyle::TRVStyle* RVStyle);
	DYNAMIC void __fastcall ConvertToDifferentUnits(Rvstyle::TRVStyleUnits NewUnits, Rvstyle::TRVStyle* RVStyle, bool Recursive);
public:
	#pragma option push -w-inl
	/* TCustomRVItemInfo.Create */ inline __fastcall virtual TRVBreakItemInfo(Classes::TPersistent* RVData) : TRVFullLineItemInfo(RVData) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TCustomRVItemInfo.Destroy */ inline __fastcall virtual ~TRVBreakItemInfo(void) { }
	#pragma option pop
	
};


//-- var, const, procedure ---------------------------------------------------
extern PACKAGE TMetaClass*RichViewTextItemClass;
extern PACKAGE int RichViewFloatingPlaceHolderHeight;
static const Shortint RVItemOptionsMask = 0x3f;
extern PACKAGE TRVItemOptions __fastcall RVFGetItemOptions(TRVItemOptions ItemOptions, bool ForceSameAsPrev);
extern PACKAGE void __fastcall WriteRVFExtraIntPropertyStr(Classes::TStream* Stream, TRVExtraItemProperty Prop, int Value);
extern PACKAGE void __fastcall WriteRVFExtraStrPropertyStr(Classes::TStream* Stream, TRVExtraItemStrProperty Prop, const AnsiString Value);
extern PACKAGE void __fastcall RegisterRichViewItemClass(int StyleNo, TMetaClass* ItemClass);
extern PACKAGE TCustomRVItemInfo* __fastcall CreateRichViewItem(int StyleNo, Classes::TPersistent* RVData);
extern PACKAGE TCustomRVItemInfo* __fastcall RV_DuplicateItem(TCustomRVItemInfo* Source, Classes::TPersistent* RVData, bool DuplicateCheckpoint);
extern PACKAGE AnsiString __fastcall RV_GetExtraIMGStr(Rvstyle::TRVSaveOptions SaveOptions, int Width, int Height, bool NoHTMLImageSize);
extern PACKAGE void __fastcall RVSaveImageToRTF(Classes::TStream* Stream, Rvstyle::TRVStyle* RVStyle, Graphics::TGraphic* Image, Rvstyle::TRVStyleLength ImageWidth, Rvstyle::TRVStyleLength ImageHeight, Rvstyle::TRVRTFOptions Options, System::TObject* Animator);
extern PACKAGE void __fastcall RVSaveImageListImageToRTF(Classes::TStream* Stream, double TwipsPerPixel, Imglist::TCustomImageList* ImageList, int ImageIndex, Rvstyle::TRVRTFOptions RTFOptions);
extern PACKAGE void __fastcall RVSaveImageSharedImageInHTML(Imglist::TCustomImageList* ImageList, int ImageIndex, Graphics::TGraphic* Graphic, AnsiString &Location, Classes::TPersistent* RVData, const AnsiString Path, const AnsiString imgSavePrefix, int &imgSaveNo, Graphics::TColor CurrentFileColor, Rvstyle::TRVSaveOptions SaveOptions, Rvclasses::TRVList* Bullets);
extern PACKAGE void __fastcall RVDrawEdge(Graphics::TCanvas* Canvas, const Types::TRect &r, Graphics::TColor TopLeftColor, Graphics::TColor BottomRightColor, int LineWidth, Rvgrin::TRVGraphicInterface* GraphicInterface);

}	/* namespace Rvitem */
using namespace Rvitem;
#pragma option pop	// -w-
#pragma option pop	// -Vx

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