Gfx: Wrap pointers with std::unique_ptr

This commit is contained in:
Birunthan Mohanathas
2013-05-01 14:38:52 +03:00
parent d3f2e7ab83
commit 18d5ee383d
7 changed files with 44 additions and 87 deletions

View File

@ -51,8 +51,6 @@ Microsoft::WRL::ComPtr<IWICImagingFactory> CanvasD2D::c_WICFactory;
CanvasD2D::CanvasD2D() : Canvas(),
m_Bitmap(),
m_GdipGraphics(),
m_GdipBitmap(),
m_TextAntiAliasing(false)
{
Initialize();
@ -60,7 +58,6 @@ CanvasD2D::CanvasD2D() : Canvas(),
CanvasD2D::~CanvasD2D()
{
Dispose();
Finalize();
}
@ -118,27 +115,16 @@ void CanvasD2D::Finalize()
}
}
void CanvasD2D::Dispose()
{
m_Target.Reset();
delete m_GdipGraphics;
m_GdipGraphics = nullptr;
delete m_GdipBitmap;
m_GdipBitmap = nullptr;
}
void CanvasD2D::Resize(int w, int h)
{
__super::Resize(w, h);
Dispose();
m_Target.Reset();
m_Bitmap.Resize(w, h);
m_GdipBitmap = new Gdiplus::Bitmap(w, h, w * 4, PixelFormat32bppPARGB, m_Bitmap.GetData());
m_GdipGraphics = new Gdiplus::Graphics(m_GdipBitmap);
m_GdipBitmap.reset(new Gdiplus::Bitmap(w, h, w * 4, PixelFormat32bppPARGB, m_Bitmap.GetData()));
m_GdipGraphics.reset(new Gdiplus::Graphics(m_GdipBitmap.get()));
}
bool CanvasD2D::BeginDraw()