31 lines
629 B
C++
31 lines
629 B
C++
#include "CairoDrawingSurface.h"
|
|
|
|
CairoDrawingSurface::CairoDrawingSurface(cairo_surface_t* surface)
|
|
: mNativeSurface(surface)
|
|
{
|
|
|
|
}
|
|
|
|
CairoDrawingSurface::~CairoDrawingSurface()
|
|
{
|
|
DestroyNativeSurface();
|
|
}
|
|
|
|
std::unique_ptr<CairoDrawingSurface> CairoDrawingSurface::Create(cairo_surface_t* surface)
|
|
{
|
|
return std::make_unique<CairoDrawingSurface>(surface);
|
|
}
|
|
|
|
cairo_surface_t* CairoDrawingSurface::GetNativeSurface()
|
|
{
|
|
return mNativeSurface;
|
|
}
|
|
|
|
void CairoDrawingSurface::DestroyNativeSurface()
|
|
{
|
|
if (mNativeSurface)
|
|
{
|
|
cairo_surface_destroy (mNativeSurface);
|
|
mNativeSurface = nullptr;
|
|
}
|
|
}
|