diff options
Diffstat (limited to 'scene/gui/graph_node.h')
-rw-r--r-- | scene/gui/graph_node.h | 46 |
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(); |