flutter_flutter/lib/ui/semantics/semantics_update.cc
Adam Barth f97caf271c Expose SemanticsUpdate and SemanticsUpdateBuilder (#3098)
This patch prepares us to switch sending semantics information over mojom to
using dart:ui directly. Currently the recorded information is dropped on the
floor, but that will improve in future patches.
2016-10-05 12:22:03 -07:00

42 lines
1.1 KiB
C++

// Copyright 2016 The Chromium 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_builder.h"
#include <memory>
#include "flutter/lib/ui/painting/matrix.h"
#include "lib/tonic/converter/dart_converter.h"
#include "lib/tonic/dart_args.h"
#include "lib/tonic/dart_binding_macros.h"
#include "lib/tonic/dart_library_natives.h"
namespace blink {
IMPLEMENT_WRAPPERTYPEINFO(ui, SemanticsUpdate);
#define FOR_EACH_BINDING(V) V(SemanticsUpdate, dispose)
DART_BIND_ALL(SemanticsUpdate, FOR_EACH_BINDING)
ftl::RefPtr<SemanticsUpdate> SemanticsUpdate::create(
std::vector<SemanticsNode> nodes) {
return ftl::MakeRefCounted<SemanticsUpdate>(std::move(nodes));
}
SemanticsUpdate::SemanticsUpdate(std::vector<SemanticsNode> nodes)
: nodes_(std::move(nodes)) {}
SemanticsUpdate::~SemanticsUpdate() = default;
std::vector<SemanticsNode> SemanticsUpdate::takeNodes() {
return std::move(nodes_);
}
void SemanticsUpdate::dispose() {
ClearDartWrapper();
}
} // namespace blink