sk_surface_t* sk_surface_new_raster(const sk_imageinfo_t* cinfo, const sk_surfaceprops_t* props) { SkImageInfo info; if (!from_c_info(*cinfo, &info)) { return NULL; } SkPixelGeometry geo = kUnknown_SkPixelGeometry; if (props && !from_c_pixelgeometry(props->pixelGeometry, &geo)) { return NULL; } SkSurfaceProps surfProps(0, geo); return (sk_surface_t*)SkSurface::NewRaster(info, &surfProps); }
sk_surface_t* sk_surface_new_raster_direct(const sk_imageinfo_t* cinfo, void* pixels, size_t rowBytes, const sk_surfaceprops_t* props) { SkImageInfo info; if (!from_c_info(*cinfo, &info)) { return NULL; } SkPixelGeometry geo = kUnknown_SkPixelGeometry; if (props && !from_c_pixelgeometry(props->pixelGeometry, &geo)) { return NULL; } SkSurfaceProps surfProps(0, geo); return (sk_surface_t*)SkSurface::MakeRasterDirect(info, pixels, rowBytes, &surfProps).release(); }