From ad3720440e5fa36d09ba18609e132305bd9e6060 Mon Sep 17 00:00:00 2001 From: Karroffel Date: Tue, 23 May 2017 23:03:57 +0200 Subject: [PATCH] removed InputEvent and Image --- binding_generator.py | 2 - include/core/CoreTypes.hpp | 2 - include/core/Dictionary.hpp | 2 - include/core/Godot.hpp | 1 + include/core/Image.hpp | 139 ------------------ include/core/InputEvent.hpp | 281 ------------------------------------ include/core/RID.hpp | 1 - include/core/Variant.hpp | 20 +-- src/core/Array.cpp | 5 - src/core/Dictionary.cpp | 5 - src/core/Image.cpp | 130 ----------------- src/core/InputEvent.cpp | 279 ----------------------------------- src/core/NodePath.cpp | 4 +- src/core/RID.cpp | 9 +- src/core/Variant.cpp | 20 --- 15 files changed, 10 insertions(+), 890 deletions(-) delete mode 100644 include/core/Image.hpp delete mode 100644 include/core/InputEvent.hpp delete mode 100644 src/core/Image.cpp delete mode 100644 src/core/InputEvent.cpp diff --git a/binding_generator.py b/binding_generator.py index 28139138..0fc8045b 100644 --- a/binding_generator.py +++ b/binding_generator.py @@ -576,8 +576,6 @@ def is_core_type(name): "Color", "Dictionary", "Error", - "Image", - "InputEvent", "NodePath", "Plane", "PoolByteArray", diff --git a/include/core/CoreTypes.hpp b/include/core/CoreTypes.hpp index c82243a4..2ee91a4b 100644 --- a/include/core/CoreTypes.hpp +++ b/include/core/CoreTypes.hpp @@ -7,8 +7,6 @@ #include "Basis.hpp" #include "Color.hpp" #include "Dictionary.hpp" -#include "Image.hpp" -#include "InputEvent.hpp" #include "NodePath.hpp" #include "Plane.hpp" #include "PoolArrays.hpp" diff --git a/include/core/Dictionary.hpp b/include/core/Dictionary.hpp index 139e3ff5..34582c8d 100644 --- a/include/core/Dictionary.hpp +++ b/include/core/Dictionary.hpp @@ -38,8 +38,6 @@ public: Array keys() const; - int parse_json(const String& json); - Variant &operator [](const Variant& key); const Variant &operator [](const Variant& key) const; diff --git a/include/core/Godot.hpp b/include/core/Godot.hpp index f28ceb34..1d713c82 100644 --- a/include/core/Godot.hpp +++ b/include/core/Godot.hpp @@ -2,6 +2,7 @@ #define GODOT_HPP #include +#include #include diff --git a/include/core/Image.hpp b/include/core/Image.hpp deleted file mode 100644 index cbe3c72c..00000000 --- a/include/core/Image.hpp +++ /dev/null @@ -1,139 +0,0 @@ -#ifndef IMAGE_H -#define IMAGE_H - -#if defined(_WIN32) -# ifdef _GD_CPP_CORE_API_IMPL -# define GD_CPP_CORE_API __declspec(dllexport) -# else -# define GD_CPP_CORE_API __declspec(dllimport) -# endif -#else -# define GD_CPP_CORE_API -#endif - -#include "Defs.hpp" - -#include "Vector2.hpp" -#include "Rect2.hpp" -#include "Color.hpp" -#include "String.hpp" - -#include - -namespace godot { - -class PoolByteArray; - -class GD_CPP_CORE_API Image { - godot_image _godot_image; -public: - - enum Format { - - FORMAT_L8, //luminance - FORMAT_LA8, //luminance-alpha - FORMAT_R8, - FORMAT_RG8, - FORMAT_RGB8, - FORMAT_RGBA8, - FORMAT_RGB565, //16 bit - FORMAT_RGBA4444, - FORMAT_RGBA5551, - FORMAT_RF, //float - FORMAT_RGF, - FORMAT_RGBF, - FORMAT_RGBAF, - FORMAT_RH, //half float - FORMAT_RGH, - FORMAT_RGBH, - FORMAT_RGBAH, - FORMAT_DXT1, //s3tc bc1 - FORMAT_DXT3, //bc2 - FORMAT_DXT5, //bc3 - FORMAT_ATI1, //bc4 - FORMAT_ATI2, //bc5 - FORMAT_BPTC_RGBA, //btpc bc6h - FORMAT_BPTC_RGBF, //float / - FORMAT_BPTC_RGBFU, //unsigned float - FORMAT_PVRTC2, //pvrtc - FORMAT_PVRTC2A, - FORMAT_PVRTC4, - FORMAT_PVRTC4A, - FORMAT_ETC, //etc1 - FORMAT_ETC2_R11, //etc2 - FORMAT_ETC2_R11S, //signed, NOT srgb. - FORMAT_ETC2_RG11, - FORMAT_ETC2_RG11S, - FORMAT_ETC2_RGB8, - FORMAT_ETC2_RGBA8, - FORMAT_ETC2_RGB8A1, - FORMAT_MAX - }; - - enum Interpolation { - - INTERPOLATE_NEAREST, - INTERPOLATE_BILINEAR, - INTERPOLATE_CUBIC, - /* INTERPOLATE GAUSS */ - }; - - enum CompressMode { - COMPRESS_16BIT, - COMPRESS_S3TC, - COMPRESS_PVRTC2, - COMPRESS_PVRTC4, - COMPRESS_ETC, - COMPRESS_ETC2 - }; - - - Image(); - - Image(const int width, const int height, const bool mipmaps, const Format format); - - void blit_rect(const Image& src, const Rect2& src_rect, const Vector2& dest = Vector2(0, 0)); - - void brush_transfer(const Image& src, const Image& brush, const Vector2& pos = Vector2(0, 0)); - - Image brushed(const Image& src, const Image& brush, const Vector2& pos = Vector2(0, 0)); - - Image compressed(const Format format); - - Image converted(const Format format); - - Image decompressed(); - - bool empty() const; - - void fix_alpha_edges(); - - PoolByteArray get_data(); - - - Format get_format() const; - - int get_height() const; - - Color get_pixel(const int x, const int y, const int mipmap_level = 0); - - Image get_rect(const Rect2& area = Rect2()); - - Rect2 get_used_rect() const; - - int get_width() const; - - Error load(const String& path); - - void put_pixel(const int x, const int y, const Color& color, int mipmap_level = 0); - - Image resized(const int x, const int y, const Interpolation interpolation = INTERPOLATE_NEAREST); - - Error save_png(const String& path); - - ~Image(); -}; - -} - -#endif // IMAGE_H diff --git a/include/core/InputEvent.hpp b/include/core/InputEvent.hpp deleted file mode 100644 index f4fb33d8..00000000 --- a/include/core/InputEvent.hpp +++ /dev/null @@ -1,281 +0,0 @@ -#ifndef INPUTEVENT_H -#define INPUTEVENT_H - -#if defined(_WIN32) -# ifdef _GD_CPP_CORE_API_IMPL -# define GD_CPP_CORE_API __declspec(dllexport) -# else -# define GD_CPP_CORE_API __declspec(dllimport) -# endif -#else -# define GD_CPP_CORE_API -#endif - -#include -#include - -#include "String.hpp" - -namespace godot { - - -enum { - BUTTON_LEFT=1, - BUTTON_RIGHT=2, - BUTTON_MIDDLE=3, - BUTTON_WHEEL_UP=4, - BUTTON_WHEEL_DOWN=5, - BUTTON_WHEEL_LEFT=6, - BUTTON_WHEEL_RIGHT=7, - BUTTON_MASK_LEFT=(1<<(BUTTON_LEFT-1)), - BUTTON_MASK_RIGHT=(1<<(BUTTON_RIGHT-1)), - BUTTON_MASK_MIDDLE=(1<<(BUTTON_MIDDLE-1)), - -}; - -enum { - - JOY_BUTTON_0 = 0, - JOY_BUTTON_1 = 1, - JOY_BUTTON_2 = 2, - JOY_BUTTON_3 = 3, - JOY_BUTTON_4 = 4, - JOY_BUTTON_5 = 5, - JOY_BUTTON_6 = 6, - JOY_BUTTON_7 = 7, - JOY_BUTTON_8 = 8, - JOY_BUTTON_9 = 9, - JOY_BUTTON_10 = 10, - JOY_BUTTON_11 = 11, - JOY_BUTTON_12 = 12, - JOY_BUTTON_13 = 13, - JOY_BUTTON_14 = 14, - JOY_BUTTON_15 = 15, - JOY_BUTTON_MAX = 16, - - JOY_L = JOY_BUTTON_4, - JOY_R = JOY_BUTTON_5, - JOY_L2 = JOY_BUTTON_6, - JOY_R2 = JOY_BUTTON_7, - JOY_L3 = JOY_BUTTON_8, - JOY_R3 = JOY_BUTTON_9, - JOY_SELECT = JOY_BUTTON_10, - JOY_START = JOY_BUTTON_11, - JOY_DPAD_UP = JOY_BUTTON_12, - JOY_DPAD_DOWN = JOY_BUTTON_13, - JOY_DPAD_LEFT = JOY_BUTTON_14, - JOY_DPAD_RIGHT = JOY_BUTTON_15, - - // a little history about game controllers (who copied who) - - JOY_SNES_B = JOY_BUTTON_0, - JOY_SNES_A = JOY_BUTTON_1, - JOY_SNES_Y = JOY_BUTTON_2, - JOY_SNES_X = JOY_BUTTON_3, - - JOY_SONY_CIRCLE=JOY_SNES_A, - JOY_SONY_X=JOY_SNES_B, - JOY_SONY_SQUARE=JOY_SNES_Y, - JOY_SONY_TRIANGLE=JOY_SNES_X, - - JOY_SEGA_B=JOY_SNES_A, - JOY_SEGA_A=JOY_SNES_B, - JOY_SEGA_X=JOY_SNES_Y, - JOY_SEGA_Y=JOY_SNES_X, - - JOY_XBOX_B=JOY_SEGA_B, - JOY_XBOX_A=JOY_SEGA_A, - JOY_XBOX_X=JOY_SEGA_X, - JOY_XBOX_Y=JOY_SEGA_Y, - - JOY_DS_A = JOY_SNES_A, - JOY_DS_B = JOY_SNES_B, - JOY_DS_X = JOY_SNES_X, - JOY_DS_Y = JOY_SNES_Y, - - JOY_WII_C = JOY_BUTTON_5, - JOY_WII_Z = JOY_BUTTON_6, - - JOY_WII_MINUS = JOY_BUTTON_9, - JOY_WII_PLUS = JOY_BUTTON_10, - - // end of history - - JOY_AXIS_0=0, - JOY_AXIS_1=1, - JOY_AXIS_2=2, - JOY_AXIS_3=3, - JOY_AXIS_4=4, - JOY_AXIS_5=5, - JOY_AXIS_6=6, - JOY_AXIS_7=7, - JOY_AXIS_MAX=8, - - JOY_ANALOG_0_X = JOY_AXIS_0, - JOY_ANALOG_0_Y = JOY_AXIS_1, - - JOY_ANALOG_1_X = JOY_AXIS_2, - JOY_ANALOG_1_Y = JOY_AXIS_3, - - JOY_ANALOG_2_X = JOY_AXIS_4, - JOY_ANALOG_2_Y = JOY_AXIS_5, - - JOY_ANALOG_L2 = JOY_AXIS_6, - JOY_ANALOG_R2 = JOY_AXIS_7, -}; - - -/** - * Input Modifier Status - * for keyboard/mouse events. - */ -struct GD_CPP_CORE_API InputModifierState { - - bool shift; - bool alt; -#ifdef APPLE_STYLE_KEYS - union { - bool command; - bool meta; //< windows/mac key - }; - - bool control; -#else - union { - bool command; //< windows/mac key - bool control; - }; - bool meta; //< windows/mac key - -#endif - - inline bool operator==(const InputModifierState& rvalue) const { - - return ( (shift==rvalue.shift) && (alt==rvalue.alt) && (control==rvalue.control) && (meta==rvalue.meta)); - } -}; - - - - - - -struct InputEventKey { - - InputModifierState mod; - - bool pressed; /// otherwise release - - uint32_t scancode; ///< check keyboard.h , KeyCode enum, without modifier masks - uint32_t unicode; ///unicode - - bool echo; /// true if this is an echo key -}; - - -struct InputEventMouse { - - InputModifierState mod; - int button_mask; - float x,y; - float global_x,global_y; - int pointer_index; -}; - -struct InputEventMouseButton : public InputEventMouse { - - - int button_index; - bool pressed; //otherwise released - bool doubleclick; //last even less than doubleclick time - -}; - -struct InputEventMouseMotion : public InputEventMouse { - - float relative_x,relative_y; - float speed_x,speed_y; -}; - -struct InputEventJoypadMotion { - - int axis; ///< Joypad axis - float axis_value; ///< -1 to 1 -}; - -struct InputEventJoypadButton { - - int button_index; - bool pressed; - float pressure; //0 to 1 -}; - -struct InputEventScreenTouch { - - int index; - float x,y; - bool pressed; -}; -struct InputEventScreenDrag { - - int index; - float x,y; - float relative_x,relative_y; - float speed_x,speed_y; -}; - -struct InputEventAction { - - int action; - bool pressed; -}; - - -class Transform2D; - -struct GD_CPP_CORE_API InputEvent { - - enum Type { - NONE, - KEY, - MOUSE_MOTION, - MOUSE_BUTTON, - JOYPAD_MOTION, - JOYPAD_BUTTON, - SCREEN_TOUCH, - SCREEN_DRAG, - ACTION, - TYPE_MAX - }; - - uint32_t ID; - int type; - int device; - - union { - InputEventMouseMotion mouse_motion; - InputEventMouseButton mouse_button; - InputEventJoypadMotion joy_motion; - InputEventJoypadButton joy_button; - InputEventKey key; - InputEventScreenTouch screen_touch; - InputEventScreenDrag screen_drag; - InputEventAction action; - }; - - bool is_pressed() const; - bool is_action(const String& p_action) const; - bool is_action_pressed(const String& p_action) const; - bool is_action_released(const String& p_action) const; - bool is_echo() const; - void set_as_action(const String& p_action, bool p_pressed); - - InputEvent xform_by(const Transform2D& p_xform) const; - bool operator==(const InputEvent &p_event) const; - operator String() const; - inline InputEvent() { memset(this,0,sizeof(InputEvent)); } -}; - -} - -#endif // INPUTEVENT_H diff --git a/include/core/RID.hpp b/include/core/RID.hpp index 634b7f02..7d3bc418 100644 --- a/include/core/RID.hpp +++ b/include/core/RID.hpp @@ -27,7 +27,6 @@ public: int32_t get_rid() const; - ~RID(); }; } diff --git a/include/core/Variant.hpp b/include/core/Variant.hpp index baa1498d..05ca4e45 100644 --- a/include/core/Variant.hpp +++ b/include/core/Variant.hpp @@ -17,8 +17,6 @@ #include "Basis.hpp" #include "Color.hpp" -#include "Image.hpp" -#include "InputEvent.hpp" #include "NodePath.hpp" #include "Plane.hpp" #include "PoolArrays.hpp" @@ -67,21 +65,19 @@ public: // misc types COLOR, - IMAGE, // 15 - NODE_PATH, + NODE_PATH, // 15 _RID, OBJECT, - INPUT_EVENT, - DICTIONARY, // 20 + DICTIONARY, ARRAY, // arrays - POOL_BYTE_ARRAY, + POOL_BYTE_ARRAY, // 20 POOL_INT_ARRAY, POOL_REAL_ARRAY, - POOL_STRING_ARRAY, // 25 + POOL_STRING_ARRAY, POOL_VECTOR2_ARRAY, - POOL_VECTOR3_ARRAY, + POOL_VECTOR3_ARRAY, // 25 POOL_COLOR_ARRAY, VARIANT_MAX @@ -140,16 +136,12 @@ public: Variant(const Color& p_color); - Variant(const Image& p_image); - Variant(const NodePath& p_path); Variant(const RID& p_rid); Variant(const Object* p_object); - Variant(const InputEvent& p_input_event); - Variant(const Dictionary& p_dictionary); Variant(const Array& p_array); @@ -201,10 +193,8 @@ public: operator Color() const; - operator Image() const; operator NodePath() const; operator RID() const; - operator InputEvent() const; operator Object*() const; operator Dictionary() const; diff --git a/src/core/Array.cpp b/src/core/Array.cpp index e610e1b8..4c80499c 100644 --- a/src/core/Array.cpp +++ b/src/core/Array.cpp @@ -131,11 +131,6 @@ void Array::invert() godot_array_invert(&_godot_array); } -bool Array::is_shared() const -{ - return godot_array_is_shared(&_godot_array); -} - Variant Array::pop_back() { godot_variant v = godot_array_pop_back(&_godot_array); diff --git a/src/core/Dictionary.cpp b/src/core/Dictionary.cpp index 7ac6312b..8ea2d17a 100644 --- a/src/core/Dictionary.cpp +++ b/src/core/Dictionary.cpp @@ -49,11 +49,6 @@ Array Dictionary::keys() const return *(Array *) &a; } -int Dictionary::parse_json(const String& json) -{ - return godot_dictionary_parse_json(&_godot_dictionary, (godot_string *) &json); -} - Variant &Dictionary::operator [](const Variant& key) { return *(Variant *) godot_dictionary_operator_index(&_godot_dictionary, (godot_variant *) &key); diff --git a/src/core/Image.cpp b/src/core/Image.cpp deleted file mode 100644 index 42061150..00000000 --- a/src/core/Image.cpp +++ /dev/null @@ -1,130 +0,0 @@ -#include "Image.hpp" - -#include "Defs.hpp" - -#include "Vector2.hpp" -#include "Rect2.hpp" -#include "Color.hpp" -#include "String.hpp" - -#include "PoolArrays.hpp" - -#include - -namespace godot { - -Image::Image() -{ - godot_image_new(&_godot_image); -} - -Image::Image(const int width, const int height, const bool mipmaps, const Format format) -{ - godot_image_new_with_size_format(&_godot_image, width, height, mipmaps, (godot_image_format) format); -} - -void Image::blit_rect(const Image& src, const Rect2& src_rect, const Vector2& dest) -{ - // @DLScript @Todo -} - -void Image::brush_transfer(const Image& src, const Image& brush, const Vector2& pos) -{ - // @DLScript @Todo -} - -Image Image::brushed(const Image& src, const Image& brush, const Vector2& pos) -{ - return *this; // @DLScript @Todo -} - -Image Image::compressed(const Format format) -{ - return *this; // @DLScript @Todo -} - -Image Image::converted(const Format format) -{ - return *this; // @DLScript @Todo -} - -Image Image::decompressed() -{ - return *this; // @DLScript @Todo -} - -bool Image::empty() const -{ - return true; // @DLScript @Todo -} - -void Image::fix_alpha_edges() -{ - // @DLScript @Todo -} - - -PoolByteArray Image::get_data() -{ - // @Todo - return PoolByteArray(); -} - - -Image::Format Image::get_format() const -{ - return Format::FORMAT_RGBAH; // @DLScript @Todo -} - -int Image::get_height() const -{ - return godot_image_get_height(&_godot_image); -} - -Color Image::get_pixel(const int x, const int y, const int mipmap_level) -{ - return Color(); // @DLScript @Todo -} - -Image Image::get_rect(const Rect2& area) -{ - return *this; // @DLScript @Todo -} - -Rect2 Image::get_used_rect() const -{ - return Rect2(); // @DLScript @Todo -} - -int Image::get_width() const -{ - return godot_image_get_width(&_godot_image); -} - -Error Image::load(const String& path) -{ - return (Error) godot_image_load(&_godot_image, (godot_string *) &path); -} - -void Image::put_pixel(const int x, const int y, const Color& color, int mipmap_level) -{ - // @DLScript @Todo -} - -Image Image::resized(const int x, const int y, const Interpolation interpolation) -{ - return *this; // @DLScript @Todo -} - -Error Image::save_png(const String& path) -{ - return (Error) godot_image_save_png(&_godot_image, (godot_string *) &path); // @Todo Error enum -} - -Image::~Image() -{ - godot_image_destroy(&_godot_image); -} - - -} diff --git a/src/core/InputEvent.cpp b/src/core/InputEvent.cpp deleted file mode 100644 index b0080c4a..00000000 --- a/src/core/InputEvent.cpp +++ /dev/null @@ -1,279 +0,0 @@ -#include "InputEvent.hpp" - -#include -#include - -#include "Vector2.hpp" -#include "Transform2D.hpp" - -#include - -#include "String.hpp" - -namespace godot { - - -bool InputEvent::operator==(const InputEvent &p_event) const { - if (type != p_event.type){ - return false; - } - - switch(type) { - /** Current clang-format style doesn't play well with the aligned return values of that switch. */ - /* clang-format off */ - case NONE: - return true; - case KEY: - return key.unicode == p_event.key.unicode - && key.scancode == p_event.key.scancode - && key.echo == p_event.key.echo - && key.pressed == p_event.key.pressed - && key.mod == p_event.key.mod; - case MOUSE_MOTION: - return mouse_motion.x == p_event.mouse_motion.x - && mouse_motion.y == p_event.mouse_motion.y - && mouse_motion.relative_x == p_event.mouse_motion.relative_x - && mouse_motion.relative_y == p_event.mouse_motion.relative_y - && mouse_motion.button_mask == p_event.mouse_motion.button_mask - && key.mod == p_event.key.mod; - case MOUSE_BUTTON: - return mouse_button.pressed == p_event.mouse_button.pressed - && mouse_button.x == p_event.mouse_button.x - && mouse_button.y == p_event.mouse_button.y - && mouse_button.button_index == p_event.mouse_button.button_index - && mouse_button.button_mask == p_event.mouse_button.button_mask - && key.mod == p_event.key.mod; - case JOYPAD_MOTION: - return joy_motion.axis == p_event.joy_motion.axis - && joy_motion.axis_value == p_event.joy_motion.axis_value; - case JOYPAD_BUTTON: - return joy_button.pressed == p_event.joy_button.pressed - && joy_button.button_index == p_event.joy_button.button_index - && joy_button.pressure == p_event.joy_button.pressure; - case SCREEN_TOUCH: - return screen_touch.pressed == p_event.screen_touch.pressed - && screen_touch.index == p_event.screen_touch.index - && screen_touch.x == p_event.screen_touch.x - && screen_touch.y == p_event.screen_touch.y; - case SCREEN_DRAG: - return screen_drag.index == p_event.screen_drag.index - && screen_drag.x == p_event.screen_drag.x - && screen_drag.y == p_event.screen_drag.y; - case ACTION: - return action.action == p_event.action.action - && action.pressed == p_event.action.pressed; - /* clang-format on */ - default: - ERR_PRINT(String("No logic to compare InputEvents of this type, this shouldn't happen.")); - } - - return false; -} -InputEvent::operator String() const { - /* - String str ="Device "+itos(device)+" ID "+itos(ID)+" "; - - switch(type) { - - case NONE: { - - return "Event: None"; - } break; - case KEY: { - - str+= "Event: Key "; - str=str+"Unicode: "+String::chr(key.unicode)+" Scan: "+itos( key.scancode )+" Echo: "+String(key.echo?"True":"False")+" Pressed"+String(key.pressed?"True":"False")+" Mod: "; - if (key.mod.shift) - str+="S"; - if (key.mod.control) - str+="C"; - if (key.mod.alt) - str+="A"; - if (key.mod.meta) - str+="M"; - - return str; - } break; - case MOUSE_MOTION: { - - str+= "Event: Motion "; - str=str+" Pos: " +itos(mouse_motion.x)+","+itos(mouse_motion.y)+" Rel: "+itos(mouse_motion.relative_x)+","+itos(mouse_motion.relative_y)+" Mask: "; - for (int i=0;i<8;i++) { - - if ((1<get_action_from_id(action.action)+" Pressed: "+itos(action.pressed); - return str; - - } break; - - } - */ - - return ""; -} - -void InputEvent::set_as_action(const String& p_action, bool p_pressed) { - - godot_input_event_set_as_action((godot_input_event *) this, (godot_string*) &p_action, p_pressed); -} - -bool InputEvent::is_pressed() const { - - switch(type) { - - case KEY: return key.pressed; - case MOUSE_BUTTON: return mouse_button.pressed; - case JOYPAD_BUTTON: return joy_button.pressed; - case SCREEN_TOUCH: return screen_touch.pressed; - case JOYPAD_MOTION: return ::fabs(joy_motion.axis_value) > 0.5; - case ACTION: return action.pressed; - default: {} - } - - return false; -} - -bool InputEvent::is_echo() const { - - return (type==KEY && key.echo); -} - -bool InputEvent::is_action(const String& p_action) const { - - return godot_input_event_is_action((godot_input_event *) this, (godot_string *) &p_action); -} - -bool InputEvent::is_action_pressed(const String& p_action) const { - - return is_action(p_action) && is_pressed() && !is_echo(); -} - -bool InputEvent::is_action_released(const String& p_action) const { - - return is_action(p_action) && !is_pressed(); -} - - -InputEvent InputEvent::xform_by(const Transform2D& p_xform) const { - - - InputEvent ev=*this; - - switch(ev.type) { - - case InputEvent::MOUSE_BUTTON: { - - Vector2 g = p_xform.xform(Vector2(ev.mouse_button.global_x,ev.mouse_button.global_y)); - Vector2 l = p_xform.xform(Vector2(ev.mouse_button.x,ev.mouse_button.y)); - ev.mouse_button.x=l.x; - ev.mouse_button.y=l.y; - ev.mouse_button.global_x=g.x; - ev.mouse_button.global_y=g.y; - - } break; - case InputEvent::MOUSE_MOTION: { - - Vector2 g = p_xform.xform(Vector2(ev.mouse_motion.global_x,ev.mouse_motion.global_y)); - Vector2 l = p_xform.xform(Vector2(ev.mouse_motion.x,ev.mouse_motion.y)); - Vector2 r = p_xform.basis_xform(Vector2(ev.mouse_motion.relative_x,ev.mouse_motion.relative_y)); - Vector2 s = p_xform.basis_xform(Vector2(ev.mouse_motion.speed_x,ev.mouse_motion.speed_y)); - ev.mouse_motion.x=l.x; - ev.mouse_motion.y=l.y; - ev.mouse_motion.global_x=g.x; - ev.mouse_motion.global_y=g.y; - ev.mouse_motion.relative_x=r.x; - ev.mouse_motion.relative_y=r.y; - ev.mouse_motion.speed_x=s.x; - ev.mouse_motion.speed_y=s.y; - - } break; - case InputEvent::SCREEN_TOUCH: { - - - Vector2 t = p_xform.xform(Vector2(ev.screen_touch.x,ev.screen_touch.y)); - ev.screen_touch.x=t.x; - ev.screen_touch.y=t.y; - - } break; - case InputEvent::SCREEN_DRAG: { - - - Vector2 t = p_xform.xform(Vector2(ev.screen_drag.x,ev.screen_drag.y)); - Vector2 r = p_xform.basis_xform(Vector2(ev.screen_drag.relative_x,ev.screen_drag.relative_y)); - Vector2 s = p_xform.basis_xform(Vector2(ev.screen_drag.speed_x,ev.screen_drag.speed_y)); - ev.screen_drag.x=t.x; - ev.screen_drag.y=t.y; - ev.screen_drag.relative_x=r.x; - ev.screen_drag.relative_y=r.y; - ev.screen_drag.speed_x=s.x; - ev.screen_drag.speed_y=s.y; - } break; - } - - return ev; -} - - -} diff --git a/src/core/NodePath.cpp b/src/core/NodePath.cpp index e5e784b4..08ec27a8 100644 --- a/src/core/NodePath.cpp +++ b/src/core/NodePath.cpp @@ -17,7 +17,7 @@ NodePath::NodePath(const NodePath &other) { String from = other; godot_node_path_new(&_node_path, (godot_string *) &from); - godot_node_path_copy(&_node_path, &other._node_path); + godot_node_path_operator_equal(&_node_path, &other._node_path); } NodePath::NodePath(const String &from) @@ -79,7 +79,7 @@ NodePath::operator String() const void NodePath::operator =(const NodePath& other) { - godot_node_path_copy(&_node_path, &other._node_path); + godot_node_path_operator_equal(&_node_path, &other._node_path); } NodePath::~NodePath() diff --git a/src/core/RID.cpp b/src/core/RID.cpp index 2343475e..1431a8a3 100644 --- a/src/core/RID.cpp +++ b/src/core/RID.cpp @@ -7,17 +7,12 @@ namespace godot { RID::RID(Object *p) { - godot_rid_new(&_godot_rid, p); + godot_rid_new_with_resource(&_godot_rid, (const godot_object *) p); } int32_t RID::get_rid() const { - return godot_rid_get_rid(&_godot_rid); -} - -RID::~RID() -{ - godot_rid_destroy(&_godot_rid); + return godot_rid_get_id(&_godot_rid); } diff --git a/src/core/Variant.cpp b/src/core/Variant.cpp index 7b665479..7a4d5754 100644 --- a/src/core/Variant.cpp +++ b/src/core/Variant.cpp @@ -129,11 +129,6 @@ Variant::Variant(const Color& p_color) godot_variant_new_color(&_godot_variant, (godot_color *) &p_color); } -Variant::Variant(const Image& p_image) -{ - godot_variant_new_image(&_godot_variant, (godot_image *) &p_image); -} - Variant::Variant(const NodePath& p_path) { godot_variant_new_node_path(&_godot_variant, (godot_node_path *) &p_path); @@ -149,11 +144,6 @@ Variant::Variant(const Object* p_object) godot_variant_new_object(&_godot_variant, (godot_object *) p_object); } -Variant::Variant(const InputEvent& p_input_event) -{ - godot_variant_new_input_event(&_godot_variant, (godot_input_event *) &p_input_event); -} - Variant::Variant(const Dictionary& p_dictionary) { godot_variant_new_dictionary(&_godot_variant, (godot_dictionary *) &p_dictionary); @@ -317,11 +307,6 @@ Variant::operator Color() const godot_color s = godot_variant_as_color(&_godot_variant); return *(Color *) &s; } -Variant::operator Image() const -{ - godot_image s = godot_variant_as_image(&_godot_variant); - return *(Image *) &s; -} Variant::operator NodePath() const { godot_node_path s = godot_variant_as_node_path(&_godot_variant); @@ -332,11 +317,6 @@ Variant::operator RID() const godot_rid s = godot_variant_as_rid(&_godot_variant); return *(RID *) &s; } -Variant::operator InputEvent() const -{ - godot_input_event s = godot_variant_as_input_event(&_godot_variant); - return *(InputEvent *) &s; -} Variant::operator Dictionary() const {