summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-04-17 10:58:49 +0200
committerRémi Verschelde <rverschelde@gmail.com>2024-04-17 10:58:49 +0200
commit0473f291a78424e244d2772555627313a40d49dd (patch)
tree7bd8623d75d067a8d4c17855a762030333d70650
parentfad6897af08e4be8db2880db1d6a73205feed35e (diff)
parent2dfc4f4487a76e4ff360543472d39ee9f899c72d (diff)
downloadredot-engine-0473f291a78424e244d2772555627313a40d49dd.tar.gz
Merge pull request #90709 from kleonc/tile-set-editor-atlas-with-separation-rect-drawing
Fix selection rect drawing in `TileSet` editor when create/remove tiles with separation
-rw-r--r--editor/plugins/tiles/tile_set_atlas_source_editor.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/editor/plugins/tiles/tile_set_atlas_source_editor.cpp b/editor/plugins/tiles/tile_set_atlas_source_editor.cpp
index f9efc62f03..1da2f89c1c 100644
--- a/editor/plugins/tiles/tile_set_atlas_source_editor.cpp
+++ b/editor/plugins/tiles/tile_set_atlas_source_editor.cpp
@@ -1838,7 +1838,8 @@ void TileSetAtlasSourceEditor::_tile_atlas_control_draw() {
Vector2i separation = tile_set_atlas_source->get_separation();
Vector2i tile_size = tile_set_atlas_source->get_texture_region_size();
Vector2i origin = margins + (area.position * (tile_size + separation));
- TilesEditorUtils::draw_selection_rect(tile_atlas_control, Rect2i(origin, area.size * tile_size));
+ Vector2i size = area.size * tile_size + (area.size - Vector2i(1, 1)).max(Vector2i(0, 0)) * separation;
+ TilesEditorUtils::draw_selection_rect(tile_atlas_control, Rect2i(origin, size));
} else {
Vector2i grid_size = tile_set_atlas_source->get_atlas_grid_size();
if (hovered_base_tile_coords.x >= 0 && hovered_base_tile_coords.y >= 0 && hovered_base_tile_coords.x < grid_size.x && hovered_base_tile_coords.y < grid_size.y) {