1// Copyright 2019 Google LLC. 2// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. 3#include "tools/fiddle/examples.h" 4// HASH=9c6edd836c573a0fd232d2b8aa11a678 5REG_FIDDLE(Path_readFromMemory, 256, 256, true, 0) { 6void draw(SkCanvas* canvas) { 7 SkPath path, copy; 8 path.lineTo(6.f / 7, 2.f / 3); 9 size_t size = path.writeToMemory(nullptr); 10 SkTDArray<char> storage; 11 storage.setCount(size); 12 path.writeToMemory(storage.begin()); 13 size_t wrongSize = size - 4; 14 size_t bytesRead = copy.readFromMemory(storage.begin(), wrongSize); 15 SkDebugf("length = %zu; returned by readFromMemory = %zu\n", wrongSize, bytesRead); 16 size_t largerSize = size + 4; 17 bytesRead = copy.readFromMemory(storage.begin(), largerSize); 18 SkDebugf("length = %zu; returned by readFromMemory = %zu\n", largerSize, bytesRead); 19} 20} // END FIDDLE 21