#pragma once #include "Base.h" #include namespace cru::platform::graphics::direct2d { class CRU_WIN_GRAPHICS_DIRECT_API Direct2DImage : public DirectGraphicsResource, public virtual IImage { public: Direct2DImage(DirectGraphicsFactory* graphics_factory, Microsoft::WRL::ComPtr d2d_bitmap); ~Direct2DImage() override; float GetWidth() override; float GetHeight() override; std::unique_ptr CreateWithRect(const Rect& rect) override; std::unique_ptr CreatePainter() override; const Microsoft::WRL::ComPtr& GetD2DBitmap() const { return d2d_bitmap_; } private: Microsoft::WRL::ComPtr d2d_bitmap_; }; } // namespace cru::platform::graphics::direct2d