Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions lib/ui/semantics.dart
Original file line number Diff line number Diff line change
Expand Up @@ -607,6 +607,14 @@ class SemanticsUpdateBuilder extends NativeFieldWrapperClass2 {
///
/// The `transform` is a matrix that maps this node's coordinate system into
/// its parent's coordinate system.
///
/// The `elevation` describes the distance in z-direction between this node
/// and the `elevation` of the parent.
///
/// The `thickness` describes how much space this node occupies in the
/// z-direction starting at `elevation`. Basically, in the z-direction the
/// node starts at `elevation` above the parent and ends at `elevation` +
/// `thickness` above the parent.
void updateNode({
int id,
int flags,
Expand All @@ -618,6 +626,8 @@ class SemanticsUpdateBuilder extends NativeFieldWrapperClass2 {
double scrollPosition,
double scrollExtentMax,
double scrollExtentMin,
double elevation,
double thickness,
Rect rect,
String label,
String hint,
Expand Down Expand Up @@ -647,6 +657,8 @@ class SemanticsUpdateBuilder extends NativeFieldWrapperClass2 {
rect.top,
rect.right,
rect.bottom,
elevation,
thickness,
label,
hint,
value,
Expand Down Expand Up @@ -674,6 +686,8 @@ class SemanticsUpdateBuilder extends NativeFieldWrapperClass2 {
double top,
double right,
double bottom,
double elevation,
double thickness,
String label,
String hint,
String value,
Expand Down
2 changes: 2 additions & 0 deletions lib/ui/semantics/semantics_node.h
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,8 @@ struct SemanticsNode {
double scrollPosition = std::nan("");
double scrollExtentMax = std::nan("");
double scrollExtentMin = std::nan("");
double elevation = 0.0;
double thickness = 0.0;
std::string label;
std::string hint;
std::string value;
Expand Down
4 changes: 4 additions & 0 deletions lib/ui/semantics/semantics_update_builder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,8 @@ void SemanticsUpdateBuilder::updateNode(
double top,
double right,
double bottom,
double elevation,
double thickness,
std::string label,
std::string hint,
std::string value,
Expand All @@ -72,6 +74,8 @@ void SemanticsUpdateBuilder::updateNode(
node.scrollExtentMax = scrollExtentMax;
node.scrollExtentMin = scrollExtentMin;
node.rect = SkRect::MakeLTRB(left, top, right, bottom);
node.elevation = elevation;
node.thickness = thickness;
node.label = label;
node.hint = hint;
node.value = value;
Expand Down
2 changes: 2 additions & 0 deletions lib/ui/semantics/semantics_update_builder.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ class SemanticsUpdateBuilder
double top,
double right,
double bottom,
double elevation,
double thickness,
std::string label,
std::string hint,
std::string value,
Expand Down