mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Summary: The LayoutAnimationStatusDelegate exists so that platforms can get a signal when animations are starting or have all completed. This signal is meant to be used ONLY for driving animations at 60fps, or stopping that process, on the platform side. Changelog: [Internal] Reviewed By: mdvacca Differential Revision: D21675807 fbshipit-source-id: e89ba524ea43c266556199c8854e8228869755e3
44 lines
1.2 KiB
C++
44 lines
1.2 KiB
C++
/*
|
|
* 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 <react/core/EventTarget.h>
|
|
#include <react/mounting/Differentiator.h>
|
|
#include <react/mounting/MountingCoordinator.h>
|
|
#include <react/mounting/MountingOverrideDelegate.h>
|
|
#include <react/mounting/MountingTransaction.h>
|
|
#include <react/uimanager/UIManagerAnimationDelegate.h>
|
|
|
|
#include <folly/dynamic.h>
|
|
|
|
#include "LayoutAnimationKeyFrameManager.h"
|
|
|
|
namespace facebook {
|
|
namespace react {
|
|
|
|
class LayoutAnimationDriver : public LayoutAnimationKeyFrameManager {
|
|
public:
|
|
LayoutAnimationDriver(LayoutAnimationStatusDelegate *delegate)
|
|
: LayoutAnimationKeyFrameManager(delegate) {}
|
|
|
|
virtual ~LayoutAnimationDriver() {}
|
|
|
|
protected:
|
|
virtual void animationMutationsForFrame(
|
|
SurfaceId surfaceId,
|
|
ShadowViewMutation::List &mutationsList,
|
|
uint64_t now) const override;
|
|
virtual double getProgressThroughAnimation(
|
|
AnimationKeyFrame const &keyFrame,
|
|
LayoutAnimation const *layoutAnimation,
|
|
ShadowView const &animationStateView) const override;
|
|
};
|
|
|
|
} // namespace react
|
|
} // namespace facebook
|