From a9c9a0fad04cd5a68d178be63cd24a1808ad46e5 Mon Sep 17 00:00:00 2001 From: scawful Date: Sat, 11 Nov 2023 19:03:43 -0500 Subject: [PATCH] Update `InputHex` variants, `gui::Canvas` --- src/app/gui/canvas.h | 1 + src/app/gui/input.cc | 12 ++++++++++++ src/app/gui/input.h | 2 ++ 3 files changed, 15 insertions(+) diff --git a/src/app/gui/canvas.h b/src/app/gui/canvas.h index dca3a2a9..a57d9359 100644 --- a/src/app/gui/canvas.h +++ b/src/app/gui/canvas.h @@ -55,6 +55,7 @@ class Canvas { auto Points() const { return points_; } auto GetDrawList() const { return draw_list_; } auto GetZeroPoint() const { return canvas_p0_; } + auto Scrolling() const { return scrolling_; } auto GetCurrentDrawnTilePosition() const { return drawn_tile_pos_; } auto GetCanvasSize() const { return canvas_sz_; } void SetCanvasSize(ImVec2 canvas_size) { diff --git a/src/app/gui/input.cc b/src/app/gui/input.cc index 879d2488..77eacc3a 100644 --- a/src/app/gui/input.cc +++ b/src/app/gui/input.cc @@ -24,6 +24,18 @@ bool InputHexShort(const char* label, uint32_t* data) { ImGuiInputTextFlags_CharsHexadecimal); } +bool InputHexWord(const char* label, uint16_t* data) { + return ImGui::InputScalar(label, ImGuiDataType_U16, data, &kStepOneHex, + &kStepFastHex, "%04X", + ImGuiInputTextFlags_CharsHexadecimal); +} + +bool InputHexByte(const char* label, uint8_t* data) { + return ImGui::InputScalar(label, ImGuiDataType_U8, data, &kStepOneHex, + &kStepFastHex, "%02X", + ImGuiInputTextFlags_CharsHexadecimal); +} + void ItemLabel(absl::string_view title, ItemLabelFlags flags) { ImGuiWindow* window = ImGui::GetCurrentWindow(); const ImVec2 lineStart = ImGui::GetCursorScreenPos(); diff --git a/src/app/gui/input.h b/src/app/gui/input.h index 3a079edb..4e273d5a 100644 --- a/src/app/gui/input.h +++ b/src/app/gui/input.h @@ -17,6 +17,8 @@ constexpr ImVec2 kZeroPos = ImVec2(0, 0); IMGUI_API bool InputHex(const char* label, uint64_t* data); IMGUI_API bool InputHexShort(const char* label, uint32_t* data); +IMGUI_API bool InputHexWord(const char* label, uint16_t* data); +IMGUI_API bool InputHexByte(const char* label, uint8_t* data); using ItemLabelFlags = enum ItemLabelFlag { Left = 1u << 0u,