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

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

#ifndef MvfontHPP
#define MvfontHPP

#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 <Windows.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit

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

namespace Mvfont
{
//-- type declarations -------------------------------------------------------
typedef void * *PPointer;

typedef Word TExtFontData[4];

typedef Word *PExtFontData;

#pragma option push -b-
enum MVFont__1 { fmBold, fmItalic, fmUnderline, fmStrikeOut, fmCondensed, fmUpward, fmDownward };
#pragma option pop

typedef Set<MVFont__1, fmBold, fmDownward>  TmvFontStyles;

class DELPHICLASS TmvFont;
class PASCALIMPLEMENTATION TmvFont : public Graphics::TFont 
{
	typedef Graphics::TFont inherited;
	
protected:
	HIDESBASE HFONT __fastcall GetHandle(void);
	virtual void __fastcall GetLogFont(tagLOGFONTA &LogFont);
	HIDESBASE TmvFontStyles __fastcall GetStyle(void);
	HIDESBASE void __fastcall SetHandle(HFONT Value);
	HIDESBASE void __fastcall SetStyle(TmvFontStyles Value);
	
public:
	HIDESBASE bool __fastcall HandleAllocated(void);
	void __fastcall HandleNeeded(void);
	__property HFONT Handle = {read=GetHandle, write=SetHandle, nodefault};
	
__published:
	__property TmvFontStyles Style = {read=GetStyle, write=SetStyle, default=0};
	__property Charset  = {default=1};
	__property Color  = {default=-16777208};
public:
	#pragma option push -w-inl
	/* TFont.Create */ inline __fastcall TmvFont(void) : Graphics::TFont() { }
	#pragma option pop
	#pragma option push -w-inl
	/* TFont.Destroy */ inline __fastcall virtual ~TmvFont(void) { }
	#pragma option pop
	
};


class DELPHICLASS TmvExtFont;
class PASCALIMPLEMENTATION TmvExtFont : public TmvFont 
{
	typedef TmvFont inherited;
	
private:
	bool __fastcall IsOrientStored(void);
	Word __fastcall GetExtValue(int Index);
	void __fastcall SetExtValue(int Index, Word Value);
	
protected:
	short __fastcall GetEscapement(void);
	virtual void __fastcall GetLogFont(tagLOGFONTA &LogFont);
	HIDESBASE AnsiString __fastcall GetName();
	short __fastcall GetOrient(void);
	Word __fastcall GetWeight(void);
	Word __fastcall GetWidth(void);
	void __fastcall SetEscapement(short Value);
	HIDESBASE void __fastcall SetName(AnsiString Value);
	void __fastcall SetOrient(short Value);
	void __fastcall SetWeight(Word Value);
	void __fastcall SetWidth(Word Value);
	
__published:
	__property Word Width = {read=GetWidth, write=SetWidth, default=0};
	__property Word Weight = {read=GetWeight, write=SetWeight, default=0};
	__property short Escapement = {read=GetEscapement, write=SetEscapement, default=0};
	__property short Orientation = {read=GetOrient, write=SetOrient, stored=IsOrientStored, nodefault};
	__property AnsiString Name = {read=GetName, write=SetName};
public:
	#pragma option push -w-inl
	/* TFont.Create */ inline __fastcall TmvExtFont(void) : TmvFont() { }
	#pragma option pop
	#pragma option push -w-inl
	/* TFont.Destroy */ inline __fastcall virtual ~TmvExtFont(void) { }
	#pragma option pop
	
};


class DELPHICLASS TClipboardStream;
class PASCALIMPLEMENTATION TClipboardStream : public Classes::TMemoryStream 
{
	typedef Classes::TMemoryStream inherited;
	
protected:
	unsigned FHandle;
	virtual void * __fastcall Realloc(int &NewCapacity);
	
public:
	__fastcall TClipboardStream(unsigned AHandle);
	unsigned __fastcall Handle(void);
public:
	#pragma option push -w-inl
	/* TMemoryStream.Destroy */ inline __fastcall virtual ~TClipboardStream(void) { }
	#pragma option pop
	
};


class DELPHICLASS TFileMapStream;
class PASCALIMPLEMENTATION TFileMapStream : public Classes::TMemoryStream 
{
	typedef Classes::TMemoryStream inherited;
	
private:
	int FFileHandle;
	int FMapHandle;
	int FFileSize;
	int FDelta;
	bool FReadOnly;
	void __fastcall FreeMapping(void);
	void __fastcall SetDelta(int Value);
	
protected:
	virtual void * __fastcall Realloc(int &NewCapacity);
	
public:
	__fastcall TFileMapStream(const AnsiString FileName, Word Mode);
	__fastcall virtual ~TFileMapStream(void);
	void __fastcall Flush(void);
	__property Capacity ;
	__property bool ReadOnly = {read=FReadOnly, nodefault};
	__property int Delta = {read=FDelta, write=SetDelta, nodefault};
};


//-- var, const, procedure ---------------------------------------------------
extern PACKAGE int __fastcall RoundToPowerOf2(int Value);
extern PACKAGE void __fastcall SwapInts(void *A, void *B);
extern PACKAGE void __fastcall NormRect(Types::TRect &Rect);
extern PACKAGE void __fastcall ExpandRect(Types::TRect &Rect, const Types::TPoint &P);
extern PACKAGE Types::TRect __fastcall ImgRect(Graphics::TGraphic* G);
extern PACKAGE void __fastcall AssignToBitmap(Graphics::TGraphic* Src, Graphics::TBitmap* BM);
extern PACKAGE void __fastcall AssignToMetafile(Graphics::TGraphic* Src, Graphics::TMetafile* MF);

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

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