1*c8dee2aaSAndroid Build Coastguard Worker // Copyright 2019 Google LLC. 2*c8dee2aaSAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. 3*c8dee2aaSAndroid Build Coastguard Worker #include "tools/fiddle/examples.h" 4*c8dee2aaSAndroid Build Coastguard Worker REG_FIDDLE(Image_DeferredFromEncodedData, 256, 256, false, 3) { draw(SkCanvas * canvas)5*c8dee2aaSAndroid Build Coastguard Worker void draw(SkCanvas * canvas) { 6*c8dee2aaSAndroid Build Coastguard Worker int x = 0; 7*c8dee2aaSAndroid Build Coastguard Worker for (int quality : {100, 50, 10, 1}) { 8*c8dee2aaSAndroid Build Coastguard Worker SkJpegEncoder::Options options; 9*c8dee2aaSAndroid Build Coastguard Worker options.fQuality = quality; 10*c8dee2aaSAndroid Build Coastguard Worker sk_sp<SkData> data(SkJpegEncoder::Encode(nullptr, image.get(), options)); 11*c8dee2aaSAndroid Build Coastguard Worker sk_sp<SkImage> image = SkImages::DeferredFromEncodedData(data); 12*c8dee2aaSAndroid Build Coastguard Worker canvas->drawImage(image, x, 0); 13*c8dee2aaSAndroid Build Coastguard Worker x += 64; 14*c8dee2aaSAndroid Build Coastguard Worker } 15*c8dee2aaSAndroid Build Coastguard Worker } 16*c8dee2aaSAndroid Build Coastguard Worker } // END FIDDLE 17