diff options
| author | crupest <crupest@outlook.com> | 2022-02-02 21:25:59 +0800 |
|---|---|---|
| committer | crupest <crupest@outlook.com> | 2022-02-02 21:25:59 +0800 |
| commit | 35b72a2f3215cf9644508581f0af8bde2ed753a8 (patch) | |
| tree | 0ce8073e4c8e86ef108b14983d12166dd708bf3b /include/cru/win/graphics/direct/Image.hpp | |
| parent | 41623c6ad6f42ca5d6e9a38061f809929641e5c6 (diff) | |
| download | cru-35b72a2f3215cf9644508581f0af8bde2ed753a8.tar.gz cru-35b72a2f3215cf9644508581f0af8bde2ed753a8.tar.bz2 cru-35b72a2f3215cf9644508581f0af8bde2ed753a8.zip | |
...
Diffstat (limited to 'include/cru/win/graphics/direct/Image.hpp')
| -rw-r--r-- | include/cru/win/graphics/direct/Image.hpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/include/cru/win/graphics/direct/Image.hpp b/include/cru/win/graphics/direct/Image.hpp index 33d848bd..06448621 100644 --- a/include/cru/win/graphics/direct/Image.hpp +++ b/include/cru/win/graphics/direct/Image.hpp @@ -6,8 +6,8 @@ namespace cru::platform::graphics::win::direct { class CRU_WIN_GRAPHICS_DIRECT_API Direct2DImage : public DirectGraphicsResource, public virtual IImage { public: - explicit Direct2DImage(DirectGraphicsFactory* graphics_factory, - ID2D1Image* d2d_image, bool auto_release); + Direct2DImage(DirectGraphicsFactory* graphics_factory, + Microsoft::WRL::ComPtr<ID2D1Bitmap1> d2d_bitmap); CRU_DELETE_COPY(Direct2DImage) CRU_DELETE_MOVE(Direct2DImage) @@ -15,11 +15,17 @@ class CRU_WIN_GRAPHICS_DIRECT_API Direct2DImage : public DirectGraphicsResource, ~Direct2DImage() override; public: - ID2D1Image* GetD2DImage() const { return d2d_image_; } + float GetWidth() override; + float GetHeight() override; + + std::unique_ptr<IImage> CreateWithRect(const Rect& rect) override; + + const Microsoft::WRL::ComPtr<ID2D1Bitmap1>& GetD2DBitmap() const { + return d2d_bitmap_; + } private: - ID2D1Image* d2d_image_; - bool auto_release_; + Microsoft::WRL::ComPtr<ID2D1Bitmap1> d2d_bitmap_; }; } // namespace cru::platform::graphics::win::direct |
