diff --git a/lib/uuid.cpp b/lib/uuid.cpp deleted file mode 100644 index 248836e..0000000 --- a/lib/uuid.cpp +++ /dev/null @@ -1,35 +0,0 @@ -#include "uuid.h" - -namespace uuid { -static std::random_device rd; -static std::mt19937 gen(rd()); -static std::uniform_int_distribution<> dis(0, 15); -static std::uniform_int_distribution<> dis2(8, 11); - -std::string generate_uuid_v4() { - std::stringstream ss; - int i; - ss << std::hex; - for (i = 0; i < 8; i++) { - ss << dis(gen); - } - ss << "-"; - for (i = 0; i < 4; i++) { - ss << dis(gen); - } - ss << "-4"; - for (i = 0; i < 3; i++) { - ss << dis(gen); - } - ss << "-"; - ss << dis2(gen); - for (i = 0; i < 3; i++) { - ss << dis(gen); - } - ss << "-"; - for (i = 0; i < 12; i++) { - ss << dis(gen); - }; - return ss.str(); -} -} // namespace uuid diff --git a/lib/uuid.h b/lib/uuid.h deleted file mode 100644 index 0f938d6..0000000 --- a/lib/uuid.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef UUID_H -#define UUID_H - -#include -#include -#include - -namespace uuid { -std::string generate_uuid_v4(); -} - -#endif // UUID_H diff --git a/main.cpp b/main.cpp index db2ae2b..ac38560 100644 --- a/main.cpp +++ b/main.cpp @@ -1,14 +1,3 @@ -// Dear ImGui: standalone example application for SDL2 + OpenGL -// (SDL is a cross-platform general purpose library for handling windows, -// inputs, OpenGL/Vulkan/Metal graphics context creation, etc.) - -// Learn about Dear ImGui: -// - FAQ https://dearimgui.com/faq -// - Getting Started https://dearimgui.com/getting-started -// - Documentation https://dearimgui.com/docs (same as your local docs/ -// folder). -// - Introduction, links and more at the top of imgui.cpp - #include #include #include @@ -106,43 +95,33 @@ Texture ReloadTexture(ImTextureID id, int width, int height) { return t; } -void rotate90() -{ -} - void RotateImage(Texture t) { int height = t.size.y; int width = t.size.x; int channels = t.channels; - const unsigned int sizeBuffer = width * height * channels; - unsigned char *tempBuffer = new unsigned char[sizeBuffer]; + const unsigned int sizeBuffer = width * height * channels; + unsigned char *tempBuffer = new unsigned char[sizeBuffer]; - - int nidx = 0; - for (int x = 0; x < width; x++) + int nidx = 0; + for (int x = 0; x < width; x++) + { + for (int y = height - 1; y >= 0; y--) { - for (int y = height - 1; y >= 0; y--) - { - int idx = (x + y * width) * channels; - for (int i = 0; i < channels; i++) - tempBuffer[nidx + i] = image[idx + i]; + int idx = (x + y * width) * channels; + for (int i = 0; i < channels; i++) + tempBuffer[nidx + i] = image[idx + i]; - nidx = nidx + 4; - } + nidx = nidx + 4; } + } - // Copy rotated pixels - - memcpy(image, tempBuffer, sizeBuffer); - delete[] tempBuffer; + memcpy(image, tempBuffer, sizeBuffer); + delete[] tempBuffer; } -static bool init = true; -static bool showHelp = false; -static int mode = 0; -const int maxAnnotatedTexels = 10000; +const int MAX_ANNOATED_TEXELS = 10000; // Main code int main(int argc, char* argv[]) { @@ -156,6 +135,8 @@ int main(int argc, char* argv[]) { bool TOOLTIP_ENABLED = false; bool GRID_ENABLED = false; bool AA_ENABLED = true; + bool SHOW_HELP = false; + int MODE = 0; // Decide GL+GLSL versions #if defined(IMGUI_IMPL_OPENGL_ES2) @@ -209,7 +190,6 @@ int main(int argc, char* argv[]) { // Setup Dear ImGui context IMGUI_CHECKVERSION(); - ImGui::CreateContext(); ImGuiIO &io = ImGui::GetIO(); (void)io; @@ -218,34 +198,27 @@ int main(int argc, char* argv[]) { ImGuiTexInspect::ImplOpenGL3_Init(); // Or DirectX 11 equivalent (check your chosen backend header file) ImGuiTexInspect::Init(); ImGuiTexInspect::CreateContext(); - ImGui::StyleColorsDark(); - ImGuiStyle &style = ImGui::GetStyle(); - ImGui_ImplSDL2_InitForOpenGL(window, gl_context); ImGui_ImplOpenGL3_Init(glsl_version); ImVec4 clear_color = ImVec4(0.45f, 0.55f, 0.60f, 1.00f); - Texture t; + auto flags = ImGuiTexInspect::InspectorFlags_FillVertical | ImGuiTexInspect::InspectorFlags_FillHorizontal; - if (init) { - init = false; - try { - auto args = argparse::parse(argc, argv, true); - t = LoadTexture(args.fpath.c_str()); - } catch (const std::runtime_error &e) { - std::cerr << "failed to parse arguments: " << e.what() << std::endl; - return -1; - } + try { + auto args = argparse::parse(argc, argv, true); + t = LoadTexture(args.fpath.c_str()); + } catch (const std::runtime_error &e) { + std::cerr << "failed to parse arguments: " << e.what() << std::endl; + return -1; } // Main loop bool done = false; while (!done) { - auto flags = ImGuiTexInspect::InspectorFlags_FillVertical | ImGuiTexInspect::InspectorFlags_FillHorizontal; // Poll and handle events (inputs, window resize, etc.) SDL_Event event; @@ -373,6 +346,7 @@ int main(int argc, char* argv[]) { ImGui::OpenPopup("HelpPopup"); showHelp = !showHelp; } + if (ImGui::BeginPopup("HelpPopup")) { ImGui::Text("tview Help"); ImGui::Separator();