r5sdk/r5dev/gameui/imgui_surface.h

41 lines
814 B
C
Raw Normal View History

#ifndef IMGUI_SURFACE_H
#define IMGUI_SURFACE_H
#define IMGUI_SURFACE_FADE_ANIM_SPEED 5.0f
#include "imgui/misc/imgui_utility.h"
class CImguiSurface
{
public:
CImguiSurface();
virtual ~CImguiSurface() { };
virtual bool Init() = 0;
virtual void Shutdown() = 0;
virtual void Animate();
virtual void RunFrame() = 0;
virtual bool DrawSurface() = 0;
virtual void SetStyleVar(const float width, const float height, const float x, const float y);
// inlines:
inline void ToggleActive() { m_activated ^= true; }
inline bool IsActivated() { return m_activated; }
inline bool IsVisible() { return m_fadeAlpha > 0.0f; }
protected:
const char* m_surfaceLabel;
float m_fadeAlpha;
ImGuiStyle_t m_surfaceStyle;
bool m_initialized;
bool m_activated;
bool m_reclaimFocus;
};
#endif // IMGUI_SURFACE_H