You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
147 lines
5.7 KiB
147 lines
5.7 KiB
#import "RNSConvert.h"
|
|
|
|
#ifdef RN_FABRIC_ENABLED
|
|
@implementation RNSConvert
|
|
|
|
+ (RNSScreenStackPresentation)RNSScreenStackPresentationFromCppEquivalent:
|
|
(facebook::react::RNSScreenStackPresentation)stackPresentation
|
|
{
|
|
switch (stackPresentation) {
|
|
case facebook::react::RNSScreenStackPresentation::Push:
|
|
return RNSScreenStackPresentationPush;
|
|
case facebook::react::RNSScreenStackPresentation::Modal:
|
|
return RNSScreenStackPresentationModal;
|
|
case facebook::react::RNSScreenStackPresentation::FullScreenModal:
|
|
return RNSScreenStackPresentationFullScreenModal;
|
|
case facebook::react::RNSScreenStackPresentation::FormSheet:
|
|
return RNSScreenStackPresentationFormSheet;
|
|
case facebook::react::RNSScreenStackPresentation::ContainedModal:
|
|
return RNSScreenStackPresentationContainedModal;
|
|
case facebook::react::RNSScreenStackPresentation::TransparentModal:
|
|
return RNSScreenStackPresentationTransparentModal;
|
|
case facebook::react::RNSScreenStackPresentation::ContainedTransparentModal:
|
|
return RNSScreenStackPresentationContainedTransparentModal;
|
|
}
|
|
}
|
|
|
|
+ (RNSScreenStackAnimation)RNSScreenStackAnimationFromCppEquivalent:
|
|
(facebook::react::RNSScreenStackAnimation)stackAnimation
|
|
{
|
|
switch (stackAnimation) {
|
|
// these three are intentionally grouped
|
|
case facebook::react::RNSScreenStackAnimation::Slide_from_right:
|
|
case facebook::react::RNSScreenStackAnimation::Slide_from_left:
|
|
case facebook::react::RNSScreenStackAnimation::Default:
|
|
return RNSScreenStackAnimationDefault;
|
|
case facebook::react::RNSScreenStackAnimation::Flip:
|
|
return RNSScreenStackAnimationFlip;
|
|
case facebook::react::RNSScreenStackAnimation::Simple_push:
|
|
return RNSScreenStackAnimationSimplePush;
|
|
case facebook::react::RNSScreenStackAnimation::None:
|
|
return RNSScreenStackAnimationNone;
|
|
case facebook::react::RNSScreenStackAnimation::Fade:
|
|
return RNSScreenStackAnimationFade;
|
|
case facebook::react::RNSScreenStackAnimation::Slide_from_bottom:
|
|
return RNSScreenStackAnimationSlideFromBottom;
|
|
case facebook::react::RNSScreenStackAnimation::Fade_from_bottom:
|
|
return RNSScreenStackAnimationFadeFromBottom;
|
|
}
|
|
}
|
|
|
|
+ (RNSScreenStackHeaderSubviewType)RNSScreenStackHeaderSubviewTypeFromCppEquivalent:
|
|
(facebook::react::RNSScreenStackHeaderSubviewType)subviewType
|
|
{
|
|
switch (subviewType) {
|
|
case facebook::react::RNSScreenStackHeaderSubviewType::Left:
|
|
return RNSScreenStackHeaderSubviewTypeLeft;
|
|
case facebook::react::RNSScreenStackHeaderSubviewType::Right:
|
|
return RNSScreenStackHeaderSubviewTypeRight;
|
|
case facebook::react::RNSScreenStackHeaderSubviewType::Title:
|
|
return RNSScreenStackHeaderSubviewTypeTitle;
|
|
case facebook::react::RNSScreenStackHeaderSubviewType::Center:
|
|
return RNSScreenStackHeaderSubviewTypeCenter;
|
|
case facebook::react::RNSScreenStackHeaderSubviewType::SearchBar:
|
|
return RNSScreenStackHeaderSubviewTypeSearchBar;
|
|
case facebook::react::RNSScreenStackHeaderSubviewType::Back:
|
|
return RNSScreenStackHeaderSubviewTypeBackButton;
|
|
}
|
|
}
|
|
|
|
+ (RNSScreenReplaceAnimation)RNSScreenReplaceAnimationFromCppEquivalent:
|
|
(facebook::react::RNSScreenReplaceAnimation)replaceAnimation
|
|
{
|
|
switch (replaceAnimation) {
|
|
case facebook::react::RNSScreenReplaceAnimation::Pop:
|
|
return RNSScreenReplaceAnimationPop;
|
|
case facebook::react::RNSScreenReplaceAnimation::Push:
|
|
return RNSScreenReplaceAnimationPush;
|
|
}
|
|
}
|
|
|
|
+ (RNSScreenSwipeDirection)RNSScreenSwipeDirectionFromCppEquivalent:
|
|
(facebook::react::RNSScreenSwipeDirection)swipeDirection
|
|
{
|
|
switch (swipeDirection) {
|
|
case facebook::react::RNSScreenSwipeDirection::Horizontal:
|
|
return RNSScreenSwipeDirectionHorizontal;
|
|
case facebook::react::RNSScreenSwipeDirection::Vertical:
|
|
return RNSScreenSwipeDirectionVertical;
|
|
}
|
|
}
|
|
|
|
+ (RNSScreenDetentType)RNSScreenDetentTypeFromAllowedDetents:
|
|
(facebook::react::RNSScreenSheetAllowedDetents)allowedDetents
|
|
{
|
|
switch (allowedDetents) {
|
|
case facebook::react::RNSScreenSheetAllowedDetents::All:
|
|
return RNSScreenDetentTypeAll;
|
|
case facebook::react::RNSScreenSheetAllowedDetents::Large:
|
|
return RNSScreenDetentTypeLarge;
|
|
case facebook::react::RNSScreenSheetAllowedDetents::Medium:
|
|
return RNSScreenDetentTypeMedium;
|
|
}
|
|
}
|
|
|
|
+ (RNSScreenDetentType)RNSScreenDetentTypeFromLargestUndimmedDetent:
|
|
(facebook::react::RNSScreenSheetLargestUndimmedDetent)detent
|
|
{
|
|
switch (detent) {
|
|
case facebook::react::RNSScreenSheetLargestUndimmedDetent::All:
|
|
return RNSScreenDetentTypeAll;
|
|
case facebook::react::RNSScreenSheetLargestUndimmedDetent::Large:
|
|
return RNSScreenDetentTypeLarge;
|
|
case facebook::react::RNSScreenSheetLargestUndimmedDetent::Medium:
|
|
return RNSScreenDetentTypeMedium;
|
|
}
|
|
}
|
|
|
|
+ (NSDictionary *)gestureResponseDistanceDictFromCppStruct:
|
|
(const facebook::react::RNSScreenGestureResponseDistanceStruct &)gestureResponseDistance
|
|
{
|
|
return @{
|
|
@"start" : @(gestureResponseDistance.start),
|
|
@"end" : @(gestureResponseDistance.end),
|
|
@"top" : @(gestureResponseDistance.top),
|
|
@"bottom" : @(gestureResponseDistance.bottom),
|
|
};
|
|
}
|
|
|
|
+ (UITextAutocapitalizationType)UITextAutocapitalizationTypeFromCppEquivalent:
|
|
(facebook::react::RNSSearchBarAutoCapitalize)autoCapitalize
|
|
{
|
|
switch (autoCapitalize) {
|
|
case facebook::react::RNSSearchBarAutoCapitalize::Words:
|
|
return UITextAutocapitalizationTypeWords;
|
|
case facebook::react::RNSSearchBarAutoCapitalize::Sentences:
|
|
return UITextAutocapitalizationTypeSentences;
|
|
case facebook::react::RNSSearchBarAutoCapitalize::Characters:
|
|
return UITextAutocapitalizationTypeAllCharacters;
|
|
case facebook::react::RNSSearchBarAutoCapitalize::None:
|
|
return UITextAutocapitalizationTypeNone;
|
|
}
|
|
}
|
|
|
|
@end
|
|
|
|
#endif // RN_FABRIC_ENABLED
|