/
githubmr
/
facebook-react-native
Обзор
Документация
Войти
/
githubmr
/
facebook-react-native
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
main
packages/react-native/ReactCommon/react/renderer/animated/nodes/DiffClampAnimatedNode.cpp
37 строк
1 KB
Samuel Susla
Move C++ Animated to ReactCommon (#53278)
18 авг 2025, 14:13
18 авг 2025, 14:13
3a3e3b8
Код
Авторство
О чём код?
/* * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ /* * Adapted from react-native-windows under the MIT license. */ #include "DiffClampAnimatedNode.h" #include <react/renderer/animated/NativeAnimatedNodesManager.h> namespace facebook::react { DiffClampAnimatedNode::DiffClampAnimatedNode( Tag tag, const folly::dynamic& config, NativeAnimatedNodesManager& manager) : ValueAnimatedNode(tag, config, manager), inputNodeTag_(static_cast<Tag>(getConfig()["input"].asDouble())), min_(getConfig()["min"].asDouble()), max_(getConfig()["max"].asDouble()) {} void DiffClampAnimatedNode::update() { if (const auto node = manager_->getAnimatedNode<ValueAnimatedNode>(inputNodeTag_)) { const auto value = node->getValue(); const auto diff = value - lastValue_; lastValue_ = value; setRawValue(std::clamp(this->getValue() + diff, min_, max_)); } } } // namespace facebook::react