// Copyright 2013 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "flutter/lib/ui/semantics/semantics_update.h" #include #include "flutter/lib/ui/painting/matrix.h" #include "flutter/lib/ui/semantics/semantics_update_builder.h" #include "flutter/lib/ui/ui_dart_state.h" #include "third_party/tonic/converter/dart_converter.h" #include "third_party/tonic/dart_args.h" #include "third_party/tonic/dart_binding_macros.h" #include "third_party/tonic/dart_library_natives.h" namespace flutter { IMPLEMENT_WRAPPERTYPEINFO(ui, SemanticsUpdate); void SemanticsUpdate::create(Dart_Handle semantics_update_handle, SemanticsNodeUpdates nodes, CustomAccessibilityActionUpdates actions) { auto semantics_update = fml::MakeRefCounted( std::move(nodes), std::move(actions)); semantics_update->AssociateWithDartWrapper(semantics_update_handle); } SemanticsUpdate::SemanticsUpdate(SemanticsNodeUpdates nodes, CustomAccessibilityActionUpdates actions) : nodes_(std::move(nodes)), actions_(std::move(actions)) {} SemanticsUpdate::~SemanticsUpdate() = default; SemanticsNodeUpdates SemanticsUpdate::takeNodes() { return std::move(nodes_); } CustomAccessibilityActionUpdates SemanticsUpdate::takeActions() { return std::move(actions_); } void SemanticsUpdate::dispose() { ClearDartWrapper(); } } // namespace flutter