/
githubmr
/
facebook-react-native
Обзор
Документация
Войти
/
githubmr
/
facebook-react-native
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
main
packages/react-native/ReactCommon/react/renderer/observers/intersection/IntersectionObserverState.cpp
63 строки
2 KB
Luna Wei
Support `rn_rootThreshold` on IntersectionObserver (viewAreaCoveragePercentThreshold) (#47908)
22 ноя 2024, 22:50
22 ноя 2024, 22:50
a77d8d9
Код
Авторство
О чём код?
/* * 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. */ #include "IntersectionObserverState.h" namespace facebook::react { IntersectionObserverState IntersectionObserverState::Initial() { static const IntersectionObserverState state = IntersectionObserverState(IntersectionObserverStateType::Initial); return state; } IntersectionObserverState IntersectionObserverState::NotIntersecting() { static const IntersectionObserverState state = IntersectionObserverState(IntersectionObserverStateType::NotIntersecting); return state; } IntersectionObserverState IntersectionObserverState::Intersecting( Float threshold, Float rootThreshold) { return { IntersectionObserverStateType::Intersecting, threshold, rootThreshold}; } IntersectionObserverState::IntersectionObserverState( IntersectionObserverStateType state) : state_(state) {} IntersectionObserverState::IntersectionObserverState( IntersectionObserverStateType state, Float threshold, Float rootThreshold) : state_(state), threshold_(threshold), rootThreshold_(rootThreshold) {} bool IntersectionObserverState::isIntersecting() const { return state_ == IntersectionObserverStateType::Intersecting; } bool IntersectionObserverState::operator==( const IntersectionObserverState& other) const { if (state_ != other.state_) { return false; } if (state_ != IntersectionObserverStateType::Intersecting) { return true; } return threshold_ == other.threshold_ && rootThreshold_ == other.rootThreshold_; } bool IntersectionObserverState::operator!=( const IntersectionObserverState& other) const { return !(*this == other); } } // namespace facebook::react