1 /* 2 * Copyright 2013 Google Inc. 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8 #ifndef SkStreamHelpers_DEFINED 9 #define SkStreamHelpers_DEFINED 10 11 class SkAutoMalloc; 12 class SkStream; 13 14 /** 15 * Copy the provided stream to memory allocated by storage. 16 * Used by SkImageDecoder_libbmp and SkImageDecoder_libico. 17 * @param storage Allocator to hold the memory. Will be reset to be large 18 * enough to hold the entire stream. Upon successful return, 19 * storage->get() will point to data holding the SkStream's entire 20 * contents. 21 * @param stream SkStream to be copied into storage. 22 * @return size_t Total number of bytes in the SkStream, which is also the 23 * number of bytes pointed to by storage->get(). Returns 0 on failure. 24 */ 25 size_t CopyStreamToStorage(SkAutoMalloc* storage, SkStream* stream); 26 27 #endif // SkStreamHelpers_DEFINED 28