aboutsummaryrefslogtreecommitdiff
path: root/src/win/graphics/direct/Image.cpp
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2022-05-15 13:56:40 +0800
committercrupest <crupest@outlook.com>2022-05-15 13:56:40 +0800
commit9e0c9d3499bc50c3534b4dc500d8b5d0b5f22752 (patch)
tree7342f6991771fa31b16fd6a5ed892ff6025f3d05 /src/win/graphics/direct/Image.cpp
parent41de54bad2c0f857821fcc83f41af3334d068b6d (diff)
downloadcru-9e0c9d3499bc50c3534b4dc500d8b5d0b5f22752.tar.gz
cru-9e0c9d3499bc50c3534b4dc500d8b5d0b5f22752.tar.bz2
cru-9e0c9d3499bc50c3534b4dc500d8b5d0b5f22752.zip
...
Diffstat (limited to 'src/win/graphics/direct/Image.cpp')
-rw-r--r--src/win/graphics/direct/Image.cpp45
1 files changed, 0 insertions, 45 deletions
diff --git a/src/win/graphics/direct/Image.cpp b/src/win/graphics/direct/Image.cpp
deleted file mode 100644
index 518b9516..00000000
--- a/src/win/graphics/direct/Image.cpp
+++ /dev/null
@@ -1,45 +0,0 @@
-#include "cru/win/graphics/direct/Image.h"
-#include <d2d1_1.h>
-#include "cru/common/platform/win/Exception.h"
-#include "cru/win/graphics/direct/ConvertUtil.h"
-#include "cru/win/graphics/direct/Exception.h"
-#include "cru/win/graphics/direct/Factory.h"
-#include "cru/win/graphics/direct/Painter.h"
-
-namespace cru::platform::graphics::win::direct {
-Direct2DImage::Direct2DImage(DirectGraphicsFactory* graphics_factory,
- Microsoft::WRL::ComPtr<ID2D1Bitmap1> d2d_bitmap)
- : DirectGraphicsResource(graphics_factory),
- d2d_bitmap_(std::move(d2d_bitmap)) {
- Expects(d2d_bitmap_);
-}
-
-Direct2DImage::~Direct2DImage() {}
-
-float Direct2DImage::GetWidth() { return d2d_bitmap_->GetSize().width; }
-
-float Direct2DImage::GetHeight() { return d2d_bitmap_->GetSize().height; }
-
-std::unique_ptr<IImage> Direct2DImage::CreateWithRect(const Rect& rect) {
- auto device_context = GetDirectFactory()->CreateD2D1DeviceContext();
- Microsoft::WRL::ComPtr<ID2D1Bitmap1> bitmap;
- ThrowIfFailed(device_context->CreateBitmap(
- D2D1::SizeU(rect.width, rect.height), nullptr, 0,
- D2D1::BitmapProperties1(D2D1_BITMAP_OPTIONS_TARGET,
- D2D1::PixelFormat(DXGI_FORMAT_B8G8R8A8_UNORM,
- D2D1_ALPHA_MODE_PREMULTIPLIED)),
- &bitmap));
- device_context->SetTarget(bitmap.Get());
- device_context->BeginDraw();
- device_context->DrawBitmap(d2d_bitmap_.Get(), Convert(rect));
- ThrowIfFailed(device_context->EndDraw());
- return std::make_unique<Direct2DImage>(GetDirectFactory(), std::move(bitmap));
-}
-
-std::unique_ptr<IPainter> Direct2DImage::CreatePainter() {
- auto device_context = GetDirectFactory()->CreateD2D1DeviceContext();
- device_context->SetTarget(d2d_bitmap_.Get());
- return std::make_unique<D2DDeviceContextPainter>(device_context.Detach(),
- true);
-}
-} // namespace cru::platform::graphics::win::direct