//---------------------------------------------------------------------------------------
// 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_CGeometryCollection
#define PDFTRON_H_CGeometryCollection

#ifdef __cplusplus
extern "C" {
#endif

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


struct TRN_GeometryCollection_tag;
typedef struct TRN_GeometryCollection_tag* TRN_GeometryCollection;

/* enums:  */
enum TRN_GeometryCollection_SnappingMode {
	e_GeometryCollection_DefaultSnapMode = 14,
	e_GeometryCollection_PointOnLine = 1,
	e_GeometryCollection_LineMidpoint = 2,
	e_GeometryCollection_LineIntersection = 4,
	e_GeometryCollection_PathEndpoint = 8
};

/* methods: */
TRN_API TRN_GeometryCollectionSnapToNearest(TRN_GeometryCollection self, double x, double y, TRN_UInt32 mode, TRN_Point* result);
TRN_API TRN_GeometryCollectionSnapToNearestPixel(TRN_GeometryCollection self, double x, double y, double dpi, TRN_UInt32 mode, TRN_Point* result);

TRN_API TRN_GeometryCollectionDestroy(TRN_GeometryCollection self);


#ifdef __cplusplus
} // extern C
#endif

#endif /* PDFTRON_H_CGeometryCollection */
