From 36a9c343b7c5ec361b60c37d154071146daeeea7 Mon Sep 17 00:00:00 2001 From: Michael Goderbauer Date: Tue, 13 Feb 2018 14:27:23 -0800 Subject: [PATCH] Add nextId to traversal order (#4666) --- lib/ui/semantics.dart | 3 +++ lib/ui/semantics/semantics_node.h | 1 + lib/ui/semantics/semantics_update_builder.cc | 2 ++ lib/ui/semantics/semantics_update_builder.h | 1 + 4 files changed, 7 insertions(+) diff --git a/lib/ui/semantics.dart b/lib/ui/semantics.dart index 39605af70..47a3e89ab 100644 --- a/lib/ui/semantics.dart +++ b/lib/ui/semantics.dart @@ -399,6 +399,7 @@ class SemanticsUpdateBuilder extends NativeFieldWrapperClass2 { String increasedValue, String decreasedValue, TextDirection textDirection, + int nextNodeId, int previousNodeId, Float64List transform, Int32List children, @@ -423,6 +424,7 @@ class SemanticsUpdateBuilder extends NativeFieldWrapperClass2 { increasedValue, decreasedValue, textDirection != null ? textDirection.index + 1 : 0, + nextNodeId ?? -1, previousNodeId ?? -1, transform, children,); @@ -446,6 +448,7 @@ class SemanticsUpdateBuilder extends NativeFieldWrapperClass2 { String increasedValue, String decreasedValue, int textDirection, + int nextNodeId, int previousNodeId, Float64List transform, Int32List children, diff --git a/lib/ui/semantics/semantics_node.h b/lib/ui/semantics/semantics_node.h index 56156e7a1..ca416c138 100644 --- a/lib/ui/semantics/semantics_node.h +++ b/lib/ui/semantics/semantics_node.h @@ -76,6 +76,7 @@ struct SemanticsNode { std::string increasedValue; std::string decreasedValue; int32_t textDirection = 0; // 0=unknown, 1=rtl, 2=ltr + int32_t nextNodeId = -1; int32_t previousNodeId = -1; SkRect rect = SkRect::MakeEmpty(); diff --git a/lib/ui/semantics/semantics_update_builder.cc b/lib/ui/semantics/semantics_update_builder.cc index be9aae1bd..3d2a7455f 100644 --- a/lib/ui/semantics/semantics_update_builder.cc +++ b/lib/ui/semantics/semantics_update_builder.cc @@ -52,6 +52,7 @@ void SemanticsUpdateBuilder::updateNode(int id, std::string increasedValue, std::string decreasedValue, int textDirection, + int nextNodeId, int previousNodeId, const tonic::Float64List& transform, const tonic::Int32List& children) { @@ -71,6 +72,7 @@ void SemanticsUpdateBuilder::updateNode(int id, node.increasedValue = increasedValue; node.decreasedValue = decreasedValue; node.textDirection = textDirection; + node.nextNodeId = nextNodeId; node.previousNodeId = previousNodeId; node.transform.setColMajord(transform.data()); node.children = std::vector( diff --git a/lib/ui/semantics/semantics_update_builder.h b/lib/ui/semantics/semantics_update_builder.h index 0f716f752..7c39ebf44 100644 --- a/lib/ui/semantics/semantics_update_builder.h +++ b/lib/ui/semantics/semantics_update_builder.h @@ -43,6 +43,7 @@ class SemanticsUpdateBuilder std::string increasedValue, std::string decreasedValue, int textDirection, + int nextNodeId, int previousNodeId, const tonic::Float64List& transform, const tonic::Int32List& children); -- GitLab