#include "imgui.h" #include <sstream> #include <string_view> #if defined(__APPLE__) #include <SDL2/SDL.h> #if defined(IMGUI_IMPL_OPENGL_ES2) #include <SDL2/SDL_opengles.h> #else #include <SDL2/SDL_opengl.h> #endif #else #include <SDL.h> #if defined(IMGUI_IMPL_OPENGL_ES2) #include <SDL_opengles2.h> #else #include <SDL_opengl.h> #endif #endif class ImageBundle { public: int width; int height; int channels; ImTextureID texture; GLuint *glTextureID; std::string_view raw_buffer; uint8_t *image; bool loaded; std::string fname; ImageBundle() { fname = ""; loaded = false; } float aspectRatio() { return (float)width / (float)height; } int calcResizedWidth(int newHeight) { return (int)((float)newHeight * (1.0 / aspectRatio())); } int calcResizedHeight(int newWidth) { return (int)((float)newWidth * (aspectRatio())); } };