1 /* 2 * Copyright 2016 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 #ifndef SkMultiPictureDocument_DEFINED 8 #define SkMultiPictureDocument_DEFINED 9 10 #include "SkDocument.h" 11 12 class SkStreamSeekable; 13 14 /** 15 * Writes into a file format that is similar to SkPicture::serialize() 16 */ 17 SK_API sk_sp<SkDocument> SkMakeMultiPictureDocument(SkWStream* dst); 18 19 struct SkDocumentPage { 20 sk_sp<SkPicture> fPicture; 21 SkSize fSize; 22 }; 23 24 /** 25 * Returns the number of pages in the SkMultiPictureDocument. 26 */ 27 SK_API int SkMultiPictureDocumentReadPageCount(SkStreamSeekable* src); 28 29 /** 30 * Read the SkMultiPictureDocument into the provided array of pages. 31 * dstArrayCount must equal SkMultiPictureDocumentReadPageCount(). 32 * Return false on error. 33 */ 34 SK_API bool SkMultiPictureDocumentRead(SkStreamSeekable* src, 35 SkDocumentPage* dstArray, 36 int dstArrayCount); 37 38 #endif // SkMultiPictureDocument_DEFINED 39