2024-03-30 14:25:08 -03:00
|
|
|
#ifndef XNA_PLATFORM_GDEVICEMANAGER_DX_HPP
|
|
|
|
#define XNA_PLATFORM_GDEVICEMANAGER_DX_HPP
|
|
|
|
|
|
|
|
#include "../game/gdevicemanager.hpp"
|
2024-04-26 10:37:49 -03:00
|
|
|
#include "gdeviceinfo-dx.hpp"
|
2024-03-30 14:25:08 -03:00
|
|
|
|
|
|
|
namespace xna {
|
|
|
|
class GraphicsDeviceManager : public IGraphicsDeviceManager {
|
|
|
|
public:
|
2024-04-16 16:13:36 -03:00
|
|
|
GraphicsDeviceManager(Game*& game);
|
2024-03-30 14:25:08 -03:00
|
|
|
|
2024-04-02 09:32:06 -03:00
|
|
|
virtual ~GraphicsDeviceManager() override{}
|
|
|
|
|
2024-03-30 14:25:08 -03:00
|
|
|
virtual void ApplyChanges() override;
|
2024-04-16 16:13:36 -03:00
|
|
|
virtual bool Initialize() override;
|
2024-04-26 10:13:00 -03:00
|
|
|
virtual bool ToggleFullScreen() override;
|
2024-03-30 14:25:08 -03:00
|
|
|
|
|
|
|
virtual constexpr Int PreferredBackBufferWidth() const {
|
|
|
|
return _backBufferWidth;
|
|
|
|
}
|
|
|
|
|
|
|
|
virtual constexpr Int PreferredBackBufferHeight() const {
|
|
|
|
return _backBufferHeight;
|
|
|
|
}
|
|
|
|
|
2024-04-26 10:13:00 -03:00
|
|
|
virtual void PreferredBackBufferWidth(Int value);
|
|
|
|
virtual void PreferredBackBufferHeight(Int value);
|
2024-03-30 14:25:08 -03:00
|
|
|
|
|
|
|
protected:
|
2024-04-26 10:13:00 -03:00
|
|
|
virtual bool CreateDevice() override;
|
2024-03-30 14:25:08 -03:00
|
|
|
virtual void ChangeDevice() override;
|
|
|
|
|
|
|
|
public:
|
2024-04-22 16:14:55 -03:00
|
|
|
static constexpr int DefaultBackBufferWidth = 800;//800;
|
2024-04-23 16:11:17 -03:00
|
|
|
static constexpr int DefaultBackBufferHeight = 600;// 480;
|
2024-03-30 14:25:08 -03:00
|
|
|
|
|
|
|
private:
|
2024-04-22 16:14:55 -03:00
|
|
|
Game* _game;
|
2024-03-30 14:25:08 -03:00
|
|
|
Int _backBufferWidth{ DefaultBackBufferWidth };
|
|
|
|
Int _backBufferHeight{ DefaultBackBufferHeight };
|
2024-04-22 16:14:55 -03:00
|
|
|
bool _isDeviceDirty{ false };
|
2024-04-26 11:35:59 -03:00
|
|
|
sptr<GraphicsDevice> _device = nullptr;
|
2024-04-26 10:13:00 -03:00
|
|
|
bool _isFullScreen{ false };
|
|
|
|
GraphicsDeviceInformation _information{};
|
|
|
|
|
|
|
|
bool initWindow();
|
|
|
|
bool initDevice();
|
|
|
|
|
2024-03-30 14:25:08 -03:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|