// CodeGear C++Builder
// Copyright (c) 1995, 2018 by Embarcadero Technologies, Inc.
// All rights reserved

// (DO NOT EDIT: machine generated header) 'FPdfExtensions.pas' rev: 33.00 (Windows)

#ifndef FpdfextensionsHPP
#define FpdfextensionsHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member 
#pragma pack(push,8)
#include <System.hpp>
#include <SysInit.hpp>
#include <FPdfView.hpp>

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

namespace Fpdfextensions
{
//-- forward type declarations -----------------------------------------------
struct UNSUPPORT_INFO;
struct FPDF_SYSFONTINFO;
struct FPDF_CharsetFontMap;
//-- type declarations -------------------------------------------------------
typedef UNSUPPORT_INFO *PUNSUPPORT_INFO;

typedef void __cdecl (*FSDK_UnSupport_Handler)(PUNSUPPORT_INFO pThis, int nType);

struct DECLSPEC_DRECORD UNSUPPORT_INFO
{
public:
	int version;
	FSDK_UnSupport_Handler FSDK_UnSupport_Handler;
};


typedef int __cdecl (*TFSDK_SetUnSpObjProcessHandler)(UNSUPPORT_INFO &unsp_info);

typedef void __cdecl (*TFSDK_SetTimeFunction)(void * func);

typedef void __cdecl (*TFSDK_SetLocaltimeFunction)(void * func);

typedef int __cdecl (*TFPDFDoc_GetPageMode)(void * document);

typedef FPDF_SYSFONTINFO *PFPDF_SYSFONTINFO;

typedef void __cdecl (*Release)(PFPDF_SYSFONTINFO pThis);

typedef void __cdecl (*EnumFonts)(PFPDF_SYSFONTINFO pThis, void * pMapper);

typedef void * __cdecl (*MapFont)(PFPDF_SYSFONTINFO pThis, int weight, int bItalic, int charset, int pitch_family, char * face, int &bExact);

typedef void * __cdecl (*GetFont)(PFPDF_SYSFONTINFO pThis, char * face);

typedef unsigned __cdecl (*GetFontData)(PFPDF_SYSFONTINFO pThis, void * hFont, unsigned table, System::PByte buffer, unsigned buf_size);

typedef unsigned __cdecl (*GetFaceName)(PFPDF_SYSFONTINFO pThis, void * hFont, char * buffer, unsigned buf_size);

typedef int __cdecl (*GetFontCharset)(PFPDF_SYSFONTINFO pThis, void * hFont);

typedef void __cdecl (*DeleteFont)(PFPDF_SYSFONTINFO pThis, void * hFont);

struct DECLSPEC_DRECORD FPDF_SYSFONTINFO
{
public:
	int version;
	Release Release;
	EnumFonts EnumFonts;
	MapFont MapFont;
	GetFont GetFont;
	GetFontData GetFontData;
	GetFaceName GetFaceName;
	GetFontCharset GetFontCharset;
	DeleteFont DeleteFont;
};


struct DECLSPEC_DRECORD FPDF_CharsetFontMap
{
public:
	int charset;
	char *fontname;
};


typedef FPDF_CharsetFontMap *PFPDF_CharsetFontMap;

typedef PFPDF_CharsetFontMap __cdecl (*TFPDF_GetDefaultTTFMap)(void);

typedef NativeUInt __cdecl (*TFPDF_GetDefaultTTFMapCount)(void);

typedef PFPDF_CharsetFontMap __cdecl (*TFPDF_GetDefaultTTFMapEntry)(NativeUInt index);

typedef void __cdecl (*TFPDF_AddInstalledFont)(void * mapper, char * face, int charset);

typedef void __cdecl (*TFPDF_SetSystemFontInfo)(FPDF_SYSFONTINFO &pFontInfo);

typedef PFPDF_SYSFONTINFO __cdecl (*TFPDF_GetDefaultSystemFontInfo)(void);

typedef void __cdecl (*TFPDF_FreeDefaultSystemFontInfo)(PFPDF_SYSFONTINFO pFontInfo);

//-- var, const, procedure ---------------------------------------------------
static const System::Int8 FPDF_UNSP_DOC_XFAFORM = System::Int8(0x1);
static const System::Int8 FPDF_UNSP_DOC_PORTABLECOLLECTION = System::Int8(0x2);
static const System::Int8 FPDF_UNSP_DOC_ATTACHMENT = System::Int8(0x3);
static const System::Int8 FPDF_UNSP_DOC_SECURITY = System::Int8(0x4);
static const System::Int8 FPDF_UNSP_DOC_SHAREDREVIEW = System::Int8(0x5);
static const System::Int8 FPDF_UNSP_DOC_SHAREDFORM_ACROBAT = System::Int8(0x6);
static const System::Int8 FPDF_UNSP_DOC_SHAREDFORM_FILESYSTEM = System::Int8(0x7);
static const System::Int8 FPDF_UNSP_DOC_SHAREDFORM_EMAIL = System::Int8(0x8);
static const System::Int8 FPDF_UNSP_ANNOT_3DANNOT = System::Int8(0xb);
static const System::Int8 FPDF_UNSP_ANNOT_MOVIE = System::Int8(0xc);
static const System::Int8 FPDF_UNSP_ANNOT_SOUND = System::Int8(0xd);
static const System::Int8 FPDF_UNSP_ANNOT_SCREEN_MEDIA = System::Int8(0xe);
static const System::Int8 FPDF_UNSP_ANNOT_SCREEN_RICHMEDIA = System::Int8(0xf);
static const System::Int8 FPDF_UNSP_ANNOT_ATTACHMENT = System::Int8(0x10);
static const System::Int8 FPDF_UNSP_ANNOT_SIG = System::Int8(0x11);
static const System::Int8 PAGEMODE_UNKNOWN = System::Int8(-1);
static const System::Int8 PAGEMODE_USENONE = System::Int8(0x0);
static const System::Int8 PAGEMODE_USEOUTLINES = System::Int8(0x1);
static const System::Int8 PAGEMODE_USETHUMBS = System::Int8(0x2);
static const System::Int8 PAGEMODE_FULLSCREEN = System::Int8(0x3);
static const System::Int8 PAGEMODE_USEOC = System::Int8(0x4);
static const System::Int8 PAGEMODE_USEATTACHMENTS = System::Int8(0x5);
static const System::Int8 FXFONT_ANSI_CHARSET = System::Int8(0x0);
static const System::Int8 FXFONT_DEFAULT_CHARSET = System::Int8(0x1);
static const System::Int8 FXFONT_SYMBOL_CHARSET = System::Int8(0x2);
static const System::Byte FXFONT_SHIFTJIS_CHARSET = System::Byte(0x80);
static const System::Byte FXFONT_HANGEUL_CHARSET = System::Byte(0x81);
static const System::Byte FXFONT_GB2312_CHARSET = System::Byte(0x86);
static const System::Byte FXFONT_CHINESEBIG5_CHARSET = System::Byte(0x88);
static const System::Byte FXFONT_GREEK_CHARSET = System::Byte(0xa1);
static const System::Byte FXFONT_VIETNAMESE_CHARSET = System::Byte(0xa3);
static const System::Byte FXFONT_HEBREW_CHARSET = System::Byte(0xb1);
static const System::Byte FXFONT_ARABIC_CHARSET = System::Byte(0xb2);
static const System::Byte FXFONT_CYRILLIC_CHARSET = System::Byte(0xcc);
static const System::Byte FXFONT_THAI_CHARSET = System::Byte(0xde);
static const System::Byte FXFONT_EASTERNEUROPEAN_CHARSET = System::Byte(0xee);
static const System::Int8 FXFONT_FF_FIXEDPITCH = System::Int8(0x1);
static const System::Int8 FXFONT_FF_ROMAN = System::Int8(0x10);
static const System::Int8 FXFONT_FF_SCRIPT = System::Int8(0x40);
static const System::Word FXFONT_FW_NORMAL = System::Word(0x190);
static const System::Word FXFONT_FW_BOLD = System::Word(0x2bc);
}	/* namespace Fpdfextensions */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_FPDFEXTENSIONS)
using namespace Fpdfextensions;
#endif
#pragma pack(pop)
#pragma option pop

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