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

// (DO NOT EDIT: machine generated header) 'FPdfStructTree.pas' rev: 36.00 (Windows)

#ifndef FPdfStructTreeHPP
#define FPdfStructTreeHPP

#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 Fpdfstructtree
{
//-- forward type declarations -----------------------------------------------
//-- type declarations -------------------------------------------------------
typedef Fpdfview::FPDF_STRUCTTREE __cdecl (*TFPDF_StructTree_GetForPage)(Fpdfview::FPDF_PAGE page);

typedef void __cdecl (*TFPDF_StructTree_Close)(Fpdfview::FPDF_STRUCTTREE struct_tree);

typedef int __cdecl (*TFPDF_StructTree_CountChildren)(Fpdfview::FPDF_STRUCTTREE struct_tree);

typedef Fpdfview::FPDF_STRUCTELEMENT __cdecl (*TFPDF_StructTree_GetChildAtIndex)(Fpdfview::FPDF_STRUCTTREE struct_tree, int index);

typedef System::LongWord __cdecl (*TFPDF_StructElement_GetAltText)(Fpdfview::FPDF_STRUCTELEMENT struct_element, void * buffer, System::LongWord buflen);

typedef System::LongWord __cdecl (*TFPDF_StructElement_GetActualText)(Fpdfview::FPDF_STRUCTELEMENT struct_element, void * buffer, System::LongWord buflen);

typedef System::LongWord __cdecl (*TFPDF_StructElement_GetID)(Fpdfview::FPDF_STRUCTELEMENT struct_element, void * buffer, System::LongWord buflen);

typedef System::LongWord __cdecl (*TFPDF_StructElement_GetLang)(Fpdfview::FPDF_STRUCTELEMENT struct_element, void * buffer, System::LongWord buflen);

typedef System::LongWord __cdecl (*TFPDF_StructElement_GetStringAttribute)(Fpdfview::FPDF_STRUCTELEMENT struct_element, Fpdfview::FPDF_BYTESTRING attr_name, void * buffer, System::LongWord buflen);

typedef int __cdecl (*TFPDF_StructElement_GetMarkedContentID)(Fpdfview::FPDF_STRUCTELEMENT struct_element);

typedef System::LongWord __cdecl (*TFPDF_StructElement_GetType)(Fpdfview::FPDF_STRUCTELEMENT struct_element, void * buffer, System::LongWord buflen);

typedef System::LongWord __cdecl (*TFPDF_StructElement_GetObjType)(Fpdfview::FPDF_STRUCTELEMENT struct_element, void * buffer, System::LongWord buflen);

typedef System::LongWord __cdecl (*TFPDF_StructElement_GetTitle)(Fpdfview::FPDF_STRUCTELEMENT struct_element, void * buffer, System::LongWord buflen);

typedef int __cdecl (*TFPDF_StructElement_CountChildren)(Fpdfview::FPDF_STRUCTELEMENT struct_element);

typedef Fpdfview::FPDF_STRUCTELEMENT __cdecl (*TFPDF_StructElement_GetChildAtIndex)(Fpdfview::FPDF_STRUCTELEMENT struct_element, int index);

typedef int __cdecl (*TFPDF_StructElement_GetChildMarkedContentID)(Fpdfview::FPDF_STRUCTELEMENT struct_element, int index);

typedef Fpdfview::FPDF_STRUCTELEMENT __cdecl (*TFPDF_StructElement_GetParent)(Fpdfview::FPDF_STRUCTELEMENT struct_element);

typedef int __cdecl (*TFPDF_StructElement_GetAttributeCount)(Fpdfview::FPDF_STRUCTELEMENT struct_element);

typedef Fpdfview::FPDF_STRUCTELEMENT_ATTR __cdecl (*TFPDF_StructElement_GetAttributeAtIndex)(Fpdfview::FPDF_STRUCTELEMENT struct_element, int index);

typedef int __cdecl (*TFPDF_StructElement_Attr_GetCount)(Fpdfview::FPDF_STRUCTELEMENT_ATTR struct_attribute);

typedef Fpdfview::FPDF_BOOL __cdecl (*TFPDF_StructElement_Attr_GetName)(Fpdfview::FPDF_STRUCTELEMENT_ATTR struct_attribute, int index, void * buffer, System::LongWord buflen, /* out */ System::LongWord &out_buflen);

typedef Fpdfview::FPDF_STRUCTELEMENT_ATTR_VALUE __cdecl (*TFPDF_StructElement_Attr_GetValue)(Fpdfview::FPDF_STRUCTELEMENT_ATTR struct_attribute, Fpdfview::FPDF_BYTESTRING name);

typedef Fpdfview::FPDF_OBJECT_TYPE __cdecl (*TFPDF_StructElement_Attr_GetType)(Fpdfview::FPDF_STRUCTELEMENT_ATTR_VALUE value);

typedef Fpdfview::FPDF_BOOL __cdecl (*TFPDF_StructElement_Attr_GetBooleanValue)(Fpdfview::FPDF_STRUCTELEMENT_ATTR_VALUE value, /* out */ Fpdfview::FPDF_BOOL &out_value);

typedef Fpdfview::FPDF_BOOL __cdecl (*TFPDF_StructElement_Attr_GetNumberValue)(Fpdfview::FPDF_STRUCTELEMENT_ATTR_VALUE value, /* out */ float &out_value);

typedef Fpdfview::FPDF_BOOL __cdecl (*TFPDF_StructElement_Attr_GetStringValue)(Fpdfview::FPDF_STRUCTELEMENT_ATTR_VALUE value, void * buffer, System::LongWord buflen, /* out */ System::LongWord &out_buflen);

typedef Fpdfview::FPDF_BOOL __cdecl (*TFPDF_StructElement_Attr_GetBlobValue)(Fpdfview::FPDF_STRUCTELEMENT_ATTR_VALUE value, void * buffer, System::LongWord buflen, /* out */ System::LongWord &out_buflen);

typedef int __cdecl (*TFPDF_StructElement_GetMarkedContentIdCount)(Fpdfview::FPDF_STRUCTELEMENT struct_element);

typedef int __cdecl (*TFPDF_StructElement_GetMarkedContentIdAtIndex)(Fpdfview::FPDF_STRUCTELEMENT struct_element, int index);

//-- var, const, procedure ---------------------------------------------------
}	/* namespace Fpdfstructtree */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_FPDFSTRUCTTREE)
using namespace Fpdfstructtree;
#endif
#pragma pack(pop)
#pragma option pop

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