1
0
mirror of https://github.com/borgesdan/xn65 synced 2024-12-29 21:54:47 +01:00
xn65/framework/platform/texture-dx.hpp

40 lines
731 B
C++
Raw Normal View History

2024-03-18 15:41:46 -03:00
#ifndef XNA_PLATFORM_TEXTURE_DX_HPP
#define XNA_PLATFORM_TEXTURE_DX_HPP
#include "../graphics/texture.hpp"
#include "dxgi.h"
#include "d3d11.h"
2024-04-07 14:06:12 -03:00
#include "../xnaerror.hpp"
2024-03-18 15:41:46 -03:00
namespace xna {
2024-03-21 16:01:47 -03:00
class Texture2D : public ITexture2D {
public:
Texture2D();
2024-03-18 15:41:46 -03:00
2024-03-21 16:01:47 -03:00
virtual ~Texture2D() override {
if (_texture2D) {
_texture2D->Release();
_texture2D = nullptr;
}
}
2024-04-07 14:06:12 -03:00
virtual constexpr Int Width() const override {
return _width;
}
virtual constexpr Int Height() const override {
return _height;
}
static PTexture2D FromStream(GraphicsDevice& device, String const& fileName, xna_error_nullarg);
2024-03-21 16:01:47 -03:00
public:
2024-03-18 15:41:46 -03:00
ID3D11Texture2D* _texture2D{nullptr};
2024-04-07 14:06:12 -03:00
private:
Uint _width{ 0 };
Uint _height{ 0 };
2024-03-18 15:41:46 -03:00
};
}
#endif