12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- /*
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
- #pragma once
- #include <memory>
- #include <mutex>
- #include <react/core/LayoutMetrics.h>
- #include <react/core/ReactPrimitives.h>
- #include "TouchEventEmitter.h"
- namespace facebook {
- namespace react {
- class ViewEventEmitter;
- using SharedViewEventEmitter = std::shared_ptr<const ViewEventEmitter>;
- class ViewEventEmitter : public TouchEventEmitter {
- public:
- using TouchEventEmitter::TouchEventEmitter;
- #pragma mark - Accessibility
- void onAccessibilityAction(const std::string &name) const;
- void onAccessibilityTap() const;
- void onAccessibilityMagicTap() const;
- void onAccessibilityEscape() const;
- #pragma mark - Layout
- void onLayout(const LayoutMetrics &layoutMetrics) const;
- private:
- mutable std::mutex layoutMetricsMutex_;
- mutable LayoutMetrics lastLayoutMetrics_;
- };
- } // namespace react
- } // namespace facebook
|