looper/RendererBackend.h

43 lines
1 KiB
C
Raw Normal View History

2023-08-25 14:38:06 -07:00
#pragma once
#include "imgui.h"
#include <functional>
#if defined(IMGUI_IMPL_OPENGL_ES2)
#include <SDL_opengles2.h>
#else
#include <SDL_opengl.h>
#endif
#include <SDL.h>
#include <SDL_video.h>
#include <string>
#include "theme.h"
2024-01-21 15:21:18 -08:00
static const char* NAME = "Looper";
2023-08-25 14:38:06 -07:00
class RendererBackend {
public:
double scale = 1.0;
2023-08-25 14:38:06 -07:00
SDL_Window *window;
int window_width = 475;
int window_height = 354;
bool done = false;
Theme *theme;
bool vsync = false;
std::string lang;
std::string userdir;
int framerate = 60;
ImVec4 clear_color = ImVec4(0.45f, 0.55f, 0.60f, 1.00f);
ImFont *title;
const char *prefPath;
ImVec4 accent_color = ImVec4(0.75, 1.0, 1.0, 1.0);
2023-08-25 14:38:06 -07:00
int Run();
void SetWindowTitle(const char *title);
virtual void Init();
virtual void GuiFunction();
virtual void Deinit();
virtual void Drop(std::string file);
void UpdateScale();
void AddFonts();
void SetWindowSize(int w, int h);
void GetWindowsize(int *w, int *h);
2023-08-25 14:38:06 -07:00
RendererBackend();
~RendererBackend();
2024-01-21 15:21:18 -08:00
};