// CodeGear C++Builder
// Copyright (c) 1995, 2007 by CodeGear
// All rights reserved

// (DO NOT EDIT: machine generated header) 'Srvprtinfo.pas' rev: 11.00

#ifndef SrvprtinfoHPP
#define SrvprtinfoHPP

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

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

namespace Srvprtinfo
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TSRVPrinterPaperFormat;
class PASCALIMPLEMENTATION TSRVPrinterPaperFormat : public System::TObject 
{
	typedef System::TObject inherited;
	
public:
	AnsiString Name;
	int PaperSizeCode;
	Types::TPoint PaperSize;
public:
	#pragma option push -w-inl
	/* TObject.Create */ inline __fastcall TSRVPrinterPaperFormat(void) : System::TObject() { }
	#pragma option pop
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~TSRVPrinterPaperFormat(void) { }
	#pragma option pop
	
};


class DELPHICLASS TSRVPrinterPaperFormatList;
class PASCALIMPLEMENTATION TSRVPrinterPaperFormatList : public Rvclasses::TRVList 
{
	typedef Rvclasses::TRVList inherited;
	
public:
	TSRVPrinterPaperFormat* operator[](int Index) { return Items[Index]; }
	
protected:
	virtual TSRVPrinterPaperFormat* __fastcall GetItems(int Index);
	virtual void __fastcall SetItems(int Index, const TSRVPrinterPaperFormat* Value);
	
public:
	__property TSRVPrinterPaperFormat* Items[int Index] = {read=GetItems, write=SetItems/*, default*/};
public:
	#pragma option push -w-inl
	/* TRVList.Destroy */ inline __fastcall virtual ~TSRVPrinterPaperFormatList(void) { }
	#pragma option pop
	
public:
	#pragma option push -w-inl
	/* TObject.Create */ inline __fastcall TSRVPrinterPaperFormatList(void) : Rvclasses::TRVList() { }
	#pragma option pop
	
};


class DELPHICLASS TSRVPrtInfo;
class PASCALIMPLEMENTATION TSRVPrtInfo : public System::TObject 
{
	typedef System::TObject inherited;
	
private:
	char Device[256];
	char Driver[256];
	char Port[256];
	unsigned DeviceMode;
	Classes::TStrings* FPaperFormats;
	TSRVPrinterPaperFormatList* FPaperFormatsList;
	HDC __fastcall GetDC(void);
	int __fastcall GetMarginMMBottom(void);
	int __fastcall GetMarginMMLeft(void);
	int __fastcall GetMarginMMRight(void);
	int __fastcall GetMarginMMTop(void);
	int __fastcall GetMarginPixelsX(void);
	int __fastcall GetMarginMM_X(void);
	int __fastcall GetMarginMM_Y(void);
	int __fastcall GetMarginPixelsY(void);
	Printers::TPrinterOrientation __fastcall GetOrientation(void);
	int __fastcall GetPageHeightMM(void);
	int __fastcall GetPageHeightPixels(void);
	int __fastcall GetPageResolutionX(void);
	int __fastcall GetPageResolutionY(void);
	int __fastcall GetPageWidthMM(void);
	int __fastcall GetPageWidthPixels(void);
	void __fastcall ReadPaperFormats(void);
	Classes::TStrings* __fastcall GetPaperFormats(void);
	TSRVPrinterPaperFormatList* __fastcall GetPaperFormatsList(void);
	int __fastcall GetPaperWidth(void);
	int __fastcall GetPaperHeight(void);
	int __fastcall GetPaperSizeCode(void);
	int __fastcall GetPixelsPerInchX(void);
	int __fastcall GetPixelsPerInchY(void);
	int __fastcall GetPrintFieldWidthMM(void);
	int __fastcall GetPrintFieldHeightMM(void);
	void __fastcall SetOrientation(const Printers::TPrinterOrientation Value);
	void __fastcall SetPaperSizeCode(const int Value);
	__property HDC DC = {read=GetDC, nodefault};
	
public:
	_devicemodeA *PrinterMode;
	void __fastcall UpdateCurPrinterData(void);
	__fastcall TSRVPrtInfo(bool GetPrinterDataImmediatly);
	__fastcall virtual ~TSRVPrtInfo(void);
	bool __fastcall BeginUpdate(void);
	int __fastcall ConvertPixelsToMM_X(int Value);
	int __fastcall ConvertPixelsToMM_Y(int Value);
	int __fastcall ConvertMMToPixels_X(Extended Value);
	int __fastcall ConvertMMToPixels_Y(Extended Value);
	void __fastcall EndUpdate(void);
	void __fastcall ShowCurPrinterDialog(unsigned ParentHandle);
	__property int MarginMMBottom = {read=GetMarginMMBottom, nodefault};
	__property int MarginMMLeft = {read=GetMarginMMLeft, nodefault};
	__property int MarginMMRight = {read=GetMarginMMRight, nodefault};
	__property int MarginMMTop = {read=GetMarginMMTop, nodefault};
	__property int MarginPixelsX = {read=GetMarginPixelsX, nodefault};
	__property int MarginMM_X = {read=GetMarginMM_X, nodefault};
	__property int MarginMM_Y = {read=GetMarginMM_Y, nodefault};
	__property int MarginPixelsY = {read=GetMarginPixelsY, nodefault};
	__property Printers::TPrinterOrientation Orientation = {read=GetOrientation, write=SetOrientation, nodefault};
	__property int PaperWidth = {read=GetPaperWidth, nodefault};
	__property int PaperHeight = {read=GetPaperHeight, nodefault};
	__property int PageHeightMM = {read=GetPageHeightMM, nodefault};
	__property int PageHeightPixels = {read=GetPageHeightPixels, nodefault};
	__property int PageResolutionX = {read=GetPageResolutionX, nodefault};
	__property int PageResolutionY = {read=GetPageResolutionY, nodefault};
	__property int PageWidthMM = {read=GetPageWidthMM, nodefault};
	__property int PageWidthPixels = {read=GetPageWidthPixels, nodefault};
	__property int PaperSizeCode = {read=GetPaperSizeCode, write=SetPaperSizeCode, nodefault};
	__property Classes::TStrings* PaperFormats = {read=GetPaperFormats};
	__property TSRVPrinterPaperFormatList* PaperFormatsList = {read=GetPaperFormatsList, write=FPaperFormatsList};
	__property int PixelsPerInchX = {read=GetPixelsPerInchX, nodefault};
	__property int PixelsPerInchY = {read=GetPixelsPerInchY, nodefault};
	__property int PrintFieldWidthMM = {read=GetPrintFieldWidthMM, nodefault};
	__property int PrintFieldHeightMM = {read=GetPrintFieldHeightMM, nodefault};
};


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

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

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