summaryrefslogtreecommitdiff
path: root/scene/gui/graph_node.h
diff options
context:
space:
mode:
Diffstat (limited to 'scene/gui/graph_node.h')
-rw-r--r--scene/gui/graph_node.h46
1 files changed, 43 insertions, 3 deletions
diff --git a/scene/gui/graph_node.h b/scene/gui/graph_node.h
index 3b89da9f0f..0d5cbf8dd3 100644
--- a/scene/gui/graph_node.h
+++ b/scene/gui/graph_node.h
@@ -8,7 +8,7 @@ class GraphNode : public Container {
OBJ_TYPE(GraphNode,Container);
- String title;
+
struct Slot {
bool enable_left;
int type_left;
@@ -21,13 +21,36 @@ class GraphNode : public Container {
Slot() { enable_left=false; type_left=0; color_left=Color(1,1,1,1); enable_right=false; type_right=0; color_right=Color(1,1,1,1); };
};
+ String title;
+ bool show_close;
+ Vector2 offset;
+
+ Rect2 close_rect;
+
Vector<int> cache_y;
+ struct ConnCache {
+ Vector2 pos;
+ int type;
+ Color color;
+ };
+
+ Vector<ConnCache> conn_input_cache;
+ Vector<ConnCache> conn_output_cache;
+
Map<int,Slot> slot_info;
+ bool connpos_dirty;
+
+ void _connpos_update();
void _resort();
+
+ Vector2 drag_from;
+ Vector2 drag_accum;
+ bool dragging;
protected:
+ void _input_event(const InputEvent& p_ev);
void _notification(int p_what);
static void _bind_methods();
@@ -39,8 +62,6 @@ public:
- void set_title(const String& p_title);
- String get_title() const;
void set_slot(int p_idx,bool p_enable_left,int p_type_left,const Color& p_color_left, bool p_enable_right,int p_type_right,const Color& p_color_right);
void clear_slot(int p_idx);
@@ -52,6 +73,25 @@ public:
int get_slot_type_right(int p_idx) const;
Color get_slot_color_right(int p_idx) const;
+ void set_title(const String& p_title);
+ String get_title() const;
+
+ void set_offset(const Vector2& p_offset);
+ Vector2 get_offset() const;
+
+ void set_show_close_button(bool p_enable);
+ bool is_close_button_visible() const;
+
+ int get_connection_input_count() ;
+ int get_connection_output_count() ;
+ Vector2 get_connection_input_pos(int p_idx);
+ int get_connection_input_type(int p_idx);
+ Color get_connection_input_color(int p_idx);
+ Vector2 get_connection_output_pos(int p_idx);
+ int get_connection_output_type(int p_idx);
+ Color get_connection_output_color(int p_idx);
+
+
virtual Size2 get_minimum_size() const;
GraphNode();