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

// (DO NOT EDIT: machine generated header) 'MVFont.pas' rev: 5.00

#ifndef MVFontHPP
#define MVFontHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <Graphics.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <SysUtils.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.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:
	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 ;
	__property Color ;
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(void);
	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(Windows::TRect &Rect);
extern PACKAGE void __fastcall ExpandRect(Windows::TRect &Rect, const Windows::TPoint &P);
extern PACKAGE Windows::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 */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Mvfont;
#endif
#pragma option pop	// -w-
#pragma option pop	// -Vx

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