Files
OpenVulkano/openVulkanoCpp/Base/IGraphicsAppManager.hpp

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;
};
}