#include "CairoDrawingSurface.h" CairoDrawingSurface::CairoDrawingSurface(cairo_surface_t* surface) : mNativeSurface(surface) { } CairoDrawingSurface::~CairoDrawingSurface() { DestroyNativeSurface(); } std::unique_ptr CairoDrawingSurface::Create(cairo_surface_t* surface) { return std::make_unique(surface); } cairo_surface_t* CairoDrawingSurface::GetNativeSurface() { return mNativeSurface; } void CairoDrawingSurface::DestroyNativeSurface() { if (mNativeSurface) { cairo_surface_destroy (mNativeSurface); mNativeSurface = nullptr; } }