SkMultiSKP: version 2

Measurable size improvement.

BUG=skia:5370

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2255333003

Review-Url: https://codereview.chromium.org/2255333003
diff --git a/src/utils/SkMultiPictureDocumentPriv.h b/src/utils/SkMultiPictureDocumentPriv.h
index 124dad7..6d5ab47 100644
--- a/src/utils/SkMultiPictureDocumentPriv.h
+++ b/src/utils/SkMultiPictureDocumentPriv.h
@@ -8,16 +8,25 @@
 #ifndef SkMultiPictureDocumentPriv_DEFINED
 #define SkMultiPictureDocumentPriv_DEFINED
 
-#include "stdint.h"
+#include "SkTArray.h"
+#include "SkSize.h"
 
 namespace SkMultiPictureDocumentProtocol {
 static constexpr char kMagic[] = "Skia Multi-Picture Doc\n\n";
 
-struct Entry {
-    uint64_t offset;
-    float sizeX;
-    float sizeY;
-};
+static constexpr char kEndPage[] = "SkMultiPictureEndPage";
+
+const uint32_t kVersion = 2;
+
+inline SkSize Join(const SkTArray<SkSize>& sizes) {
+    SkSize joined = SkSize::Make(0, 0);
+    for (SkSize s : sizes) {
+        joined = SkSize::Make(SkTMax(joined.width(), s.width()),
+                              SkTMax(joined.height(), s.height()));
+    }
+    return joined;
+}
+
 }
 
 #endif  // SkMultiPictureDocumentPriv_DEFINED