Add InputTileInfo function for tile information input handling in GUI

This commit is contained in:
scawful
2024-11-10 15:07:33 -05:00
parent f5ac6124b0
commit 7bcab06f0b
2 changed files with 18 additions and 0 deletions

View File

@@ -8,6 +8,7 @@
#include "absl/strings/string_view.h"
#include "app/gfx/bitmap.h"
#include "app/gfx/snes_palette.h"
#include "app/gfx/snes_tile.h"
#include "app/gui/canvas.h"
#include "app/gui/color.h"
#include "imgui/imgui.h"
@@ -246,6 +247,20 @@ bool ListBox(const char* label, int* current_item,
height_in_items);
}
bool InputTileInfo(const char* label, gfx::TileInfo* tile_info) {
ImGui::PushID(label);
ImGui::BeginGroup();
bool changed = false;
changed |= InputHexWord(label, &tile_info->id_);
changed |= InputHexByte("Palette", &tile_info->palette_);
changed |= ImGui::Checkbox("Priority", &tile_info->over_);
changed |= ImGui::Checkbox("Vertical Flip", &tile_info->vertical_mirror_);
changed |= ImGui::Checkbox("Horizontal Flip", &tile_info->horizontal_mirror_);
ImGui::EndGroup();
ImGui::PopID();
return changed;
}
ImGuiID GetID(const std::string& id) { return ImGui::GetID(id.c_str()); }
void FileDialogPipeline(absl::string_view display_key,