mirror of
https://github.com/Mauler125/r5sdk.git
synced 2025-02-09 19:15:03 +01:00
* Properly run fade in-out animations * Make common methods/members shared * Remove extraneous SDK thread
39 lines
783 B
C++
39 lines
783 B
C++
#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 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
|