static VALUE cr_win32_surface_get_image (VALUE self) { cairo_surface_t *surface; surface = cairo_win32_surface_get_image (_SELF); if (!surface) return Qnil; cr_surface_check_status (surface); return CRSURFACE2RVAL (surface); }
already_AddRefed<gfxImageSurface> gfxWindowsSurface::GetAsImageSurface() { if (!mSurfaceValid) { NS_WARNING ("GetImageSurface on an invalid (null) surface; who's calling this without checking for surface errors?"); return nullptr; } NS_ASSERTION(CairoSurface() != nullptr, "CairoSurface() shouldn't be nullptr when mSurfaceValid is TRUE!"); cairo_surface_t *isurf = cairo_win32_surface_get_image(CairoSurface()); if (!isurf) return nullptr; RefPtr<gfxImageSurface> result = gfxASurface::Wrap(isurf).downcast<gfxImageSurface>(); result->SetOpaqueRect(GetOpaqueRect()); return result.forget(); }
already_AddRefed<gfxImageSurface> gfxWindowsSurface::GetImageSurface() { if (!mSurfaceValid) { NS_WARNING ("GetImageSurface on an invalid (null) surface; who's calling this without checking for surface errors?"); return nsnull; } NS_ASSERTION(CairoSurface() != nsnull, "CairoSurface() shouldn't be nsnull when mSurfaceValid is TRUE!"); if (mForPrinting) return nsnull; cairo_surface_t *isurf = cairo_win32_surface_get_image(CairoSurface()); if (!isurf) return nsnull; nsRefPtr<gfxASurface> asurf = gfxASurface::Wrap(isurf); gfxImageSurface *imgsurf = (gfxImageSurface*) asurf.get(); NS_ADDREF(imgsurf); return imgsurf; }