32 lines
745 B
C++
32 lines
745 B
C++
#pragma once
|
|
#include <cstdint>
|
|
#include "PlatformEnums.hpp"
|
|
|
|
namespace OpenVulkano
|
|
{
|
|
class IWindow;
|
|
class IGraphicsApp;
|
|
class IRenderer;
|
|
|
|
class IGraphicsAppManager
|
|
{
|
|
public:
|
|
virtual ~IGraphicsAppManager() = default;
|
|
|
|
virtual RenderAPI::RenderApi GetRenderApi() const = 0;
|
|
virtual IGraphicsApp* GetGraphicsApp() const = 0;
|
|
virtual IRenderer* GetRenderer() const = 0;
|
|
virtual IWindow* GetWindow() const = 0;
|
|
virtual bool IsRunning() const = 0;
|
|
virtual bool IsPaused() const = 0;
|
|
virtual void Stop() = 0;
|
|
virtual void Run() = 0;
|
|
virtual void Pause() = 0;
|
|
virtual void Resume() = 0;
|
|
|
|
virtual float GetAvgFrameTime() const = 0;
|
|
virtual float GetAvgFps() const = 0;
|
|
virtual uint64_t GetFrameCount() const = 0;
|
|
};
|
|
}
|