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_CrossContextTextureFromPixmap, 256, 64, false, 4) { draw(SkCanvas * canvas)5*c8dee2aaSAndroid Build Coastguard Worker void draw(SkCanvas * canvas) { 6*c8dee2aaSAndroid Build Coastguard Worker auto dContext = GrAsDirectContext(canvas->recordingContext()); 7*c8dee2aaSAndroid Build Coastguard Worker if (!dContext) { 8*c8dee2aaSAndroid Build Coastguard Worker return; 9*c8dee2aaSAndroid Build Coastguard Worker } 10*c8dee2aaSAndroid Build Coastguard Worker 11*c8dee2aaSAndroid Build Coastguard Worker SkPixmap pixmap; 12*c8dee2aaSAndroid Build Coastguard Worker if (source.peekPixels(&pixmap)) { 13*c8dee2aaSAndroid Build Coastguard Worker sk_sp<SkImage> image = SkImages::CrossContextTextureFromPixmap(dContext, pixmap, false); 14*c8dee2aaSAndroid Build Coastguard Worker canvas->drawImage(image, 0, 0); 15*c8dee2aaSAndroid Build Coastguard Worker } 16*c8dee2aaSAndroid Build Coastguard Worker } 17*c8dee2aaSAndroid Build Coastguard Worker } // END FIDDLE 18