sk_image_t* sk_image_new_raster_copy(const sk_imageinfo_t* cinfo, const void* pixels, size_t rowBytes) { SkImageInfo info; if (!from_c_info(*cinfo, &info)) { return NULL; } return (sk_image_t*)SkImage::NewRasterCopy(info, pixels, rowBytes); }
sk_image_t* sk_image_new_raster_copy(const sk_imageinfo_t* cinfo, const void* pixels, size_t rowBytes) { SkImageInfo info; if (!from_c_info(*cinfo, &info)) { return NULL; } return (sk_image_t*)SkImage::MakeRasterCopy(SkPixmap(info, pixels, rowBytes)).release(); }
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(); }