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

40 lines
731 B
C++

#ifndef XNA_PLATFORM_TEXTURE_DX_HPP
#define XNA_PLATFORM_TEXTURE_DX_HPP
#include "../graphics/texture.hpp"
#include "dxgi.h"
#include "d3d11.h"
#include "../xnaerror.hpp"
namespace xna {
class Texture2D : public ITexture2D {
public:
Texture2D();
virtual ~Texture2D() override {
if (_texture2D) {
_texture2D->Release();
_texture2D = nullptr;
}
}
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);
public:
ID3D11Texture2D* _texture2D{nullptr};
private:
Uint _width{ 0 };
Uint _height{ 0 };
};
}
#endif