#ifndef XNA_GRAPHICS_DEVICE_HPP #define XNA_GRAPHICS_DEVICE_HPP #include "../default.hpp" namespace xna { class GraphicsDevice : public std::enable_shared_from_this { public: GraphicsDevice(); GraphicsDevice(GraphicsDeviceInformation const& info); ~GraphicsDevice(); void Clear(); void Clear(Color const& color); bool Initialize(GameWindow& gameWindow); bool Present(); sptr Adapter() const; void Adapter(sptr const& adapter); xna::Viewport Viewport() const; void Viewport(xna::Viewport const& viewport); void UseVSync(bool use); public: struct PlatformImplementation; uptr impl = nullptr; }; } #endif