From 58156ea4e8dbe3e0b292feaada8fccbdd093a3e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branimir=20Karad=C5=BEi=C4=87?= Date: Sat, 28 May 2016 17:14:19 -0700 Subject: [PATCH] Cleanup. --- 3rdparty/ocornut-imgui/imgui_user.h | 17 +++++++++++++ .../ocornut-imgui/widgets/memory_editor.h | 3 ++- .../ocornut-imgui/widgets/memory_editor.inl | 19 +++++++++++++- examples/common/imgui/imgui.h | 13 ---------- examples/common/imgui/ocornut_imgui.cpp | 25 +++++++++++++++---- tools/texturev/texturev.cpp | 3 +++ 6 files changed, 60 insertions(+), 20 deletions(-) diff --git a/3rdparty/ocornut-imgui/imgui_user.h b/3rdparty/ocornut-imgui/imgui_user.h index d1f0e11ec..bf68388cd 100644 --- a/3rdparty/ocornut-imgui/imgui_user.h +++ b/3rdparty/ocornut-imgui/imgui_user.h @@ -1 +1,18 @@ +namespace ImGui +{ + struct Font + { + enum Enum + { + Regular, + Mono, + + Count + }; + }; + + void PushFont(Font::Enum _font); + +} // namespace ImGui + #include "widgets/memory_editor.h" diff --git a/3rdparty/ocornut-imgui/widgets/memory_editor.h b/3rdparty/ocornut-imgui/widgets/memory_editor.h index cba47f4aa..dcf0b2b92 100644 --- a/3rdparty/ocornut-imgui/widgets/memory_editor.h +++ b/3rdparty/ocornut-imgui/widgets/memory_editor.h @@ -21,6 +21,7 @@ namespace ImGui strcpy(AddrInput, ""); } - void Draw(unsigned char* mem_data, int mem_size, size_t base_display_addr = 0); + void Draw(void* mem_data, int mem_size, size_t base_display_addr = 0); + void Draw(const void* mem_data, int mem_size, size_t base_display_addr = 0); }; } // namespace ImGui diff --git a/3rdparty/ocornut-imgui/widgets/memory_editor.inl b/3rdparty/ocornut-imgui/widgets/memory_editor.inl index 41c06796b..0c084f64f 100644 --- a/3rdparty/ocornut-imgui/widgets/memory_editor.inl +++ b/3rdparty/ocornut-imgui/widgets/memory_editor.inl @@ -6,10 +6,20 @@ namespace ImGui // End(); // } - void MemoryEditor::Draw(unsigned char* mem_data, int mem_size, size_t base_display_addr) + void MemoryEditor::Draw(void* mem_data_void, int mem_size, size_t base_display_addr) { + PushFont(Font::Mono); + + unsigned char* mem_data = (unsigned char*)mem_data_void; + BeginChild("##scrolling", ImVec2(0, -GetItemsLineHeightWithSpacing())); + if (ImGui::BeginPopupContextWindow() ) + { + ImGui::Checkbox("HexII", &HexII); + ImGui::EndPopup(); + } + PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(0.0f, 0.0f) ); PushStyleVar(ImGuiStyleVar_ItemSpacing, ImVec2(0.0f, 0.0f) ); @@ -223,6 +233,13 @@ namespace ImGui } PopItemWidth(); + + PopFont(); + } + + void MemoryEditor::Draw(const void* mem_data, int mem_size, size_t base_display_addr) + { + Draw(const_cast(mem_data), mem_size, base_display_addr); } } // namespace ImGui diff --git a/examples/common/imgui/imgui.h b/examples/common/imgui/imgui.h index e44262957..273f2a817 100644 --- a/examples/common/imgui/imgui.h +++ b/examples/common/imgui/imgui.h @@ -280,19 +280,6 @@ namespace ImGui SetCursorPosY(GetCursorPosY() + GetTextLineHeightWithSpacing() ); } - struct Font - { - enum Enum - { - Regular, - Mono, - - Count - }; - }; - - void PushFont(Font::Enum _font); - } // namespace ImGui #endif // IMGUI_H_HEADER_GUARD diff --git a/examples/common/imgui/ocornut_imgui.cpp b/examples/common/imgui/ocornut_imgui.cpp index 6489e8363..e1be9a3ed 100644 --- a/examples/common/imgui/ocornut_imgui.cpp +++ b/examples/common/imgui/ocornut_imgui.cpp @@ -453,8 +453,8 @@ struct OcornutImguiContext config.MergeMode = false; // config.MergeGlyphCenterV = true; - m_font[ImGui::Font::Regular] = io.Fonts->AddFontFromMemoryTTF( (void*)s_robotoRegularTtf, sizeof(s_robotoRegularTtf), _fontSize, &config); - m_font[ImGui::Font::Mono ] = io.Fonts->AddFontFromMemoryTTF( (void*)s_robotoMonoRegularTtf, sizeof(s_robotoMonoRegularTtf), _fontSize, &config); + m_font[ImGui::Font::Regular] = io.Fonts->AddFontFromMemoryTTF( (void*)s_robotoRegularTtf, sizeof(s_robotoRegularTtf), _fontSize, &config); + m_font[ImGui::Font::Mono ] = io.Fonts->AddFontFromMemoryTTF( (void*)s_robotoMonoRegularTtf, sizeof(s_robotoMonoRegularTtf), _fontSize-3.0f, &config); config.MergeMode = true; config.DstFont = m_font[ImGui::Font::Regular]; @@ -660,9 +660,24 @@ struct OcornutImguiContext #endif // 0 #if 0 - extern void ShowExampleAppCustomNodeGraph(bool* opened); - bool opened = true; - ShowExampleAppCustomNodeGraph(&opened); + { + static ImGui::MemoryEditor me; + bool open = true; + if (ImGui::Begin("HexII", &open)) + { + me.Draw(s_iconsKenneyTtf, sizeof(s_iconsKenneyTtf) ); + + ImGui::End(); + } + } +#endif // 0 + +#if 0 + { + extern void ShowExampleAppCustomNodeGraph(bool* opened); + bool opened = true; + ShowExampleAppCustomNodeGraph(&opened); + } #endif // 0 } diff --git a/tools/texturev/texturev.cpp b/tools/texturev/texturev.cpp index a0fc142f7..8d866f977 100644 --- a/tools/texturev/texturev.cpp +++ b/tools/texturev/texturev.cpp @@ -733,6 +733,7 @@ int _main_(int _argc, char** _argv) ImGui::Text("Key bindings:\n\n"); + ImGui::PushFont(ImGui::Font::Mono); ImGui::TextColored(ImVec4(1.0f, 1.0f, 0.0f, 1.0f), "ESC"); ImGui::SameLine(64); ImGui::Text("Exit."); ImGui::TextColored(ImVec4(1.0f, 1.0f, 0.0f, 1.0f), "h"); ImGui::SameLine(64); ImGui::Text("Toggle help screen."); ImGui::TextColored(ImVec4(1.0f, 1.0f, 0.0f, 1.0f), "f"); ImGui::SameLine(64); ImGui::Text("Toggle full-screen."); @@ -753,6 +754,8 @@ int _main_(int _argc, char** _argv) ImGui::TextColored(ImVec4(1.0f, 1.0f, 0.0f, 1.0f), "r/g/b"); ImGui::SameLine(64); ImGui::Text("Toggle R, G, or B color channel."); ImGui::TextColored(ImVec4(1.0f, 1.0f, 0.0f, 1.0f), "a"); ImGui::SameLine(64); ImGui::Text("Toggle alpha blending."); + ImGui::PopFont(); + ImGui::NextLine(); ImGui::Dummy(ImVec2(0.0f, 0.0f) );