//---------------------------------------------------------------------------------------
// Copyright (c) 2001-2025 by Apryse Software Inc. All Rights Reserved.
// Consult legal.txt regarding legal and license information.
//---------------------------------------------------------------------------------------
// !Warning! This file is autogenerated, modify the .codegen file, not this one
// (any changes here will be wiped out during the autogen process)

#ifndef PDFTRON_H_CShapedText
#define PDFTRON_H_CShapedText

#ifdef __cplusplus
extern "C" {
#endif

#include <C/Common/TRN_Types.h>
#include <C/Common/TRN_Exception.h>


struct TRN_ShapedText_tag;
typedef struct TRN_ShapedText_tag* TRN_ShapedText;

/* enums:  */
enum TRN_ShapedText_ShapingStatus {
	e_ShapedText_FullShaping = 0,
	e_ShapedText_PartialShaping = 1,
	e_ShapedText_NoShaping = 2
};
enum TRN_ShapedText_FailureReason {
	e_ShapedText_NoFailure = 0,
	e_ShapedText_UnsupportedFontType = 1,
	e_ShapedText_NotIndexEncoded = 2,
	e_ShapedText_FontDataNotFound = 3
};

/* methods: */
TRN_API TRN_ShapedTextGetScale(TRN_ShapedText self, double* result);
TRN_API TRN_ShapedTextGetShapingStatus(TRN_ShapedText self, enum TRN_ShapedText_ShapingStatus* result);
TRN_API TRN_ShapedTextGetFailureReason(TRN_ShapedText self, enum TRN_ShapedText_FailureReason* result);
TRN_API TRN_ShapedTextGetText(TRN_ShapedText self, TRN_UString* result);
TRN_API TRN_ShapedTextGetNumGlyphs(TRN_ShapedText self, int* result);
TRN_API TRN_ShapedTextGetGlyph(TRN_ShapedText self, TRN_UInt32 index, TRN_UInt32* result);
TRN_API TRN_ShapedTextGetGlyphXPos(TRN_ShapedText self, TRN_UInt32 index, double* result);
TRN_API TRN_ShapedTextGetGlyphYPos(TRN_ShapedText self, TRN_UInt32 index, double* result);

TRN_API TRN_ShapedTextDestroy(TRN_ShapedText self);


#ifdef __cplusplus
} // extern C
#endif

#endif /* PDFTRON_H_CShapedText */
