@@ -293,28 +293,28 @@ bool skiac_surface_encode_stream(skiac_surface* c_surface,
293293 int quality,
294294 write_callback_t write_callback,
295295 void * context) {
296- auto sk_pixmap = new SkPixmap () ;
297- if (!SURFACE_CAST->peekPixels (sk_pixmap)) {
296+ SkPixmap sk_pixmap;
297+ if (!SURFACE_CAST->peekPixels (& sk_pixmap)) {
298298 return false ;
299299 }
300300 SkJavaScriptWStream stream (write_callback, context);
301301 std::unique_ptr<SkEncoder> encoder;
302302 if (format == int (SkEncodedImageFormat::kJPEG )) {
303303 SkJpegEncoder::Options options;
304304 options.fQuality = quality;
305- encoder = SkJpegEncoder::Make (&stream, * sk_pixmap, options);
305+ encoder = SkJpegEncoder::Make (&stream, sk_pixmap, options);
306306 } else if (format == int (SkEncodedImageFormat::kPNG )) {
307- encoder = SkPngEncoder::Make (&stream, * sk_pixmap, SkPngEncoder::Options ());
307+ encoder = SkPngEncoder::Make (&stream, sk_pixmap, SkPngEncoder::Options ());
308308 } else if (format == int (SkEncodedImageFormat::kWEBP )) {
309309 SkWebpEncoder::Options options;
310310 options.fCompression = quality == 100
311311 ? SkWebpEncoder::Compression::kLossless
312312 : SkWebpEncoder::Compression::kLossy ;
313313 options.fQuality = quality == 100 ? 75 : quality;
314- return SkWebpEncoder::Encode (&stream, * sk_pixmap, options);
314+ return SkWebpEncoder::Encode (&stream, sk_pixmap, options);
315315 }
316316 if (encoder) {
317- return encoder->encodeRows (sk_pixmap-> height ());
317+ return encoder->encodeRows (sk_pixmap. height ());
318318 }
319319 return false ;
320320}
0 commit comments