2023-01-05 13:25:55 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**************************************************************************/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*  gdextension_interface.h                                               */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**************************************************************************/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*                         This file is part of:                          */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*                             GODOT ENGINE                               */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*                        https://godotengine.org                         */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**************************************************************************/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur.                  */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*                                                                        */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* Permission is hereby granted, free of charge, to any person obtaining  */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* a copy of this software and associated documentation files (the        */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* "Software"), to deal in the Software without restriction, including    */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* without limitation the rights to use, copy, modify, merge, publish,    */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* distribute, sublicense, and/or sell copies of the Software, and to     */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* permit persons to whom the Software is furnished to do so, subject to  */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* the following conditions:                                              */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*                                                                        */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* The above copyright notice and this permission notice shall be         */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* included in all copies or substantial portions of the Software.        */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*                                                                        */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,        */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF     */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY   */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,   */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE      */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                 */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**************************************************************************/  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# ifndef GDEXTENSION_INTERFACE_H 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# define GDEXTENSION_INTERFACE_H 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* This is a C class header, you can copy it and use it directly in your own binders.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Together  with  the  JSON  file ,  you  should  be  able  to  generate  any  binder . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  <stddef.h> 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  <stdint.h> 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# ifndef __cplusplus 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  uint32_t  char32_t ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  uint16_t  char16_t ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# ifdef __cplusplus 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								extern  " C "  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* VARIANT TYPES */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  enum  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_NIL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*  atomic types */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_BOOL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_INT , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_FLOAT , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_STRING , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* math types */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_VECTOR2 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_VECTOR2I , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_RECT2 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_RECT2I , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_VECTOR3 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_VECTOR3I , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_TRANSFORM2D , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_VECTOR4 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_VECTOR4I , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_PLANE , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_QUATERNION , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_AABB , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_BASIS , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_TRANSFORM3D , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_PROJECTION , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* misc types */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_COLOR , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_STRING_NAME , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_NODE_PATH , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_RID , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_OBJECT , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_CALLABLE , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_SIGNAL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_DICTIONARY , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_ARRAY , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* typed arrays */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_PACKED_BYTE_ARRAY , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_PACKED_INT32_ARRAY , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_PACKED_INT64_ARRAY , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_PACKED_FLOAT32_ARRAY , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_PACKED_FLOAT64_ARRAY , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_PACKED_STRING_ARRAY , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_PACKED_VECTOR2_ARRAY , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_PACKED_VECTOR3_ARRAY , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_PACKED_COLOR_ARRAY , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_TYPE_VARIANT_MAX 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  GDExtensionVariantType ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  enum  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* comparison */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_EQUAL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_NOT_EQUAL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_LESS , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_LESS_EQUAL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_GREATER , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_GREATER_EQUAL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* mathematic */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_ADD , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_SUBTRACT , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_MULTIPLY , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_DIVIDE , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_NEGATE , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_POSITIVE , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_MODULE , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_POWER , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* bitwise */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_SHIFT_LEFT , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_SHIFT_RIGHT , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_BIT_AND , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_BIT_OR , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_BIT_XOR , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_BIT_NEGATE , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* logic */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_AND , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_OR , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_XOR , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_NOT , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* containment */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_IN , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_VARIANT_OP_MAX 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  GDExtensionVariantOperator ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-05-13 19:05:54 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// In this API there are multiple functions which expect the caller to pass a pointer
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// on return value as parameter.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// In order to make it clear if the caller should initialize the return value or not
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// we have two flavor of types:
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// - `GDExtensionXXXPtr` for pointer on an initialized value
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// - `GDExtensionUninitializedXXXPtr` for pointer on uninitialized value
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Notes:
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// - Not respecting those requirements can seems harmless, but will lead to unexpected
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//   segfault or memory leak (for instance with a specific compiler/OS, or when two
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//   native extensions start doing ptrcall on each other).
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// - Initialization must be done with the function pointer returned by `variant_get_ptr_constructor`,
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//   zero-initializing the variable should not be considered a valid initialization method here !
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// - Some types have no destructor (see `extension_api.json`'s `has_destructor` field), for
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//   them it is always safe to skip the constructor for the return value if you are in a hurry ;-)
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								typedef  void  * GDExtensionVariantPtr ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  const  void  * GDExtensionConstVariantPtr ;  
						 
					
						
							
								
									
										
										
										
											2023-05-13 19:05:54 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  * GDExtensionUninitializedVariantPtr ;  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								typedef  void  * GDExtensionStringNamePtr ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  const  void  * GDExtensionConstStringNamePtr ;  
						 
					
						
							
								
									
										
										
										
											2023-05-13 19:05:54 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  * GDExtensionUninitializedStringNamePtr ;  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								typedef  void  * GDExtensionStringPtr ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  const  void  * GDExtensionConstStringPtr ;  
						 
					
						
							
								
									
										
										
										
											2023-05-13 19:05:54 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  * GDExtensionUninitializedStringPtr ;  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								typedef  void  * GDExtensionObjectPtr ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  const  void  * GDExtensionConstObjectPtr ;  
						 
					
						
							
								
									
										
										
										
											2023-05-13 19:05:54 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  * GDExtensionUninitializedObjectPtr ;  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								typedef  void  * GDExtensionTypePtr ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  const  void  * GDExtensionConstTypePtr ;  
						 
					
						
							
								
									
										
										
										
											2023-05-13 19:05:54 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  * GDExtensionUninitializedTypePtr ;  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								typedef  const  void  * GDExtensionMethodBindPtr ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  int64_t  GDExtensionInt ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  uint8_t  GDExtensionBool ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  uint64_t  GDObjectInstanceID ;  
						 
					
						
							
								
									
										
										
										
											2022-12-11 21:31:01 +11:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  * GDExtensionRefPtr ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  const  void  * GDExtensionConstRefPtr ;  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* VARIANT DATA I/O */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  enum  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_CALL_OK , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_CALL_ERROR_INVALID_METHOD , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_CALL_ERROR_INVALID_ARGUMENT ,  // Expected a different variant type.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_CALL_ERROR_TOO_MANY_ARGUMENTS ,  // Expected lower number of arguments.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_CALL_ERROR_TOO_FEW_ARGUMENTS ,  // Expected higher number of arguments.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_CALL_ERROR_INSTANCE_IS_NULL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_CALL_ERROR_METHOD_NOT_CONST ,  // Used for const call.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  GDExtensionCallErrorType ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionCallErrorType  error ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int32_t  argument ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int32_t  expected ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  GDExtensionCallError ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-06-18 23:14:10 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionVariantFromTypeConstructorFunc ) ( GDExtensionUninitializedVariantPtr ,  GDExtensionTypePtr ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionTypeFromVariantConstructorFunc ) ( GDExtensionUninitializedTypePtr ,  GDExtensionVariantPtr ) ;  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionPtrOperatorEvaluator ) ( GDExtensionConstTypePtr  p_left ,  GDExtensionConstTypePtr  p_right ,  GDExtensionTypePtr  r_result ) ;  
						 
					
						
							
								
									
										
										
										
											2022-12-14 18:24:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionPtrBuiltInMethod ) ( GDExtensionTypePtr  p_base ,  const  GDExtensionConstTypePtr  * p_args ,  GDExtensionTypePtr  r_return ,  int  p_argument_count ) ;  
						 
					
						
							
								
									
										
										
										
											2023-06-18 23:14:10 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionPtrConstructor ) ( GDExtensionUninitializedTypePtr  p_base ,  const  GDExtensionConstTypePtr  * p_args ) ;  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionPtrDestructor ) ( GDExtensionTypePtr  p_base ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionPtrSetter ) ( GDExtensionTypePtr  p_base ,  GDExtensionConstTypePtr  p_value ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionPtrGetter ) ( GDExtensionConstTypePtr  p_base ,  GDExtensionTypePtr  r_value ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionPtrIndexedSetter ) ( GDExtensionTypePtr  p_base ,  GDExtensionInt  p_index ,  GDExtensionConstTypePtr  p_value ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionPtrIndexedGetter ) ( GDExtensionConstTypePtr  p_base ,  GDExtensionInt  p_index ,  GDExtensionTypePtr  r_value ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionPtrKeyedSetter ) ( GDExtensionTypePtr  p_base ,  GDExtensionConstTypePtr  p_key ,  GDExtensionConstTypePtr  p_value ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionPtrKeyedGetter ) ( GDExtensionConstTypePtr  p_base ,  GDExtensionConstTypePtr  p_key ,  GDExtensionTypePtr  r_value ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  uint32_t  ( * GDExtensionPtrKeyedChecker ) ( GDExtensionConstVariantPtr  p_base ,  GDExtensionConstVariantPtr  p_key ) ;  
						 
					
						
							
								
									
										
										
										
											2022-12-14 18:24:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionPtrUtilityFunction ) ( GDExtensionTypePtr  r_return ,  const  GDExtensionConstTypePtr  * p_args ,  int  p_argument_count ) ;  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionObjectPtr  ( * GDExtensionClassConstructor ) ( ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  * ( * GDExtensionInstanceBindingCreateCallback ) ( void  * p_token ,  void  * p_instance ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInstanceBindingFreeCallback ) ( void  * p_token ,  void  * p_instance ,  void  * p_binding ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionInstanceBindingReferenceCallback ) ( void  * p_token ,  void  * p_binding ,  GDExtensionBool  p_reference ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionInstanceBindingCreateCallback  create_callback ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionInstanceBindingFreeCallback  free_callback ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionInstanceBindingReferenceCallback  reference_callback ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  GDExtensionInstanceBindingCallbacks ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* EXTENSION CLASSES */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  * GDExtensionClassInstancePtr ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionClassSet ) ( GDExtensionClassInstancePtr  p_instance ,  GDExtensionConstStringNamePtr  p_name ,  GDExtensionConstVariantPtr  p_value ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionClassGet ) ( GDExtensionClassInstancePtr  p_instance ,  GDExtensionConstStringNamePtr  p_name ,  GDExtensionVariantPtr  r_ret ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  uint64_t  ( * GDExtensionClassGetRID ) ( GDExtensionClassInstancePtr  p_instance ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionVariantType  type ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionStringNamePtr  name ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionStringNamePtr  class_name ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									uint32_t  hint ;  // Bitfield of `PropertyHint` (defined in `extension_api.json`).
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionStringPtr  hint_string ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									uint32_t  usage ;  // Bitfield of `PropertyUsageFlags` (defined in `extension_api.json`).
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  GDExtensionPropertyInfo ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionStringNamePtr  name ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionPropertyInfo  return_value ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									uint32_t  flags ;  // Bitfield of `GDExtensionClassMethodFlags`.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									int32_t  id ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* Arguments: `default_arguments` is an array of size `argument_count`. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									uint32_t  argument_count ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionPropertyInfo  * arguments ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* Default arguments: `default_arguments` is an array of size `default_argument_count`. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									uint32_t  default_argument_count ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionVariantPtr  * default_arguments ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  GDExtensionMethodInfo ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  const  GDExtensionPropertyInfo  * ( * GDExtensionClassGetPropertyList ) ( GDExtensionClassInstancePtr  p_instance ,  uint32_t  * r_count ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionClassFreePropertyList ) ( GDExtensionClassInstancePtr  p_instance ,  const  GDExtensionPropertyInfo  * p_list ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionClassPropertyCanRevert ) ( GDExtensionClassInstancePtr  p_instance ,  GDExtensionConstStringNamePtr  p_name ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionClassPropertyGetRevert ) ( GDExtensionClassInstancePtr  p_instance ,  GDExtensionConstStringNamePtr  p_name ,  GDExtensionVariantPtr  r_ret ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionClassNotification ) ( GDExtensionClassInstancePtr  p_instance ,  int32_t  p_what ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionClassToString ) ( GDExtensionClassInstancePtr  p_instance ,  GDExtensionBool  * r_is_valid ,  GDExtensionStringPtr  p_out ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionClassReference ) ( GDExtensionClassInstancePtr  p_instance ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionClassUnreference ) ( GDExtensionClassInstancePtr  p_instance ) ;  
						 
					
						
							
								
									
										
										
										
											2022-12-14 18:24:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionClassCallVirtual ) ( GDExtensionClassInstancePtr  p_instance ,  const  GDExtensionConstTypePtr  * p_args ,  GDExtensionTypePtr  r_ret ) ;  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionObjectPtr  ( * GDExtensionClassCreateInstance ) ( void  * p_userdata ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionClassFreeInstance ) ( void  * p_userdata ,  GDExtensionClassInstancePtr  p_instance ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionClassCallVirtual  ( * GDExtensionClassGetVirtual ) ( void  * p_userdata ,  GDExtensionConstStringNamePtr  p_name ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionBool  is_virtual ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionBool  is_abstract ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassSet  set_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassGet  get_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassGetPropertyList  get_property_list_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassFreePropertyList  free_property_list_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassPropertyCanRevert  property_can_revert_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassPropertyGetRevert  property_get_revert_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassNotification  notification_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassToString  to_string_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassReference  reference_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassUnreference  unreference_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassCreateInstance  create_instance_func ;  // (Default) constructor; mandatory. If the class is not instantiable, consider making it virtual or abstract.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassFreeInstance  free_instance_func ;  // Destructor; mandatory.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassGetVirtual  get_virtual_func ;  // Queries a virtual function by name and returns a callback to invoke the requested virtual function.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassGetRID  get_rid_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									void  * class_userdata ;  // Per-class user data, later accessible in instance bindings.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  GDExtensionClassCreationInfo ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  * GDExtensionClassLibraryPtr ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* Method */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  enum  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_FLAG_NORMAL  =  1 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_FLAG_EDITOR  =  2 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_FLAG_CONST  =  4 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_FLAG_VIRTUAL  =  8 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_FLAG_VARARG  =  16 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_FLAG_STATIC  =  32 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_FLAGS_DEFAULT  =  GDEXTENSION_METHOD_FLAG_NORMAL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  GDExtensionClassMethodFlags ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  enum  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_ARGUMENT_METADATA_NONE , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_ARGUMENT_METADATA_INT_IS_INT8 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_ARGUMENT_METADATA_INT_IS_INT16 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_ARGUMENT_METADATA_INT_IS_INT32 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_ARGUMENT_METADATA_INT_IS_INT64 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_ARGUMENT_METADATA_INT_IS_UINT8 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_ARGUMENT_METADATA_INT_IS_UINT16 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_ARGUMENT_METADATA_INT_IS_UINT32 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_ARGUMENT_METADATA_INT_IS_UINT64 , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_ARGUMENT_METADATA_REAL_IS_FLOAT , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_METHOD_ARGUMENT_METADATA_REAL_IS_DOUBLE 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  GDExtensionClassMethodArgumentMetadata ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-12-14 18:24:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionClassMethodCall ) ( void  * method_userdata ,  GDExtensionClassInstancePtr  p_instance ,  const  GDExtensionConstVariantPtr  * p_args ,  GDExtensionInt  p_argument_count ,  GDExtensionVariantPtr  r_return ,  GDExtensionCallError  * r_error ) ;  
						 
					
						
							
								
									
										
										
										
											2023-04-25 00:21:32 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionClassMethodValidatedCall ) ( void  * method_userdata ,  GDExtensionClassInstancePtr  p_instance ,  const  GDExtensionConstVariantPtr  * p_args ,  GDExtensionVariantPtr  r_return ) ;  
						 
					
						
							
								
									
										
										
										
											2022-12-14 18:24:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionClassMethodPtrCall ) ( void  * method_userdata ,  GDExtensionClassInstancePtr  p_instance ,  const  GDExtensionConstTypePtr  * p_args ,  GDExtensionTypePtr  r_ret ) ;  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionStringNamePtr  name ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									void  * method_userdata ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassMethodCall  call_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassMethodPtrCall  ptrcall_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									uint32_t  method_flags ;  // Bitfield of `GDExtensionClassMethodFlags`.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* If `has_return_value` is false, `return_value_info` and `return_value_metadata` are ignored. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionBool  has_return_value ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionPropertyInfo  * return_value_info ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassMethodArgumentMetadata  return_value_metadata ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* Arguments: `arguments_info` and `arguments_metadata` are array of size `argument_count`.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  Name  and  hint  information  for  the  argument  can  be  omitted  in  release  builds .  Class  name  should  always  be  present  if  it  applies . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									uint32_t  argument_count ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionPropertyInfo  * arguments_info ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionClassMethodArgumentMetadata  * arguments_metadata ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* Default arguments: `default_arguments` is an array of size `default_argument_count`. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									uint32_t  default_argument_count ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionVariantPtr  * default_arguments ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  GDExtensionClassMethodInfo ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* SCRIPT INSTANCE EXTENSION */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  * GDExtensionScriptInstanceDataPtr ;  // Pointer to custom ScriptInstance native implementation.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionScriptInstanceSet ) ( GDExtensionScriptInstanceDataPtr  p_instance ,  GDExtensionConstStringNamePtr  p_name ,  GDExtensionConstVariantPtr  p_value ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionScriptInstanceGet ) ( GDExtensionScriptInstanceDataPtr  p_instance ,  GDExtensionConstStringNamePtr  p_name ,  GDExtensionVariantPtr  r_ret ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  const  GDExtensionPropertyInfo  * ( * GDExtensionScriptInstanceGetPropertyList ) ( GDExtensionScriptInstanceDataPtr  p_instance ,  uint32_t  * r_count ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionScriptInstanceFreePropertyList ) ( GDExtensionScriptInstanceDataPtr  p_instance ,  const  GDExtensionPropertyInfo  * p_list ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionVariantType  ( * GDExtensionScriptInstanceGetPropertyType ) ( GDExtensionScriptInstanceDataPtr  p_instance ,  GDExtensionConstStringNamePtr  p_name ,  GDExtensionBool  * r_is_valid ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionScriptInstancePropertyCanRevert ) ( GDExtensionScriptInstanceDataPtr  p_instance ,  GDExtensionConstStringNamePtr  p_name ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionScriptInstancePropertyGetRevert ) ( GDExtensionScriptInstanceDataPtr  p_instance ,  GDExtensionConstStringNamePtr  p_name ,  GDExtensionVariantPtr  r_ret ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionObjectPtr  ( * GDExtensionScriptInstanceGetOwner ) ( GDExtensionScriptInstanceDataPtr  p_instance ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionScriptInstancePropertyStateAdd ) ( GDExtensionConstStringNamePtr  p_name ,  GDExtensionConstVariantPtr  p_value ,  void  * p_userdata ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionScriptInstanceGetPropertyState ) ( GDExtensionScriptInstanceDataPtr  p_instance ,  GDExtensionScriptInstancePropertyStateAdd  p_add_func ,  void  * p_userdata ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  const  GDExtensionMethodInfo  * ( * GDExtensionScriptInstanceGetMethodList ) ( GDExtensionScriptInstanceDataPtr  p_instance ,  uint32_t  * r_count ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionScriptInstanceFreeMethodList ) ( GDExtensionScriptInstanceDataPtr  p_instance ,  const  GDExtensionMethodInfo  * p_list ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionScriptInstanceHasMethod ) ( GDExtensionScriptInstanceDataPtr  p_instance ,  GDExtensionConstStringNamePtr  p_name ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-12-14 18:24:35 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionScriptInstanceCall ) ( GDExtensionScriptInstanceDataPtr  p_self ,  GDExtensionConstStringNamePtr  p_method ,  const  GDExtensionConstVariantPtr  * p_args ,  GDExtensionInt  p_argument_count ,  GDExtensionVariantPtr  r_return ,  GDExtensionCallError  * r_error ) ;  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionScriptInstanceNotification ) ( GDExtensionScriptInstanceDataPtr  p_instance ,  int32_t  p_what ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionScriptInstanceToString ) ( GDExtensionScriptInstanceDataPtr  p_instance ,  GDExtensionBool  * r_is_valid ,  GDExtensionStringPtr  r_out ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionScriptInstanceRefCountIncremented ) ( GDExtensionScriptInstanceDataPtr  p_instance ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionScriptInstanceRefCountDecremented ) ( GDExtensionScriptInstanceDataPtr  p_instance ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionObjectPtr  ( * GDExtensionScriptInstanceGetScript ) ( GDExtensionScriptInstanceDataPtr  p_instance ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionScriptInstanceIsPlaceholder ) ( GDExtensionScriptInstanceDataPtr  p_instance ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  * GDExtensionScriptLanguagePtr ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionScriptLanguagePtr  ( * GDExtensionScriptInstanceGetLanguage ) ( GDExtensionScriptInstanceDataPtr  p_instance ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionScriptInstanceFree ) ( GDExtensionScriptInstanceDataPtr  p_instance ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  * GDExtensionScriptInstancePtr ;  // Pointer to ScriptInstance.
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceSet  set_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGet  get_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGetPropertyList  get_property_list_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceFreePropertyList  free_property_list_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstancePropertyCanRevert  property_can_revert_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstancePropertyGetRevert  property_get_revert_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGetOwner  get_owner_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGetPropertyState  get_property_state_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGetMethodList  get_method_list_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceFreeMethodList  free_method_list_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGetPropertyType  get_property_type_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceHasMethod  has_method_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceCall  call_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceNotification  notification_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceToString  to_string_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceRefCountIncremented  refcount_incremented_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceRefCountDecremented  refcount_decremented_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGetScript  get_script_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceIsPlaceholder  is_placeholder_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceSet  set_fallback_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGet  get_fallback_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceGetLanguage  get_language_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionScriptInstanceFree  free_func ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  GDExtensionScriptInstanceInfo ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* INITIALIZATION */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  enum  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_INITIALIZATION_CORE , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_INITIALIZATION_SERVERS , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_INITIALIZATION_SCENE , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_INITIALIZATION_EDITOR , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDEXTENSION_MAX_INITIALIZATION_LEVEL , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  GDExtensionInitializationLevel ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* Minimum initialization level required.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  If  Core  or  Servers ,  the  extension  needs  editor  or  game  restart  to  take  effect  */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									GDExtensionInitializationLevel  minimum_initialization_level ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* Up to the user to supply when initializing */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									void  * userdata ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* This function will be called multiple times for each initialization level. */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									void  ( * initialize ) ( void  * userdata ,  GDExtensionInitializationLevel  p_level ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									void  ( * deinitialize ) ( void  * userdata ,  GDExtensionInitializationLevel  p_level ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  GDExtensionInitialization ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceFunctionPtr ) ( ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionInterfaceFunctionPtr  ( * GDExtensionInterfaceGetProcAddress ) ( const  char  * p_function_name ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Each  GDExtension  should  define  a  C  function  that  matches  the  signature  of  GDExtensionInitializationFunction , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  and  export  it  so  that  it  can  be  loaded  via  dlopen ( )  or  equivalent  for  the  given  platform . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  For  example : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *    GDExtensionBool  my_extension_init ( GDExtensionInterfaceGetProcAddress  p_get_proc_address ,  GDExtensionClassLibraryPtr  p_library ,  GDExtensionInitialization  * r_initialization ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  This  function ' s  name  must  be  specified  as  the  ' entry_symbol '  in  the  . gdextension  file . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  This  makes  it  the  entry  point  of  the  GDExtension  and  will  be  called  on  initialization . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  The  GDExtension  can  then  modify  the  r_initialization  structure ,  setting  the  minimum  initialization  level , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  and  providing  pointers  to  functions  that  will  be  called  at  various  stages  of  initialization / shutdown . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  The  rest  of  the  GDExtension ' s  interface  to  Godot  consists  of  function  pointers  that  can  be  loaded 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  by  calling  p_get_proc_address ( " ... " )  with  the  name  of  the  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  For  example : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *    GDExtensionInterfaceGetGodotVersion  * get_godot_version  =  ( GDExtensionInterfaceGetGodotVersion ) p_get_proc_address ( " get_godot_version " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  You  can  then  call  it  like  a  normal  function : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *    GDExtensionGodotVersion  godot_version ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *    get_godot_version ( & godot_version ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *    printf ( " Godot v%d.%d.%d \n " ,  godot_version . major ,  godot_version . minor ,  godot_version . patch ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  All  of  these  interface  functions  are  described  below ,  together  with  the  name  that ' s  used  to  load  it , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  and  the  function  pointer  typedef  that  shows  its  signature . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionInitializationFunction ) ( GDExtensionInterfaceGetProcAddress  p_get_proc_address ,  GDExtensionClassLibraryPtr  p_library ,  GDExtensionInitialization  * r_initialization ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* INTERFACE */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  struct  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									uint32_t  major ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									uint32_t  minor ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									uint32_t  patch ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									const  char  * string ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  GDExtensionGodotVersion ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  get_godot_version 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  Godot  version  that  the  GDExtension  was  loaded  into . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_godot_version  A  pointer  to  the  structure  to  write  the  version  information  into . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceGetGodotVersion ) ( GDExtensionGodotVersion  * r_godot_version ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* INTERFACE: Memory */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  mem_alloc 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Allocates  memory . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_bytes  The  amount  of  memory  to  allocate  in  bytes . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  allocated  memory ,  or  NULL  if  unsuccessful . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  * ( * GDExtensionInterfaceMemAlloc ) ( size_t  p_bytes ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  mem_realloc 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Reallocates  memory . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_ptr  A  pointer  to  the  previously  allocated  memory . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_bytes  The  number  of  bytes  to  resize  the  memory  block  to . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  allocated  memory ,  or  NULL  if  unsuccessful . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  * ( * GDExtensionInterfaceMemRealloc ) ( void  * p_ptr ,  size_t  p_bytes ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  mem_free 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Frees  memory . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_ptr  A  pointer  to  the  previously  allocated  memory . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceMemFree ) ( void  * p_ptr ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* INTERFACE: Godot Core */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  print_error 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Logs  an  error  to  Godot ' s  built - in  debugger  and  to  the  OS  terminal . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_description  The  code  trigging  the  error . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_function  The  function  name  where  the  error  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_file  The  file  where  the  error  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_line  The  line  where  the  error  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_editor_notify  Whether  or  not  to  notify  the  editor . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfacePrintError ) ( const  char  * p_description ,  const  char  * p_function ,  const  char  * p_file ,  int32_t  p_line ,  GDExtensionBool  p_editor_notify ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  print_error_with_message 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Logs  an  error  with  a  message  to  Godot ' s  built - in  debugger  and  to  the  OS  terminal . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_description  The  code  trigging  the  error . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_message  The  message  to  show  along  with  the  error . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_function  The  function  name  where  the  error  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_file  The  file  where  the  error  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_line  The  line  where  the  error  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_editor_notify  Whether  or  not  to  notify  the  editor . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfacePrintErrorWithMessage ) ( const  char  * p_description ,  const  char  * p_message ,  const  char  * p_function ,  const  char  * p_file ,  int32_t  p_line ,  GDExtensionBool  p_editor_notify ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  print_warning 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Logs  a  warning  to  Godot ' s  built - in  debugger  and  to  the  OS  terminal . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_description  The  code  trigging  the  warning . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_function  The  function  name  where  the  warning  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_file  The  file  where  the  warning  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_line  The  line  where  the  warning  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_editor_notify  Whether  or  not  to  notify  the  editor . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfacePrintWarning ) ( const  char  * p_description ,  const  char  * p_function ,  const  char  * p_file ,  int32_t  p_line ,  GDExtensionBool  p_editor_notify ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  print_warning_with_message 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Logs  a  warning  with  a  message  to  Godot ' s  built - in  debugger  and  to  the  OS  terminal . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_description  The  code  trigging  the  warning . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_message  The  message  to  show  along  with  the  warning . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_function  The  function  name  where  the  warning  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_file  The  file  where  the  warning  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_line  The  line  where  the  warning  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_editor_notify  Whether  or  not  to  notify  the  editor . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfacePrintWarningWithMessage ) ( const  char  * p_description ,  const  char  * p_message ,  const  char  * p_function ,  const  char  * p_file ,  int32_t  p_line ,  GDExtensionBool  p_editor_notify ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  print_script_error 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Logs  a  script  error  to  Godot ' s  built - in  debugger  and  to  the  OS  terminal . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_description  The  code  trigging  the  error . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_function  The  function  name  where  the  error  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_file  The  file  where  the  error  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_line  The  line  where  the  error  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_editor_notify  Whether  or  not  to  notify  the  editor . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfacePrintScriptError ) ( const  char  * p_description ,  const  char  * p_function ,  const  char  * p_file ,  int32_t  p_line ,  GDExtensionBool  p_editor_notify ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  print_script_error_with_message 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Logs  a  script  error  with  a  message  to  Godot ' s  built - in  debugger  and  to  the  OS  terminal . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_description  The  code  trigging  the  error . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_message  The  message  to  show  along  with  the  error . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_function  The  function  name  where  the  error  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_file  The  file  where  the  error  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_line  The  line  where  the  error  occurred . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_editor_notify  Whether  or  not  to  notify  the  editor . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfacePrintScriptErrorWithMessage ) ( const  char  * p_description ,  const  char  * p_message ,  const  char  * p_function ,  const  char  * p_file ,  int32_t  p_line ,  GDExtensionBool  p_editor_notify ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  get_native_struct_size 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  size  of  a  native  struct  ( ex .  ObjectID )  in  bytes . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_name  A  pointer  to  a  StringName  identifying  the  struct  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  The  size  in  bytes . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  uint64_t  ( * GDExtensionInterfaceGetNativeStructSize ) ( GDExtensionConstStringNamePtr  p_name ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* INTERFACE: Variant */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_new_copy 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Copies  one  Variant  into  a  another . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_dest  A  pointer  to  the  destination  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_src  A  pointer  to  the  source  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantNewCopy ) ( GDExtensionUninitializedVariantPtr  r_dest ,  GDExtensionConstVariantPtr  p_src ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_new_nil 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Creates  a  new  Variant  containing  nil . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_dest  A  pointer  to  the  destination  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantNewNil ) ( GDExtensionUninitializedVariantPtr  r_dest ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_destroy 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Destroys  a  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant  to  destroy . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantDestroy ) ( GDExtensionVariantPtr  p_self ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_call 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Calls  a  method  on  a  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_method  A  pointer  to  a  StringName  identifying  the  method . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_args  A  pointer  to  a  C  array  of  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_argument_count  The  number  of  arguments . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_return  A  pointer  a  Variant  which  will  be  assigned  the  return  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_error  A  pointer  the  structure  which  will  hold  error  information . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ see  Variant : : callp ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantCall ) ( GDExtensionVariantPtr  p_self ,  GDExtensionConstStringNamePtr  p_method ,  const  GDExtensionConstVariantPtr  * p_args ,  GDExtensionInt  p_argument_count ,  GDExtensionUninitializedVariantPtr  r_return ,  GDExtensionCallError  * r_error ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_call_static 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Calls  a  static  method  on  a  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_method  A  pointer  to  a  StringName  identifying  the  method . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_args  A  pointer  to  a  C  array  of  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_argument_count  The  number  of  arguments . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_return  A  pointer  a  Variant  which  will  be  assigned  the  return  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_error  A  pointer  the  structure  which  will  be  updated  with  error  information . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ see  Variant : : call_static ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantCallStatic ) ( GDExtensionVariantType  p_type ,  GDExtensionConstStringNamePtr  p_method ,  const  GDExtensionConstVariantPtr  * p_args ,  GDExtensionInt  p_argument_count ,  GDExtensionUninitializedVariantPtr  r_return ,  GDExtensionCallError  * r_error ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_evaluate 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Evaluate  an  operator  on  two  Variants . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_op  The  operator  to  evaluate . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_a  The  first  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_b  The  second  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_return  A  pointer  a  Variant  which  will  be  assigned  the  return  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_valid  A  pointer  to  a  boolean  which  will  be  set  to  false  if  the  operation  is  invalid . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ see  Variant : : evaluate ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantEvaluate ) ( GDExtensionVariantOperator  p_op ,  GDExtensionConstVariantPtr  p_a ,  GDExtensionConstVariantPtr  p_b ,  GDExtensionUninitializedVariantPtr  r_return ,  GDExtensionBool  * r_valid ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_set 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Sets  a  key  on  a  Variant  to  a  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_key  A  pointer  to  a  Variant  representing  the  key . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_value  A  pointer  to  a  Variant  representing  the  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_valid  A  pointer  to  a  boolean  which  will  be  set  to  false  if  the  operation  is  invalid . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ see  Variant : : set ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantSet ) ( GDExtensionVariantPtr  p_self ,  GDExtensionConstVariantPtr  p_key ,  GDExtensionConstVariantPtr  p_value ,  GDExtensionBool  * r_valid ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_set_named 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Sets  a  named  key  on  a  Variant  to  a  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_key  A  pointer  to  a  StringName  representing  the  key . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_value  A  pointer  to  a  Variant  representing  the  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_valid  A  pointer  to  a  boolean  which  will  be  set  to  false  if  the  operation  is  invalid . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ see  Variant : : set_named ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantSetNamed ) ( GDExtensionVariantPtr  p_self ,  GDExtensionConstStringNamePtr  p_key ,  GDExtensionConstVariantPtr  p_value ,  GDExtensionBool  * r_valid ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_set_keyed 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Sets  a  keyed  property  on  a  Variant  to  a  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_key  A  pointer  to  a  Variant  representing  the  key . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_value  A  pointer  to  a  Variant  representing  the  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_valid  A  pointer  to  a  boolean  which  will  be  set  to  false  if  the  operation  is  invalid . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ see  Variant : : set_keyed ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantSetKeyed ) ( GDExtensionVariantPtr  p_self ,  GDExtensionConstVariantPtr  p_key ,  GDExtensionConstVariantPtr  p_value ,  GDExtensionBool  * r_valid ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_set_indexed 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Sets  an  index  on  a  Variant  to  a  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_value  A  pointer  to  a  Variant  representing  the  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_valid  A  pointer  to  a  boolean  which  will  be  set  to  false  if  the  operation  is  invalid . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_oob  A  pointer  to  a  boolean  which  will  be  set  to  true  if  the  index  is  out  of  bounds . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantSetIndexed ) ( GDExtensionVariantPtr  p_self ,  GDExtensionInt  p_index ,  GDExtensionConstVariantPtr  p_value ,  GDExtensionBool  * r_valid ,  GDExtensionBool  * r_oob ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  value  of  a  key  from  a  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_key  A  pointer  to  a  Variant  representing  the  key . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_ret  A  pointer  to  a  Variant  which  will  be  assigned  the  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_valid  A  pointer  to  a  boolean  which  will  be  set  to  false  if  the  operation  is  invalid . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantGet ) ( GDExtensionConstVariantPtr  p_self ,  GDExtensionConstVariantPtr  p_key ,  GDExtensionUninitializedVariantPtr  r_ret ,  GDExtensionBool  * r_valid ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_named 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  value  of  a  named  key  from  a  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_key  A  pointer  to  a  StringName  representing  the  key . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_ret  A  pointer  to  a  Variant  which  will  be  assigned  the  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_valid  A  pointer  to  a  boolean  which  will  be  set  to  false  if  the  operation  is  invalid . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantGetNamed ) ( GDExtensionConstVariantPtr  p_self ,  GDExtensionConstStringNamePtr  p_key ,  GDExtensionUninitializedVariantPtr  r_ret ,  GDExtensionBool  * r_valid ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_keyed 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  value  of  a  keyed  property  from  a  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_key  A  pointer  to  a  Variant  representing  the  key . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_ret  A  pointer  to  a  Variant  which  will  be  assigned  the  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_valid  A  pointer  to  a  boolean  which  will  be  set  to  false  if  the  operation  is  invalid . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantGetKeyed ) ( GDExtensionConstVariantPtr  p_self ,  GDExtensionConstVariantPtr  p_key ,  GDExtensionUninitializedVariantPtr  r_ret ,  GDExtensionBool  * r_valid ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_indexed 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  value  of  an  index  from  a  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_ret  A  pointer  to  a  Variant  which  will  be  assigned  the  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_valid  A  pointer  to  a  boolean  which  will  be  set  to  false  if  the  operation  is  invalid . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_oob  A  pointer  to  a  boolean  which  will  be  set  to  true  if  the  index  is  out  of  bounds . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantGetIndexed ) ( GDExtensionConstVariantPtr  p_self ,  GDExtensionInt  p_index ,  GDExtensionUninitializedVariantPtr  r_ret ,  GDExtensionBool  * r_valid ,  GDExtensionBool  * r_oob ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_iter_init 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Initializes  an  iterator  over  a  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_iter  A  pointer  to  a  Variant  which  will  be  assigned  the  iterator . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_valid  A  pointer  to  a  boolean  which  will  be  set  to  false  if  the  operation  is  invalid . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  true  if  the  operation  is  valid ;  otherwise  false . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ see  Variant : : iter_init ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionInterfaceVariantIterInit ) ( GDExtensionConstVariantPtr  p_self ,  GDExtensionUninitializedVariantPtr  r_iter ,  GDExtensionBool  * r_valid ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_iter_next 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  next  value  for  an  iterator  over  a  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_iter  A  pointer  to  a  Variant  which  will  be  assigned  the  iterator . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_valid  A  pointer  to  a  boolean  which  will  be  set  to  false  if  the  operation  is  invalid . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  true  if  the  operation  is  valid ;  otherwise  false . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ see  Variant : : iter_next ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionInterfaceVariantIterNext ) ( GDExtensionConstVariantPtr  p_self ,  GDExtensionVariantPtr  r_iter ,  GDExtensionBool  * r_valid ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_iter_get 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  next  value  for  an  iterator  over  a  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_iter  A  pointer  to  a  Variant  which  will  be  assigned  the  iterator . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_ret  A  pointer  to  a  Variant  which  will  be  assigned  false  if  the  operation  is  invalid . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_valid  A  pointer  to  a  boolean  which  will  be  set  to  false  if  the  operation  is  invalid . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ see  Variant : : iter_get ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantIterGet ) ( GDExtensionConstVariantPtr  p_self ,  GDExtensionVariantPtr  r_iter ,  GDExtensionUninitializedVariantPtr  r_ret ,  GDExtensionBool  * r_valid ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_hash 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  hash  of  a  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  The  hash  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ see  Variant : : hash ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionInt  ( * GDExtensionInterfaceVariantHash ) ( GDExtensionConstVariantPtr  p_self ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_recursive_hash 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  recursive  hash  of  a  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_recursion_count  The  number  of  recursive  loops  so  far . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  The  hash  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ see  Variant : : recursive_hash ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionInt  ( * GDExtensionInterfaceVariantRecursiveHash ) ( GDExtensionConstVariantPtr  p_self ,  GDExtensionInt  p_recursion_count ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_hash_compare 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Compares  two  Variants  by  their  hash . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_other  A  pointer  to  the  other  Variant  to  compare  it  to . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  The  hash  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ see  Variant : : hash_compare ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionInterfaceVariantHashCompare ) ( GDExtensionConstVariantPtr  p_self ,  GDExtensionConstVariantPtr  p_other ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_booleanize 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Converts  a  Variant  to  a  boolean . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  The  boolean  value  of  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionInterfaceVariantBooleanize ) ( GDExtensionConstVariantPtr  p_self ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_duplicate 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Duplicates  a  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_ret  A  pointer  to  a  Variant  to  store  the  duplicated  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_deep  Whether  or  not  to  duplicate  deeply  ( when  supported  by  the  Variant  type ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantDuplicate ) ( GDExtensionConstVariantPtr  p_self ,  GDExtensionVariantPtr  r_ret ,  GDExtensionBool  p_deep ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_stringify 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Converts  a  Variant  to  a  string . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_ret  A  pointer  to  a  String  to  store  the  resulting  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantStringify ) ( GDExtensionConstVariantPtr  p_self ,  GDExtensionStringPtr  r_ret ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_type 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  type  of  a  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  The  variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionVariantType  ( * GDExtensionInterfaceVariantGetType ) ( GDExtensionConstVariantPtr  p_self ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_has_method 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Checks  if  a  Variant  has  the  given  method . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_method  A  pointer  to  a  StringName  with  the  method  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionInterfaceVariantHasMethod ) ( GDExtensionConstVariantPtr  p_self ,  GDExtensionConstStringNamePtr  p_method ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_has_member 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Checks  if  a  type  of  Variant  has  the  given  member . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_member  A  pointer  to  a  StringName  with  the  member  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionInterfaceVariantHasMember ) ( GDExtensionVariantType  p_type ,  GDExtensionConstStringNamePtr  p_member ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_has_key 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Checks  if  a  Variant  has  a  key . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_key  A  pointer  to  a  Variant  representing  the  key . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_valid  A  pointer  to  a  boolean  which  will  be  set  to  false  if  the  key  doesn ' t  exist . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  true  if  the  key  exists ;  otherwise  false . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionInterfaceVariantHasKey ) ( GDExtensionConstVariantPtr  p_self ,  GDExtensionConstVariantPtr  p_key ,  GDExtensionBool  * r_valid ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_type_name 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  name  of  a  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_name  A  pointer  to  a  String  to  store  the  Variant  type  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantGetTypeName ) ( GDExtensionVariantType  p_type ,  GDExtensionUninitializedStringPtr  r_name ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_can_convert 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Checks  if  Variants  can  be  converted  from  one  type  to  another . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_from  The  Variant  type  to  convert  from . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_to  The  Variant  type  to  convert  to . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  true  if  the  conversion  is  possible ;  otherwise  false . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionInterfaceVariantCanConvert ) ( GDExtensionVariantType  p_from ,  GDExtensionVariantType  p_to ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_can_convert_strict 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Checks  if  Variant  can  be  converted  from  one  type  to  another  using  stricter  rules . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_from  The  Variant  type  to  convert  from . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_to  The  Variant  type  to  convert  to . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  true  if  the  conversion  is  possible ;  otherwise  false . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionInterfaceVariantCanConvertStrict ) ( GDExtensionVariantType  p_from ,  GDExtensionVariantType  p_to ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  get_variant_from_type_constructor 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  function  that  can  create  a  Variant  of  the  given  type  from  a  raw  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  function  that  can  create  a  Variant  of  the  given  type  from  a  raw  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionVariantFromTypeConstructorFunc  ( * GDExtensionInterfaceGetVariantFromTypeConstructor ) ( GDExtensionVariantType  p_type ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  get_variant_to_type_constructor 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  function  that  can  get  the  raw  value  from  a  Variant  of  the  given  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  function  that  can  get  the  raw  value  from  a  Variant  of  the  given  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionTypeFromVariantConstructorFunc  ( * GDExtensionInterfaceGetVariantToTypeConstructor ) ( GDExtensionVariantType  p_type ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_ptr_operator_evaluator 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  function  that  can  evaluate  the  given  Variant  operator  on  the  given  Variant  types . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_operator  The  variant  operator . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type_a  The  type  of  the  first  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type_b  The  type  of  the  second  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  function  that  can  evaluate  the  given  Variant  operator  on  the  given  Variant  types . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionPtrOperatorEvaluator  ( * GDExtensionInterfaceVariantGetPtrOperatorEvaluator ) ( GDExtensionVariantOperator  p_operator ,  GDExtensionVariantType  p_type_a ,  GDExtensionVariantType  p_type_b ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_ptr_builtin_method 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  function  that  can  call  a  builtin  method  on  a  type  of  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_method  A  pointer  to  a  StringName  with  the  method  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_hash  A  hash  representing  the  method  signature . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  function  that  can  call  a  builtin  method  on  a  type  of  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionPtrBuiltInMethod  ( * GDExtensionInterfaceVariantGetPtrBuiltinMethod ) ( GDExtensionVariantType  p_type ,  GDExtensionConstStringNamePtr  p_method ,  GDExtensionInt  p_hash ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_ptr_constructor 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  function  that  can  call  one  of  the  constructors  for  a  type  of  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_constructor  The  index  of  the  constructor . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  function  that  can  call  one  of  the  constructors  for  a  type  of  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionPtrConstructor  ( * GDExtensionInterfaceVariantGetPtrConstructor ) ( GDExtensionVariantType  p_type ,  int32_t  p_constructor ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_ptr_destructor 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  function  than  can  call  the  destructor  for  a  type  of  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  function  than  can  call  the  destructor  for  a  type  of  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionPtrDestructor  ( * GDExtensionInterfaceVariantGetPtrDestructor ) ( GDExtensionVariantType  p_type ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_construct 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Constructs  a  Variant  of  the  given  type ,  using  the  first  constructor  that  matches  the  given  arguments . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_base  A  pointer  to  a  Variant  to  store  the  constructed  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_args  A  pointer  to  a  C  array  of  Variant  pointers  representing  the  arguments  for  the  constructor . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_argument_count  The  number  of  arguments  to  pass  to  the  constructor . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_error  A  pointer  the  structure  which  will  be  updated  with  error  information . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantConstruct ) ( GDExtensionVariantType  p_type ,  GDExtensionUninitializedVariantPtr  r_base ,  const  GDExtensionConstVariantPtr  * p_args ,  int32_t  p_argument_count ,  GDExtensionCallError  * r_error ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_ptr_setter 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  function  that  can  call  a  member ' s  setter  on  the  given  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_member  A  pointer  to  a  StringName  with  the  member  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  function  that  can  call  a  member ' s  setter  on  the  given  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionPtrSetter  ( * GDExtensionInterfaceVariantGetPtrSetter ) ( GDExtensionVariantType  p_type ,  GDExtensionConstStringNamePtr  p_member ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_ptr_getter 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  function  that  can  call  a  member ' s  getter  on  the  given  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_member  A  pointer  to  a  StringName  with  the  member  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  function  that  can  call  a  member ' s  getter  on  the  given  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionPtrGetter  ( * GDExtensionInterfaceVariantGetPtrGetter ) ( GDExtensionVariantType  p_type ,  GDExtensionConstStringNamePtr  p_member ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_ptr_indexed_setter 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  function  that  can  set  an  index  on  the  given  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  function  that  can  set  an  index  on  the  given  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionPtrIndexedSetter  ( * GDExtensionInterfaceVariantGetPtrIndexedSetter ) ( GDExtensionVariantType  p_type ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_ptr_indexed_getter 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  function  that  can  get  an  index  on  the  given  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  function  that  can  get  an  index  on  the  given  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionPtrIndexedGetter  ( * GDExtensionInterfaceVariantGetPtrIndexedGetter ) ( GDExtensionVariantType  p_type ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_ptr_keyed_setter 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  function  that  can  set  a  key  on  the  given  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  function  that  can  set  a  key  on  the  given  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionPtrKeyedSetter  ( * GDExtensionInterfaceVariantGetPtrKeyedSetter ) ( GDExtensionVariantType  p_type ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_ptr_keyed_getter 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  function  that  can  get  a  key  on  the  given  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  function  that  can  get  a  key  on  the  given  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionPtrKeyedGetter  ( * GDExtensionInterfaceVariantGetPtrKeyedGetter ) ( GDExtensionVariantType  p_type ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_ptr_keyed_checker 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  function  that  can  check  a  key  on  the  given  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  function  that  can  check  a  key  on  the  given  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionPtrKeyedChecker  ( * GDExtensionInterfaceVariantGetPtrKeyedChecker ) ( GDExtensionVariantType  p_type ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_constant_value 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  value  of  a  constant  from  the  given  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  Variant  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_constant  A  pointer  to  a  StringName  with  the  constant  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_ret  A  pointer  to  a  Variant  to  store  the  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceVariantGetConstantValue ) ( GDExtensionVariantType  p_type ,  GDExtensionConstStringNamePtr  p_constant ,  GDExtensionUninitializedVariantPtr  r_ret ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  variant_get_ptr_utility_function 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  function  that  can  call  a  Variant  utility  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_function  A  pointer  to  a  StringName  with  the  function  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_hash  A  hash  representing  the  function  signature . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  function  that  can  call  a  Variant  utility  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionPtrUtilityFunction  ( * GDExtensionInterfaceVariantGetPtrUtilityFunction ) ( GDExtensionConstStringNamePtr  p_function ,  GDExtensionInt  p_hash ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* INTERFACE: String Utilities */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_new_with_latin1_chars 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Creates  a  String  from  a  Latin - 1  encoded  C  string . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_dest  A  pointer  to  a  Variant  to  hold  the  newly  created  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_contents  A  pointer  to  a  Latin - 1  encoded  C  string  ( null  terminated ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceStringNewWithLatin1Chars ) ( GDExtensionUninitializedStringPtr  r_dest ,  const  char  * p_contents ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_new_with_utf8_chars 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Creates  a  String  from  a  UTF - 8  encoded  C  string . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_dest  A  pointer  to  a  Variant  to  hold  the  newly  created  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_contents  A  pointer  to  a  UTF - 8  encoded  C  string  ( null  terminated ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceStringNewWithUtf8Chars ) ( GDExtensionUninitializedStringPtr  r_dest ,  const  char  * p_contents ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_new_with_utf16_chars 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Creates  a  String  from  a  UTF - 16  encoded  C  string . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_dest  A  pointer  to  a  Variant  to  hold  the  newly  created  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_contents  A  pointer  to  a  UTF - 16  encoded  C  string  ( null  terminated ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceStringNewWithUtf16Chars ) ( GDExtensionUninitializedStringPtr  r_dest ,  const  char16_t  * p_contents ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_new_with_utf32_chars 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Creates  a  String  from  a  UTF - 32  encoded  C  string . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_dest  A  pointer  to  a  Variant  to  hold  the  newly  created  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_contents  A  pointer  to  a  UTF - 32  encoded  C  string  ( null  terminated ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceStringNewWithUtf32Chars ) ( GDExtensionUninitializedStringPtr  r_dest ,  const  char32_t  * p_contents ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_new_with_wide_chars 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Creates  a  String  from  a  wide  C  string . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_dest  A  pointer  to  a  Variant  to  hold  the  newly  created  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_contents  A  pointer  to  a  wide  C  string  ( null  terminated ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceStringNewWithWideChars ) ( GDExtensionUninitializedStringPtr  r_dest ,  const  wchar_t  * p_contents ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_new_with_latin1_chars_and_len 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Creates  a  String  from  a  Latin - 1  encoded  C  string  with  the  given  length . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_dest  A  pointer  to  a  Variant  to  hold  the  newly  created  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_contents  A  pointer  to  a  Latin - 1  encoded  C  string . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_size  The  number  of  characters . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceStringNewWithLatin1CharsAndLen ) ( GDExtensionUninitializedStringPtr  r_dest ,  const  char  * p_contents ,  GDExtensionInt  p_size ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_new_with_utf8_chars_and_len 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Creates  a  String  from  a  UTF - 8  encoded  C  string  with  the  given  length . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_dest  A  pointer  to  a  Variant  to  hold  the  newly  created  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_contents  A  pointer  to  a  UTF - 8  encoded  C  string . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_size  The  number  of  characters . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceStringNewWithUtf8CharsAndLen ) ( GDExtensionUninitializedStringPtr  r_dest ,  const  char  * p_contents ,  GDExtensionInt  p_size ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_new_with_utf16_chars_and_len 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Creates  a  String  from  a  UTF - 16  encoded  C  string  with  the  given  length . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_dest  A  pointer  to  a  Variant  to  hold  the  newly  created  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_contents  A  pointer  to  a  UTF - 16  encoded  C  string . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_size  The  number  of  characters . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceStringNewWithUtf16CharsAndLen ) ( GDExtensionUninitializedStringPtr  r_dest ,  const  char16_t  * p_contents ,  GDExtensionInt  p_size ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_new_with_utf32_chars_and_len 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Creates  a  String  from  a  UTF - 32  encoded  C  string  with  the  given  length . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_dest  A  pointer  to  a  Variant  to  hold  the  newly  created  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_contents  A  pointer  to  a  UTF - 32  encoded  C  string . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_size  The  number  of  characters . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceStringNewWithUtf32CharsAndLen ) ( GDExtensionUninitializedStringPtr  r_dest ,  const  char32_t  * p_contents ,  GDExtensionInt  p_size ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_new_with_wide_chars_and_len 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Creates  a  String  from  a  wide  C  string  with  the  given  length . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_dest  A  pointer  to  a  Variant  to  hold  the  newly  created  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_contents  A  pointer  to  a  wide  C  string . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_size  The  number  of  characters . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceStringNewWithWideCharsAndLen ) ( GDExtensionUninitializedStringPtr  r_dest ,  const  wchar_t  * p_contents ,  GDExtensionInt  p_size ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_to_latin1_chars 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Converts  a  String  to  a  Latin - 1  encoded  C  string . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  It  doesn ' t  write  a  null  terminator . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_text  A  pointer  to  the  buffer  to  hold  the  resulting  data .  If  NULL  is  passed  in ,  only  the  length  will  be  computed . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_max_write_length  The  maximum  number  of  characters  that  can  be  written  to  r_text .  It  has  no  affect  on  the  return  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  The  resulting  encoded  string  length  in  characters  ( not  bytes ) ,  not  including  a  null  terminator . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionInt  ( * GDExtensionInterfaceStringToLatin1Chars ) ( GDExtensionConstStringPtr  p_self ,  char  * r_text ,  GDExtensionInt  p_max_write_length ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_to_utf8_chars 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Converts  a  String  to  a  UTF - 8  encoded  C  string . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  It  doesn ' t  write  a  null  terminator . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_text  A  pointer  to  the  buffer  to  hold  the  resulting  data .  If  NULL  is  passed  in ,  only  the  length  will  be  computed . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_max_write_length  The  maximum  number  of  characters  that  can  be  written  to  r_text .  It  has  no  affect  on  the  return  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  The  resulting  encoded  string  length  in  characters  ( not  bytes ) ,  not  including  a  null  terminator . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionInt  ( * GDExtensionInterfaceStringToUtf8Chars ) ( GDExtensionConstStringPtr  p_self ,  char  * r_text ,  GDExtensionInt  p_max_write_length ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_to_utf16_chars 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Converts  a  String  to  a  UTF - 16  encoded  C  string . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  It  doesn ' t  write  a  null  terminator . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_text  A  pointer  to  the  buffer  to  hold  the  resulting  data .  If  NULL  is  passed  in ,  only  the  length  will  be  computed . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_max_write_length  The  maximum  number  of  characters  that  can  be  written  to  r_text .  It  has  no  affect  on  the  return  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  The  resulting  encoded  string  length  in  characters  ( not  bytes ) ,  not  including  a  null  terminator . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionInt  ( * GDExtensionInterfaceStringToUtf16Chars ) ( GDExtensionConstStringPtr  p_self ,  char16_t  * r_text ,  GDExtensionInt  p_max_write_length ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_to_utf32_chars 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Converts  a  String  to  a  UTF - 32  encoded  C  string . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  It  doesn ' t  write  a  null  terminator . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_text  A  pointer  to  the  buffer  to  hold  the  resulting  data .  If  NULL  is  passed  in ,  only  the  length  will  be  computed . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_max_write_length  The  maximum  number  of  characters  that  can  be  written  to  r_text .  It  has  no  affect  on  the  return  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  The  resulting  encoded  string  length  in  characters  ( not  bytes ) ,  not  including  a  null  terminator . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionInt  ( * GDExtensionInterfaceStringToUtf32Chars ) ( GDExtensionConstStringPtr  p_self ,  char32_t  * r_text ,  GDExtensionInt  p_max_write_length ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_to_wide_chars 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Converts  a  String  to  a  wide  C  string . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  It  doesn ' t  write  a  null  terminator . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_text  A  pointer  to  the  buffer  to  hold  the  resulting  data .  If  NULL  is  passed  in ,  only  the  length  will  be  computed . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_max_write_length  The  maximum  number  of  characters  that  can  be  written  to  r_text .  It  has  no  affect  on  the  return  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  The  resulting  encoded  string  length  in  characters  ( not  bytes ) ,  not  including  a  null  terminator . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionInt  ( * GDExtensionInterfaceStringToWideChars ) ( GDExtensionConstStringPtr  p_self ,  wchar_t  * r_text ,  GDExtensionInt  p_max_write_length ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_operator_index 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  the  character  at  the  given  index  from  a  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  requested  character . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  char32_t  * ( * GDExtensionInterfaceStringOperatorIndex ) ( GDExtensionStringPtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_operator_index_const 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  const  pointer  to  the  character  at  the  given  index  from  a  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  const  pointer  to  the  requested  character . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  const  char32_t  * ( * GDExtensionInterfaceStringOperatorIndexConst ) ( GDExtensionConstStringPtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_operator_plus_eq_string 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Appends  another  String  to  a  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_b  A  pointer  to  the  other  String  to  append . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceStringOperatorPlusEqString ) ( GDExtensionStringPtr  p_self ,  GDExtensionConstStringPtr  p_b ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_operator_plus_eq_char 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Appends  a  character  to  a  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_b  A  pointer  to  the  character  to  append . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceStringOperatorPlusEqChar ) ( GDExtensionStringPtr  p_self ,  char32_t  p_b ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_operator_plus_eq_cstr 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Appends  a  Latin - 1  encoded  C  string  to  a  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_b  A  pointer  to  a  Latin - 1  encoded  C  string  ( null  terminated ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceStringOperatorPlusEqCstr ) ( GDExtensionStringPtr  p_self ,  const  char  * p_b ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_operator_plus_eq_wcstr 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Appends  a  wide  C  string  to  a  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_b  A  pointer  to  a  wide  C  string  ( null  terminated ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceStringOperatorPlusEqWcstr ) ( GDExtensionStringPtr  p_self ,  const  wchar_t  * p_b ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_operator_plus_eq_c32str 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Appends  a  UTF - 32  encoded  C  string  to  a  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_b  A  pointer  to  a  UTF - 32  encoded  C  string  ( null  terminated ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceStringOperatorPlusEqC32str ) ( GDExtensionStringPtr  p_self ,  const  char32_t  * p_b ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-06-30 11:00:05 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  string_resize 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Resizes  the  underlying  string  data  to  the  given  number  of  characters . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Space  needs  to  be  allocated  for  the  null  terminating  character  ( ' \0 ' )  which 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  also  must  be  added  manually ,  in  order  for  all  string  functions  to  work  correctly . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Warning :  This  is  an  error - prone  operation  -  only  use  it  if  there ' s  no  other 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  efficient  way  to  accomplish  your  goal . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_resize  The  new  length  for  the  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  Error  code  signifying  if  the  operation  successful . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionInt  ( * GDExtensionInterfaceStringResize ) ( GDExtensionStringPtr  p_self ,  GDExtensionInt  p_resize ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/* INTERFACE: XMLParser Utilities */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  xml_parser_open_buffer 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Opens  a  raw  XML  buffer  on  an  XMLParser  instance . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_instance  A  pointer  to  an  XMLParser  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_buffer  A  pointer  to  the  buffer . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_size  The  size  of  the  buffer . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  Godot  error  code  ( ex .  OK ,  ERR_INVALID_DATA ,  etc ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ see  XMLParser : : open_buffer ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionInt  ( * GDExtensionInterfaceXmlParserOpenBuffer ) ( GDExtensionObjectPtr  p_instance ,  const  uint8_t  * p_buffer ,  size_t  p_size ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* INTERFACE: FileAccess Utilities */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  file_access_store_buffer 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Stores  the  given  buffer  using  an  instance  of  FileAccess . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_instance  A  pointer  to  a  FileAccess  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_src  A  pointer  to  the  buffer . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_length  The  size  of  the  buffer . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ see  FileAccess : : store_buffer ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceFileAccessStoreBuffer ) ( GDExtensionObjectPtr  p_instance ,  const  uint8_t  * p_src ,  uint64_t  p_length ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  file_access_get_buffer 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Reads  the  next  p_length  bytes  into  the  given  buffer  using  an  instance  of  FileAccess . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_instance  A  pointer  to  a  FileAccess  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_dst  A  pointer  to  the  buffer  to  store  the  data . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_length  The  requested  number  of  bytes  to  read . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  The  actual  number  of  bytes  read  ( may  be  less  than  requested ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  uint64_t  ( * GDExtensionInterfaceFileAccessGetBuffer ) ( GDExtensionConstObjectPtr  p_instance ,  uint8_t  * p_dst ,  uint64_t  p_length ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* INTERFACE: WorkerThreadPool Utilities */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  worker_thread_pool_add_native_group_task 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Adds  a  group  task  to  an  instance  of  WorkerThreadPool . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_instance  A  pointer  to  a  WorkerThreadPool  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_func  A  pointer  to  a  function  to  run  in  the  thread  pool . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_userdata  A  pointer  to  arbitrary  data  which  will  be  passed  to  p_func . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_tasks  The  number  of  tasks  needed  in  the  group . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_high_priority  Whether  or  not  this  is  a  high  priority  task . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_description  A  pointer  to  a  String  with  the  task  description . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  The  task  group  ID . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ see  WorkerThreadPool : : add_group_task ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  int64_t  ( * GDExtensionInterfaceWorkerThreadPoolAddNativeGroupTask ) ( GDExtensionObjectPtr  p_instance ,  void  ( * p_func ) ( void  * ,  uint32_t ) ,  void  * p_userdata ,  int  p_elements ,  int  p_tasks ,  GDExtensionBool  p_high_priority ,  GDExtensionConstStringPtr  p_description ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  worker_thread_pool_add_native_task 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Adds  a  task  to  an  instance  of  WorkerThreadPool . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_instance  A  pointer  to  a  WorkerThreadPool  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_func  A  pointer  to  a  function  to  run  in  the  thread  pool . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_userdata  A  pointer  to  arbitrary  data  which  will  be  passed  to  p_func . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_high_priority  Whether  or  not  this  is  a  high  priority  task . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_description  A  pointer  to  a  String  with  the  task  description . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  The  task  ID . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  int64_t  ( * GDExtensionInterfaceWorkerThreadPoolAddNativeTask ) ( GDExtensionObjectPtr  p_instance ,  void  ( * p_func ) ( void  * ) ,  void  * p_userdata ,  GDExtensionBool  p_high_priority ,  GDExtensionConstStringPtr  p_description ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* INTERFACE: Packed Array */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_byte_array_operator_index 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  byte  in  a  PackedByteArray . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  a  PackedByteArray  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  byte  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  requested  byte . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  uint8_t  * ( * GDExtensionInterfacePackedByteArrayOperatorIndex ) ( GDExtensionTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_byte_array_operator_index_const 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  const  pointer  to  a  byte  in  a  PackedByteArray . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  const  pointer  to  a  PackedByteArray  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  byte  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  const  pointer  to  the  requested  byte . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  const  uint8_t  * ( * GDExtensionInterfacePackedByteArrayOperatorIndexConst ) ( GDExtensionConstTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_color_array_operator_index 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  color  in  a  PackedColorArray . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  a  PackedColorArray  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  Color  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  requested  Color . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionTypePtr  ( * GDExtensionInterfacePackedColorArrayOperatorIndex ) ( GDExtensionTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_color_array_operator_index_const 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  const  pointer  to  a  color  in  a  PackedColorArray . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  const  pointer  to  a  const  PackedColorArray  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  Color  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  const  pointer  to  the  requested  Color . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionTypePtr  ( * GDExtensionInterfacePackedColorArrayOperatorIndexConst ) ( GDExtensionConstTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_float32_array_operator_index 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  32 - bit  float  in  a  PackedFloat32Array . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  a  PackedFloat32Array  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  float  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  requested  32 - bit  float . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  float  * ( * GDExtensionInterfacePackedFloat32ArrayOperatorIndex ) ( GDExtensionTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_float32_array_operator_index_const 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  const  pointer  to  a  32 - bit  float  in  a  PackedFloat32Array . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  const  pointer  to  a  PackedFloat32Array  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  float  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  const  pointer  to  the  requested  32 - bit  float . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  const  float  * ( * GDExtensionInterfacePackedFloat32ArrayOperatorIndexConst ) ( GDExtensionConstTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_float64_array_operator_index 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  64 - bit  float  in  a  PackedFloat64Array . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  a  PackedFloat64Array  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  float  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  requested  64 - bit  float . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  double  * ( * GDExtensionInterfacePackedFloat64ArrayOperatorIndex ) ( GDExtensionTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_float64_array_operator_index_const 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  const  pointer  to  a  64 - bit  float  in  a  PackedFloat64Array . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  const  pointer  to  a  PackedFloat64Array  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  float  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  const  pointer  to  the  requested  64 - bit  float . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  const  double  * ( * GDExtensionInterfacePackedFloat64ArrayOperatorIndexConst ) ( GDExtensionConstTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_int32_array_operator_index 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  32 - bit  integer  in  a  PackedInt32Array . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  a  PackedInt32Array  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  integer  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  requested  32 - bit  integer . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  int32_t  * ( * GDExtensionInterfacePackedInt32ArrayOperatorIndex ) ( GDExtensionTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_int32_array_operator_index_const 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  const  pointer  to  a  32 - bit  integer  in  a  PackedInt32Array . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  const  pointer  to  a  PackedInt32Array  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  integer  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  const  pointer  to  the  requested  32 - bit  integer . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  const  int32_t  * ( * GDExtensionInterfacePackedInt32ArrayOperatorIndexConst ) ( GDExtensionConstTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_int64_array_operator_index 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  64 - bit  integer  in  a  PackedInt64Array . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  a  PackedInt64Array  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  integer  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  requested  64 - bit  integer . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  int64_t  * ( * GDExtensionInterfacePackedInt64ArrayOperatorIndex ) ( GDExtensionTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_int64_array_operator_index_const 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  const  pointer  to  a  64 - bit  integer  in  a  PackedInt64Array . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  const  pointer  to  a  PackedInt64Array  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  integer  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  const  pointer  to  the  requested  64 - bit  integer . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  const  int64_t  * ( * GDExtensionInterfacePackedInt64ArrayOperatorIndexConst ) ( GDExtensionConstTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_string_array_operator_index 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  string  in  a  PackedStringArray . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  a  PackedStringArray  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  String  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  requested  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionStringPtr  ( * GDExtensionInterfacePackedStringArrayOperatorIndex ) ( GDExtensionTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_string_array_operator_index_const 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  const  pointer  to  a  string  in  a  PackedStringArray . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  const  pointer  to  a  PackedStringArray  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  String  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  const  pointer  to  the  requested  String . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionStringPtr  ( * GDExtensionInterfacePackedStringArrayOperatorIndexConst ) ( GDExtensionConstTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_vector2_array_operator_index 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  Vector2  in  a  PackedVector2Array . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  a  PackedVector2Array  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  Vector2  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  requested  Vector2 . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionTypePtr  ( * GDExtensionInterfacePackedVector2ArrayOperatorIndex ) ( GDExtensionTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_vector2_array_operator_index_const 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  const  pointer  to  a  Vector2  in  a  PackedVector2Array . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  const  pointer  to  a  PackedVector2Array  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  Vector2  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  const  pointer  to  the  requested  Vector2 . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionTypePtr  ( * GDExtensionInterfacePackedVector2ArrayOperatorIndexConst ) ( GDExtensionConstTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_vector3_array_operator_index 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  Vector3  in  a  PackedVector3Array . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  a  PackedVector3Array  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  Vector3  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  requested  Vector3 . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionTypePtr  ( * GDExtensionInterfacePackedVector3ArrayOperatorIndex ) ( GDExtensionTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  packed_vector3_array_operator_index_const 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  const  pointer  to  a  Vector3  in  a  PackedVector3Array . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  const  pointer  to  a  PackedVector3Array  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  Vector3  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  const  pointer  to  the  requested  Vector3 . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionTypePtr  ( * GDExtensionInterfacePackedVector3ArrayOperatorIndexConst ) ( GDExtensionConstTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  array_operator_index 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  Variant  in  an  Array . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  an  Array  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  Variant  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  requested  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionVariantPtr  ( * GDExtensionInterfaceArrayOperatorIndex ) ( GDExtensionTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  array_operator_index_const 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  const  pointer  to  a  Variant  in  an  Array . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  const  pointer  to  an  Array  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  of  the  Variant  to  get . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  const  pointer  to  the  requested  Variant . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionVariantPtr  ( * GDExtensionInterfaceArrayOperatorIndexConst ) ( GDExtensionConstTypePtr  p_self ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  array_ref 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Sets  an  Array  to  be  a  reference  to  another  Array  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Array  object  to  update . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_from  A  pointer  to  the  Array  object  to  reference . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceArrayRef ) ( GDExtensionTypePtr  p_self ,  GDExtensionConstTypePtr  p_from ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  array_set_typed 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Makes  an  Array  into  a  typed  Array . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  the  Array . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_type  The  type  of  Variant  the  Array  will  store . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_class_name  A  pointer  to  a  StringName  with  the  name  of  the  object  ( if  p_type  is  GDEXTENSION_VARIANT_TYPE_OBJECT ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_script  A  pointer  to  a  Script  object  ( if  p_type  is  GDEXTENSION_VARIANT_TYPE_OBJECT  and  the  base  class  is  extended  by  a  script ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceArraySetTyped ) ( GDExtensionTypePtr  p_self ,  GDExtensionVariantType  p_type ,  GDExtensionConstStringNamePtr  p_class_name ,  GDExtensionConstVariantPtr  p_script ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* INTERFACE: Dictionary */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  dictionary_operator_index 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  a  Variant  in  a  Dictionary  with  the  given  key . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  pointer  to  a  Dictionary  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_key  A  pointer  to  a  Variant  representing  the  key . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  Variant  representing  the  value  at  the  given  key . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionVariantPtr  ( * GDExtensionInterfaceDictionaryOperatorIndex ) ( GDExtensionTypePtr  p_self ,  GDExtensionConstVariantPtr  p_key ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  dictionary_operator_index_const 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  const  pointer  to  a  Variant  in  a  Dictionary  with  the  given  key . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_self  A  const  pointer  to  a  Dictionary  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_key  A  pointer  to  a  Variant  representing  the  key . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  const  pointer  to  a  Variant  representing  the  value  at  the  given  key . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionVariantPtr  ( * GDExtensionInterfaceDictionaryOperatorIndexConst ) ( GDExtensionConstTypePtr  p_self ,  GDExtensionConstVariantPtr  p_key ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* INTERFACE: Object */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  object_method_bind_call 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Calls  a  method  on  an  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_method_bind  A  pointer  to  the  MethodBind  representing  the  method  on  the  Object ' s  class . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_instance  A  pointer  to  the  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_args  A  pointer  to  a  C  array  of  Variants  representing  the  arguments . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_arg_count  The  number  of  arguments . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_ret  A  pointer  to  Variant  which  will  receive  the  return  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_error  A  pointer  to  a  GDExtensionCallError  struct  that  will  receive  error  information . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceObjectMethodBindCall ) ( GDExtensionMethodBindPtr  p_method_bind ,  GDExtensionObjectPtr  p_instance ,  const  GDExtensionConstVariantPtr  * p_args ,  GDExtensionInt  p_arg_count ,  GDExtensionUninitializedVariantPtr  r_ret ,  GDExtensionCallError  * r_error ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  object_method_bind_ptrcall 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Calls  a  method  on  an  Object  ( using  a  " ptrcall " ) . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_method_bind  A  pointer  to  the  MethodBind  representing  the  method  on  the  Object ' s  class . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_instance  A  pointer  to  the  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_args  A  pointer  to  a  C  array  representing  the  arguments . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_ret  A  pointer  to  the  Object  that  will  receive  the  return  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceObjectMethodBindPtrcall ) ( GDExtensionMethodBindPtr  p_method_bind ,  GDExtensionObjectPtr  p_instance ,  const  GDExtensionConstTypePtr  * p_args ,  GDExtensionTypePtr  r_ret ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  object_destroy 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Destroys  an  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_o  A  pointer  to  the  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceObjectDestroy ) ( GDExtensionObjectPtr  p_o ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  global_get_singleton 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  global  singleton  by  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_name  A  pointer  to  a  StringName  with  the  singleton  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  singleton  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionObjectPtr  ( * GDExtensionInterfaceGlobalGetSingleton ) ( GDExtensionConstStringNamePtr  p_name ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  object_get_instance_binding 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  representing  an  Object ' s  instance  binding . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_o  A  pointer  to  the  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_library  A  token  the  library  received  by  the  GDExtension ' s  entry  point  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_callbacks  A  pointer  to  a  GDExtensionInstanceBindingCallbacks  struct . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  * ( * GDExtensionInterfaceObjectGetInstanceBinding ) ( GDExtensionObjectPtr  p_o ,  void  * p_token ,  const  GDExtensionInstanceBindingCallbacks  * p_callbacks ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  object_set_instance_binding 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Sets  an  Object ' s  instance  binding . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_o  A  pointer  to  the  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_library  A  token  the  library  received  by  the  GDExtension ' s  entry  point  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_binding  A  pointer  to  the  instance  binding . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_callbacks  A  pointer  to  a  GDExtensionInstanceBindingCallbacks  struct . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceObjectSetInstanceBinding ) ( GDExtensionObjectPtr  p_o ,  void  * p_token ,  void  * p_binding ,  const  GDExtensionInstanceBindingCallbacks  * p_callbacks ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  object_set_instance 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Sets  an  extension  class  instance  on  a  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_o  A  pointer  to  the  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_classname  A  pointer  to  a  StringName  with  the  registered  extension  class ' s  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_instance  A  pointer  to  the  extension  class  instance . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceObjectSetInstance ) ( GDExtensionObjectPtr  p_o ,  GDExtensionConstStringNamePtr  p_classname ,  GDExtensionClassInstancePtr  p_instance ) ;  /* p_classname should be a registered extension class and should extend the p_o object's class. */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-02-16 09:38:57 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  object_get_class_name 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-02-16 09:38:57 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  class  name  of  an  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_object  A  pointer  to  the  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_library  A  pointer  the  library  received  by  the  GDExtension ' s  entry  point  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_class_name  A  pointer  to  a  String  to  receive  the  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  true  if  successful  in  getting  the  class  name ;  otherwise  false . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionBool  ( * GDExtensionInterfaceObjectGetClassName ) ( GDExtensionConstObjectPtr  p_object ,  GDExtensionClassLibraryPtr  p_library ,  GDExtensionUninitializedStringNamePtr  r_class_name ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  object_cast_to 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Casts  an  Object  to  a  different  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_object  A  pointer  to  the  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_class_tag  A  pointer  uniquely  identifying  a  built - in  class  in  the  ClassDB . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  Returns  a  pointer  to  the  Object ,  or  NULL  if  it  can ' t  be  cast  to  the  requested  type . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionObjectPtr  ( * GDExtensionInterfaceObjectCastTo ) ( GDExtensionConstObjectPtr  p_object ,  void  * p_class_tag ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  object_get_instance_from_id 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  an  Object  by  its  instance  ID . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_instance_id  The  instance  ID . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionObjectPtr  ( * GDExtensionInterfaceObjectGetInstanceFromId ) ( GDObjectInstanceID  p_instance_id ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  object_get_instance_id 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  instance  ID  from  an  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_object  A  pointer  to  the  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  The  instance  ID . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDObjectInstanceID  ( * GDExtensionInterfaceObjectGetInstanceId ) ( GDExtensionConstObjectPtr  p_object ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* INTERFACE: Reference */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  ref_get_object 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  Object  from  a  reference . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_ref  A  pointer  to  the  reference . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  Object  from  the  reference  or  NULL . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionObjectPtr  ( * GDExtensionInterfaceRefGetObject ) ( GDExtensionConstRefPtr  p_ref ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  ref_set_object 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Sets  the  Object  referred  to  by  a  reference . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_ref  A  pointer  to  the  reference . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_object  A  pointer  to  the  Object  to  refer  to . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceRefSetObject ) ( GDExtensionRefPtr  p_ref ,  GDExtensionObjectPtr  p_object ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* INTERFACE: Script Instance */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  script_instance_create 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Creates  a  script  instance  that  contains  the  given  info  and  instance  data . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_info  A  pointer  to  a  GDExtensionScriptInstanceInfo  struct . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_instance_data  A  pointer  to  a  data  representing  the  script  instance  in  the  GDExtension .  This  will  be  passed  to  all  the  function  pointers  on  p_info . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  a  ScriptInstanceExtension  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionScriptInstancePtr  ( * GDExtensionInterfaceScriptInstanceCreate ) ( const  GDExtensionScriptInstanceInfo  * p_info ,  GDExtensionScriptInstanceDataPtr  p_instance_data ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* INTERFACE: ClassDB */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  classdb_construct_object 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Constructs  an  Object  of  the  requested  class . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  The  passed  class  must  be  a  built - in  godot  class ,   or  an  already - registered  extension  class .   In  both  cases ,  object_set_instance ( )  should  be  called  to  fully  initialize  the  object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_classname  A  pointer  to  a  StringName  with  the  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  newly  created  Object . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionObjectPtr  ( * GDExtensionInterfaceClassdbConstructObject ) ( GDExtensionConstStringNamePtr  p_classname ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  classdb_get_method_bind 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  to  the  MethodBind  in  ClassDB  for  the  given  class ,   method  and  hash . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_classname  A  pointer  to  a  StringName  with  the  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_methodname  A  pointer  to  a  StringName  with  the  method  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_hash  A  hash  representing  the  function  signature . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  to  the  MethodBind  from  ClassDB . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  GDExtensionMethodBindPtr  ( * GDExtensionInterfaceClassdbGetMethodBind ) ( GDExtensionConstStringNamePtr  p_classname ,  GDExtensionConstStringNamePtr  p_methodname ,  GDExtensionInt  p_hash ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  classdb_get_class_tag 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  a  pointer  uniquely  identifying  the  given  built - in  class  in  the  ClassDB . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_classname  A  pointer  to  a  StringName  with  the  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ return  A  pointer  uniquely  identifying  the  built - in  class  in  the  ClassDB . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  * ( * GDExtensionInterfaceClassdbGetClassTag ) ( GDExtensionConstStringNamePtr  p_classname ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/* INTERFACE: ClassDB Extension */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  classdb_register_extension_class 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Registers  an  extension  class  in  the  ClassDB . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Provided  struct  can  be  safely  freed  once  the  function  returns . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_library  A  pointer  the  library  received  by  the  GDExtension ' s  entry  point  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_class_name  A  pointer  to  a  StringName  with  the  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_parent_class_name  A  pointer  to  a  StringName  with  the  parent  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_extension_funcs  A  pointer  to  a  GDExtensionClassCreationInfo  struct . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceClassdbRegisterExtensionClass ) ( GDExtensionClassLibraryPtr  p_library ,  GDExtensionConstStringNamePtr  p_class_name ,  GDExtensionConstStringNamePtr  p_parent_class_name ,  const  GDExtensionClassCreationInfo  * p_extension_funcs ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  classdb_register_extension_class_method 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Registers  a  method  on  an  extension  class  in  the  ClassDB . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Provided  struct  can  be  safely  freed  once  the  function  returns . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_library  A  pointer  the  library  received  by  the  GDExtension ' s  entry  point  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_class_name  A  pointer  to  a  StringName  with  the  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_method_info  A  pointer  to  a  GDExtensionClassMethodInfo  struct . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceClassdbRegisterExtensionClassMethod ) ( GDExtensionClassLibraryPtr  p_library ,  GDExtensionConstStringNamePtr  p_class_name ,  const  GDExtensionClassMethodInfo  * p_method_info ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  classdb_register_extension_class_integer_constant 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Registers  an  integer  constant  on  an  extension  class  in  the  ClassDB . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_library  A  pointer  the  library  received  by  the  GDExtension ' s  entry  point  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_class_name  A  pointer  to  a  StringName  with  the  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_enum_name  A  pointer  to  a  StringName  with  the  enum  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_constant_name  A  pointer  to  a  StringName  with  the  constant  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_constant_value  The  constant  value . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_is_bitfield  Whether  or  not  this  is  a  bit  field . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceClassdbRegisterExtensionClassIntegerConstant ) ( GDExtensionClassLibraryPtr  p_library ,  GDExtensionConstStringNamePtr  p_class_name ,  GDExtensionConstStringNamePtr  p_enum_name ,  GDExtensionConstStringNamePtr  p_constant_name ,  GDExtensionInt  p_constant_value ,  GDExtensionBool  p_is_bitfield ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  classdb_register_extension_class_property 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Registers  a  property  on  an  extension  class  in  the  ClassDB . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Provided  struct  can  be  safely  freed  once  the  function  returns . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_library  A  pointer  the  library  received  by  the  GDExtension ' s  entry  point  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_class_name  A  pointer  to  a  StringName  with  the  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_info  A  pointer  to  a  GDExtensionPropertyInfo  struct . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_setter  A  pointer  to  a  StringName  with  the  name  of  the  setter  method . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_getter  A  pointer  to  a  StringName  with  the  name  of  the  getter  method . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceClassdbRegisterExtensionClassProperty ) ( GDExtensionClassLibraryPtr  p_library ,  GDExtensionConstStringNamePtr  p_class_name ,  const  GDExtensionPropertyInfo  * p_info ,  GDExtensionConstStringNamePtr  p_setter ,  GDExtensionConstStringNamePtr  p_getter ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-07-21 22:59:24 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  classdb_register_extension_class_property_indexed 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ since  4.2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Registers  an  indexed  property  on  an  extension  class  in  the  ClassDB . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Provided  struct  can  be  safely  freed  once  the  function  returns . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_library  A  pointer  the  library  received  by  the  GDExtension ' s  entry  point  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_class_name  A  pointer  to  a  StringName  with  the  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_info  A  pointer  to  a  GDExtensionPropertyInfo  struct . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_setter  A  pointer  to  a  StringName  with  the  name  of  the  setter  method . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_getter  A  pointer  to  a  StringName  with  the  name  of  the  getter  method . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_index  The  index  to  pass  as  the  first  argument  to  the  getter  and  setter  methods . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceClassdbRegisterExtensionClassPropertyIndexed ) ( GDExtensionClassLibraryPtr  p_library ,  GDExtensionConstStringNamePtr  p_class_name ,  const  GDExtensionPropertyInfo  * p_info ,  GDExtensionConstStringNamePtr  p_setter ,  GDExtensionConstStringNamePtr  p_getter ,  GDExtensionInt  p_index ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  classdb_register_extension_class_property_group 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Registers  a  property  group  on  an  extension  class  in  the  ClassDB . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_library  A  pointer  the  library  received  by  the  GDExtension ' s  entry  point  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_class_name  A  pointer  to  a  StringName  with  the  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_group_name  A  pointer  to  a  String  with  the  group  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_prefix  A  pointer  to  a  String  with  the  prefix  used  by  properties  in  this  group . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceClassdbRegisterExtensionClassPropertyGroup ) ( GDExtensionClassLibraryPtr  p_library ,  GDExtensionConstStringNamePtr  p_class_name ,  GDExtensionConstStringPtr  p_group_name ,  GDExtensionConstStringPtr  p_prefix ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  classdb_register_extension_class_property_subgroup 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Registers  a  property  subgroup  on  an  extension  class  in  the  ClassDB . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_library  A  pointer  the  library  received  by  the  GDExtension ' s  entry  point  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_class_name  A  pointer  to  a  StringName  with  the  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_subgroup_name  A  pointer  to  a  String  with  the  subgroup  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_prefix  A  pointer  to  a  String  with  the  prefix  used  by  properties  in  this  subgroup . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceClassdbRegisterExtensionClassPropertySubgroup ) ( GDExtensionClassLibraryPtr  p_library ,  GDExtensionConstStringNamePtr  p_class_name ,  GDExtensionConstStringPtr  p_subgroup_name ,  GDExtensionConstStringPtr  p_prefix ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  classdb_register_extension_class_signal 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Registers  a  signal  on  an  extension  class  in  the  ClassDB . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Provided  structs  can  be  safely  freed  once  the  function  returns . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_library  A  pointer  the  library  received  by  the  GDExtension ' s  entry  point  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_class_name  A  pointer  to  a  StringName  with  the  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_signal_name  A  pointer  to  a  StringName  with  the  signal  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_argument_info  A  pointer  to  a  GDExtensionPropertyInfo  struct . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_argument_count  The  number  of  arguments  the  signal  receives . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceClassdbRegisterExtensionClassSignal ) ( GDExtensionClassLibraryPtr  p_library ,  GDExtensionConstStringNamePtr  p_class_name ,  GDExtensionConstStringNamePtr  p_signal_name ,  const  GDExtensionPropertyInfo  * p_argument_info ,  GDExtensionInt  p_argument_count ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  classdb_unregister_extension_class 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Unregisters  an  extension  class  in  the  ClassDB . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_library  A  pointer  the  library  received  by  the  GDExtension ' s  entry  point  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_class_name  A  pointer  to  a  StringName  with  the  class  name . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceClassdbUnregisterExtensionClass ) ( GDExtensionClassLibraryPtr  p_library ,  GDExtensionConstStringNamePtr  p_class_name ) ;  /* Unregistering a parent class before a class that inherits it will result in failure. Inheritors must be unregistered first. */  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  get_library_path 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Gets  the  path  to  the  current  GDExtension  library . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_library  A  pointer  the  library  received  by  the  GDExtension ' s  entry  point  function . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  r_path  A  pointer  to  a  String  which  will  receive  the  path . 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
									
										
										
										
											2023-04-24 10:15:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceGetLibraryPath ) ( GDExtensionClassLibraryPtr  p_library ,  GDExtensionUninitializedStringPtr  r_path ) ;  
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-05-11 16:46:53 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  editor_add_plugin 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-05-11 16:46:53 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Adds  an  editor  plugin . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  It ' s  safe  to  call  during  initialization . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_class_name  A  pointer  to  a  StringName  with  the  name  of  a  class  ( descending  from  EditorPlugin )  which  is  already  registered  with  ClassDB . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceEditorAddPlugin ) ( GDExtensionConstStringNamePtr  p_class_name ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ name  editor_remove_plugin 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-21 12:47:48 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 *  @ since  4.1 
							 
						 
					
						
							
								
									
										
										
										
											2023-05-11 16:46:53 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Removes  an  editor  plugin . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ param  p_class_name  A  pointer  to  a  StringName  with  the  name  of  a  class  that  was  previously  added  as  an  editor  plugin . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								typedef  void  ( * GDExtensionInterfaceEditorRemovePlugin ) ( GDExtensionConstStringNamePtr  p_class_name ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-12-07 12:11:28 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								# ifdef __cplusplus 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif  // GDEXTENSION_INTERFACE_H