diff options
author | Bernhard Liebl <Bernhard.Liebl@gmx.org> | 2017-11-27 14:01:34 +0100 |
---|---|---|
committer | Bernhard Liebl <Bernhard.Liebl@gmx.org> | 2017-11-27 14:01:34 +0100 |
commit | 91b8b9463520242183af6dd2c4f999ea714ebbd6 (patch) | |
tree | db2257996346152f298e86ca58b538f93e695e11 | |
parent | 17b4f43e0e0a16d27bd769cab854e2be5e26833f (diff) |
add "add point" and "select point" handles to polygon 2d editor
-rw-r--r-- | editor/icons/icon_editor_handle_add.svg | 5 | ||||
-rw-r--r-- | editor/plugins/abstract_polygon_2d_editor.cpp | 7 |
2 files changed, 8 insertions, 4 deletions
diff --git a/editor/icons/icon_editor_handle_add.svg b/editor/icons/icon_editor_handle_add.svg new file mode 100644 index 0000000000..be61cd53f9 --- /dev/null +++ b/editor/icons/icon_editor_handle_add.svg @@ -0,0 +1,5 @@ +<svg width="10" height="10" version="1.1" viewBox="0 0 10 10" xmlns="http://www.w3.org/2000/svg"> + <circle cx="5" cy="5" r="5" fill-opacity=".29412"/> + <circle cx="5" cy="5" r="4" fill="#474747"/> + <path d="m4 2v2h-2v2h2v2h2v-2h2v-2h-2v-2z" fill="#84ffb1"/> +</svg> diff --git a/editor/plugins/abstract_polygon_2d_editor.cpp b/editor/plugins/abstract_polygon_2d_editor.cpp index 1c4569d117..cabdfa761d 100644 --- a/editor/plugins/abstract_polygon_2d_editor.cpp +++ b/editor/plugins/abstract_polygon_2d_editor.cpp @@ -497,8 +497,7 @@ void AbstractPolygon2DEditor::forward_draw_over_viewport(Control *p_overlay) { Control *vpc = canvas_item_editor->get_viewport_control(); Transform2D xform = canvas_item_editor->get_canvas_transform() * _get_node()->get_global_transform(); - Ref<Texture> default_handle = get_icon("EditorHandle", "EditorIcons"); - Ref<Texture> selected_handle = get_icon("EditorHandleSelected", "EditorIcons"); + const Ref<Texture> handle = get_icon("EditorHandle", "EditorIcons"); const Vertex active_point = get_active_point(); const int n_polygons = _get_polygon_count(); @@ -572,8 +571,8 @@ void AbstractPolygon2DEditor::forward_draw_over_viewport(Control *p_overlay) { const Vector2 p = (vertex == edited_point) ? edited_point.pos : (points[i] + offset); const Vector2 point = xform.xform(p); - Ref<Texture> handle = vertex == active_point ? selected_handle : default_handle; - vpc->draw_texture(handle, point - handle->get_size() * 0.5); + const Color modulate = vertex == active_point ? Color(0.5, 1, 2) : Color(1, 1, 1); + vpc->draw_texture(handle, point - handle->get_size() * 0.5, modulate); } } |