/* * Copyright 2012 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #ifndef SkSerializationHelpers_DEFINED #define SkSerializationHelpers_DEFINED class SkBitmap; class SkStream; class SkWStream; namespace SkSerializationHelpers { /** * Function to encode an SkBitmap to an SkWStream. A function with this signature can be passed * to SkPicture::serialize() and SkOrderedWriteBuffer. The function should return true if it * succeeds. Otherwise it should return false so that SkOrderedWriteBuffer can switch to * another method of storing SkBitmaps. */ typedef bool (*EncodeBitmap)(SkWStream*, const SkBitmap&); /** * Function to decode an SkBitmap from an SkStream. A function with this signature can be * passed to the SkStream constructor for SkPicture and SkOrderedReadBuffer to decode SkBitmaps * which were previously encoded. The function should return true if it succeeds. Otherwise it * should return false so that SkOrderedReadBuffer can skip the data and provide a dummy * SkBitmap. */ typedef bool (*DecodeBitmap)(SkStream*, SkBitmap*); } #endif // SkSerializationHelpers_DEFINED