ClassDB: Provide the enum name of integer constants
This commit is contained in:
parent
f6c39830cb
commit
32dd9a9f66
107 changed files with 2059 additions and 1894 deletions
|
|
@ -151,12 +151,12 @@ void _ResourceSaver::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("save", "path", "resource", "flags"), &_ResourceSaver::save, DEFVAL(0));
|
||||
ClassDB::bind_method(D_METHOD("get_recognized_extensions", "type"), &_ResourceSaver::get_recognized_extensions);
|
||||
|
||||
BIND_CONSTANT(FLAG_RELATIVE_PATHS);
|
||||
BIND_CONSTANT(FLAG_BUNDLE_RESOURCES);
|
||||
BIND_CONSTANT(FLAG_CHANGE_PATH);
|
||||
BIND_CONSTANT(FLAG_OMIT_EDITOR_PROPERTIES);
|
||||
BIND_CONSTANT(FLAG_SAVE_BIG_ENDIAN);
|
||||
BIND_CONSTANT(FLAG_COMPRESS);
|
||||
BIND_ENUM_CONSTANT(FLAG_RELATIVE_PATHS);
|
||||
BIND_ENUM_CONSTANT(FLAG_BUNDLE_RESOURCES);
|
||||
BIND_ENUM_CONSTANT(FLAG_CHANGE_PATH);
|
||||
BIND_ENUM_CONSTANT(FLAG_OMIT_EDITOR_PROPERTIES);
|
||||
BIND_ENUM_CONSTANT(FLAG_SAVE_BIG_ENDIAN);
|
||||
BIND_ENUM_CONSTANT(FLAG_COMPRESS);
|
||||
}
|
||||
|
||||
_ResourceSaver::_ResourceSaver() {
|
||||
|
|
@ -1104,49 +1104,49 @@ void _OS::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("get_power_seconds_left"), &_OS::get_power_seconds_left);
|
||||
ClassDB::bind_method(D_METHOD("get_power_percent_left"), &_OS::get_power_percent_left);
|
||||
|
||||
BIND_CONSTANT(DAY_SUNDAY);
|
||||
BIND_CONSTANT(DAY_MONDAY);
|
||||
BIND_CONSTANT(DAY_TUESDAY);
|
||||
BIND_CONSTANT(DAY_WEDNESDAY);
|
||||
BIND_CONSTANT(DAY_THURSDAY);
|
||||
BIND_CONSTANT(DAY_FRIDAY);
|
||||
BIND_CONSTANT(DAY_SATURDAY);
|
||||
BIND_ENUM_CONSTANT(DAY_SUNDAY);
|
||||
BIND_ENUM_CONSTANT(DAY_MONDAY);
|
||||
BIND_ENUM_CONSTANT(DAY_TUESDAY);
|
||||
BIND_ENUM_CONSTANT(DAY_WEDNESDAY);
|
||||
BIND_ENUM_CONSTANT(DAY_THURSDAY);
|
||||
BIND_ENUM_CONSTANT(DAY_FRIDAY);
|
||||
BIND_ENUM_CONSTANT(DAY_SATURDAY);
|
||||
|
||||
BIND_CONSTANT(MONTH_JANUARY);
|
||||
BIND_CONSTANT(MONTH_FEBRUARY);
|
||||
BIND_CONSTANT(MONTH_MARCH);
|
||||
BIND_CONSTANT(MONTH_APRIL);
|
||||
BIND_CONSTANT(MONTH_MAY);
|
||||
BIND_CONSTANT(MONTH_JUNE);
|
||||
BIND_CONSTANT(MONTH_JULY);
|
||||
BIND_CONSTANT(MONTH_AUGUST);
|
||||
BIND_CONSTANT(MONTH_SEPTEMBER);
|
||||
BIND_CONSTANT(MONTH_OCTOBER);
|
||||
BIND_CONSTANT(MONTH_NOVEMBER);
|
||||
BIND_CONSTANT(MONTH_DECEMBER);
|
||||
BIND_ENUM_CONSTANT(MONTH_JANUARY);
|
||||
BIND_ENUM_CONSTANT(MONTH_FEBRUARY);
|
||||
BIND_ENUM_CONSTANT(MONTH_MARCH);
|
||||
BIND_ENUM_CONSTANT(MONTH_APRIL);
|
||||
BIND_ENUM_CONSTANT(MONTH_MAY);
|
||||
BIND_ENUM_CONSTANT(MONTH_JUNE);
|
||||
BIND_ENUM_CONSTANT(MONTH_JULY);
|
||||
BIND_ENUM_CONSTANT(MONTH_AUGUST);
|
||||
BIND_ENUM_CONSTANT(MONTH_SEPTEMBER);
|
||||
BIND_ENUM_CONSTANT(MONTH_OCTOBER);
|
||||
BIND_ENUM_CONSTANT(MONTH_NOVEMBER);
|
||||
BIND_ENUM_CONSTANT(MONTH_DECEMBER);
|
||||
|
||||
BIND_CONSTANT(SCREEN_ORIENTATION_LANDSCAPE);
|
||||
BIND_CONSTANT(SCREEN_ORIENTATION_PORTRAIT);
|
||||
BIND_CONSTANT(SCREEN_ORIENTATION_REVERSE_LANDSCAPE);
|
||||
BIND_CONSTANT(SCREEN_ORIENTATION_REVERSE_PORTRAIT);
|
||||
BIND_CONSTANT(SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
|
||||
BIND_CONSTANT(SCREEN_ORIENTATION_SENSOR_PORTRAIT);
|
||||
BIND_CONSTANT(SCREEN_ORIENTATION_SENSOR);
|
||||
BIND_ENUM_CONSTANT(SCREEN_ORIENTATION_LANDSCAPE);
|
||||
BIND_ENUM_CONSTANT(SCREEN_ORIENTATION_PORTRAIT);
|
||||
BIND_ENUM_CONSTANT(SCREEN_ORIENTATION_REVERSE_LANDSCAPE);
|
||||
BIND_ENUM_CONSTANT(SCREEN_ORIENTATION_REVERSE_PORTRAIT);
|
||||
BIND_ENUM_CONSTANT(SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
|
||||
BIND_ENUM_CONSTANT(SCREEN_ORIENTATION_SENSOR_PORTRAIT);
|
||||
BIND_ENUM_CONSTANT(SCREEN_ORIENTATION_SENSOR);
|
||||
|
||||
BIND_CONSTANT(SYSTEM_DIR_DESKTOP);
|
||||
BIND_CONSTANT(SYSTEM_DIR_DCIM);
|
||||
BIND_CONSTANT(SYSTEM_DIR_DOCUMENTS);
|
||||
BIND_CONSTANT(SYSTEM_DIR_DOWNLOADS);
|
||||
BIND_CONSTANT(SYSTEM_DIR_MOVIES);
|
||||
BIND_CONSTANT(SYSTEM_DIR_MUSIC);
|
||||
BIND_CONSTANT(SYSTEM_DIR_PICTURES);
|
||||
BIND_CONSTANT(SYSTEM_DIR_RINGTONES);
|
||||
BIND_ENUM_CONSTANT(SYSTEM_DIR_DESKTOP);
|
||||
BIND_ENUM_CONSTANT(SYSTEM_DIR_DCIM);
|
||||
BIND_ENUM_CONSTANT(SYSTEM_DIR_DOCUMENTS);
|
||||
BIND_ENUM_CONSTANT(SYSTEM_DIR_DOWNLOADS);
|
||||
BIND_ENUM_CONSTANT(SYSTEM_DIR_MOVIES);
|
||||
BIND_ENUM_CONSTANT(SYSTEM_DIR_MUSIC);
|
||||
BIND_ENUM_CONSTANT(SYSTEM_DIR_PICTURES);
|
||||
BIND_ENUM_CONSTANT(SYSTEM_DIR_RINGTONES);
|
||||
|
||||
BIND_CONSTANT(POWERSTATE_UNKNOWN);
|
||||
BIND_CONSTANT(POWERSTATE_ON_BATTERY);
|
||||
BIND_CONSTANT(POWERSTATE_NO_BATTERY);
|
||||
BIND_CONSTANT(POWERSTATE_CHARGING);
|
||||
BIND_CONSTANT(POWERSTATE_CHARGED);
|
||||
BIND_ENUM_CONSTANT(POWERSTATE_UNKNOWN);
|
||||
BIND_ENUM_CONSTANT(POWERSTATE_ON_BATTERY);
|
||||
BIND_ENUM_CONSTANT(POWERSTATE_NO_BATTERY);
|
||||
BIND_ENUM_CONSTANT(POWERSTATE_CHARGING);
|
||||
BIND_ENUM_CONSTANT(POWERSTATE_CHARGED);
|
||||
}
|
||||
|
||||
_OS::_OS() {
|
||||
|
|
@ -1772,15 +1772,15 @@ void _File::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("file_exists", "path"), &_File::file_exists);
|
||||
ClassDB::bind_method(D_METHOD("get_modified_time", "file"), &_File::get_modified_time);
|
||||
|
||||
BIND_CONSTANT(READ);
|
||||
BIND_CONSTANT(WRITE);
|
||||
BIND_CONSTANT(READ_WRITE);
|
||||
BIND_CONSTANT(WRITE_READ);
|
||||
BIND_ENUM_CONSTANT(READ);
|
||||
BIND_ENUM_CONSTANT(WRITE);
|
||||
BIND_ENUM_CONSTANT(READ_WRITE);
|
||||
BIND_ENUM_CONSTANT(WRITE_READ);
|
||||
|
||||
BIND_CONSTANT(COMPRESSION_FASTLZ);
|
||||
BIND_CONSTANT(COMPRESSION_DEFLATE);
|
||||
BIND_CONSTANT(COMPRESSION_ZSTD);
|
||||
BIND_CONSTANT(COMPRESSION_GZIP);
|
||||
BIND_ENUM_CONSTANT(COMPRESSION_FASTLZ);
|
||||
BIND_ENUM_CONSTANT(COMPRESSION_DEFLATE);
|
||||
BIND_ENUM_CONSTANT(COMPRESSION_ZSTD);
|
||||
BIND_ENUM_CONSTANT(COMPRESSION_GZIP);
|
||||
}
|
||||
|
||||
_File::_File() {
|
||||
|
|
@ -2285,9 +2285,9 @@ void _Thread::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("is_active"), &_Thread::is_active);
|
||||
ClassDB::bind_method(D_METHOD("wait_to_finish"), &_Thread::wait_to_finish);
|
||||
|
||||
BIND_CONSTANT(PRIORITY_LOW);
|
||||
BIND_CONSTANT(PRIORITY_NORMAL);
|
||||
BIND_CONSTANT(PRIORITY_HIGH);
|
||||
BIND_ENUM_CONSTANT(PRIORITY_LOW);
|
||||
BIND_ENUM_CONSTANT(PRIORITY_NORMAL);
|
||||
BIND_ENUM_CONSTANT(PRIORITY_HIGH);
|
||||
}
|
||||
_Thread::_Thread() {
|
||||
|
||||
|
|
|
|||
|
|
@ -85,6 +85,8 @@ public:
|
|||
_ResourceSaver();
|
||||
};
|
||||
|
||||
VARIANT_ENUM_CAST(_ResourceSaver::SaverFlags);
|
||||
|
||||
class MainLoop;
|
||||
|
||||
class _OS : public Object {
|
||||
|
|
@ -310,6 +312,8 @@ public:
|
|||
_OS();
|
||||
};
|
||||
|
||||
VARIANT_ENUM_CAST(_OS::Weekday);
|
||||
VARIANT_ENUM_CAST(_OS::Month);
|
||||
VARIANT_ENUM_CAST(_OS::SystemDir);
|
||||
VARIANT_ENUM_CAST(_OS::ScreenOrientation);
|
||||
|
||||
|
|
@ -447,6 +451,9 @@ public:
|
|||
virtual ~_File();
|
||||
};
|
||||
|
||||
VARIANT_ENUM_CAST(_File::ModeFlags);
|
||||
VARIANT_ENUM_CAST(_File::CompressionMode);
|
||||
|
||||
class _Directory : public Reference {
|
||||
|
||||
GDCLASS(_Directory, Reference);
|
||||
|
|
@ -578,6 +585,8 @@ public:
|
|||
~_Thread();
|
||||
};
|
||||
|
||||
VARIANT_ENUM_CAST(_Thread::Priority);
|
||||
|
||||
class _ClassDB : public Object {
|
||||
|
||||
GDCLASS(_ClassDB, Object)
|
||||
|
|
|
|||
|
|
@ -583,7 +583,7 @@ MethodBind *ClassDB::get_method(StringName p_class, StringName p_name) {
|
|||
return NULL;
|
||||
}
|
||||
|
||||
void ClassDB::bind_integer_constant(const StringName &p_class, const StringName &p_name, int p_constant) {
|
||||
void ClassDB::bind_integer_constant(const StringName &p_class, const StringName &p_enum, const StringName &p_name, int p_constant) {
|
||||
|
||||
OBJTYPE_WLOCK;
|
||||
|
||||
|
|
@ -600,6 +600,16 @@ void ClassDB::bind_integer_constant(const StringName &p_class, const StringName
|
|||
|
||||
type->constant_map[p_name] = p_constant;
|
||||
#ifdef DEBUG_METHODS_ENABLED
|
||||
List<StringName> *constants_list = type->enum_map.getptr(p_enum);
|
||||
|
||||
if (constants_list) {
|
||||
constants_list->push_back(p_name);
|
||||
} else {
|
||||
List<StringName> new_list;
|
||||
new_list.push_back(p_name);
|
||||
type->enum_map[p_enum] = new_list;
|
||||
}
|
||||
|
||||
type->constant_order.push_back(p_name);
|
||||
#endif
|
||||
}
|
||||
|
|
@ -655,6 +665,77 @@ int ClassDB::get_integer_constant(const StringName &p_class, const StringName &p
|
|||
return 0;
|
||||
}
|
||||
|
||||
#ifdef DEBUG_METHODS_ENABLED
|
||||
StringName ClassDB::get_integer_constant_enum(const StringName &p_class, const StringName &p_name, bool p_no_inheritance) {
|
||||
|
||||
OBJTYPE_RLOCK;
|
||||
|
||||
ClassInfo *type = classes.getptr(p_class);
|
||||
|
||||
while (type) {
|
||||
|
||||
const StringName *k = NULL;
|
||||
while ((k = type->enum_map.next(k))) {
|
||||
|
||||
List<StringName> &constants_list = type->enum_map.get(*k);
|
||||
const List<StringName>::Element *found = constants_list.find(p_name);
|
||||
if (found)
|
||||
return found->get();
|
||||
}
|
||||
|
||||
if (p_no_inheritance)
|
||||
break;
|
||||
|
||||
type = type->inherits_ptr;
|
||||
}
|
||||
|
||||
return StringName();
|
||||
}
|
||||
|
||||
void ClassDB::get_enum_list(const StringName &p_class, List<StringName> *p_enums, bool p_no_inheritance) {
|
||||
|
||||
OBJTYPE_RLOCK;
|
||||
|
||||
ClassInfo *type = classes.getptr(p_class);
|
||||
|
||||
while (type) {
|
||||
|
||||
const StringName *k = NULL;
|
||||
while ((k = type->enum_map.next(k))) {
|
||||
p_enums->push_back(*k);
|
||||
}
|
||||
|
||||
if (p_no_inheritance)
|
||||
break;
|
||||
|
||||
type = type->inherits_ptr;
|
||||
}
|
||||
}
|
||||
|
||||
void ClassDB::get_enum_constants(const StringName &p_class, const StringName &p_enum, List<StringName> *p_constants, bool p_no_inheritance) {
|
||||
|
||||
OBJTYPE_RLOCK;
|
||||
|
||||
ClassInfo *type = classes.getptr(p_class);
|
||||
|
||||
while (type) {
|
||||
|
||||
const List<StringName> *constants = type->enum_map.getptr(p_enum);
|
||||
|
||||
if (constants) {
|
||||
for (const List<StringName>::Element *E = constants->front(); E; E = E->next()) {
|
||||
p_constants->push_back(E->get());
|
||||
}
|
||||
}
|
||||
|
||||
if (p_no_inheritance)
|
||||
break;
|
||||
|
||||
type = type->inherits_ptr;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
void ClassDB::add_signal(StringName p_class, const MethodInfo &p_signal) {
|
||||
|
||||
OBJTYPE_WLOCK;
|
||||
|
|
|
|||
|
|
@ -138,6 +138,7 @@ public:
|
|||
HashMap<StringName, MethodInfo, StringNameHasher> signal_map;
|
||||
List<PropertyInfo> property_list;
|
||||
#ifdef DEBUG_METHODS_ENABLED
|
||||
HashMap<StringName, List<StringName> > enum_map;
|
||||
List<StringName> constant_order;
|
||||
List<StringName> method_order;
|
||||
Set<StringName> methods_in_properties;
|
||||
|
|
@ -488,9 +489,16 @@ public:
|
|||
static void add_virtual_method(const StringName &p_class, const MethodInfo &p_method, bool p_virtual = true);
|
||||
static void get_virtual_methods(const StringName &p_class, List<MethodInfo> *p_methods, bool p_no_inheritance = false);
|
||||
|
||||
static void bind_integer_constant(const StringName &p_class, const StringName &p_name, int p_constant);
|
||||
static void bind_integer_constant(const StringName &p_class, const StringName &p_enum, const StringName &p_name, int p_constant);
|
||||
static void get_integer_constant_list(const StringName &p_class, List<String> *p_constants, bool p_no_inheritance = false);
|
||||
static int get_integer_constant(const StringName &p_class, const StringName &p_name, bool *p_success = NULL);
|
||||
|
||||
#ifdef DEBUG_METHODS_ENABLED
|
||||
static StringName get_integer_constant_enum(const StringName &p_class, const StringName &p_name, bool p_no_inheritance = false);
|
||||
static void get_enum_list(const StringName &p_class, List<StringName> *p_enums, bool p_no_inheritance = false);
|
||||
static void get_enum_constants(const StringName &p_class, const StringName &p_enum, List<StringName> *p_constants, bool p_no_inheritance = false);
|
||||
#endif
|
||||
|
||||
static StringName get_category(const StringName &p_node);
|
||||
|
||||
static bool get_setter_and_type_for_property(const StringName &p_class, const StringName &p_prop, StringName &r_class, StringName &r_setter);
|
||||
|
|
@ -509,8 +517,23 @@ public:
|
|||
static void cleanup();
|
||||
};
|
||||
|
||||
#ifdef DEBUG_METHODS_ENABLED
|
||||
|
||||
#define BIND_CONSTANT(m_constant) \
|
||||
ClassDB::bind_integer_constant(get_class_static(), #m_constant, m_constant);
|
||||
ClassDB::bind_integer_constant(get_class_static(), StringName(), #m_constant, m_constant);
|
||||
|
||||
#define BIND_ENUM_CONSTANT(m_constant) \
|
||||
ClassDB::bind_integer_constant(get_class_static(), __constant_get_enum_name(m_constant, #m_constant), #m_constant, m_constant);
|
||||
|
||||
#else
|
||||
|
||||
#define BIND_CONSTANT(m_constant) \
|
||||
ClassDB::bind_integer_constant(get_class_static(), StringName(), #m_constant, m_constant);
|
||||
|
||||
#define BIND_ENUM_CONSTANT(m_constant) \
|
||||
ClassDB::bind_integer_constant(get_class_static(), StringName(), #m_constant, m_constant);
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef TOOLS_ENABLED
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -30,9 +30,12 @@
|
|||
#ifndef GLOBAL_CONSTANTS_H
|
||||
#define GLOBAL_CONSTANTS_H
|
||||
|
||||
#include "string_db.h"
|
||||
|
||||
class GlobalConstants {
|
||||
public:
|
||||
static int get_global_constant_count();
|
||||
static StringName get_global_constant_enum(int p_idx);
|
||||
static const char *get_global_constant_name(int p_idx);
|
||||
static int get_global_constant_value(int p_idx);
|
||||
};
|
||||
|
|
|
|||
104
core/image.cpp
104
core/image.cpp
|
|
@ -2275,62 +2275,62 @@ void Image::_bind_methods() {
|
|||
|
||||
ADD_PROPERTY(PropertyInfo(Variant::DICTIONARY, "data", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_STORAGE), "_set_data", "_get_data");
|
||||
|
||||
BIND_CONSTANT(FORMAT_L8); //luminance
|
||||
BIND_CONSTANT(FORMAT_LA8); //luminance-alpha
|
||||
BIND_CONSTANT(FORMAT_R8);
|
||||
BIND_CONSTANT(FORMAT_RG8);
|
||||
BIND_CONSTANT(FORMAT_RGB8);
|
||||
BIND_CONSTANT(FORMAT_RGBA8);
|
||||
BIND_CONSTANT(FORMAT_RGBA4444);
|
||||
BIND_CONSTANT(FORMAT_RGBA5551);
|
||||
BIND_CONSTANT(FORMAT_RF); //float
|
||||
BIND_CONSTANT(FORMAT_RGF);
|
||||
BIND_CONSTANT(FORMAT_RGBF);
|
||||
BIND_CONSTANT(FORMAT_RGBAF);
|
||||
BIND_CONSTANT(FORMAT_RH); //half float
|
||||
BIND_CONSTANT(FORMAT_RGH);
|
||||
BIND_CONSTANT(FORMAT_RGBH);
|
||||
BIND_CONSTANT(FORMAT_RGBAH);
|
||||
BIND_CONSTANT(FORMAT_RGBE9995);
|
||||
BIND_CONSTANT(FORMAT_DXT1); //s3tc bc1
|
||||
BIND_CONSTANT(FORMAT_DXT3); //bc2
|
||||
BIND_CONSTANT(FORMAT_DXT5); //bc3
|
||||
BIND_CONSTANT(FORMAT_RGTC_R);
|
||||
BIND_CONSTANT(FORMAT_RGTC_RG);
|
||||
BIND_CONSTANT(FORMAT_BPTC_RGBA); //btpc bc6h
|
||||
BIND_CONSTANT(FORMAT_BPTC_RGBF); //float /
|
||||
BIND_CONSTANT(FORMAT_BPTC_RGBFU); //unsigned float
|
||||
BIND_CONSTANT(FORMAT_PVRTC2); //pvrtc
|
||||
BIND_CONSTANT(FORMAT_PVRTC2A);
|
||||
BIND_CONSTANT(FORMAT_PVRTC4);
|
||||
BIND_CONSTANT(FORMAT_PVRTC4A);
|
||||
BIND_CONSTANT(FORMAT_ETC); //etc1
|
||||
BIND_CONSTANT(FORMAT_ETC2_R11); //etc2
|
||||
BIND_CONSTANT(FORMAT_ETC2_R11S); //signed ); NOT srgb.
|
||||
BIND_CONSTANT(FORMAT_ETC2_RG11);
|
||||
BIND_CONSTANT(FORMAT_ETC2_RG11S);
|
||||
BIND_CONSTANT(FORMAT_ETC2_RGB8);
|
||||
BIND_CONSTANT(FORMAT_ETC2_RGBA8);
|
||||
BIND_CONSTANT(FORMAT_ETC2_RGB8A1);
|
||||
BIND_CONSTANT(FORMAT_MAX);
|
||||
BIND_ENUM_CONSTANT(FORMAT_L8); //luminance
|
||||
BIND_ENUM_CONSTANT(FORMAT_LA8); //luminance-alpha
|
||||
BIND_ENUM_CONSTANT(FORMAT_R8);
|
||||
BIND_ENUM_CONSTANT(FORMAT_RG8);
|
||||
BIND_ENUM_CONSTANT(FORMAT_RGB8);
|
||||
BIND_ENUM_CONSTANT(FORMAT_RGBA8);
|
||||
BIND_ENUM_CONSTANT(FORMAT_RGBA4444);
|
||||
BIND_ENUM_CONSTANT(FORMAT_RGBA5551);
|
||||
BIND_ENUM_CONSTANT(FORMAT_RF); //float
|
||||
BIND_ENUM_CONSTANT(FORMAT_RGF);
|
||||
BIND_ENUM_CONSTANT(FORMAT_RGBF);
|
||||
BIND_ENUM_CONSTANT(FORMAT_RGBAF);
|
||||
BIND_ENUM_CONSTANT(FORMAT_RH); //half float
|
||||
BIND_ENUM_CONSTANT(FORMAT_RGH);
|
||||
BIND_ENUM_CONSTANT(FORMAT_RGBH);
|
||||
BIND_ENUM_CONSTANT(FORMAT_RGBAH);
|
||||
BIND_ENUM_CONSTANT(FORMAT_RGBE9995);
|
||||
BIND_ENUM_CONSTANT(FORMAT_DXT1); //s3tc bc1
|
||||
BIND_ENUM_CONSTANT(FORMAT_DXT3); //bc2
|
||||
BIND_ENUM_CONSTANT(FORMAT_DXT5); //bc3
|
||||
BIND_ENUM_CONSTANT(FORMAT_RGTC_R);
|
||||
BIND_ENUM_CONSTANT(FORMAT_RGTC_RG);
|
||||
BIND_ENUM_CONSTANT(FORMAT_BPTC_RGBA); //btpc bc6h
|
||||
BIND_ENUM_CONSTANT(FORMAT_BPTC_RGBF); //float /
|
||||
BIND_ENUM_CONSTANT(FORMAT_BPTC_RGBFU); //unsigned float
|
||||
BIND_ENUM_CONSTANT(FORMAT_PVRTC2); //pvrtc
|
||||
BIND_ENUM_CONSTANT(FORMAT_PVRTC2A);
|
||||
BIND_ENUM_CONSTANT(FORMAT_PVRTC4);
|
||||
BIND_ENUM_CONSTANT(FORMAT_PVRTC4A);
|
||||
BIND_ENUM_CONSTANT(FORMAT_ETC); //etc1
|
||||
BIND_ENUM_CONSTANT(FORMAT_ETC2_R11); //etc2
|
||||
BIND_ENUM_CONSTANT(FORMAT_ETC2_R11S); //signed ); NOT srgb.
|
||||
BIND_ENUM_CONSTANT(FORMAT_ETC2_RG11);
|
||||
BIND_ENUM_CONSTANT(FORMAT_ETC2_RG11S);
|
||||
BIND_ENUM_CONSTANT(FORMAT_ETC2_RGB8);
|
||||
BIND_ENUM_CONSTANT(FORMAT_ETC2_RGBA8);
|
||||
BIND_ENUM_CONSTANT(FORMAT_ETC2_RGB8A1);
|
||||
BIND_ENUM_CONSTANT(FORMAT_MAX);
|
||||
|
||||
BIND_CONSTANT(INTERPOLATE_NEAREST);
|
||||
BIND_CONSTANT(INTERPOLATE_BILINEAR);
|
||||
BIND_CONSTANT(INTERPOLATE_CUBIC);
|
||||
BIND_ENUM_CONSTANT(INTERPOLATE_NEAREST);
|
||||
BIND_ENUM_CONSTANT(INTERPOLATE_BILINEAR);
|
||||
BIND_ENUM_CONSTANT(INTERPOLATE_CUBIC);
|
||||
|
||||
BIND_CONSTANT(ALPHA_NONE);
|
||||
BIND_CONSTANT(ALPHA_BIT);
|
||||
BIND_CONSTANT(ALPHA_BLEND);
|
||||
BIND_ENUM_CONSTANT(ALPHA_NONE);
|
||||
BIND_ENUM_CONSTANT(ALPHA_BIT);
|
||||
BIND_ENUM_CONSTANT(ALPHA_BLEND);
|
||||
|
||||
BIND_CONSTANT(COMPRESS_S3TC);
|
||||
BIND_CONSTANT(COMPRESS_PVRTC2);
|
||||
BIND_CONSTANT(COMPRESS_PVRTC4);
|
||||
BIND_CONSTANT(COMPRESS_ETC);
|
||||
BIND_CONSTANT(COMPRESS_ETC2);
|
||||
BIND_ENUM_CONSTANT(COMPRESS_S3TC);
|
||||
BIND_ENUM_CONSTANT(COMPRESS_PVRTC2);
|
||||
BIND_ENUM_CONSTANT(COMPRESS_PVRTC4);
|
||||
BIND_ENUM_CONSTANT(COMPRESS_ETC);
|
||||
BIND_ENUM_CONSTANT(COMPRESS_ETC2);
|
||||
|
||||
BIND_CONSTANT(COMPRESS_SOURCE_GENERIC);
|
||||
BIND_CONSTANT(COMPRESS_SOURCE_SRGB);
|
||||
BIND_CONSTANT(COMPRESS_SOURCE_NORMAL);
|
||||
BIND_ENUM_CONSTANT(COMPRESS_SOURCE_GENERIC);
|
||||
BIND_ENUM_CONSTANT(COMPRESS_SOURCE_SRGB);
|
||||
BIND_ENUM_CONSTANT(COMPRESS_SOURCE_NORMAL);
|
||||
}
|
||||
|
||||
void Image::set_compress_bc_func(void (*p_compress_func)(Image *, CompressSource)) {
|
||||
|
|
|
|||
|
|
@ -650,84 +650,84 @@ void HTTPClient::_bind_methods() {
|
|||
|
||||
ClassDB::bind_method(D_METHOD("query_string_from_dict", "fields"), &HTTPClient::query_string_from_dict);
|
||||
|
||||
BIND_CONSTANT(METHOD_GET);
|
||||
BIND_CONSTANT(METHOD_HEAD);
|
||||
BIND_CONSTANT(METHOD_POST);
|
||||
BIND_CONSTANT(METHOD_PUT);
|
||||
BIND_CONSTANT(METHOD_DELETE);
|
||||
BIND_CONSTANT(METHOD_OPTIONS);
|
||||
BIND_CONSTANT(METHOD_TRACE);
|
||||
BIND_CONSTANT(METHOD_CONNECT);
|
||||
BIND_CONSTANT(METHOD_MAX);
|
||||
BIND_ENUM_CONSTANT(METHOD_GET);
|
||||
BIND_ENUM_CONSTANT(METHOD_HEAD);
|
||||
BIND_ENUM_CONSTANT(METHOD_POST);
|
||||
BIND_ENUM_CONSTANT(METHOD_PUT);
|
||||
BIND_ENUM_CONSTANT(METHOD_DELETE);
|
||||
BIND_ENUM_CONSTANT(METHOD_OPTIONS);
|
||||
BIND_ENUM_CONSTANT(METHOD_TRACE);
|
||||
BIND_ENUM_CONSTANT(METHOD_CONNECT);
|
||||
BIND_ENUM_CONSTANT(METHOD_MAX);
|
||||
|
||||
BIND_CONSTANT(STATUS_DISCONNECTED);
|
||||
BIND_CONSTANT(STATUS_RESOLVING); //resolving hostname (if passed a hostname)
|
||||
BIND_CONSTANT(STATUS_CANT_RESOLVE);
|
||||
BIND_CONSTANT(STATUS_CONNECTING); //connecting to ip
|
||||
BIND_CONSTANT(STATUS_CANT_CONNECT);
|
||||
BIND_CONSTANT(STATUS_CONNECTED); //connected ); requests only accepted here
|
||||
BIND_CONSTANT(STATUS_REQUESTING); // request in progress
|
||||
BIND_CONSTANT(STATUS_BODY); // request resulted in body ); which must be read
|
||||
BIND_CONSTANT(STATUS_CONNECTION_ERROR);
|
||||
BIND_CONSTANT(STATUS_SSL_HANDSHAKE_ERROR);
|
||||
BIND_ENUM_CONSTANT(STATUS_DISCONNECTED);
|
||||
BIND_ENUM_CONSTANT(STATUS_RESOLVING); //resolving hostname (if passed a hostname)
|
||||
BIND_ENUM_CONSTANT(STATUS_CANT_RESOLVE);
|
||||
BIND_ENUM_CONSTANT(STATUS_CONNECTING); //connecting to ip
|
||||
BIND_ENUM_CONSTANT(STATUS_CANT_CONNECT);
|
||||
BIND_ENUM_CONSTANT(STATUS_CONNECTED); //connected ); requests only accepted here
|
||||
BIND_ENUM_CONSTANT(STATUS_REQUESTING); // request in progress
|
||||
BIND_ENUM_CONSTANT(STATUS_BODY); // request resulted in body ); which must be read
|
||||
BIND_ENUM_CONSTANT(STATUS_CONNECTION_ERROR);
|
||||
BIND_ENUM_CONSTANT(STATUS_SSL_HANDSHAKE_ERROR);
|
||||
|
||||
BIND_CONSTANT(RESPONSE_CONTINUE);
|
||||
BIND_CONSTANT(RESPONSE_SWITCHING_PROTOCOLS);
|
||||
BIND_CONSTANT(RESPONSE_PROCESSING);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_CONTINUE);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_SWITCHING_PROTOCOLS);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_PROCESSING);
|
||||
|
||||
// 2xx successful
|
||||
BIND_CONSTANT(RESPONSE_OK);
|
||||
BIND_CONSTANT(RESPONSE_CREATED);
|
||||
BIND_CONSTANT(RESPONSE_ACCEPTED);
|
||||
BIND_CONSTANT(RESPONSE_NON_AUTHORITATIVE_INFORMATION);
|
||||
BIND_CONSTANT(RESPONSE_NO_CONTENT);
|
||||
BIND_CONSTANT(RESPONSE_RESET_CONTENT);
|
||||
BIND_CONSTANT(RESPONSE_PARTIAL_CONTENT);
|
||||
BIND_CONSTANT(RESPONSE_MULTI_STATUS);
|
||||
BIND_CONSTANT(RESPONSE_IM_USED);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_OK);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_CREATED);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_ACCEPTED);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_NON_AUTHORITATIVE_INFORMATION);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_NO_CONTENT);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_RESET_CONTENT);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_PARTIAL_CONTENT);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_MULTI_STATUS);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_IM_USED);
|
||||
|
||||
// 3xx redirection
|
||||
BIND_CONSTANT(RESPONSE_MULTIPLE_CHOICES);
|
||||
BIND_CONSTANT(RESPONSE_MOVED_PERMANENTLY);
|
||||
BIND_CONSTANT(RESPONSE_FOUND);
|
||||
BIND_CONSTANT(RESPONSE_SEE_OTHER);
|
||||
BIND_CONSTANT(RESPONSE_NOT_MODIFIED);
|
||||
BIND_CONSTANT(RESPONSE_USE_PROXY);
|
||||
BIND_CONSTANT(RESPONSE_TEMPORARY_REDIRECT);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_MULTIPLE_CHOICES);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_MOVED_PERMANENTLY);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_FOUND);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_SEE_OTHER);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_NOT_MODIFIED);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_USE_PROXY);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_TEMPORARY_REDIRECT);
|
||||
|
||||
// 4xx client error
|
||||
BIND_CONSTANT(RESPONSE_BAD_REQUEST);
|
||||
BIND_CONSTANT(RESPONSE_UNAUTHORIZED);
|
||||
BIND_CONSTANT(RESPONSE_PAYMENT_REQUIRED);
|
||||
BIND_CONSTANT(RESPONSE_FORBIDDEN);
|
||||
BIND_CONSTANT(RESPONSE_NOT_FOUND);
|
||||
BIND_CONSTANT(RESPONSE_METHOD_NOT_ALLOWED);
|
||||
BIND_CONSTANT(RESPONSE_NOT_ACCEPTABLE);
|
||||
BIND_CONSTANT(RESPONSE_PROXY_AUTHENTICATION_REQUIRED);
|
||||
BIND_CONSTANT(RESPONSE_REQUEST_TIMEOUT);
|
||||
BIND_CONSTANT(RESPONSE_CONFLICT);
|
||||
BIND_CONSTANT(RESPONSE_GONE);
|
||||
BIND_CONSTANT(RESPONSE_LENGTH_REQUIRED);
|
||||
BIND_CONSTANT(RESPONSE_PRECONDITION_FAILED);
|
||||
BIND_CONSTANT(RESPONSE_REQUEST_ENTITY_TOO_LARGE);
|
||||
BIND_CONSTANT(RESPONSE_REQUEST_URI_TOO_LONG);
|
||||
BIND_CONSTANT(RESPONSE_UNSUPPORTED_MEDIA_TYPE);
|
||||
BIND_CONSTANT(RESPONSE_REQUESTED_RANGE_NOT_SATISFIABLE);
|
||||
BIND_CONSTANT(RESPONSE_EXPECTATION_FAILED);
|
||||
BIND_CONSTANT(RESPONSE_UNPROCESSABLE_ENTITY);
|
||||
BIND_CONSTANT(RESPONSE_LOCKED);
|
||||
BIND_CONSTANT(RESPONSE_FAILED_DEPENDENCY);
|
||||
BIND_CONSTANT(RESPONSE_UPGRADE_REQUIRED);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_BAD_REQUEST);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_UNAUTHORIZED);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_PAYMENT_REQUIRED);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_FORBIDDEN);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_NOT_FOUND);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_METHOD_NOT_ALLOWED);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_NOT_ACCEPTABLE);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_PROXY_AUTHENTICATION_REQUIRED);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_REQUEST_TIMEOUT);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_CONFLICT);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_GONE);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_LENGTH_REQUIRED);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_PRECONDITION_FAILED);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_REQUEST_ENTITY_TOO_LARGE);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_REQUEST_URI_TOO_LONG);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_UNSUPPORTED_MEDIA_TYPE);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_REQUESTED_RANGE_NOT_SATISFIABLE);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_EXPECTATION_FAILED);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_UNPROCESSABLE_ENTITY);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_LOCKED);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_FAILED_DEPENDENCY);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_UPGRADE_REQUIRED);
|
||||
|
||||
// 5xx server error
|
||||
BIND_CONSTANT(RESPONSE_INTERNAL_SERVER_ERROR);
|
||||
BIND_CONSTANT(RESPONSE_NOT_IMPLEMENTED);
|
||||
BIND_CONSTANT(RESPONSE_BAD_GATEWAY);
|
||||
BIND_CONSTANT(RESPONSE_SERVICE_UNAVAILABLE);
|
||||
BIND_CONSTANT(RESPONSE_GATEWAY_TIMEOUT);
|
||||
BIND_CONSTANT(RESPONSE_HTTP_VERSION_NOT_SUPPORTED);
|
||||
BIND_CONSTANT(RESPONSE_INSUFFICIENT_STORAGE);
|
||||
BIND_CONSTANT(RESPONSE_NOT_EXTENDED);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_INTERNAL_SERVER_ERROR);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_NOT_IMPLEMENTED);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_BAD_GATEWAY);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_SERVICE_UNAVAILABLE);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_GATEWAY_TIMEOUT);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_HTTP_VERSION_NOT_SUPPORTED);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_INSUFFICIENT_STORAGE);
|
||||
BIND_ENUM_CONSTANT(RESPONSE_NOT_EXTENDED);
|
||||
}
|
||||
|
||||
void HTTPClient::set_read_chunk_size(int p_size) {
|
||||
|
|
|
|||
|
|
@ -197,6 +197,7 @@ public:
|
|||
~HTTPClient();
|
||||
};
|
||||
|
||||
VARIANT_ENUM_CAST(HTTPClient::ResponseCode)
|
||||
VARIANT_ENUM_CAST(HTTPClient::Method);
|
||||
VARIANT_ENUM_CAST(HTTPClient::Status);
|
||||
|
||||
|
|
|
|||
|
|
@ -242,18 +242,18 @@ void IP::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("get_local_addresses"), &IP::_get_local_addresses);
|
||||
ClassDB::bind_method(D_METHOD("clear_cache", "hostname"), &IP::clear_cache, DEFVAL(""));
|
||||
|
||||
BIND_CONSTANT(RESOLVER_STATUS_NONE);
|
||||
BIND_CONSTANT(RESOLVER_STATUS_WAITING);
|
||||
BIND_CONSTANT(RESOLVER_STATUS_DONE);
|
||||
BIND_CONSTANT(RESOLVER_STATUS_ERROR);
|
||||
BIND_ENUM_CONSTANT(RESOLVER_STATUS_NONE);
|
||||
BIND_ENUM_CONSTANT(RESOLVER_STATUS_WAITING);
|
||||
BIND_ENUM_CONSTANT(RESOLVER_STATUS_DONE);
|
||||
BIND_ENUM_CONSTANT(RESOLVER_STATUS_ERROR);
|
||||
|
||||
BIND_CONSTANT(RESOLVER_MAX_QUERIES);
|
||||
BIND_CONSTANT(RESOLVER_INVALID_ID);
|
||||
|
||||
BIND_CONSTANT(TYPE_NONE);
|
||||
BIND_CONSTANT(TYPE_IPV4);
|
||||
BIND_CONSTANT(TYPE_IPV6);
|
||||
BIND_CONSTANT(TYPE_ANY);
|
||||
BIND_ENUM_CONSTANT(TYPE_NONE);
|
||||
BIND_ENUM_CONSTANT(TYPE_IPV4);
|
||||
BIND_ENUM_CONSTANT(TYPE_IPV6);
|
||||
BIND_ENUM_CONSTANT(TYPE_ANY);
|
||||
}
|
||||
|
||||
IP *IP::singleton = NULL;
|
||||
|
|
|
|||
|
|
@ -44,13 +44,13 @@ void NetworkedMultiplayerPeer::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("set_refuse_new_connections", "enable"), &NetworkedMultiplayerPeer::set_refuse_new_connections);
|
||||
ClassDB::bind_method(D_METHOD("is_refusing_new_connections"), &NetworkedMultiplayerPeer::is_refusing_new_connections);
|
||||
|
||||
BIND_CONSTANT(TRANSFER_MODE_UNRELIABLE);
|
||||
BIND_CONSTANT(TRANSFER_MODE_UNRELIABLE_ORDERED);
|
||||
BIND_CONSTANT(TRANSFER_MODE_RELIABLE);
|
||||
BIND_ENUM_CONSTANT(TRANSFER_MODE_UNRELIABLE);
|
||||
BIND_ENUM_CONSTANT(TRANSFER_MODE_UNRELIABLE_ORDERED);
|
||||
BIND_ENUM_CONSTANT(TRANSFER_MODE_RELIABLE);
|
||||
|
||||
BIND_CONSTANT(CONNECTION_DISCONNECTED);
|
||||
BIND_CONSTANT(CONNECTION_CONNECTING);
|
||||
BIND_CONSTANT(CONNECTION_CONNECTED);
|
||||
BIND_ENUM_CONSTANT(CONNECTION_DISCONNECTED);
|
||||
BIND_ENUM_CONSTANT(CONNECTION_CONNECTING);
|
||||
BIND_ENUM_CONSTANT(CONNECTION_CONNECTED);
|
||||
|
||||
BIND_CONSTANT(TARGET_PEER_BROADCAST);
|
||||
BIND_CONSTANT(TARGET_PEER_SERVER);
|
||||
|
|
|
|||
|
|
@ -55,10 +55,11 @@ void StreamPeerSSL::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("connect_to_stream", "stream", "validate_certs", "for_hostname"), &StreamPeerSSL::connect_to_stream, DEFVAL(false), DEFVAL(String()));
|
||||
ClassDB::bind_method(D_METHOD("get_status"), &StreamPeerSSL::get_status);
|
||||
ClassDB::bind_method(D_METHOD("disconnect_from_stream"), &StreamPeerSSL::disconnect_from_stream);
|
||||
BIND_CONSTANT(STATUS_DISCONNECTED);
|
||||
BIND_CONSTANT(STATUS_CONNECTED);
|
||||
BIND_CONSTANT(STATUS_ERROR_NO_CERTIFICATE);
|
||||
BIND_CONSTANT(STATUS_ERROR_HOSTNAME_MISMATCH);
|
||||
|
||||
BIND_ENUM_CONSTANT(STATUS_DISCONNECTED);
|
||||
BIND_ENUM_CONSTANT(STATUS_CONNECTED);
|
||||
BIND_ENUM_CONSTANT(STATUS_ERROR_NO_CERTIFICATE);
|
||||
BIND_ENUM_CONSTANT(STATUS_ERROR_HOSTNAME_MISMATCH);
|
||||
}
|
||||
|
||||
StreamPeerSSL::StreamPeerSSL() {
|
||||
|
|
|
|||
|
|
@ -55,10 +55,10 @@ void StreamPeerTCP::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("get_connected_port"), &StreamPeerTCP::get_connected_port);
|
||||
ClassDB::bind_method(D_METHOD("disconnect_from_host"), &StreamPeerTCP::disconnect_from_host);
|
||||
|
||||
BIND_CONSTANT(STATUS_NONE);
|
||||
BIND_CONSTANT(STATUS_CONNECTING);
|
||||
BIND_CONSTANT(STATUS_CONNECTED);
|
||||
BIND_CONSTANT(STATUS_ERROR);
|
||||
BIND_ENUM_CONSTANT(STATUS_NONE);
|
||||
BIND_ENUM_CONSTANT(STATUS_CONNECTING);
|
||||
BIND_ENUM_CONSTANT(STATUS_CONNECTED);
|
||||
BIND_ENUM_CONSTANT(STATUS_ERROR);
|
||||
}
|
||||
|
||||
Ref<StreamPeerTCP> StreamPeerTCP::create_ref() {
|
||||
|
|
|
|||
|
|
@ -373,13 +373,13 @@ void XMLParser::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("open", "file"), &XMLParser::open);
|
||||
ClassDB::bind_method(D_METHOD("open_buffer", "buffer"), &XMLParser::open_buffer);
|
||||
|
||||
BIND_CONSTANT(NODE_NONE);
|
||||
BIND_CONSTANT(NODE_ELEMENT);
|
||||
BIND_CONSTANT(NODE_ELEMENT_END);
|
||||
BIND_CONSTANT(NODE_TEXT);
|
||||
BIND_CONSTANT(NODE_COMMENT);
|
||||
BIND_CONSTANT(NODE_CDATA);
|
||||
BIND_CONSTANT(NODE_UNKNOWN);
|
||||
BIND_ENUM_CONSTANT(NODE_NONE);
|
||||
BIND_ENUM_CONSTANT(NODE_ELEMENT);
|
||||
BIND_ENUM_CONSTANT(NODE_ELEMENT_END);
|
||||
BIND_ENUM_CONSTANT(NODE_TEXT);
|
||||
BIND_ENUM_CONSTANT(NODE_COMMENT);
|
||||
BIND_ENUM_CONSTANT(NODE_CDATA);
|
||||
BIND_ENUM_CONSTANT(NODE_UNKNOWN);
|
||||
};
|
||||
|
||||
Error XMLParser::read() {
|
||||
|
|
|
|||
|
|
@ -124,6 +124,9 @@ struct VariantCaster<const T &> {
|
|||
|
||||
#endif
|
||||
|
||||
// Object enum casts must go here
|
||||
VARIANT_ENUM_CAST(Object::ConnectFlags);
|
||||
|
||||
#define CHECK_ARG(m_arg) \
|
||||
if ((m_arg - 1) < p_arg_count) { \
|
||||
Variant::Type argtype = get_argument_type(m_arg - 1); \
|
||||
|
|
@ -148,14 +151,35 @@ struct VariantCaster<const T &> {
|
|||
VARIANT_ENUM_CAST(Vector3::Axis);
|
||||
|
||||
VARIANT_ENUM_CAST(Error);
|
||||
VARIANT_ENUM_CAST(wchar_t);
|
||||
VARIANT_ENUM_CAST(Margin);
|
||||
VARIANT_ENUM_CAST(Corner);
|
||||
VARIANT_ENUM_CAST(Orientation);
|
||||
VARIANT_ENUM_CAST(HAlign);
|
||||
VARIANT_ENUM_CAST(VAlign);
|
||||
VARIANT_ENUM_CAST(PropertyHint);
|
||||
VARIANT_ENUM_CAST(PropertyUsageFlags);
|
||||
VARIANT_ENUM_CAST(MethodFlags);
|
||||
VARIANT_ENUM_CAST(Variant::Type);
|
||||
VARIANT_ENUM_CAST(Variant::Operator);
|
||||
|
||||
template <>
|
||||
struct VariantCaster<wchar_t> {
|
||||
static _FORCE_INLINE_ wchar_t cast(const Variant &p_variant) {
|
||||
return (wchar_t)p_variant.operator int();
|
||||
}
|
||||
};
|
||||
#ifdef PTRCALL_ENABLED
|
||||
template <>
|
||||
struct PtrToArg<wchar_t> {
|
||||
_FORCE_INLINE_ static wchar_t convert(const void *p_ptr) {
|
||||
return wchar_t(*reinterpret_cast<const int *>(p_ptr));
|
||||
}
|
||||
_FORCE_INLINE_ static void encode(wchar_t p_val, const void *p_ptr) {
|
||||
*(int *)p_ptr = p_val;
|
||||
}
|
||||
};
|
||||
#endif
|
||||
|
||||
class MethodBind {
|
||||
|
||||
int method_id;
|
||||
|
|
|
|||
|
|
@ -1737,9 +1737,9 @@ void Object::_bind_methods() {
|
|||
BIND_CONSTANT(NOTIFICATION_POSTINITIALIZE);
|
||||
BIND_CONSTANT(NOTIFICATION_PREDELETE);
|
||||
|
||||
BIND_CONSTANT(CONNECT_DEFERRED);
|
||||
BIND_CONSTANT(CONNECT_PERSIST);
|
||||
BIND_CONSTANT(CONNECT_ONESHOT);
|
||||
BIND_ENUM_CONSTANT(CONNECT_DEFERRED);
|
||||
BIND_ENUM_CONSTANT(CONNECT_PERSIST);
|
||||
BIND_ENUM_CONSTANT(CONNECT_ONESHOT);
|
||||
}
|
||||
|
||||
void Object::call_deferred(const StringName &p_method, VARIANT_ARG_DECLARE) {
|
||||
|
|
|
|||
|
|
@ -86,10 +86,10 @@ void Input::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("set_custom_mouse_cursor", "image", "hotspot"), &Input::set_custom_mouse_cursor, DEFVAL(Vector2()));
|
||||
ClassDB::bind_method(D_METHOD("parse_input_event", "event"), &Input::parse_input_event);
|
||||
|
||||
BIND_CONSTANT(MOUSE_MODE_VISIBLE);
|
||||
BIND_CONSTANT(MOUSE_MODE_HIDDEN);
|
||||
BIND_CONSTANT(MOUSE_MODE_CAPTURED);
|
||||
BIND_CONSTANT(MOUSE_MODE_CONFINED);
|
||||
BIND_ENUM_CONSTANT(MOUSE_MODE_VISIBLE);
|
||||
BIND_ENUM_CONSTANT(MOUSE_MODE_HIDDEN);
|
||||
BIND_ENUM_CONSTANT(MOUSE_MODE_CAPTURED);
|
||||
BIND_ENUM_CONSTANT(MOUSE_MODE_CONFINED);
|
||||
|
||||
ADD_SIGNAL(MethodInfo("joy_connection_changed", PropertyInfo(Variant::INT, "index"), PropertyInfo(Variant::BOOL, "connected")));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -75,6 +75,8 @@ static _Geometry *_geometry = NULL;
|
|||
|
||||
extern Mutex *_global_mutex;
|
||||
|
||||
extern void register_global_constants();
|
||||
extern void unregister_global_constants();
|
||||
extern void register_variant_methods();
|
||||
extern void unregister_variant_methods();
|
||||
|
||||
|
|
@ -88,6 +90,7 @@ void register_core_types() {
|
|||
|
||||
StringName::setup();
|
||||
|
||||
register_global_constants();
|
||||
register_variant_methods();
|
||||
|
||||
CoreStringNames::create();
|
||||
|
|
@ -218,6 +221,7 @@ void unregister_core_types() {
|
|||
ObjectDB::cleanup();
|
||||
|
||||
unregister_variant_methods();
|
||||
unregister_global_constants();
|
||||
|
||||
ClassDB::cleanup();
|
||||
ResourceCache::clear();
|
||||
|
|
|
|||
|
|
@ -32,96 +32,22 @@
|
|||
|
||||
/* Batch of specializations to obtain the actual simple type */
|
||||
|
||||
template <class T>
|
||||
struct GetSimpleType {
|
||||
|
||||
T type;
|
||||
};
|
||||
|
||||
template <class T>
|
||||
struct GetSimpleTypeT {
|
||||
|
||||
typedef T type_t;
|
||||
};
|
||||
|
||||
template <class T>
|
||||
struct GetSimpleType<T &> {
|
||||
|
||||
T type;
|
||||
};
|
||||
|
||||
template <class T>
|
||||
struct GetSimpleTypeT<T &> {
|
||||
|
||||
typedef T type_t;
|
||||
};
|
||||
|
||||
template <class T>
|
||||
struct GetSimpleType<T const> {
|
||||
|
||||
T type;
|
||||
_FORCE_INLINE_ GetSimpleType() {}
|
||||
};
|
||||
|
||||
template <class T>
|
||||
struct GetSimpleTypeT<T const> {
|
||||
|
||||
typedef T type_t;
|
||||
};
|
||||
|
||||
template <class T>
|
||||
struct GetSimpleType<const T &> {
|
||||
|
||||
T type;
|
||||
_FORCE_INLINE_ GetSimpleType() {}
|
||||
};
|
||||
|
||||
template <class T>
|
||||
struct GetSimpleType<T *> {
|
||||
|
||||
T *type;
|
||||
_FORCE_INLINE_ GetSimpleType() { type = NULL; }
|
||||
};
|
||||
|
||||
template <class T>
|
||||
struct GetSimpleType<const T *> {
|
||||
|
||||
T *type;
|
||||
_FORCE_INLINE_ GetSimpleType() { type = NULL; }
|
||||
};
|
||||
|
||||
#define SIMPLE_NUMERIC_TYPE(m_type) \
|
||||
template <> \
|
||||
struct GetSimpleType<m_type> { \
|
||||
m_type type; \
|
||||
_FORCE_INLINE_ GetSimpleType() { type = (m_type)0; } \
|
||||
}; \
|
||||
template <> \
|
||||
struct GetSimpleType<m_type const> { \
|
||||
m_type type; \
|
||||
_FORCE_INLINE_ GetSimpleType() { type = (m_type)0; } \
|
||||
}; \
|
||||
template <> \
|
||||
struct GetSimpleType<m_type &> { \
|
||||
m_type type; \
|
||||
_FORCE_INLINE_ GetSimpleType() { type = (m_type)0; } \
|
||||
}; \
|
||||
template <> \
|
||||
struct GetSimpleType<const m_type &> { \
|
||||
m_type type; \
|
||||
_FORCE_INLINE_ GetSimpleType() { type = (m_type)0; } \
|
||||
};
|
||||
|
||||
SIMPLE_NUMERIC_TYPE(bool);
|
||||
SIMPLE_NUMERIC_TYPE(uint8_t);
|
||||
SIMPLE_NUMERIC_TYPE(int8_t);
|
||||
SIMPLE_NUMERIC_TYPE(uint16_t);
|
||||
SIMPLE_NUMERIC_TYPE(int16_t);
|
||||
SIMPLE_NUMERIC_TYPE(uint32_t);
|
||||
SIMPLE_NUMERIC_TYPE(int32_t);
|
||||
SIMPLE_NUMERIC_TYPE(int64_t);
|
||||
SIMPLE_NUMERIC_TYPE(uint64_t);
|
||||
SIMPLE_NUMERIC_TYPE(float);
|
||||
SIMPLE_NUMERIC_TYPE(double);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef GET_TYPE_INFO_H
|
||||
#define GET_TYPE_INFO_H
|
||||
|
||||
#ifdef DEBUG_METHODS_ENABLED
|
||||
|
||||
template <bool C, typename T = void>
|
||||
struct EnableIf {
|
||||
|
||||
|
|
@ -40,8 +42,8 @@ struct GetTypeInfo {
|
|||
enum { VARIANT_TYPE = Variant::NIL };
|
||||
|
||||
static inline StringName get_class_name() {
|
||||
ERR_PRINT("Fallback type info. Bug!");
|
||||
return ""; // Not "Nil", this is an error
|
||||
ERR_PRINT("GetTypeInfo fallback. Bug!");
|
||||
return StringName(); // Not "Nil", this is an error
|
||||
}
|
||||
};
|
||||
|
||||
|
|
@ -70,6 +72,7 @@ MAKE_TYPE_INFO(uint32_t, Variant::INT)
|
|||
MAKE_TYPE_INFO(int32_t, Variant::INT)
|
||||
MAKE_TYPE_INFO(int64_t, Variant::INT)
|
||||
MAKE_TYPE_INFO(uint64_t, Variant::INT)
|
||||
MAKE_TYPE_INFO(wchar_t, Variant::INT)
|
||||
MAKE_TYPE_INFO(float, Variant::REAL)
|
||||
MAKE_TYPE_INFO(double, Variant::REAL)
|
||||
|
||||
|
|
@ -152,36 +155,6 @@ MAKE_TEMPLATE_TYPE_INFO(Vector, Plane, Variant::ARRAY)
|
|||
MAKE_TEMPLATE_TYPE_INFO(PoolVector, Plane, Variant::ARRAY)
|
||||
MAKE_TEMPLATE_TYPE_INFO(PoolVector, Face3, Variant::POOL_VECTOR3_ARRAY)
|
||||
|
||||
#define MAKE_ENUM_TYPE_INFO(m_enum) \
|
||||
template <> \
|
||||
struct GetTypeInfo<m_enum> { \
|
||||
enum { VARIANT_TYPE = Variant::INT }; \
|
||||
static inline StringName get_class_name() { \
|
||||
return Variant::get_type_name((Variant::Type)VARIANT_TYPE); \
|
||||
} \
|
||||
}; \
|
||||
template <> \
|
||||
struct GetTypeInfo<m_enum const> { \
|
||||
enum { VARIANT_TYPE = Variant::INT }; \
|
||||
static inline StringName get_class_name() { \
|
||||
return Variant::get_type_name((Variant::Type)VARIANT_TYPE); \
|
||||
} \
|
||||
}; \
|
||||
template <> \
|
||||
struct GetTypeInfo<m_enum &> { \
|
||||
enum { VARIANT_TYPE = Variant::INT }; \
|
||||
static inline StringName get_class_name() { \
|
||||
return Variant::get_type_name((Variant::Type)VARIANT_TYPE); \
|
||||
} \
|
||||
}; \
|
||||
template <> \
|
||||
struct GetTypeInfo<const m_enum &> { \
|
||||
enum { VARIANT_TYPE = Variant::INT }; \
|
||||
static inline StringName get_class_name() { \
|
||||
return Variant::get_type_name((Variant::Type)VARIANT_TYPE); \
|
||||
} \
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
struct GetTypeInfo<T *, typename EnableIf<TypeInherits<Object, T>::value>::type> {
|
||||
enum { VARIANT_TYPE = Variant::OBJECT };
|
||||
|
|
@ -200,4 +173,30 @@ struct GetTypeInfo<const T *, typename EnableIf<TypeInherits<Object, T>::value>:
|
|||
}
|
||||
};
|
||||
|
||||
#define TEMPL_MAKE_ENUM_TYPE_INFO(m_enum, m_impl) \
|
||||
template <> \
|
||||
struct GetTypeInfo<m_impl> { \
|
||||
enum { VARIANT_TYPE = Variant::INT }; \
|
||||
static inline StringName get_class_name() { return "enum." #m_enum; } \
|
||||
};
|
||||
|
||||
#define MAKE_ENUM_TYPE_INFO(m_enum) \
|
||||
TEMPL_MAKE_ENUM_TYPE_INFO(m_enum, m_enum) \
|
||||
TEMPL_MAKE_ENUM_TYPE_INFO(m_enum, m_enum const) \
|
||||
TEMPL_MAKE_ENUM_TYPE_INFO(m_enum, m_enum &) \
|
||||
TEMPL_MAKE_ENUM_TYPE_INFO(m_enum, const m_enum &)
|
||||
|
||||
template <typename T>
|
||||
inline StringName __constant_get_enum_name(T param, const String &p_constant) {
|
||||
if (GetTypeInfo<T>::VARIANT_TYPE == Variant::NIL)
|
||||
ERR_PRINTS("Missing VARIANT_ENUM_CAST for constant's enum: " + p_constant);
|
||||
return GetTypeInfo<T>::get_class_name();
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
#define MAKE_ENUM_TYPE_INFO(m_enum)
|
||||
|
||||
#endif // DEBUG_METHODS_ENABLED
|
||||
|
||||
#endif // GET_TYPE_INFO_H
|
||||
|
|
|
|||
|
|
@ -504,7 +504,7 @@ void UndoRedo::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("get_current_action_name"), &UndoRedo::get_current_action_name);
|
||||
ClassDB::bind_method(D_METHOD("get_version"), &UndoRedo::get_version);
|
||||
|
||||
BIND_CONSTANT(MERGE_DISABLE);
|
||||
BIND_CONSTANT(MERGE_ENDS);
|
||||
BIND_CONSTANT(MERGE_ALL);
|
||||
BIND_ENUM_CONSTANT(MERGE_DISABLE);
|
||||
BIND_ENUM_CONSTANT(MERGE_ENDS);
|
||||
BIND_ENUM_CONSTANT(MERGE_ALL);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue