2024-03-18 15:41:46 -03:00
|
|
|
#ifndef XNA_GRAPHICS_DEVICE_HPP
|
|
|
|
#define XNA_GRAPHICS_DEVICE_HPP
|
|
|
|
|
|
|
|
#include "../enums.hpp"
|
|
|
|
#include "../forward.hpp"
|
|
|
|
#include "../game/window.hpp"
|
|
|
|
#include "../types.hpp"
|
|
|
|
#include "adapter.hpp"
|
|
|
|
#include "rendertarget.hpp"
|
|
|
|
#include "swapchain.hpp"
|
|
|
|
#include "viewport.hpp"
|
|
|
|
#include "blendstate.hpp"
|
|
|
|
|
|
|
|
namespace xna {
|
2024-03-21 16:01:47 -03:00
|
|
|
class IGraphicsDevice {
|
2024-03-18 15:41:46 -03:00
|
|
|
public:
|
2024-03-21 16:01:47 -03:00
|
|
|
virtual ~IGraphicsDevice() {}
|
|
|
|
virtual void Clear() = 0;
|
2024-04-16 16:13:36 -03:00
|
|
|
virtual void Clear(Color const& color) = 0;
|
2024-03-21 16:01:47 -03:00
|
|
|
virtual bool Initialize(GameWindow& gameWindow) = 0;
|
|
|
|
virtual bool Present() = 0;
|
2024-04-26 11:35:59 -03:00
|
|
|
virtual sptr<GraphicsAdapter> Adapter() const = 0;
|
|
|
|
virtual void Adapter(sptr<GraphicsAdapter> const& adapter) = 0;
|
2024-04-02 09:27:43 -03:00
|
|
|
virtual xna::Viewport Viewport() const = 0;
|
|
|
|
virtual void Viewport(xna::Viewport const& viewport) = 0;
|
|
|
|
virtual void UseVSync(bool use) = 0;
|
2024-03-18 15:41:46 -03:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|