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

// (DO NOT EDIT: machine generated header) 'FPdfDoc.pas' rev: 37.00 (Windows)

#ifndef FPdfDocHPP
#define FPdfDocHPP

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

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

namespace Fpdfdoc
{
//-- forward type declarations -----------------------------------------------
//-- type declarations -------------------------------------------------------
enum DECLSPEC_DENUM FPDF_FILEIDTYPE : unsigned int { FILEIDTYPE_PERMANENT, FILEIDTYPE_CHANGING };

typedef Fpdfview::FPDF_BOOKMARK __cdecl (*TFPDFBookmark_GetFirstChild)(Fpdfview::FPDF_DOCUMENT document, Fpdfview::FPDF_BOOKMARK bookmark);

typedef Fpdfview::FPDF_BOOKMARK __cdecl (*TFPDFBookmark_GetNextSibling)(Fpdfview::FPDF_DOCUMENT document, Fpdfview::FPDF_BOOKMARK bookmark);

typedef System::LongWord __cdecl (*TFPDFBookmark_GetTitle)(Fpdfview::FPDF_BOOKMARK bookmark, void * buffer, System::LongWord buflen);

typedef int __cdecl (*TFPDFBookmark_GetCount)(Fpdfview::FPDF_BOOKMARK bookmark);

typedef Fpdfview::FPDF_BOOKMARK __cdecl (*TFPDFBookmark_Find)(Fpdfview::FPDF_DOCUMENT document, Fpdfview::FPDF_WIDESTRING title);

typedef Fpdfview::FPDF_DEST __cdecl (*TFPDFBookmark_GetDest)(Fpdfview::FPDF_DOCUMENT document, Fpdfview::FPDF_BOOKMARK bookmark);

typedef Fpdfview::FPDF_ACTION __cdecl (*TFPDFBookmark_GetAction)(Fpdfview::FPDF_BOOKMARK bookmark);

typedef System::LongWord __cdecl (*TFPDFAction_GetType)(Fpdfview::FPDF_ACTION action);

typedef Fpdfview::FPDF_DEST __cdecl (*TFPDFAction_GetDest)(Fpdfview::FPDF_DOCUMENT document, Fpdfview::FPDF_ACTION action);

typedef System::LongWord __cdecl (*TPDFAction_GetFilePath)(Fpdfview::FPDF_ACTION action, void * buffer, System::LongWord buflen);

typedef System::LongWord __cdecl (*TFPDFAction_GetURIPath)(Fpdfview::FPDF_DOCUMENT document, Fpdfview::FPDF_ACTION action, void * buffer, System::LongWord buflen);

typedef int __cdecl (*TFPDFDest_GetDestPageIndex)(Fpdfview::FPDF_DOCUMENT document, Fpdfview::FPDF_DEST dest);

typedef System::LongWord __cdecl (*TFPDFDest_GetView)(Fpdfview::FPDF_DEST dest, System::LongWord &pNumParams, Fpdfview::FS_FLOAT &pParams);

typedef Fpdfview::FPDF_BOOL __cdecl (*TFPDFDest_GetLocationInPage)(Fpdfview::FPDF_DEST dest, Fpdfview::FPDF_BOOL &hasXVal, Fpdfview::FPDF_BOOL &hasYVal, Fpdfview::FPDF_BOOL &hasZoomVal, Fpdfview::FS_FLOAT &x, Fpdfview::FS_FLOAT &y, Fpdfview::FS_FLOAT &zoom);

typedef Fpdfview::FPDF_LINK __cdecl (*TFPDFLink_GetLinkAtPoint)(Fpdfview::FPDF_PAGE page, double x, double y);

typedef int __cdecl (*TFPDFLink_GetLinkZOrderAtPoint)(Fpdfview::FPDF_PAGE page, double x, double y);

typedef Fpdfview::FPDF_DEST __cdecl (*TFPDFLink_GetDest)(Fpdfview::FPDF_DOCUMENT document, Fpdfview::FPDF_LINK link);

typedef Fpdfview::FPDF_ACTION __cdecl (*TFPDFLink_GetAction)(Fpdfview::FPDF_LINK link);

typedef Fpdfview::FPDF_BOOL __cdecl (*TFPDFLink_Enumerate)(Fpdfview::FPDF_PAGE page, int &start_pos, Fpdfview::FPDF_LINK &link_annot);

typedef Fpdfview::FPDF_ANNOTATION __cdecl (*TFPDFLink_GetAnnot)(Fpdfview::FPDF_PAGE page, Fpdfview::FPDF_LINK link_annot);

typedef Fpdfview::FPDF_BOOL __cdecl (*TFPDFLink_GetAnnotRect)(Fpdfview::FPDF_LINK link_annot, Fpdfview::FS_RECTF &rect);

typedef int __cdecl (*TFPDFLink_CountQuadPoints)(Fpdfview::FPDF_LINK link_annot);

typedef Fpdfview::FPDF_BOOL __cdecl (*TFPDFLink_GetQuadPoints)(Fpdfview::FPDF_LINK link_annot, int quad_index, Fpdfview::FS_QUADPOINTSF &quad_points);

typedef Fpdfview::FPDF_ACTION __cdecl (*TFPDF_GetPageAAction)(Fpdfview::FPDF_PAGE page, int aa_type);

typedef System::LongWord __cdecl (*TFPDF_GetFileIdentifier)(Fpdfview::FPDF_DOCUMENT document, FPDF_FILEIDTYPE id_type, void * buffer, System::LongWord buflen);

typedef System::LongWord __cdecl (*TFPDF_GetMetaText)(Fpdfview::FPDF_DOCUMENT document, Fpdfview::FPDF_BYTESTRING tag, void * buffer, System::LongWord buflen);

typedef System::LongWord __cdecl (*TFPDF_GetPageLabel)(Fpdfview::FPDF_DOCUMENT document, int page_index, void * buffer, System::LongWord buflen);

//-- var, const, procedure ---------------------------------------------------
static _DELPHI_CONST System::Int8 PDFACTION_UNSUPPORTED = System::Int8(0x0);
static _DELPHI_CONST System::Int8 PDFACTION_GOTO = System::Int8(0x1);
static _DELPHI_CONST System::Int8 PDFACTION_REMOTEGOTO = System::Int8(0x2);
static _DELPHI_CONST System::Int8 PDFACTION_URI = System::Int8(0x3);
static _DELPHI_CONST System::Int8 PDFACTION_LAUNCH = System::Int8(0x4);
static _DELPHI_CONST System::Int8 PDFACTION_EMBEDDEDGOTO = System::Int8(0x5);
static _DELPHI_CONST System::Int8 PDFDEST_VIEW_UNKNOWN_MODE = System::Int8(0x0);
static _DELPHI_CONST System::Int8 PDFDEST_VIEW_XYZ = System::Int8(0x1);
static _DELPHI_CONST System::Int8 PDFDEST_VIEW_FIT = System::Int8(0x2);
static _DELPHI_CONST System::Int8 PDFDEST_VIEW_FITH = System::Int8(0x3);
static _DELPHI_CONST System::Int8 PDFDEST_VIEW_FITV = System::Int8(0x4);
static _DELPHI_CONST System::Int8 PDFDEST_VIEW_FITR = System::Int8(0x5);
static _DELPHI_CONST System::Int8 PDFDEST_VIEW_FITB = System::Int8(0x6);
static _DELPHI_CONST System::Int8 PDFDEST_VIEW_FITBH = System::Int8(0x7);
static _DELPHI_CONST System::Int8 PDFDEST_VIEW_FITBV = System::Int8(0x8);
}	/* namespace Fpdfdoc */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_FPDFDOC)
using namespace Fpdfdoc;
#endif
#pragma pack(pop)
#pragma option pop

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