From 1c0c3c4393b52ff33440bdeb21f6f885996b1763 Mon Sep 17 00:00:00 2001 From: Relintai Date: Mon, 14 Nov 2022 23:27:26 +0100 Subject: [PATCH] Added PaintNode. --- modules/paint/SCsub | 2 ++ modules/paint/nodes/paint_node.cpp | 20 ++++++++++++++++++++ modules/paint/nodes/paint_node.h | 24 ++++++++++++++++++++++++ modules/paint/register_types.cpp | 4 ++++ 4 files changed, 50 insertions(+) create mode 100644 modules/paint/nodes/paint_node.cpp create mode 100644 modules/paint/nodes/paint_node.h diff --git a/modules/paint/SCsub b/modules/paint/SCsub index 47d00c064..d77e1d299 100644 --- a/modules/paint/SCsub +++ b/modules/paint/SCsub @@ -33,6 +33,8 @@ module_env.add_source_files(env.modules_sources,"ui/paint_visual_grid.cpp") module_env.add_source_files(env.modules_sources,"paint_utilities.cpp") module_env.add_source_files(env.modules_sources,"bush_prefabs.cpp") +module_env.add_source_files(env.modules_sources,"nodes/paint_node.cpp") + module_env.add_source_files(env.modules_sources,"deprecated/paint_canvas_layer.cpp") module_env.add_source_files(env.modules_sources,"deprecated/paint_canvas.cpp") module_env.add_source_files(env.modules_sources,"deprecated/paint_layer_button.cpp") diff --git a/modules/paint/nodes/paint_node.cpp b/modules/paint/nodes/paint_node.cpp new file mode 100644 index 000000000..64a046596 --- /dev/null +++ b/modules/paint/nodes/paint_node.cpp @@ -0,0 +1,20 @@ +#include "paint_node.h" + +Vector2i PaintNode::get_size() { + return _size; +} +void PaintNode::set_size(const Vector2i &size) { + _size = size; +} + +PaintNode::PaintNode() { +} + +PaintNode::~PaintNode() { +} + +void PaintNode::_bind_methods() { + ClassDB::bind_method(D_METHOD("get_size"), &PaintNode::get_size); + ClassDB::bind_method(D_METHOD("set_size", "size"), &PaintNode::set_size); + ADD_PROPERTY(PropertyInfo(Variant::VECTOR2I, "size"), "set_size", "get_size"); +} diff --git a/modules/paint/nodes/paint_node.h b/modules/paint/nodes/paint_node.h new file mode 100644 index 000000000..ccd31f011 --- /dev/null +++ b/modules/paint/nodes/paint_node.h @@ -0,0 +1,24 @@ +#ifndef PAINT_NODE_H +#define PAINT_NODE_H + +#include "core/math/vector2i.h" + +#include "scene/2d/node_2d.h" + +class PaintNode : public Node2D { + GDCLASS(PaintNode, Node2D); + +public: + Vector2i get_size(); + void set_size(const Vector2i &size); + + PaintNode(); + ~PaintNode(); + +protected: + static void _bind_methods(); + + Vector2i _size; +}; + +#endif diff --git a/modules/paint/register_types.cpp b/modules/paint/register_types.cpp index 57296e100..f198f95f8 100644 --- a/modules/paint/register_types.cpp +++ b/modules/paint/register_types.cpp @@ -44,6 +44,8 @@ SOFTWARE. #include "ui/paint_selection_box.h" #include "ui/paint_visual_grid.h" +#include "nodes/paint_node.h" + #ifdef TOOLS_ENABLED #include "paint_editor_plugin.h" #endif @@ -71,6 +73,8 @@ void register_paint_types() { ClassDB::register_class(); ClassDB::register_class(); + ClassDB::register_class(); + #ifdef TOOLS_ENABLED EditorPlugins::add_by_type(); #endif