145420a945cfce1b83da954ab5fcb63516f646c0fhalcanary/*
245420a945cfce1b83da954ab5fcb63516f646c0fhalcanary * Copyright 2016 Google Inc.
345420a945cfce1b83da954ab5fcb63516f646c0fhalcanary *
445420a945cfce1b83da954ab5fcb63516f646c0fhalcanary * Use of this source code is governed by a BSD-style license that can be
545420a945cfce1b83da954ab5fcb63516f646c0fhalcanary * found in the LICENSE file.
645420a945cfce1b83da954ab5fcb63516f646c0fhalcanary */
745420a945cfce1b83da954ab5fcb63516f646c0fhalcanary
845420a945cfce1b83da954ab5fcb63516f646c0fhalcanary#ifndef SkMultiPictureDocumentPriv_DEFINED
945420a945cfce1b83da954ab5fcb63516f646c0fhalcanary#define SkMultiPictureDocumentPriv_DEFINED
1045420a945cfce1b83da954ab5fcb63516f646c0fhalcanary
11c966ef9f07eed89bd571e3f89f8eb86f73b9328fhalcanary#include "SkTArray.h"
12c966ef9f07eed89bd571e3f89f8eb86f73b9328fhalcanary#include "SkSize.h"
1345420a945cfce1b83da954ab5fcb63516f646c0fhalcanary
1445420a945cfce1b83da954ab5fcb63516f646c0fhalcanarynamespace SkMultiPictureDocumentProtocol {
1545420a945cfce1b83da954ab5fcb63516f646c0fhalcanarystatic constexpr char kMagic[] = "Skia Multi-Picture Doc\n\n";
1645420a945cfce1b83da954ab5fcb63516f646c0fhalcanary
17c966ef9f07eed89bd571e3f89f8eb86f73b9328fhalcanarystatic constexpr char kEndPage[] = "SkMultiPictureEndPage";
18c966ef9f07eed89bd571e3f89f8eb86f73b9328fhalcanary
19c966ef9f07eed89bd571e3f89f8eb86f73b9328fhalcanaryconst uint32_t kVersion = 2;
20c966ef9f07eed89bd571e3f89f8eb86f73b9328fhalcanary
21c966ef9f07eed89bd571e3f89f8eb86f73b9328fhalcanaryinline SkSize Join(const SkTArray<SkSize>& sizes) {
22c966ef9f07eed89bd571e3f89f8eb86f73b9328fhalcanary    SkSize joined = SkSize::Make(0, 0);
23c966ef9f07eed89bd571e3f89f8eb86f73b9328fhalcanary    for (SkSize s : sizes) {
24c966ef9f07eed89bd571e3f89f8eb86f73b9328fhalcanary        joined = SkSize::Make(SkTMax(joined.width(), s.width()),
25c966ef9f07eed89bd571e3f89f8eb86f73b9328fhalcanary                              SkTMax(joined.height(), s.height()));
26c966ef9f07eed89bd571e3f89f8eb86f73b9328fhalcanary    }
27c966ef9f07eed89bd571e3f89f8eb86f73b9328fhalcanary    return joined;
28c966ef9f07eed89bd571e3f89f8eb86f73b9328fhalcanary}
29c966ef9f07eed89bd571e3f89f8eb86f73b9328fhalcanary
3045420a945cfce1b83da954ab5fcb63516f646c0fhalcanary}
3145420a945cfce1b83da954ab5fcb63516f646c0fhalcanary
3245420a945cfce1b83da954ab5fcb63516f646c0fhalcanary#endif  // SkMultiPictureDocumentPriv_DEFINED
33