|
@@ -30,6 +30,7 @@
|
|
|
#include "tree.h"
|
|
|
#include <limits.h>
|
|
|
|
|
|
+#include "math_funcs.h"
|
|
|
#include "os/input.h"
|
|
|
#include "os/keyboard.h"
|
|
|
#include "os/os.h"
|
|
@@ -37,6 +38,10 @@
|
|
|
#include "project_settings.h"
|
|
|
#include "scene/main/viewport.h"
|
|
|
|
|
|
+#ifdef TOOLS_ENABLED
|
|
|
+#include "editor/editor_node.h"
|
|
|
+#endif
|
|
|
+
|
|
|
void TreeItem::move_to_top() {
|
|
|
|
|
|
if (!parent || parent->childs == this)
|
|
@@ -1412,9 +1417,14 @@ int Tree::draw_item(const Point2i &p_pos, const Point2 &p_draw_ofs, const Size2
|
|
|
if (c->get_children() != NULL)
|
|
|
root_pos -= Point2i(cache.arrow->get_width(), 0);
|
|
|
|
|
|
+ float line_width = 1.0;
|
|
|
+#ifdef TOOLS_ENABLED
|
|
|
+ line_width *= EDSCALE;
|
|
|
+#endif
|
|
|
+
|
|
|
Point2i parent_pos = Point2i(parent_ofs - cache.arrow->get_width() / 2, p_pos.y + label_h / 2 + cache.arrow->get_height() / 2) - cache.offset + p_draw_ofs;
|
|
|
- VisualServer::get_singleton()->canvas_item_add_line(ci, root_pos, Point2i(parent_pos.x, root_pos.y), cache.relationship_line_color);
|
|
|
- VisualServer::get_singleton()->canvas_item_add_line(ci, Point2i(parent_pos.x, root_pos.y), parent_pos, cache.relationship_line_color);
|
|
|
+ VisualServer::get_singleton()->canvas_item_add_line(ci, root_pos, Point2i(parent_pos.x - Math::floor(line_width / 2), root_pos.y), cache.relationship_line_color, line_width);
|
|
|
+ VisualServer::get_singleton()->canvas_item_add_line(ci, Point2i(parent_pos.x, root_pos.y), parent_pos, cache.relationship_line_color, line_width);
|
|
|
}
|
|
|
|
|
|
int child_h = draw_item(children_pos, p_draw_ofs, p_draw_size, c);
|