Skip to content

Commit 277e5b8

Browse files
committed
Paintable tile flipping
1 parent 49a5bc7 commit 277e5b8

1 file changed

Lines changed: 30 additions & 0 deletions

File tree

editor/plugins/tiles/tile_set_atlas_source_editor.cpp

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -652,6 +652,36 @@ void TileSetAtlasSourceEditor::_update_tile_data_editors() {
652652
// --- Rendering ---
653653
ADD_TILE_DATA_EDITOR_GROUP(TTR("Rendering"));
654654

655+
ADD_TILE_DATA_EDITOR(group, TTR("Flip H"), "flip_h");
656+
if (!tile_data_editors.has("flip_h")) {
657+
TileDataDefaultEditor *tile_data_flip_h_editor = memnew(TileDataDefaultEditor());
658+
tile_data_flip_h_editor->hide();
659+
tile_data_flip_h_editor->setup_property_editor(Variant::BOOL, "flip_h");
660+
tile_data_flip_h_editor->connect("needs_redraw", callable_mp((CanvasItem *)tile_atlas_control_unscaled, &Control::queue_redraw));
661+
tile_data_flip_h_editor->connect("needs_redraw", callable_mp((CanvasItem *)alternative_tiles_control_unscaled, &Control::queue_redraw));
662+
tile_data_editors["flip_h"] = tile_data_flip_h_editor;
663+
}
664+
665+
ADD_TILE_DATA_EDITOR(group, TTR("Flip V"), "flip_v");
666+
if (!tile_data_editors.has("flip_v")) {
667+
TileDataDefaultEditor *tile_data_flip_v_editor = memnew(TileDataDefaultEditor());
668+
tile_data_flip_v_editor->hide();
669+
tile_data_flip_v_editor->setup_property_editor(Variant::BOOL, "flip_v");
670+
tile_data_flip_v_editor->connect("needs_redraw", callable_mp((CanvasItem *)tile_atlas_control_unscaled, &Control::queue_redraw));
671+
tile_data_flip_v_editor->connect("needs_redraw", callable_mp((CanvasItem *)alternative_tiles_control_unscaled, &Control::queue_redraw));
672+
tile_data_editors["flip_v"] = tile_data_flip_v_editor;
673+
}
674+
675+
ADD_TILE_DATA_EDITOR(group, TTR("Transpose"), "transpose");
676+
if (!tile_data_editors.has("transpose")) {
677+
TileDataDefaultEditor *tile_data_transpose_editor = memnew(TileDataDefaultEditor());
678+
tile_data_transpose_editor->hide();
679+
tile_data_transpose_editor->setup_property_editor(Variant::BOOL, "transpose");
680+
tile_data_transpose_editor->connect("needs_redraw", callable_mp((CanvasItem *)tile_atlas_control_unscaled, &Control::queue_redraw));
681+
tile_data_transpose_editor->connect("needs_redraw", callable_mp((CanvasItem *)alternative_tiles_control_unscaled, &Control::queue_redraw));
682+
tile_data_editors["transpose"] = tile_data_transpose_editor;
683+
}
684+
655685
ADD_TILE_DATA_EDITOR(group, TTR("Texture Origin"), "texture_origin");
656686
if (!tile_data_editors.has("texture_origin")) {
657687
TileDataTextureOriginEditor *tile_data_texture_origin_editor = memnew(TileDataTextureOriginEditor);

0 commit comments

Comments
 (0)