Index: mojo/dart/packages/mojo_services/lib/mojo/ui/layouts.mojom.dart |
diff --git a/mojo/dart/packages/mojo_services/lib/mojo/ui/layouts.mojom.dart b/mojo/dart/packages/mojo_services/lib/mojo/ui/layouts.mojom.dart |
index bc16ff7cd94f445a127443f083ca65e40020ef84..8e0786178034e4d536e8367c2e62fdcea65b24ed 100644 |
--- a/mojo/dart/packages/mojo_services/lib/mojo/ui/layouts.mojom.dart |
+++ b/mojo/dart/packages/mojo_services/lib/mojo/ui/layouts.mojom.dart |
@@ -9,7 +9,7 @@ import 'dart:async'; |
import 'package:mojo/bindings.dart' as bindings; |
import 'package:mojo/core.dart' as core; |
import 'package:mojo_services/mojo/geometry.mojom.dart' as geometry_mojom; |
-import 'package:mojo_services/mojo/surface_id.mojom.dart' as surface_id_mojom; |
+import 'package:mojo_services/mojo/gfx/composition/scene_token.mojom.dart' as scene_token_mojom; |
@@ -188,7 +188,7 @@ class ViewLayoutInfo extends bindings.Struct { |
static const List<bindings.StructDataHeader> kVersions = const [ |
const bindings.StructDataHeader(24, 0) |
]; |
- surface_id_mojom.SurfaceId surfaceId = null; |
+ scene_token_mojom.SceneToken sceneToken = null; |
geometry_mojom.Size size = null; |
ViewLayoutInfo() : super(kVersions.last.size); |
@@ -229,7 +229,7 @@ class ViewLayoutInfo extends bindings.Struct { |
if (mainDataHeader.version >= 0) { |
var decoder1 = decoder0.decodePointer(8, false); |
- result.surfaceId = surface_id_mojom.SurfaceId.decode(decoder1); |
+ result.sceneToken = scene_token_mojom.SceneToken.decode(decoder1); |
} |
if (mainDataHeader.version >= 0) { |
@@ -242,20 +242,88 @@ class ViewLayoutInfo extends bindings.Struct { |
void encode(bindings.Encoder encoder) { |
var encoder0 = encoder.getStructEncoderAtOffset(kVersions.last); |
- encoder0.encodeStruct(surfaceId, 8, false); |
+ encoder0.encodeStruct(sceneToken, 8, false); |
encoder0.encodeStruct(size, 16, false); |
} |
String toString() { |
return "ViewLayoutInfo(" |
- "surfaceId: $surfaceId" ", " |
+ "sceneToken: $sceneToken" ", " |
+ "size: $size" ")"; |
+ } |
+ |
+ Map toJson() { |
+ Map map = new Map(); |
+ map["sceneToken"] = sceneToken; |
+ map["size"] = size; |
+ return map; |
+ } |
+} |
+ |
+ |
+class ViewLayoutResult extends bindings.Struct { |
+ static const List<bindings.StructDataHeader> kVersions = const [ |
+ const bindings.StructDataHeader(16, 0) |
+ ]; |
+ geometry_mojom.Size size = null; |
+ |
+ ViewLayoutResult() : super(kVersions.last.size); |
+ |
+ static ViewLayoutResult deserialize(bindings.Message message) { |
+ var decoder = new bindings.Decoder(message); |
+ var result = decode(decoder); |
+ if (decoder.excessHandles != null) { |
+ decoder.excessHandles.forEach((h) => h.close()); |
+ } |
+ return result; |
+ } |
+ |
+ static ViewLayoutResult decode(bindings.Decoder decoder0) { |
+ if (decoder0 == null) { |
+ return null; |
+ } |
+ ViewLayoutResult result = new ViewLayoutResult(); |
+ |
+ var mainDataHeader = decoder0.decodeStructDataHeader(); |
+ if (mainDataHeader.version <= kVersions.last.version) { |
+ // Scan in reverse order to optimize for more recent versions. |
+ for (int i = kVersions.length - 1; i >= 0; --i) { |
+ if (mainDataHeader.version >= kVersions[i].version) { |
+ if (mainDataHeader.size == kVersions[i].size) { |
+ // Found a match. |
+ break; |
+ } |
+ throw new bindings.MojoCodecError( |
+ 'Header size doesn\'t correspond to known version size.'); |
+ } |
+ } |
+ } else if (mainDataHeader.size < kVersions.last.size) { |
+ throw new bindings.MojoCodecError( |
+ 'Message newer than the last known version cannot be shorter than ' |
+ 'required by the last known version.'); |
+ } |
+ if (mainDataHeader.version >= 0) { |
+ |
+ var decoder1 = decoder0.decodePointer(8, false); |
+ result.size = geometry_mojom.Size.decode(decoder1); |
+ } |
+ return result; |
+ } |
+ |
+ void encode(bindings.Encoder encoder) { |
+ var encoder0 = encoder.getStructEncoderAtOffset(kVersions.last); |
+ |
+ encoder0.encodeStruct(size, 8, false); |
+ } |
+ |
+ String toString() { |
+ return "ViewLayoutResult(" |
"size: $size" ")"; |
} |
Map toJson() { |
Map map = new Map(); |
- map["surfaceId"] = surfaceId; |
map["size"] = size; |
return map; |
} |