Просмотр исходного кода

Merge pull request #27567 from Calinou/selection-boxes-use-accent-color

Use the editor theme's accent color for 2D/3D selections and rotations
Rémi Verschelde 6 лет назад
Родитель
Сommit
d9b9c9f98a

+ 10 - 3
editor/plugins/canvas_item_editor_plugin.cpp

@@ -2828,13 +2828,20 @@ void CanvasItemEditor::_draw_selection() {
 		Point2 bsfrom = transform.xform(drag_from);
 		Point2 bsto = transform.xform(box_selecting_to);
 
-		VisualServer::get_singleton()->canvas_item_add_rect(ci, Rect2(bsfrom, bsto - bsfrom), Color(0.7, 0.7, 1.0, 0.3));
+		VisualServer::get_singleton()->canvas_item_add_rect(
+				ci,
+				Rect2(bsfrom, bsto - bsfrom),
+				get_color("accent_color", "Editor") * Color(1, 1, 1, 0.375));
 	}
 
-	Color rotate_color(0.4, 0.7, 1.0, 0.8);
 	if (drag_type == DRAG_ROTATE) {
 		// Draw the line when rotating a node
-		viewport->draw_line(transform.xform(drag_rotation_center), transform.xform(drag_to), rotate_color);
+		viewport->draw_line(
+				transform.xform(drag_rotation_center),
+				transform.xform(drag_to),
+				get_color("accent_color", "Editor") * Color(1, 1, 1, 0.6),
+				Math::round(2 * EDSCALE),
+				true);
 	}
 }
 

+ 11 - 2
editor/plugins/spatial_editor_plugin.cpp

@@ -2382,7 +2382,10 @@ void SpatialEditorViewport::_draw() {
 
 	if (cursor.region_select) {
 
-		VisualServer::get_singleton()->canvas_item_add_rect(ci, Rect2(cursor.region_begin, cursor.region_end - cursor.region_begin), Color(0.7, 0.7, 1.0, 0.3));
+		VisualServer::get_singleton()->canvas_item_add_rect(
+				ci,
+				Rect2(cursor.region_begin, cursor.region_end - cursor.region_begin),
+				get_color("accent_color", "Editor") * Color(1, 1, 1, 0.375));
 	}
 
 	if (message_time > 0) {
@@ -2396,7 +2399,13 @@ void SpatialEditorViewport::_draw() {
 	if (_edit.mode == TRANSFORM_ROTATE) {
 
 		Point2 center = _point_to_screen(_edit.center);
-		VisualServer::get_singleton()->canvas_item_add_line(ci, _edit.mouse_pos, center, Color(0.4, 0.7, 1.0, 0.8));
+		VisualServer::get_singleton()->canvas_item_add_line(
+				ci,
+				_edit.mouse_pos,
+				center,
+				get_color("accent_color", "Editor") * Color(1, 1, 1, 0.6),
+				Math::round(2 * EDSCALE),
+				true);
 	}
 	if (previewing) {
 

+ 3 - 1
scene/gui/graph_edit.cpp

@@ -770,7 +770,9 @@ void GraphEdit::_top_layer_draw() {
 	}
 
 	if (box_selecting)
-		top_layer->draw_rect(box_selecting_rect, Color(0.7, 0.7, 1.0, 0.3));
+		top_layer->draw_rect(
+				box_selecting_rect,
+				get_color("accent_color", "Editor") * Color(1, 1, 1, 0.375));
 }
 
 void GraphEdit::set_selected(Node *p_child) {