mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
* Reland "dart:ui conversion from native to FfiNative" (#33116)" This reverts commit d85395558f3d72c64d9c75e00c6ebdd5bf4583e3. Resolves merge conflicts and updates modified/newly added methods, and fixes the incorrect argument counts on some of the Path methods.
48 lines
1.5 KiB
C++
48 lines
1.5 KiB
C++
// 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 <memory>
|
|
|
|
#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<SemanticsUpdate>(
|
|
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
|