react-native-windows 0.73.10 → 0.74.0-preview.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.flowconfig +12 -7
- package/Chakra/ChakraUtils.cpp +5 -10
- package/Chakra/ChakraUtils.h +2 -2
- package/Common/packages.lock.json +3 -3
- package/Directory.Build.props +5 -5
- package/Folly/Folly.vcxproj +2 -2
- package/Folly/Folly.vcxproj.filters +7 -0
- package/Folly/TEMP_UntilFollyUpdate/dynamic-inl.h +22 -1
- package/Folly/TEMP_UntilFollyUpdate/lang/SafeAssert.h +4 -1
- package/Folly/cgmanifest.json +1 -1
- package/Libraries/ActionSheetIOS/ActionSheetIOS.d.ts +6 -0
- package/Libraries/ActionSheetIOS/ActionSheetIOS.js +6 -0
- package/Libraries/ActionSheetIOS/NativeActionSheetManager.js +4 -45
- package/Libraries/Alert/Alert.windows.js +2 -3
- package/Libraries/Alert/NativeAlertManager.js +4 -26
- package/Libraries/Animated/Animated.js +2 -2
- package/Libraries/Animated/AnimatedPlatformConfig.js +1 -1
- package/Libraries/Animated/NativeAnimatedHelper.js +14 -11
- package/Libraries/Animated/NativeAnimatedModule.js +4 -68
- package/Libraries/Animated/NativeAnimatedTurboModule.js +4 -69
- package/Libraries/Animated/animations/Animation.js +6 -22
- package/Libraries/Animated/components/AnimatedFlatList.js +1 -16
- package/Libraries/Animated/components/AnimatedScrollView.js +36 -31
- package/Libraries/Animated/components/AnimatedSectionList.js +1 -20
- package/Libraries/Animated/createAnimatedComponent.js +45 -40
- package/Libraries/Animated/nodes/AnimatedStyle.js +1 -1
- package/Libraries/Animated/shouldUseTurboAnimatedModule.js +1 -1
- package/Libraries/Animated/useAnimatedProps.js +21 -1
- package/Libraries/AppState/NativeAppState.js +4 -24
- package/Libraries/AppTheme/NativeAppTheme.js +4 -25
- package/Libraries/BatchedBridge/NativeModules.js +1 -1
- package/Libraries/Blob/Blob.js +1 -4
- package/Libraries/Blob/BlobManager.js +6 -8
- package/Libraries/Blob/File.js +1 -1
- package/Libraries/Blob/NativeBlobModule.js +4 -50
- package/Libraries/Blob/NativeFileReaderModule.js +4 -13
- package/Libraries/BugReporting/NativeBugReporting.js +4 -12
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityInfo.js +3 -23
- package/Libraries/Components/AccessibilityInfo/NativeAccessibilityManager.js +4 -57
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.android.js +3 -2
- package/Libraries/Components/AccessibilityInfo/legacySendAccessibilityEvent.windows.js +3 -2
- package/Libraries/Components/ActivityIndicator/ActivityIndicator.js +9 -40
- package/Libraries/Components/ActivityIndicator/ActivityIndicatorViewNativeComponent.js +3 -43
- package/Libraries/Components/Button.js +103 -107
- package/Libraries/Components/Button.windows.js +199 -206
- package/Libraries/Components/Clipboard/NativeClipboard.js +3 -11
- package/Libraries/Components/DrawerAndroid/AndroidDrawerLayoutNativeComponent.js +3 -114
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +1 -5
- package/Libraries/Components/Keyboard/KeyboardExt.d.ts +8 -8
- package/Libraries/Components/Keyboard/KeyboardExt.js +27 -27
- package/Libraries/Components/Keyboard/KeyboardExt.js.map +1 -1
- package/Libraries/Components/Keyboard/KeyboardExtProps.d.ts +17 -17
- package/Libraries/Components/Keyboard/KeyboardExtProps.js +7 -7
- package/Libraries/Components/Keyboard/KeyboardExtProps.js.map +1 -1
- package/Libraries/Components/Keyboard/NativeKeyboardObserver.js +3 -10
- package/Libraries/Components/PopupMenuAndroid/PopupMenuAndroid.android.js +69 -0
- package/Libraries/Components/PopupMenuAndroid/PopupMenuAndroid.d.ts +24 -0
- package/Libraries/Components/PopupMenuAndroid/PopupMenuAndroid.js +33 -0
- package/Libraries/Components/PopupMenuAndroid/PopupMenuAndroidNativeComponent.js +13 -0
- package/Libraries/Components/Pressable/Pressable.js +1 -1
- package/Libraries/Components/Pressable/Pressable.windows.js +1 -2
- package/Libraries/Components/Pressable/useAndroidRippleForView.js +5 -4
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroidNativeComponent.js +4 -24
- package/Libraries/Components/RefreshControl/AndroidSwipeRefreshLayoutNativeComponent.js +3 -64
- package/Libraries/Components/RefreshControl/PullToRefreshViewNativeComponent.js +3 -61
- package/Libraries/Components/RefreshControl/RefreshControl.js +1 -1
- package/Libraries/Components/RefreshControl/RefreshControl.windows.js +1 -1
- package/Libraries/Components/SafeAreaView/RCTSafeAreaViewNativeComponent.js +3 -15
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollContentViewNativeComponent.js +3 -16
- package/Libraries/Components/ScrollView/ScrollContentViewNativeComponent.js +1 -1
- package/Libraries/Components/ScrollView/ScrollView.d.ts +5 -6
- package/Libraries/Components/ScrollView/ScrollView.js +12 -38
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +1 -2
- package/Libraries/Components/Sound/NativeSoundManager.js +3 -12
- package/Libraries/Components/StatusBar/NativeStatusBarManagerAndroid.js +3 -58
- package/Libraries/Components/StatusBar/NativeStatusBarManagerIOS.js +3 -79
- package/Libraries/Components/Switch/AndroidSwitchNativeComponent.js +4 -53
- package/Libraries/Components/Switch/Switch.js +0 -2
- package/Libraries/Components/Switch/Switch.windows.js +0 -2
- package/Libraries/Components/Switch/SwitchNativeComponent.js +4 -52
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +8 -0
- package/Libraries/Components/TextInput/InputAccessoryView.js +18 -20
- package/Libraries/Components/TextInput/RCTInputAccessoryViewNativeComponent.js +4 -17
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +3 -6
- package/Libraries/Components/TextInput/TextInput.d.ts +16 -0
- package/Libraries/Components/TextInput/TextInput.flow.js +16 -0
- package/Libraries/Components/TextInput/TextInput.js +65 -32
- package/Libraries/Components/TextInput/TextInput.windows.js +87 -38
- package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +773 -9
- package/Libraries/Components/ToastAndroid/NativeToastAndroid.js +3 -28
- package/Libraries/Components/Touchable/PooledClass.js +1 -1
- package/Libraries/Components/Touchable/Touchable.js +2 -3
- package/Libraries/Components/Touchable/Touchable.windows.js +2 -3
- package/Libraries/Components/Touchable/TouchableHighlight.js +4 -4
- package/Libraries/Components/Touchable/TouchableHighlight.windows.js +4 -4
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +2 -1
- package/Libraries/Components/Touchable/TouchableOpacity.js +5 -2
- package/Libraries/Components/Touchable/TouchableOpacity.windows.js +5 -2
- package/Libraries/Components/UnimplementedViews/UnimplementedNativeViewNativeComponent.js +3 -16
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +1 -1
- package/Libraries/Components/View/View.js +0 -11
- package/Libraries/Components/View/View.windows.js +19 -18
- package/Libraries/Components/View/ViewAccessibility.d.ts +33 -17
- package/Libraries/Components/View/ViewPropTypes.d.ts +28 -17
- package/Libraries/Components/View/ViewPropTypes.js +36 -36
- package/Libraries/Components/View/ViewPropTypes.windows.js +36 -36
- package/Libraries/Core/InitializeCore.js +1 -1
- package/Libraries/Core/NativeExceptionsManager.js +3 -93
- package/Libraries/Core/ReactNativeVersion.js +12 -6
- package/Libraries/Core/ReactNativeVersionCheck.js +6 -6
- package/Libraries/Core/SegmentFetcher/NativeSegmentFetcher.js +3 -18
- package/Libraries/Core/Timers/NativeTiming.js +3 -16
- package/Libraries/Core/registerCallableModule.js +42 -0
- package/Libraries/Core/setUpPerformance.js +2 -2
- package/Libraries/Core/setUpPerformanceObserver.js +3 -1
- package/Libraries/Debugging/DebuggingOverlay.js +111 -0
- package/Libraries/Debugging/DebuggingOverlayNativeComponent.js +13 -0
- package/Libraries/Debugging/DebuggingOverlayRegistry.js +513 -0
- package/Libraries/Debugging/useSubscribeToDebuggingOverlayRegistry.js +32 -0
- package/Libraries/DevToolsSettings/NativeDevToolsSettingsManager.js +3 -14
- package/Libraries/HeapCapture/NativeJSCHeapCapture.js +3 -9
- package/Libraries/Image/AssetSourceResolver.js +5 -5
- package/Libraries/Image/AssetUtils.js +4 -5
- package/Libraries/Image/Image.android.js +146 -174
- package/Libraries/Image/Image.d.ts +1 -1
- package/Libraries/Image/Image.ios.js +53 -79
- package/Libraries/Image/Image.windows.js +53 -79
- package/Libraries/Image/ImageBackground.js +2 -2
- package/Libraries/Image/ImageInjection.js +76 -18
- package/Libraries/Image/ImageTypes.flow.js +71 -0
- package/Libraries/Image/ImageUtils.js +1 -1
- package/Libraries/Image/ImageViewNativeComponent.js +18 -0
- package/Libraries/Image/NativeImageEditor.js +3 -42
- package/Libraries/Image/NativeImageLoaderAndroid.js +4 -28
- package/Libraries/Image/NativeImageLoaderIOS.js +4 -28
- package/Libraries/Image/NativeImageStoreAndroid.js +3 -16
- package/Libraries/Image/NativeImageStoreIOS.js +3 -23
- package/Libraries/Image/resolveAssetSource.js +59 -26
- package/Libraries/Image/resolveAssetSource.windows.js +148 -0
- package/Libraries/Inspector/ElementProperties.js +26 -52
- package/Libraries/Inspector/Inspector.js +122 -186
- package/Libraries/Inspector/InspectorOverlay.js +21 -33
- package/Libraries/Inspector/InspectorPanel.js +3 -17
- package/Libraries/Inspector/ReactDevToolsOverlay.js +171 -0
- package/Libraries/Inspector/getInspectorDataForViewAtPoint.js +20 -8
- package/Libraries/Interaction/FrameRateLogger.js +8 -18
- package/Libraries/Interaction/NativeFrameRateLogger.js +4 -16
- package/Libraries/IntersectionObserver/IntersectionObserver.js +1 -1
- package/Libraries/IntersectionObserver/IntersectionObserverEntry.js +20 -19
- package/Libraries/IntersectionObserver/IntersectionObserverManager.js +84 -6
- package/Libraries/IntersectionObserver/NativeIntersectionObserver.js +3 -31
- package/Libraries/IntersectionObserver/__mocks__/NativeIntersectionObserver.js +12 -2
- package/Libraries/LayoutAnimation/LayoutAnimation.js +1 -2
- package/Libraries/Linking/NativeIntentAndroid.js +3 -20
- package/Libraries/Linking/NativeLinkingManager.js +3 -17
- package/Libraries/Lists/FillRateHelper.js +1 -1
- package/Libraries/Lists/FlatList.d.ts +2 -2
- package/Libraries/Lists/FlatList.js +6 -1
- package/Libraries/Lists/FlatList.windows.js +717 -0
- package/Libraries/Lists/SectionList.d.ts +6 -1
- package/Libraries/Lists/ViewabilityHelper.js +1 -1
- package/Libraries/Lists/VirtualizeUtils.js +1 -1
- package/Libraries/Lists/VirtualizedList.js +1 -1
- package/Libraries/Lists/VirtualizedListContext.js +1 -1
- package/Libraries/Lists/VirtualizedSectionList.js +1 -1
- package/Libraries/LogBox/LogBoxInspectorContainer.js +1 -1
- package/Libraries/Modal/Modal.js +43 -11
- package/Libraries/Modal/NativeModalManager.js +3 -11
- package/Libraries/Modal/RCTModalHostViewNativeComponent.js +3 -129
- package/Libraries/MutationObserver/MutationObserver.js +1 -1
- package/Libraries/MutationObserver/MutationObserverManager.js +2 -2
- package/Libraries/MutationObserver/MutationRecord.js +12 -10
- package/Libraries/MutationObserver/NativeMutationObserver.js +3 -48
- package/Libraries/MutationObserver/__mocks__/NativeMutationObserver.js +1 -1
- package/Libraries/NativeComponent/BaseViewConfig.android.js +1 -0
- package/Libraries/NativeComponent/BaseViewConfig.windows.js +3 -0
- package/Libraries/NativeComponent/NativeComponentRegistry.js +1 -1
- package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +3 -10
- package/Libraries/NativeModules/specs/NativeDevMenu.js +3 -13
- package/Libraries/NativeModules/specs/NativeDevSettings.js +3 -23
- package/Libraries/NativeModules/specs/NativeDeviceEventManager.js +3 -9
- package/Libraries/NativeModules/specs/NativeDialogManagerAndroid.js +3 -38
- package/Libraries/NativeModules/specs/NativeDialogManagerWindows.js +11 -0
- package/Libraries/NativeModules/specs/NativeLogBox.js +3 -10
- package/Libraries/NativeModules/specs/NativeRedBox.js +4 -11
- package/Libraries/NativeModules/specs/NativeSourceCode.js +2 -25
- package/Libraries/Network/FormData.js +3 -1
- package/Libraries/Network/NativeNetworkingAndroid.js +4 -28
- package/Libraries/Network/NativeNetworkingIOS.js +4 -28
- package/Libraries/NewAppScreen/components/DebugInstructions.windows.js +4 -2
- package/Libraries/NewAppScreen/components/ReloadInstructions.windows.js +3 -1
- package/Libraries/Performance/NativeJSCSamplingProfiler.js +3 -9
- package/Libraries/PermissionsAndroid/NativePermissionsAndroid.js +4 -68
- package/Libraries/PermissionsAndroid/PermissionsAndroid.js +3 -3
- package/Libraries/Pressability/Pressability.js +12 -2
- package/Libraries/Pressability/Pressability.windows.js +13 -3
- package/Libraries/Pressability/usePressability.js +7 -0
- package/Libraries/PushNotificationIOS/NativePushNotificationManagerIOS.js +4 -70
- package/Libraries/PushNotificationIOS/PushNotificationIOS.js +45 -39
- package/Libraries/ReactNative/AppContainer-dev.js +192 -0
- package/Libraries/ReactNative/AppContainer-prod.js +53 -0
- package/Libraries/ReactNative/AppContainer.js +6 -149
- package/Libraries/ReactNative/AppRegistry.js +3 -1
- package/Libraries/ReactNative/BridgelessUIManager.js +375 -128
- package/Libraries/ReactNative/FabricUIManager.js +6 -0
- package/Libraries/ReactNative/NativeHeadlessJsTaskSupport.js +3 -10
- package/Libraries/ReactNative/NativeI18nManager.js +3 -18
- package/Libraries/ReactNative/NativeUIManager.js +4 -112
- package/Libraries/ReactNative/PaperUIManager.js +8 -7
- package/Libraries/ReactNative/PaperUIManager.windows.js +29 -8
- package/Libraries/ReactNative/ReactFabricInternals.js +1 -1
- package/Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance.js +24 -5
- package/Libraries/ReactNative/ReactNativeFeatureFlags.js +0 -45
- package/Libraries/ReactNative/RendererImplementation.js +11 -0
- package/Libraries/ReactNative/UIManager.d.ts +11 -34
- package/Libraries/ReactNative/UIManager.js +2 -23
- package/Libraries/ReactNative/UIManagerProperties.js +0 -2
- package/Libraries/ReactNative/__mocks__/FabricUIManager.js +23 -1
- package/Libraries/ReactNative/getNativeComponentAttributes.js +5 -1
- package/Libraries/ReactNative/renderApplication.js +9 -6
- package/Libraries/ReactPrivate/ReactNativePrivateInterface.js +6 -1
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +24771 -21123
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +4160 -3109
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +4384 -3322
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +25194 -21398
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +3763 -2636
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +4027 -2867
- package/Libraries/Renderer/shims/ReactNativeTypes.js +8 -9
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +7 -12
- package/Libraries/Settings/NativeSettingsManager.js +4 -16
- package/Libraries/Share/NativeShareModule.js +3 -13
- package/Libraries/StyleSheet/PlatformColorValueTypes.windows.js +1 -1
- package/Libraries/StyleSheet/StyleSheet.d.ts +1 -20
- package/Libraries/StyleSheet/StyleSheet.js +5 -28
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +47 -7
- package/Libraries/StyleSheet/StyleSheetTypes.js +16 -11
- package/Libraries/StyleSheet/flattenStyle.js +2 -2
- package/Libraries/StyleSheet/normalizeColor.js +1 -1
- package/Libraries/StyleSheet/processAspectRatio.js +1 -1
- package/Libraries/StyleSheet/processFontVariant.js +1 -1
- package/Libraries/Text/Text.js +0 -6
- package/Libraries/Text/Text.windows.js +0 -6
- package/Libraries/Text/TextAncestor.js +2 -3
- package/Libraries/TurboModule/samples/NativeSampleTurboModule.js +4 -41
- package/Libraries/Types/ReactDevToolsTypes.js +58 -0
- package/Libraries/Types/UIManagerJSInterface.js +16 -0
- package/Libraries/Utilities/DebugEnvironment.js +1 -4
- package/Libraries/Utilities/Dimensions.js +8 -16
- package/Libraries/Utilities/GlobalPerformanceLogger.js +1 -2
- package/Libraries/Utilities/NativeAppearance.js +3 -26
- package/Libraries/Utilities/NativeDevLoadingView.js +3 -14
- package/Libraries/Utilities/NativeDeviceInfo.js +2 -47
- package/Libraries/Utilities/NativePlatformConstantsAndroid.js +3 -34
- package/Libraries/Utilities/NativePlatformConstantsIOS.js +3 -26
- package/Libraries/Utilities/NativePlatformConstantsWin.js +3 -23
- package/Libraries/Utilities/PixelRatio.d.ts +4 -4
- package/Libraries/Utilities/Platform.android.js +4 -0
- package/Libraries/Utilities/Platform.d.ts +3 -0
- package/Libraries/Utilities/Platform.flow.js +7 -0
- package/Libraries/Utilities/Platform.flow.windows.js +9 -0
- package/Libraries/Utilities/Platform.ios.js +11 -0
- package/Libraries/Utilities/Platform.windows.js +6 -0
- package/Libraries/Utilities/binaryToBase64.js +1 -1
- package/Libraries/Utilities/codegenNativeComponent.js +4 -6
- package/Libraries/Utilities/createPerformanceLogger.js +2 -74
- package/Libraries/Utilities/useMergeRefs.js +5 -9
- package/Libraries/Vibration/NativeVibration.js +3 -14
- package/Libraries/WebSocket/NativeWebSocketModule.js +4 -25
- package/Libraries/YellowBox/YellowBoxDeprecated.js +1 -1
- package/Libraries/vendor/emitter/EventEmitter.js +1 -0
- package/Microsoft.ReactNative/AsynchronousEventBeat.cpp +50 -0
- package/Microsoft.ReactNative/AsynchronousEventBeat.h +23 -0
- package/Microsoft.ReactNative/Base/CoreUIManagers.cpp +4 -0
- package/Microsoft.ReactNative/Base/CxxReactIncludes.h +1 -1
- package/Microsoft.ReactNative/Base/FollyIncludes.h +2 -2
- package/Microsoft.ReactNative/ComponentView.idl +106 -0
- package/Microsoft.ReactNative/Composition.Input.idl +16 -2
- package/Microsoft.ReactNative/CompositionComponentView.idl +117 -0
- package/Microsoft.ReactNative/CompositionContext.idl +1 -1
- package/Microsoft.ReactNative/CompositionRootView.idl +8 -0
- package/Microsoft.ReactNative/CompositionSwitcher.idl +25 -14
- package/Microsoft.ReactNative/DevMenuControl.idl +0 -3
- package/Microsoft.ReactNative/DevMenuControl.xaml +0 -15
- package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.cpp +189 -0
- package/Microsoft.ReactNative/Fabric/AbiComponentDescriptor.h +80 -0
- package/Microsoft.ReactNative/Fabric/AbiShadowNode.cpp +83 -0
- package/Microsoft.ReactNative/Fabric/AbiShadowNode.h +83 -0
- package/Microsoft.ReactNative/Fabric/AbiState.cpp +71 -0
- package/Microsoft.ReactNative/Fabric/AbiState.h +38 -0
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.cpp +48 -19
- package/Microsoft.ReactNative/Fabric/AbiViewComponentDescriptor.h +8 -16
- package/Microsoft.ReactNative/Fabric/AbiViewProps.cpp +97 -0
- package/Microsoft.ReactNative/Fabric/AbiViewProps.h +39 -0
- package/Microsoft.ReactNative/Fabric/AbiViewShadowNode.cpp +90 -0
- package/Microsoft.ReactNative/Fabric/AbiViewShadowNode.h +87 -0
- package/Microsoft.ReactNative/Fabric/ComponentView.cpp +340 -0
- package/Microsoft.ReactNative/Fabric/ComponentView.h +130 -64
- package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.cpp +48 -24
- package/Microsoft.ReactNative/Fabric/Composition/ActivityIndicatorComponentView.h +18 -14
- package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.cpp +42 -27
- package/Microsoft.ReactNative/Fabric/Composition/ComponentViewRegistry.h +3 -1
- package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.cpp +123 -28
- package/Microsoft.ReactNative/Fabric/Composition/Composition.Input.h +69 -13
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +651 -284
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.h +7 -7
- package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper_emptyimpl.cpp +9 -9
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +120 -31
- package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +12 -2
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +308 -129
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +34 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHelpers.h +2 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.cpp +61 -54
- package/Microsoft.ReactNative/Fabric/Composition/CompositionHwndHost.h +0 -9
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.cpp +99 -30
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootAutomationProvider.h +4 -3
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.cpp +273 -28
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView.h +28 -3
- package/Microsoft.ReactNative/Fabric/Composition/CompositionRootView_emptyimpl.cpp +7 -3
- package/Microsoft.ReactNative/Fabric/Composition/CompositionUIService.cpp +4 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +479 -280
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +133 -79
- package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.cpp +113 -0
- package/Microsoft.ReactNative/Fabric/Composition/DebuggingOverlayComponentView.h +39 -0
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +61 -41
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +19 -14
- package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentDescriptor.h +39 -0
- package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +343 -0
- package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.h +67 -0
- package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewShadowNode.cpp +18 -0
- package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewShadowNode.h +39 -0
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +53 -186
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +20 -12
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +59 -150
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +27 -76
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.cpp +81 -32
- package/Microsoft.ReactNative/Fabric/Composition/RootComponentView.h +27 -14
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +707 -64
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.h +47 -26
- package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.cpp +225 -125
- package/Microsoft.ReactNative/Fabric/Composition/SwitchComponentView.h +34 -21
- package/Microsoft.ReactNative/Fabric/Composition/TextDrawing.cpp +179 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextDrawing.h +25 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentDescriptor.h +110 -115
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +228 -79
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +43 -22
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputEventEmitter.cpp +18 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputEventEmitter.h +12 -0
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputProps.h +5 -5
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +5 -1
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.h +1 -2
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.cpp +4 -44
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputState.h +11 -9
- package/Microsoft.ReactNative/Fabric/Composition/Theme.cpp +550 -0
- package/Microsoft.ReactNative/Fabric/Composition/Theme.h +73 -0
- package/Microsoft.ReactNative/Fabric/Composition/Theme_emptyimpl.cpp +85 -0
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +48 -26
- package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +6 -2
- package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.cpp +30 -65
- package/Microsoft.ReactNative/Fabric/Composition/UnimplementedNativeViewComponentView.h +16 -25
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +72 -88
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +5 -2
- package/Microsoft.ReactNative/Fabric/IComponentViewRegistry.h +3 -2
- package/Microsoft.ReactNative/Fabric/ReactNativeConfigProperties.cpp +6 -6
- package/Microsoft.ReactNative/Fabric/ReactNativeConfigProperties.h +2 -2
- package/Microsoft.ReactNative/Fabric/ReactTaggedView.h +12 -7
- package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.cpp +28 -19
- package/Microsoft.ReactNative/Fabric/WindowsComponentDescriptorRegistry.h +5 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.cpp +0 -2
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +5 -1
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/WindowsViewEvents.h +2 -4
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Float.h +20 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/HostPlatformColor.h +86 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorParser.h +38 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/{Color.cpp → PlatformColorUtils.cpp} +7 -77
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/PlatformColorUtils.h +12 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +1 -0
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +2 -0
- package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +6 -87
- package/Microsoft.ReactNative/IReactContext.idl +3 -0
- package/Microsoft.ReactNative/IReactViewComponentBuilder.idl +71 -1
- package/Microsoft.ReactNative/JsiApi.cpp +17 -7
- package/Microsoft.ReactNative/JsiApi.h +2 -2
- package/Microsoft.ReactNative/JsiApi.idl +5 -4
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +13 -22
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +6 -2
- package/Microsoft.ReactNative/Modules/AccessibilityInfoModule.h +1 -1
- package/Microsoft.ReactNative/Modules/AlertModule.h +2 -2
- package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.cpp +12 -8
- package/Microsoft.ReactNative/Modules/Animated/PropsAnimatedNode.h +1 -1
- package/Microsoft.ReactNative/Modules/AppStateModule.h +2 -2
- package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.cpp +5 -3
- package/Microsoft.ReactNative/Modules/AppThemeModuleUwp.h +4 -4
- package/Microsoft.ReactNative/Modules/AppearanceModule.cpp +10 -1
- package/Microsoft.ReactNative/Modules/ClipboardModule.h +1 -1
- package/Microsoft.ReactNative/Modules/DeviceInfoModule.cpp +71 -38
- package/Microsoft.ReactNative/Modules/DeviceInfoModule.h +5 -5
- package/Microsoft.ReactNative/Modules/ExceptionsManager.cpp +110 -0
- package/Microsoft.ReactNative/Modules/ExceptionsManager.h +54 -0
- package/Microsoft.ReactNative/Modules/ImageViewManagerModule.h +11 -10
- package/Microsoft.ReactNative/Modules/LinkingManagerModule.h +8 -6
- package/Microsoft.ReactNative/Modules/LogBoxModule.h +3 -3
- package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +5 -28
- package/Microsoft.ReactNative/Modules/NativeUIManager.h +1 -1
- package/Microsoft.ReactNative/Modules/PaperUIManagerModule.cpp +8 -5
- package/Microsoft.ReactNative/Modules/PaperUIManagerModule.h +3 -3
- package/Microsoft.ReactNative/Modules/PlatformConstantsWinModule.cpp +49 -0
- package/Microsoft.ReactNative/Modules/PlatformConstantsWinModule.h +18 -0
- package/Microsoft.ReactNative/Modules/SourceCode.cpp +31 -0
- package/Microsoft.ReactNative/Modules/SourceCode.h +28 -0
- package/Microsoft.ReactNative/Modules/StatusBarManager.h +12 -0
- package/Microsoft.ReactNative/Modules/Timing.cpp +325 -0
- package/Microsoft.ReactNative/Modules/Timing.h +121 -0
- package/Microsoft.ReactNative/QuirkSettings.cpp +32 -0
- package/Microsoft.ReactNative/QuirkSettings.h +9 -0
- package/Microsoft.ReactNative/QuirkSettings.idl +6 -0
- package/Microsoft.ReactNative/ReactCoreInjection.cpp +15 -0
- package/Microsoft.ReactNative/ReactCoreInjection.h +4 -0
- package/Microsoft.ReactNative/ReactCoreInjection.idl +8 -0
- package/Microsoft.ReactNative/ReactHost/IReactInstance.h +1 -1
- package/Microsoft.ReactNative/ReactHost/MsoReactContext.cpp +1 -1
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +556 -234
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +36 -9
- package/Microsoft.ReactNative/ReactInstanceSettings.idl +3 -0
- package/Microsoft.ReactNative/ReactPointerEventArgs.cpp +8 -0
- package/Microsoft.ReactNative/ReactPointerEventArgs.h +4 -0
- package/Microsoft.ReactNative/ReactPointerEventArgs.idl +12 -0
- package/Microsoft.ReactNative/SchedulerSettings.cpp +23 -0
- package/Microsoft.ReactNative/SchedulerSettings.h +9 -1
- package/Microsoft.ReactNative/SynchronousEventBeat.cpp +41 -0
- package/Microsoft.ReactNative/SynchronousEventBeat.h +29 -0
- package/Microsoft.ReactNative/Theme.idl +57 -0
- package/Microsoft.ReactNative/Timer.cpp +63 -0
- package/Microsoft.ReactNative/{CoreAppPage.h → Timer.h} +12 -5
- package/Microsoft.ReactNative/Timer.idl +34 -0
- package/Microsoft.ReactNative/TurboModulesProvider.cpp +4 -0
- package/Microsoft.ReactNative/Utils/ImageUtils.cpp +37 -3
- package/Microsoft.ReactNative/Utils/ImageUtils.h +0 -1
- package/Microsoft.ReactNative/Utils/LocalBundleReader.cpp +11 -12
- package/Microsoft.ReactNative/Utils/LocalBundleReader.h +3 -3
- package/Microsoft.ReactNative/Utils/ThemeUtils.cpp +33 -0
- package/Microsoft.ReactNative/Utils/ThemeUtils.h +13 -0
- package/Microsoft.ReactNative/Utils/ValueUtils.cpp +0 -5
- package/Microsoft.ReactNative/Utils/ValueUtils.h +0 -3
- package/Microsoft.ReactNative/ViewProps.idl +17 -0
- package/Microsoft.ReactNative/Views/ActivityIndicatorViewManager.cpp +1 -0
- package/Microsoft.ReactNative/Views/DebuggingOverlayViewManager.cpp +54 -0
- package/Microsoft.ReactNative/Views/DebuggingOverlayViewManager.h +30 -0
- package/Microsoft.ReactNative/Views/DevMenu.cpp +1 -20
- package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +157 -0
- package/Microsoft.ReactNative/Views/DynamicAutomationPeer.h +5 -0
- package/Microsoft.ReactNative/Views/DynamicAutomationProperties.cpp +20 -0
- package/Microsoft.ReactNative/Views/DynamicAutomationProperties.h +4 -0
- package/Microsoft.ReactNative/Views/FlyoutViewManager.cpp +1 -5
- package/Microsoft.ReactNative/Views/FrameworkElementViewManager.cpp +137 -0
- package/Microsoft.ReactNative/Views/ICompositionRootView.h +0 -1
- package/Microsoft.ReactNative/Views/Image/ImageViewManager.cpp +0 -5
- package/Microsoft.ReactNative/Views/PopupViewManager.cpp +1 -5
- package/Microsoft.ReactNative/Views/ShadowNodeBase.cpp +11 -0
- package/Microsoft.ReactNative/Views/ShadowNodeBase.h +3 -4
- package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +0 -6
- package/Microsoft.ReactNative/Views/TextViewManager.cpp +0 -11
- package/Microsoft.ReactNative/Views/TouchEventHandler.cpp +1 -1
- package/Microsoft.ReactNative/Views/UnimplementedViewManager.cpp +79 -0
- package/Microsoft.ReactNative/Views/UnimplementedViewManager.h +27 -0
- package/Microsoft.ReactNative/Views/ViewManagerBase.cpp +46 -0
- package/Microsoft.ReactNative/Views/ViewManagerBase.h +1 -1
- package/Microsoft.ReactNative/Views/cppwinrt/DynamicAutomationPeer.idl +77 -2
- package/Microsoft.ReactNative/microsoft.reactnative.def +0 -3
- package/Microsoft.ReactNative/packages.lock.json +9 -6
- package/{Shared/Composition → Microsoft.ReactNative.Cxx}/AutoDraw.h +2 -0
- package/{Shared/Composition → Microsoft.ReactNative.Cxx}/CompositionSwitcher.interop.h +4 -10
- package/Microsoft.ReactNative.Cxx/CppWinRTIncludes.h +0 -5
- package/Microsoft.ReactNative.Cxx/DesktopWindowBridge.h +5 -0
- package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.cpp +19 -10
- package/Microsoft.ReactNative.Cxx/JSI/JsiAbiApi.h +2 -0
- package/Microsoft.ReactNative.Cxx/JSValueComposition.h +22 -0
- package/Microsoft.ReactNative.Cxx/JSValueReader.h +19 -0
- package/Microsoft.ReactNative.Cxx/JSValueXaml.h +1 -1
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +6 -4
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +0 -1
- package/Microsoft.ReactNative.Cxx/NativeModules.h +15 -15
- package/Microsoft.ReactNative.Cxx/TurboModuleProvider.cpp +1 -1
- package/Microsoft.ReactNative.Managed/ReactSettingsSnapshot.cs +2 -0
- package/Microsoft.ReactNative.Managed/packages.lock.json +6 -3
- package/Microsoft.ReactNative.Managed.CodeGen/Microsoft.ReactNative.Managed.CodeGen.csproj +0 -1
- package/Mso/future/details/executor.h +1 -1
- package/Mso/src/debugAssertApi/debugAssertApi.cpp +1 -1
- package/PropertySheets/External/Microsoft.ReactNative.Composition.Common.props +8 -0
- package/PropertySheets/External/Microsoft.ReactNative.Composition.CppLib.props +24 -0
- package/PropertySheets/External/Microsoft.ReactNative.Composition.CppLib.targets +20 -0
- package/PropertySheets/External/Microsoft.ReactNative.Cpp.Dependencies.props +1 -1
- package/PropertySheets/External/Microsoft.ReactNative.WindowsSdk.Default.props +2 -0
- package/PropertySheets/Generated/PackageVersion.g.props +4 -4
- package/PropertySheets/JSEngine.props +0 -8
- package/PropertySheets/React.Cpp.props +14 -3
- package/PropertySheets/ReactCommunity.cpp.props +2 -2
- package/PropertySheets/Release.props +0 -1
- package/PropertySheets/WinUI.props +21 -1
- package/PropertySheets/x64.props +3 -0
- package/PropertySheets/x86.props +3 -0
- package/ReactCommon/ReactCommon.vcxproj +13 -8
- package/ReactCommon/ReactCommon.vcxproj.filters +12 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +114 -19
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.cpp +66 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +114 -52
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +13 -15
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/scrollview/ScrollViewProps.cpp +535 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +437 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/utils/jsi-utils.cpp +39 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/utils/jsi-utils.h +31 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/YGEnums.h +19 -24
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/algorithm/CalculateLayout.cpp +600 -980
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/enums/ExperimentalFeature.h +5 -11
- package/ReactCommon/cgmanifest.json +1 -1
- package/Scripts/EnableInternalWinAppSDKFeed.ps1 +21 -0
- package/Scripts/IntegrationTests.ps1 +26 -15
- package/Scripts/Microsoft.ReactNative.targets +0 -6
- package/Scripts/OfficeReact.Win32.nuspec +1 -2
- package/Scripts/TestServers.ps1 +2 -28
- package/Scripts/Tfs/Start-TestServers.ps1 +1 -21
- package/Scripts/Tfs/Stop-TestServers.ps1 +0 -5
- package/Scripts/rnw-dependencies.ps1 +38 -67
- package/Shared/CreateInstance.h +25 -0
- package/Shared/DevServerHelper.h +0 -3
- package/Shared/DevSettings.h +9 -0
- package/Shared/HermesRuntimeHolder.cpp +17 -0
- package/Shared/HermesRuntimeHolder.h +17 -0
- package/Shared/HermesSamplingProfiler.cpp +12 -10
- package/Shared/HermesSamplingProfiler.h +5 -4
- package/Shared/IDevSupportManager.h +4 -2
- package/Shared/InstanceManager.cpp +13 -11
- package/Shared/InstanceManager.h +8 -18
- package/Shared/JSI/ChakraRuntime.cpp +66 -9
- package/Shared/JSI/ChakraRuntime.h +8 -0
- package/Shared/JSI/JSExecutorFactoryDelegate.h +12 -0
- package/Shared/JSI/JSExecutorFactorySettings.cpp +30 -0
- package/Shared/JSI/JSExecutorFactorySettings.h +21 -0
- package/Shared/Modules/BlobModule.h +1 -1
- package/Shared/Modules/FileReaderModule.h +1 -1
- package/Shared/Modules/HttpModule.h +1 -1
- package/Shared/Modules/WebSocketTurboModule.h +1 -1
- package/Shared/Networking/OriginPolicyHttpFilter.cpp +19 -23
- package/Shared/Networking/OriginPolicyHttpFilter.h +4 -7
- package/Shared/Networking/WinRTHttpResource.cpp +2 -4
- package/Shared/OInstance.cpp +212 -165
- package/Shared/OInstance.h +19 -0
- package/Shared/Shared.vcxitems +134 -50
- package/Shared/Shared.vcxitems.filters +81 -24
- package/Shared/Utils.cpp +12 -10
- package/Shared/Utils.h +2 -2
- package/Shared/WebSocketJSExecutorFactory.h +1 -0
- package/codegen/NativeBugReportingSpec.g.h +0 -6
- package/codegen/NativeFrameRateLoggerSpec.g.h +0 -2
- package/codegen/NativeImageLoaderAndroidSpec.g.h +10 -23
- package/codegen/NativePerformanceObserverSpec.g.h +6 -0
- package/codegen/NativePlatformConstantsIOSSpec.g.h +2 -0
- package/codegen/NativePlatformConstantsWinSpec.g.h +17 -0
- package/codegen/NativePushNotificationManagerIOSSpec.g.h +8 -6
- package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +88 -0
- package/codegen/NativeUIManagerSpec.g.h +83 -95
- package/codegen/react/components/rnwcore/ComponentDescriptors.h +10 -7
- package/codegen/react/components/rnwcore/EventEmitters.cpp +40 -52
- package/codegen/react/components/rnwcore/EventEmitters.h +66 -84
- package/codegen/react/components/rnwcore/Props.cpp +60 -95
- package/codegen/react/components/rnwcore/Props.h +198 -239
- package/codegen/react/components/rnwcore/ShadowNodes.cpp +6 -7
- package/codegen/react/components/rnwcore/ShadowNodes.h +38 -29
- package/codegen/react/components/rnwcore/States.cpp +3 -5
- package/codegen/react/components/rnwcore/States.h +29 -16
- package/codegen/rnwcoreJSI-generated.cpp +1442 -1398
- package/codegen/rnwcoreJSI.h +6066 -3593
- package/index.js +66 -99
- package/index.windows.js +60 -102
- package/jest/assetFileTransformer.js +1 -1
- package/jest/local-setup.js +0 -5
- package/jest/mockModal.js +2 -1
- package/jest/mockScrollView.js +1 -2
- package/jest/renderer.js +1 -1
- package/jest/setup.js +6 -3
- package/just-task.js +1 -1
- package/package.json +30 -29
- package/{Libraries/Core → src/private/core}/setUpDOM.js +2 -2
- package/src/private/featureflags/NativeReactNativeFeatureFlags.js +42 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +140 -0
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +84 -0
- package/src/private/featureflags/__tests__/ReactNativeFeatureFlags-test.js +92 -0
- package/src/private/specs/components/ActivityIndicatorViewNativeComponent.js +53 -0
- package/src/private/specs/components/AndroidDrawerLayoutNativeComponent.js +124 -0
- package/src/private/specs/components/AndroidHorizontalScrollContentViewNativeComponent.js +26 -0
- package/src/private/specs/components/AndroidSwipeRefreshLayoutNativeComponent.js +74 -0
- package/src/private/specs/components/AndroidSwitchNativeComponent.js +62 -0
- package/src/private/specs/components/DebuggingOverlayNativeComponent.js +61 -0
- package/src/private/specs/components/PopupMenuAndroidNativeComponent.js +47 -0
- package/src/private/specs/components/ProgressBarAndroidNativeComponent.js +36 -0
- package/src/private/specs/components/PullToRefreshViewNativeComponent.js +71 -0
- package/src/private/specs/components/RCTInputAccessoryViewNativeComponent.js +26 -0
- package/src/private/specs/components/RCTModalHostViewNativeComponent.js +139 -0
- package/src/private/specs/components/RCTSafeAreaViewNativeComponent.js +25 -0
- package/src/private/specs/components/SwitchNativeComponent.js +61 -0
- package/src/private/specs/components/UnimplementedNativeViewNativeComponent.js +26 -0
- package/src/private/specs/modules/NativeAccessibilityInfo.js +33 -0
- package/src/private/specs/modules/NativeAccessibilityManager.js +66 -0
- package/src/private/specs/modules/NativeActionSheetManager.js +54 -0
- package/src/private/specs/modules/NativeAlertManager.js +35 -0
- package/src/private/specs/modules/NativeAnimatedModule.js +77 -0
- package/src/private/specs/modules/NativeAnimatedTurboModule.js +78 -0
- package/src/private/specs/modules/NativeAnimationsDebugModule.js +20 -0
- package/src/private/specs/modules/NativeAppState.js +33 -0
- package/src/private/specs/modules/NativeAppTheme.js +33 -0
- package/src/private/specs/modules/NativeAppearance.js +36 -0
- package/src/private/specs/modules/NativeBlobModule.js +59 -0
- package/src/private/specs/modules/NativeBugReporting.js +20 -0
- package/src/private/specs/modules/NativeClipboard.js +21 -0
- package/src/private/specs/modules/NativeDevLoadingView.js +24 -0
- package/src/private/specs/modules/NativeDevMenu.js +23 -0
- package/src/private/specs/modules/NativeDevSettings.js +33 -0
- package/src/private/specs/modules/NativeDevToolsSettingsManager.js +24 -0
- package/src/private/specs/modules/NativeDeviceEventManager.js +19 -0
- package/src/private/specs/modules/NativeDeviceInfo.js +58 -0
- package/src/private/specs/modules/NativeDialogManagerAndroid.js +48 -0
- package/{Libraries/Alert → src/private/specs/modules}/NativeDialogManagerWindows.js +5 -4
- package/src/private/specs/modules/NativeExceptionsManager.js +103 -0
- package/src/private/specs/modules/NativeFileReaderModule.js +22 -0
- package/src/private/specs/modules/NativeFrameRateLogger.js +22 -0
- package/src/private/specs/modules/NativeHeadlessJsTaskSupport.js +20 -0
- package/src/private/specs/modules/NativeI18nManager.js +28 -0
- package/src/private/specs/modules/NativeImageEditor.js +52 -0
- package/src/private/specs/modules/NativeImageLoaderAndroid.js +30 -0
- package/src/private/specs/modules/NativeImageLoaderIOS.js +37 -0
- package/src/private/specs/modules/NativeImageStoreAndroid.js +26 -0
- package/src/private/specs/modules/NativeImageStoreIOS.js +33 -0
- package/src/private/specs/modules/NativeIntentAndroid.js +30 -0
- package/src/private/specs/modules/NativeIntersectionObserver.js +41 -0
- package/src/private/specs/modules/NativeJSCHeapCapture.js +19 -0
- package/src/private/specs/modules/NativeJSCSamplingProfiler.js +19 -0
- package/src/private/specs/modules/NativeKeyboardObserver.js +20 -0
- package/src/private/specs/modules/NativeLinkingManager.js +27 -0
- package/src/private/specs/modules/NativeLogBox.js +20 -0
- package/src/private/specs/modules/NativeModalManager.js +21 -0
- package/src/private/specs/modules/NativeMutationObserver.js +58 -0
- package/src/private/specs/modules/NativeNetworkingAndroid.js +37 -0
- package/src/private/specs/modules/NativeNetworkingIOS.js +37 -0
- package/src/private/specs/modules/NativePermissionsAndroid.js +77 -0
- package/src/private/specs/modules/NativePlatformConstantsAndroid.js +44 -0
- package/src/private/specs/modules/NativePlatformConstantsIOS.js +37 -0
- package/src/private/specs/modules/NativePlatformConstantsWin.js +38 -0
- package/src/private/specs/modules/NativePushNotificationManagerIOS.js +107 -0
- package/src/private/specs/modules/NativeRedBox.js +20 -0
- package/src/private/specs/modules/NativeSampleTurboModule.js +53 -0
- package/src/private/specs/modules/NativeSegmentFetcher.js +28 -0
- package/src/private/specs/modules/NativeSettingsManager.js +25 -0
- package/src/private/specs/modules/NativeShareModule.js +23 -0
- package/src/private/specs/modules/NativeSoundManager.js +22 -0
- package/src/private/specs/modules/NativeSourceCode.js +36 -0
- package/src/private/specs/modules/NativeStatusBarManagerAndroid.js +68 -0
- package/src/private/specs/modules/NativeStatusBarManagerIOS.js +89 -0
- package/src/private/specs/modules/NativeTiming.js +26 -0
- package/src/private/specs/modules/NativeToastAndroid.js +38 -0
- package/src/private/specs/modules/NativeUIManager.js +118 -0
- package/src/private/specs/modules/NativeVibration.js +24 -0
- package/src/private/specs/modules/NativeWebSocketModule.js +34 -0
- package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReactNativeElement.js +6 -6
- package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyCharacterData.js +2 -2
- package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyElement.js +5 -5
- package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyNode.js +19 -10
- package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/DOMRectList.js +1 -1
- package/src/private/webapis/dom/oldstylecollections/__tests__/DOMRectList-test.js +85 -0
- package/src/private/webapis/dom/oldstylecollections/__tests__/HTMLCollection-test.js +80 -0
- package/src/private/webapis/dom/oldstylecollections/__tests__/NodeList-test.js +161 -0
- package/{Libraries/WebPerformance → src/private/webapis/performance}/NativePerformance.js +2 -2
- package/{Libraries/WebPerformance → src/private/webapis/performance}/NativePerformanceObserver.js +3 -2
- package/{Libraries/WebPerformance → src/private/webapis/performance}/Performance.js +2 -2
- package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceEventTiming.js +1 -1
- package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceObserver.js +21 -2
- package/{Libraries/WebPerformance → src/private/webapis/performance}/RawPerformanceEntry.js +1 -1
- package/{Libraries/WebPerformance → src/private/webapis/performance}/__mocks__/NativePerformanceObserver.js +9 -0
- package/src/private/webapis/performance/__tests__/EventCounts-test.js +116 -0
- package/src/private/webapis/performance/__tests__/NativePerformanceMock-test.js +82 -0
- package/src/private/webapis/performance/__tests__/NativePerformanceObserverMock-test.js +108 -0
- package/src/private/webapis/performance/__tests__/Performance-test.js +117 -0
- package/src/private/webapis/performance/__tests__/PerformanceObserver-test.js +208 -0
- package/template/cpp-app/src/App.cpp +2 -2
- package/template/cs-app/src/App.xaml.cs +2 -2
- package/templates/cpp-app/jest.config.windows.js +3 -0
- package/templates/cpp-app/metro.config.js +0 -2
- package/templates/cpp-app/template.config.js +24 -9
- package/templates/cpp-app/windows/ExperimentalFeatures.props +1 -1
- package/templates/cpp-app/windows/MyApp/AutolinkedNativeModules.g.cpp +13 -0
- package/templates/cpp-app/windows/MyApp/AutolinkedNativeModules.g.h +10 -0
- package/templates/cpp-app/windows/MyApp/MyApp.cpp +134 -249
- package/templates/cpp-app/windows/MyApp/MyApp.vcxproj +12 -11
- package/templates/cpp-app/windows/MyApp/MyApp.vcxproj.filters +6 -3
- package/templates/cpp-app/windows/MyApp/pch.h +12 -9
- package/templates/cpp-app/windows/MyApp/resource.h +0 -1
- package/templates/cpp-app/windows/MyApp.sln +26 -26
- package/templates/cpp-lib/example/metro.config.js +74 -0
- package/templates/cpp-lib/template.config.js +235 -0
- package/templates/cpp-lib/windows/ExperimentalFeatures.props +11 -0
- package/templates/cpp-lib/windows/MyLib/MyLib.cpp +18 -0
- package/templates/cpp-lib/windows/MyLib/MyLib.def +3 -0
- package/templates/cpp-lib/windows/MyLib/MyLib.h +31 -0
- package/templates/cpp-lib/windows/MyLib/MyLib.rc +0 -0
- package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj +148 -0
- package/templates/cpp-lib/windows/MyLib/MyLib.vcxproj.filters +44 -0
- package/templates/cpp-lib/windows/MyLib/ReactPackageProvider.cpp +20 -0
- package/templates/cpp-lib/windows/MyLib/ReactPackageProvider.h +24 -0
- package/templates/cpp-lib/windows/MyLib/ReactPackageProvider.idl +9 -0
- package/templates/cpp-lib/windows/MyLib/pch.cpp +1 -0
- package/templates/cpp-lib/windows/MyLib/pch.h +30 -0
- package/templates/cpp-lib/windows/MyLib/resource.h +5 -0
- package/templates/cpp-lib/windows/MyLib/targetver.h +8 -0
- package/templates/cpp-lib/windows/MyLib.sln +156 -0
- package/templates/cpp-lib/windows/_gitignore +41 -0
- package/templates/templateUtils.js +137 -0
- package/types/modules/globals.d.ts +1 -0
- package/Folly/TEMP_UntilFollyUpdate/hash/Hash.h +0 -1016
- package/Libraries/Components/Button.flow.js +0 -265
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.windows.js +0 -8
- package/Libraries/Components/ProgressBarAndroid/ProgressBarAndroid.windows.js +0 -14
- package/Libraries/Components/SafeAreaView/SafeAreaView.windows.js +0 -34
- package/Libraries/Components/ScrollView/ScrollView.windows.js +0 -1941
- package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +0 -85
- package/Libraries/Components/ToastAndroid/ToastAndroid.windows.js +0 -45
- package/Libraries/Components/Touchable/Touchable.flow.js +0 -284
- package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js +0 -189
- package/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js +0 -43
- package/Libraries/Image/Image.flow.js +0 -64
- package/Libraries/Inspector/DevtoolsOverlay.js +0 -223
- package/Libraries/Performance/QuickPerformanceLogger.js +0 -142
- package/Libraries/Settings/Settings.windows.js +0 -28
- package/Microsoft.ReactNative/CoreApp.cpp +0 -303
- package/Microsoft.ReactNative/CoreAppPage.cpp +0 -21
- package/Microsoft.ReactNative/CoreAppPage.idl +0 -12
- package/Microsoft.ReactNative/CoreAppPage.xaml +0 -14
- package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.cpp +0 -197
- package/Microsoft.ReactNative/Fabric/Composition/AbiCompositionViewComponentView.h +0 -84
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rnwcore/EventEmitters.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rnwcore/Props.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rnwcore/ShadowNodes.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/rnwcore/States.h +0 -5
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/core/graphicsConversions.h +0 -245
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/Color.h +0 -134
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/graphics/conversions.h +0 -27
- package/Microsoft.ReactNative/Modules/TimingModule.cpp +0 -229
- package/Microsoft.ReactNative/Modules/TimingModule.h +0 -88
- package/Microsoft.ReactNative.Cxx/CoreApp.h +0 -60
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.cpp +0 -60
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/LongLivedObject.h +0 -60
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.h +0 -63
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaLayoutableShadowNode.cpp +0 -1038
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/YogaStylableProps.cpp +0 -503
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/view/conversions.h +0 -895
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mapbuffer/MapBufferBuilder.cpp +0 -182
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/mounting/ShadowTree.cpp +0 -543
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/uimanager/UIManagerBinding.cpp +0 -1505
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/bits/NumericBitfield.h +0 -67
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/config/Config.h +0 -93
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/LayoutResults.h +0 -88
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.cpp +0 -606
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.h +0 -344
- package/ReactCommon/Yoga.cpp +0 -961
- /package/{Libraries/DOM/Geometry → src/private/webapis/dom/geometry}/DOMRect.js +0 -0
- /package/{Libraries/DOM/Geometry → src/private/webapis/dom/geometry}/DOMRectReadOnly.js +0 -0
- /package/{Libraries/DOM/Nodes → src/private/webapis/dom/nodes}/ReadOnlyText.js +0 -0
- /package/{Libraries/DOM/Nodes/Utilities → src/private/webapis/dom/nodes/utilities}/Traversal.js +0 -0
- /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/ArrayLikeUtils.js +0 -0
- /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/HTMLCollection.js +0 -0
- /package/{Libraries/DOM/OldStyleCollections → src/private/webapis/dom/oldstylecollections}/NodeList.js +0 -0
- /package/{Libraries/WebPerformance → src/private/webapis/performance}/EventCounts.js +0 -0
- /package/{Libraries/WebPerformance → src/private/webapis/performance}/MemoryInfo.js +0 -0
- /package/{Libraries/WebPerformance → src/private/webapis/performance}/PerformanceEntry.js +0 -0
- /package/{Libraries/WebPerformance → src/private/webapis/performance}/ReactNativeStartupTiming.js +0 -0
- /package/{Libraries/WebPerformance → src/private/webapis/performance}/__mocks__/NativePerformance.js +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
#include "pch.h"
|
|
3
3
|
#include "CompositionContextHelper.h"
|
|
4
|
-
#if __has_include("Composition.
|
|
5
|
-
#include "Composition.
|
|
4
|
+
#if __has_include("Composition.SystemCompositionContextHelper.g.cpp")
|
|
5
|
+
#include "Composition.SystemCompositionContextHelper.g.cpp"
|
|
6
6
|
#endif
|
|
7
7
|
#ifdef USE_WINUI3
|
|
8
8
|
#if __has_include("Composition.MicrosoftCompositionContextHelper.g.cpp")
|
|
@@ -37,16 +37,26 @@ struct CompositionTypeTraits<WindowsTypeTag> {
|
|
|
37
37
|
using CompositionAnimation = winrt::Windows::UI::Composition::CompositionAnimation;
|
|
38
38
|
using CompositionBackfaceVisibility = winrt::Windows::UI::Composition::CompositionBackfaceVisibility;
|
|
39
39
|
using CompositionBrush = winrt::Windows::UI::Composition::CompositionBrush;
|
|
40
|
+
using CompositionColorBrush = winrt::Windows::UI::Composition::CompositionColorBrush;
|
|
41
|
+
using CompositionContainerShape = winrt::Windows::UI::Composition::CompositionContainerShape;
|
|
40
42
|
using CompositionDrawingSurface = winrt::Windows::UI::Composition::CompositionDrawingSurface;
|
|
43
|
+
using CompositionEasingFunction = winrt::Windows::UI::Composition::CompositionEasingFunction;
|
|
41
44
|
using CompositionEllipseGeometry = winrt::Windows::UI::Composition::CompositionEllipseGeometry;
|
|
45
|
+
using CompositionGeometry = winrt::Windows::UI::Composition::CompositionGeometry;
|
|
46
|
+
using CompositionRoundedRectangleGeometry = winrt::Windows::UI::Composition::CompositionRoundedRectangleGeometry;
|
|
42
47
|
using CompositionNineGridBrush = winrt::Windows::UI::Composition::CompositionNineGridBrush;
|
|
48
|
+
using CompositionObject = winrt::Windows::UI::Composition::CompositionObject;
|
|
43
49
|
using CompositionPath = winrt::Windows::UI::Composition::CompositionPath;
|
|
50
|
+
using CompositionPropertySet = winrt::Windows::UI::Composition::CompositionPropertySet;
|
|
44
51
|
using CompositionSpriteShape = winrt::Windows::UI::Composition::CompositionSpriteShape;
|
|
45
52
|
using CompositionStretch = winrt::Windows::UI::Composition::CompositionStretch;
|
|
53
|
+
using CompositionStrokeCap = winrt::Windows::UI::Composition::CompositionStrokeCap;
|
|
46
54
|
using CompositionSurfaceBrush = winrt::Windows::UI::Composition::CompositionSurfaceBrush;
|
|
47
55
|
using Compositor = winrt::Windows::UI::Composition::Compositor;
|
|
48
56
|
using ContainerVisual = winrt::Windows::UI::Composition::ContainerVisual;
|
|
57
|
+
using CubicBezierEasingFunction = winrt::Windows::UI::Composition::CubicBezierEasingFunction;
|
|
49
58
|
using DropShadow = winrt::Windows::UI::Composition::DropShadow;
|
|
59
|
+
using ExpressionAnimation = winrt::Windows::UI::Composition::ExpressionAnimation;
|
|
50
60
|
using ICompositionSurface = winrt::Windows::UI::Composition::ICompositionSurface;
|
|
51
61
|
using IInteractionTrackerOwner = winrt::Windows::UI::Composition::Interactions::IInteractionTrackerOwner;
|
|
52
62
|
using InteractionSourceMode = winrt::Windows::UI::Composition::Interactions::InteractionSourceMode;
|
|
@@ -66,6 +76,7 @@ struct CompositionTypeTraits<WindowsTypeTag> {
|
|
|
66
76
|
using ScalarKeyFrameAnimation = winrt::Windows::UI::Composition::ScalarKeyFrameAnimation;
|
|
67
77
|
using ShapeVisual = winrt::Windows::UI::Composition::ShapeVisual;
|
|
68
78
|
using SpriteVisual = winrt::Windows::UI::Composition::SpriteVisual;
|
|
79
|
+
using StepEasingFunction = winrt::Windows::UI::Composition::StepEasingFunction;
|
|
69
80
|
using Visual = winrt::Windows::UI::Composition::Visual;
|
|
70
81
|
using VisualInteractionSource = winrt::Windows::UI::Composition::Interactions::VisualInteractionSource;
|
|
71
82
|
using VisualInteractionSourceRedirectionMode =
|
|
@@ -80,7 +91,7 @@ struct CompositionTypeTraits<WindowsTypeTag> {
|
|
|
80
91
|
using IInnerCompositionVisual = IWindowsCompositionVisual;
|
|
81
92
|
using IInnerCompositionBrush = IWindowsCompositionBrush;
|
|
82
93
|
using IInnerCompositionDrawingSurface = IWindowsCompositionDrawingSurfaceInner;
|
|
83
|
-
using CompositionContextHelper = winrt::Microsoft::ReactNative::Composition::
|
|
94
|
+
using CompositionContextHelper = winrt::Microsoft::ReactNative::Composition::SystemCompositionContextHelper;
|
|
84
95
|
};
|
|
85
96
|
using WindowsTypeRedirects = CompositionTypeTraits<WindowsTypeTag>;
|
|
86
97
|
|
|
@@ -94,16 +105,26 @@ struct CompositionTypeTraits<MicrosoftTypeTag> {
|
|
|
94
105
|
using CompositionAnimation = winrt::Microsoft::UI::Composition::CompositionAnimation;
|
|
95
106
|
using CompositionBackfaceVisibility = winrt::Microsoft::UI::Composition::CompositionBackfaceVisibility;
|
|
96
107
|
using CompositionBrush = winrt::Microsoft::UI::Composition::CompositionBrush;
|
|
108
|
+
using CompositionColorBrush = winrt::Microsoft::UI::Composition::CompositionColorBrush;
|
|
109
|
+
using CompositionContainerShape = winrt::Microsoft::UI::Composition::CompositionContainerShape;
|
|
97
110
|
using CompositionDrawingSurface = winrt::Microsoft::UI::Composition::CompositionDrawingSurface;
|
|
111
|
+
using CompositionEasingFunction = winrt::Microsoft::UI::Composition::CompositionEasingFunction;
|
|
98
112
|
using CompositionEllipseGeometry = winrt::Microsoft::UI::Composition::CompositionEllipseGeometry;
|
|
113
|
+
using CompositionGeometry = winrt::Microsoft::UI::Composition::CompositionGeometry;
|
|
114
|
+
using CompositionRoundedRectangleGeometry = winrt::Microsoft::UI::Composition::CompositionRoundedRectangleGeometry;
|
|
99
115
|
using CompositionNineGridBrush = winrt::Microsoft::UI::Composition::CompositionNineGridBrush;
|
|
116
|
+
using CompositionObject = winrt::Microsoft::UI::Composition::CompositionObject;
|
|
100
117
|
using CompositionPath = winrt::Microsoft::UI::Composition::CompositionPath;
|
|
118
|
+
using CompositionPropertySet = winrt::Microsoft::UI::Composition::CompositionPropertySet;
|
|
101
119
|
using CompositionSpriteShape = winrt::Microsoft::UI::Composition::CompositionSpriteShape;
|
|
102
120
|
using CompositionStretch = winrt::Microsoft::UI::Composition::CompositionStretch;
|
|
121
|
+
using CompositionStrokeCap = winrt::Microsoft::UI::Composition::CompositionStrokeCap;
|
|
103
122
|
using CompositionSurfaceBrush = winrt::Microsoft::UI::Composition::CompositionSurfaceBrush;
|
|
104
123
|
using Compositor = winrt::Microsoft::UI::Composition::Compositor;
|
|
105
124
|
using ContainerVisual = winrt::Microsoft::UI::Composition::ContainerVisual;
|
|
125
|
+
using CubicBezierEasingFunction = winrt::Microsoft::UI::Composition::CubicBezierEasingFunction;
|
|
106
126
|
using DropShadow = winrt::Microsoft::UI::Composition::DropShadow;
|
|
127
|
+
using ExpressionAnimation = winrt::Microsoft::UI::Composition::ExpressionAnimation;
|
|
107
128
|
using ICompositionSurface = winrt::Microsoft::UI::Composition::ICompositionSurface;
|
|
108
129
|
using IInteractionTrackerOwner = winrt::Microsoft::UI::Composition::Interactions::IInteractionTrackerOwner;
|
|
109
130
|
using InteractionSourceMode = winrt::Microsoft::UI::Composition::Interactions::InteractionSourceMode;
|
|
@@ -123,6 +144,7 @@ struct CompositionTypeTraits<MicrosoftTypeTag> {
|
|
|
123
144
|
using ScalarKeyFrameAnimation = winrt::Microsoft::UI::Composition::ScalarKeyFrameAnimation;
|
|
124
145
|
using ShapeVisual = winrt::Microsoft::UI::Composition::ShapeVisual;
|
|
125
146
|
using SpriteVisual = winrt::Microsoft::UI::Composition::SpriteVisual;
|
|
147
|
+
using StepEasingFunction = winrt::Microsoft::UI::Composition::StepEasingFunction;
|
|
126
148
|
using Visual = winrt::Microsoft::UI::Composition::Visual;
|
|
127
149
|
using VisualInteractionSource = winrt::Microsoft::UI::Composition::Interactions::VisualInteractionSource;
|
|
128
150
|
using VisualInteractionSourceRedirectionMode =
|
|
@@ -233,6 +255,11 @@ struct CompDrawingSurfaceBrush : public winrt::implements<
|
|
|
233
255
|
}
|
|
234
256
|
|
|
235
257
|
HRESULT BeginDraw(ID2D1DeviceContext **deviceContextOut, POINT *offset) noexcept {
|
|
258
|
+
#ifdef DEBUG
|
|
259
|
+
// Drawing to a zero sized surface is a waste of time
|
|
260
|
+
auto size = m_drawingSurfaceInterop.as<typename TTypeRedirects::CompositionDrawingSurface>().Size();
|
|
261
|
+
assert(size.Width != 0 && size.Height != 0);
|
|
262
|
+
#endif
|
|
236
263
|
return m_drawingSurfaceInterop->BeginDraw(nullptr, __uuidof(ID2D1DeviceContext), (void **)deviceContextOut, offset);
|
|
237
264
|
}
|
|
238
265
|
|
|
@@ -288,22 +315,103 @@ using MicrosoftCompDrawingSurfaceBrush = CompDrawingSurfaceBrush<MicrosoftTypeRe
|
|
|
288
315
|
#endif
|
|
289
316
|
|
|
290
317
|
template <typename TTypeRedirects>
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
318
|
+
void SetAnimationClass(
|
|
319
|
+
winrt::Microsoft::ReactNative::Composition::AnimationClass value,
|
|
320
|
+
typename const TTypeRedirects::Visual &visual) {
|
|
321
|
+
constexpr int64_t ScrollBarExpandBeginTime = 400; // ms
|
|
322
|
+
constexpr int64_t ScrollBarExpandDuration = 167; // ms
|
|
323
|
+
constexpr int64_t SwitchDuration = 167; // ms
|
|
324
|
+
|
|
325
|
+
switch (value) {
|
|
326
|
+
case winrt::Microsoft::ReactNative::Composition::AnimationClass::None: {
|
|
327
|
+
visual.ImplicitAnimations(nullptr);
|
|
328
|
+
break;
|
|
329
|
+
}
|
|
297
330
|
|
|
298
|
-
|
|
331
|
+
case winrt::Microsoft::ReactNative::Composition::AnimationClass::SwitchThumb: {
|
|
332
|
+
auto compositor = visual.Compositor();
|
|
333
|
+
auto offsetAnimation = compositor.CreateVector3KeyFrameAnimation();
|
|
334
|
+
offsetAnimation.InsertExpressionKeyFrame(
|
|
335
|
+
0.0f, L"vector3(this.CurrentValue.X, this.FinalValue.Y, this.FinalValue.Z)");
|
|
336
|
+
offsetAnimation.InsertExpressionKeyFrame(1.0f, L"this.FinalValue");
|
|
337
|
+
offsetAnimation.Target(L"Offset");
|
|
338
|
+
offsetAnimation.Duration(std::chrono::milliseconds(SwitchDuration));
|
|
339
|
+
|
|
340
|
+
auto implicitAnimations = compositor.CreateImplicitAnimationCollection();
|
|
341
|
+
implicitAnimations.Insert(L"Offset", offsetAnimation);
|
|
342
|
+
|
|
343
|
+
visual.ImplicitAnimations(implicitAnimations);
|
|
344
|
+
break;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
case winrt::Microsoft::ReactNative::Composition::AnimationClass::ScrollBar: {
|
|
348
|
+
auto compositor = visual.Compositor();
|
|
349
|
+
|
|
350
|
+
auto opacityAnimation = compositor.CreateScalarKeyFrameAnimation();
|
|
351
|
+
opacityAnimation.InsertExpressionKeyFrame(0.0f, L"this.StartingValue");
|
|
352
|
+
opacityAnimation.InsertExpressionKeyFrame(1.0f, L"this.FinalValue");
|
|
353
|
+
opacityAnimation.Target(L"Opacity");
|
|
354
|
+
opacityAnimation.DelayTime(std::chrono::milliseconds(ScrollBarExpandBeginTime));
|
|
355
|
+
opacityAnimation.Duration(std::chrono::milliseconds(ScrollBarExpandDuration));
|
|
356
|
+
|
|
357
|
+
auto implicitAnimations = compositor.CreateImplicitAnimationCollection();
|
|
358
|
+
implicitAnimations.Insert(L"Opacity", opacityAnimation);
|
|
359
|
+
visual.ImplicitAnimations(implicitAnimations);
|
|
360
|
+
break;
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
case winrt::Microsoft::ReactNative::Composition::AnimationClass::ScrollBarThumbVertical:
|
|
364
|
+
case winrt::Microsoft::ReactNative::Composition::AnimationClass::ScrollBarThumbHorizontal: {
|
|
365
|
+
auto compositor = visual.Compositor();
|
|
366
|
+
auto offsetAnimation = compositor.CreateVector3KeyFrameAnimation();
|
|
367
|
+
// We cannot just use a DelayTime, since we want changes to the offset in the scrolling dirction to happen
|
|
368
|
+
// immediately, and only delay the offset changes used when hiding/showing the scrollbar
|
|
369
|
+
float delayStartFrameOffset =
|
|
370
|
+
static_cast<float>(ScrollBarExpandBeginTime) / (ScrollBarExpandBeginTime + ScrollBarExpandDuration);
|
|
371
|
+
if (value == winrt::Microsoft::ReactNative::Composition::AnimationClass::ScrollBarThumbVertical) {
|
|
372
|
+
offsetAnimation.InsertExpressionKeyFrame(
|
|
373
|
+
0.0f, L"vector3(this.CurrentValue.X, this.FinalValue.Y, this.FinalValue.Z)");
|
|
374
|
+
offsetAnimation.InsertExpressionKeyFrame(
|
|
375
|
+
delayStartFrameOffset, L"vector3(this.CurrentValue.X, this.FinalValue.Y, this.FinalValue.Z)");
|
|
376
|
+
} else {
|
|
377
|
+
offsetAnimation.InsertExpressionKeyFrame(
|
|
378
|
+
0.0f, L"vector3(this.FinalValue.X, this.CurrentValue.Y, this.FinalValue.Z)");
|
|
379
|
+
offsetAnimation.InsertExpressionKeyFrame(
|
|
380
|
+
delayStartFrameOffset, L"vector3(this.FinalValue.X, this.CurrentValue.Y, this.FinalValue.Z)");
|
|
381
|
+
}
|
|
382
|
+
offsetAnimation.InsertExpressionKeyFrame(1.0f, L"this.FinalValue");
|
|
383
|
+
offsetAnimation.Target(L"Offset");
|
|
384
|
+
offsetAnimation.Duration(std::chrono::milliseconds(ScrollBarExpandBeginTime + ScrollBarExpandDuration));
|
|
385
|
+
|
|
386
|
+
auto scaleAnimation = compositor.CreateVector3KeyFrameAnimation();
|
|
387
|
+
scaleAnimation.InsertExpressionKeyFrame(0.0f, L"this.StartingValue");
|
|
388
|
+
scaleAnimation.InsertExpressionKeyFrame(1.0f, L"this.FinalValue");
|
|
389
|
+
scaleAnimation.Target(L"Scale");
|
|
390
|
+
scaleAnimation.DelayTime(std::chrono::milliseconds(ScrollBarExpandBeginTime));
|
|
391
|
+
scaleAnimation.Duration(std::chrono::milliseconds(ScrollBarExpandDuration));
|
|
392
|
+
|
|
393
|
+
auto implicitAnimations = compositor.CreateImplicitAnimationCollection();
|
|
394
|
+
implicitAnimations.Insert(L"Offset", offsetAnimation);
|
|
395
|
+
implicitAnimations.Insert(L"Scale", scaleAnimation);
|
|
396
|
+
|
|
397
|
+
visual.ImplicitAnimations(implicitAnimations);
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
template <typename TTypeRedirects, typename TVisual = typename TTypeRedirects::Visual>
|
|
403
|
+
struct CompVisualImpl {
|
|
404
|
+
CompVisualImpl(typename TVisual const &visual) : m_visual(visual) {}
|
|
405
|
+
|
|
406
|
+
typename TTypeRedirects::Visual InnerVisual() const noexcept {
|
|
299
407
|
return m_visual;
|
|
300
408
|
}
|
|
301
409
|
|
|
302
410
|
void InsertAt(const winrt::Microsoft::ReactNative::Composition::IVisual &visual, uint32_t index) noexcept {
|
|
303
|
-
auto containerChildren =
|
|
411
|
+
auto containerChildren = InnerVisual().as<typename TTypeRedirects::ContainerVisual>().Children();
|
|
304
412
|
auto compVisual = TTypeRedirects::CompositionContextHelper::InnerVisual(visual);
|
|
305
|
-
if (index == 0
|
|
306
|
-
containerChildren.
|
|
413
|
+
if (index == 0) {
|
|
414
|
+
containerChildren.InsertAtBottom(compVisual);
|
|
307
415
|
return;
|
|
308
416
|
}
|
|
309
417
|
auto insertAfter = containerChildren.First();
|
|
@@ -314,7 +422,7 @@ struct CompVisual : public winrt::implements<
|
|
|
314
422
|
|
|
315
423
|
void Remove(const winrt::Microsoft::ReactNative::Composition::IVisual &visual) noexcept {
|
|
316
424
|
auto compVisual = TTypeRedirects::CompositionContextHelper::InnerVisual(visual);
|
|
317
|
-
auto containerChildren =
|
|
425
|
+
auto containerChildren = InnerVisual().as<typename TTypeRedirects::ContainerVisual>().Children();
|
|
318
426
|
containerChildren.Remove(compVisual);
|
|
319
427
|
}
|
|
320
428
|
|
|
@@ -380,16 +488,49 @@ struct CompVisual : public winrt::implements<
|
|
|
380
488
|
m_visual.RelativeSizeAdjustment(relativeSizeAdjustment);
|
|
381
489
|
}
|
|
382
490
|
|
|
383
|
-
winrt::Microsoft::ReactNative::Composition::BackfaceVisibility BackfaceVisibility() {
|
|
491
|
+
winrt::Microsoft::ReactNative::Composition::BackfaceVisibility BackfaceVisibility() const noexcept {
|
|
384
492
|
return static_cast<winrt::Microsoft::ReactNative::Composition::BackfaceVisibility>(m_visual.BackfaceVisibility());
|
|
385
493
|
}
|
|
386
494
|
|
|
387
|
-
void BackfaceVisibility(winrt::Microsoft::ReactNative::Composition::BackfaceVisibility value) {
|
|
495
|
+
void BackfaceVisibility(winrt::Microsoft::ReactNative::Composition::BackfaceVisibility value) noexcept {
|
|
388
496
|
m_visual.BackfaceVisibility(static_cast<typename TTypeRedirects::CompositionBackfaceVisibility>(value));
|
|
389
497
|
}
|
|
390
498
|
|
|
391
|
-
|
|
392
|
-
|
|
499
|
+
winrt::hstring Comment() const noexcept {
|
|
500
|
+
return m_visual.Comment();
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
void Comment(winrt::hstring value) noexcept {
|
|
504
|
+
m_visual.Comment(value);
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
void AnimationClass(winrt::Microsoft::ReactNative::Composition::AnimationClass value) noexcept {
|
|
508
|
+
SetAnimationClass<TTypeRedirects>(value, m_visual);
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
protected:
|
|
512
|
+
TVisual m_visual;
|
|
513
|
+
};
|
|
514
|
+
|
|
515
|
+
template <typename TTypeRedirects>
|
|
516
|
+
struct CompVisual : public winrt::implements<
|
|
517
|
+
CompVisual<TTypeRedirects>,
|
|
518
|
+
winrt::Microsoft::ReactNative::Composition::IVisual,
|
|
519
|
+
typename TTypeRedirects::IInnerCompositionVisual,
|
|
520
|
+
IVisualInterop>,
|
|
521
|
+
CompVisualImpl<TTypeRedirects> {
|
|
522
|
+
using Super = CompVisualImpl<TTypeRedirects>;
|
|
523
|
+
CompVisual(typename TTypeRedirects::Visual const &visual) : CompVisualImpl<TTypeRedirects>(visual) {}
|
|
524
|
+
|
|
525
|
+
// IInnerCompositionVisual
|
|
526
|
+
typename TTypeRedirects::Visual InnerVisual() const noexcept override {
|
|
527
|
+
return Super::m_visual;
|
|
528
|
+
}
|
|
529
|
+
|
|
530
|
+
// IVisualInterop
|
|
531
|
+
void SetClippingPath(ID2D1Geometry *clippingPath) noexcept override {
|
|
532
|
+
Super::SetClippingPath(clippingPath);
|
|
533
|
+
}
|
|
393
534
|
};
|
|
394
535
|
using WindowsCompVisual = CompVisual<WindowsTypeRedirects>;
|
|
395
536
|
#ifdef USE_WINUI3
|
|
@@ -402,116 +543,114 @@ struct CompSpriteVisual : winrt::implements<
|
|
|
402
543
|
winrt::Microsoft::ReactNative::Composition::ISpriteVisual,
|
|
403
544
|
winrt::Microsoft::ReactNative::Composition::IVisual,
|
|
404
545
|
typename TTypeRedirects::IInnerCompositionVisual,
|
|
405
|
-
IVisualInterop
|
|
406
|
-
|
|
546
|
+
IVisualInterop>,
|
|
547
|
+
CompVisualImpl<TTypeRedirects, typename TTypeRedirects::SpriteVisual> {
|
|
548
|
+
using Super = CompVisualImpl<TTypeRedirects, typename TTypeRedirects::SpriteVisual>;
|
|
549
|
+
CompSpriteVisual(typename TTypeRedirects::SpriteVisual const &visual) : Super(visual) {}
|
|
407
550
|
|
|
551
|
+
// IInnerCompositionVisual
|
|
408
552
|
typename TTypeRedirects::Visual InnerVisual() const noexcept override {
|
|
409
|
-
return m_visual;
|
|
410
|
-
}
|
|
411
|
-
|
|
412
|
-
void InsertAt(const winrt::Microsoft::ReactNative::Composition::IVisual &visual, uint32_t index) noexcept {
|
|
413
|
-
auto containerChildren = m_visual.Children();
|
|
414
|
-
auto compVisual = TTypeRedirects::CompositionContextHelper::InnerVisual(visual);
|
|
415
|
-
if (index == 0) {
|
|
416
|
-
containerChildren.InsertAtBottom(compVisual);
|
|
417
|
-
return;
|
|
418
|
-
}
|
|
419
|
-
auto insertAfter = containerChildren.First();
|
|
420
|
-
for (uint32_t i = 1; i < index; i++)
|
|
421
|
-
insertAfter.MoveNext();
|
|
422
|
-
containerChildren.InsertAbove(compVisual, insertAfter.Current());
|
|
423
|
-
}
|
|
424
|
-
|
|
425
|
-
void Remove(const winrt::Microsoft::ReactNative::Composition::IVisual &visual) noexcept {
|
|
426
|
-
auto compVisual = TTypeRedirects::CompositionContextHelper::InnerVisual(visual);
|
|
427
|
-
auto containerChildren = m_visual.Children();
|
|
428
|
-
containerChildren.Remove(compVisual);
|
|
553
|
+
return Super::m_visual;
|
|
429
554
|
}
|
|
430
555
|
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
for (uint32_t i = 0; i < index; i++)
|
|
435
|
-
it.MoveNext();
|
|
436
|
-
return TTypeRedirects::CompositionContextHelper::CreateVisual(it.Current());
|
|
556
|
+
// IVisualInterop
|
|
557
|
+
void SetClippingPath(ID2D1Geometry *clippingPath) noexcept override {
|
|
558
|
+
Super::SetClippingPath(clippingPath);
|
|
437
559
|
}
|
|
438
560
|
|
|
439
561
|
void Brush(const winrt::Microsoft::ReactNative::Composition::IBrush &brush) noexcept {
|
|
440
|
-
m_visual.Brush(TTypeRedirects::CompositionContextHelper::InnerBrush(brush));
|
|
441
|
-
}
|
|
442
|
-
|
|
443
|
-
void Opacity(float opacity) noexcept {
|
|
444
|
-
m_visual.Opacity(opacity);
|
|
445
|
-
}
|
|
446
|
-
|
|
447
|
-
void Scale(winrt::Windows::Foundation::Numerics::float3 const &scale) noexcept {
|
|
448
|
-
m_visual.Scale(scale);
|
|
562
|
+
Super::m_visual.Brush(TTypeRedirects::CompositionContextHelper::InnerBrush(brush));
|
|
449
563
|
}
|
|
450
564
|
|
|
451
|
-
void
|
|
452
|
-
m_visual.
|
|
565
|
+
void Shadow(const winrt::Microsoft::ReactNative::Composition::IDropShadow &shadow) noexcept {
|
|
566
|
+
Super::m_visual.Shadow(TTypeRedirects::CompositionContextHelper::InnerDropShadow(shadow));
|
|
453
567
|
}
|
|
568
|
+
};
|
|
569
|
+
using WindowsCompSpriteVisual = CompSpriteVisual<WindowsTypeRedirects>;
|
|
570
|
+
#ifdef USE_WINUI3
|
|
571
|
+
using MicrosoftCompSpriteVisual = CompSpriteVisual<MicrosoftTypeRedirects>;
|
|
572
|
+
#endif
|
|
454
573
|
|
|
455
|
-
|
|
456
|
-
|
|
574
|
+
template <typename TTypeRedirects>
|
|
575
|
+
struct CompRoundedRectangleVisual : winrt::implements<
|
|
576
|
+
CompRoundedRectangleVisual<TTypeRedirects>,
|
|
577
|
+
winrt::Microsoft::ReactNative::Composition::IRoundedRectangleVisual,
|
|
578
|
+
winrt::Microsoft::ReactNative::Composition::IVisual,
|
|
579
|
+
typename TTypeRedirects::IInnerCompositionVisual,
|
|
580
|
+
IVisualInterop>,
|
|
581
|
+
CompVisualImpl<TTypeRedirects> {
|
|
582
|
+
using Super = CompVisualImpl<TTypeRedirects>;
|
|
583
|
+
CompRoundedRectangleVisual(typename TTypeRedirects::ShapeVisual const &visual) : Super(visual) {
|
|
584
|
+
auto compositor = visual.Compositor();
|
|
585
|
+
m_geometry = compositor.CreateRoundedRectangleGeometry();
|
|
586
|
+
m_spriteShape = compositor.CreateSpriteShape();
|
|
587
|
+
m_spriteShape.Geometry(m_geometry);
|
|
588
|
+
visual.Shapes().Append(m_spriteShape);
|
|
589
|
+
}
|
|
590
|
+
|
|
591
|
+
// IInnerCompositionVisual
|
|
592
|
+
typename TTypeRedirects::Visual InnerVisual() const noexcept override {
|
|
593
|
+
return Super::m_visual;
|
|
457
594
|
}
|
|
458
595
|
|
|
459
|
-
|
|
460
|
-
|
|
596
|
+
// IVisualInterop
|
|
597
|
+
void SetClippingPath(ID2D1Geometry *clippingPath) noexcept override {
|
|
598
|
+
Super::SetClippingPath(clippingPath);
|
|
461
599
|
}
|
|
462
600
|
|
|
463
601
|
void Size(winrt::Windows::Foundation::Numerics::float2 const &size) noexcept {
|
|
464
|
-
|
|
602
|
+
m_size = size;
|
|
603
|
+
Super::m_visual.Size(size);
|
|
604
|
+
updateGeometry();
|
|
465
605
|
}
|
|
466
606
|
|
|
467
|
-
void
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
void Offset(
|
|
472
|
-
winrt::Windows::Foundation::Numerics::float3 offset,
|
|
473
|
-
winrt::Windows::Foundation::Numerics::float3 relativeAdjustment) noexcept {
|
|
474
|
-
m_visual.Offset(offset);
|
|
475
|
-
m_visual.RelativeOffsetAdjustment(relativeAdjustment);
|
|
607
|
+
void updateGeometry() {
|
|
608
|
+
m_geometry.Size({m_size.x - (m_strokeThickness * 2), m_size.y - (m_strokeThickness * 2)});
|
|
609
|
+
m_geometry.CornerRadius({m_cornerRadius.x - m_strokeThickness, m_cornerRadius.y - m_strokeThickness});
|
|
610
|
+
m_geometry.Offset({m_strokeThickness, m_strokeThickness});
|
|
476
611
|
}
|
|
477
612
|
|
|
478
613
|
void RelativeSizeWithOffset(
|
|
479
614
|
winrt::Windows::Foundation::Numerics::float2 size,
|
|
480
615
|
winrt::Windows::Foundation::Numerics::float2 relativeSizeAdjustment) noexcept {
|
|
481
|
-
|
|
482
|
-
|
|
616
|
+
assert(false); // Does not correctly handle relativeSizeAdjustment - since geometry does not support
|
|
617
|
+
// RelativeSizeAdjustment
|
|
618
|
+
m_size = size;
|
|
619
|
+
Super::m_visual.Size(size);
|
|
620
|
+
updateGeometry();
|
|
621
|
+
|
|
622
|
+
Super::m_visual.RelativeSizeAdjustment(relativeSizeAdjustment);
|
|
483
623
|
}
|
|
484
624
|
|
|
485
|
-
winrt::Microsoft::ReactNative::Composition::
|
|
486
|
-
|
|
625
|
+
void Brush(const winrt::Microsoft::ReactNative::Composition::IBrush &brush) noexcept {
|
|
626
|
+
m_spriteShape.FillBrush(TTypeRedirects::CompositionContextHelper::InnerBrush(brush));
|
|
487
627
|
}
|
|
488
628
|
|
|
489
|
-
void
|
|
490
|
-
|
|
629
|
+
void CornerRadius(winrt::Windows::Foundation::Numerics::float2 value) noexcept {
|
|
630
|
+
m_cornerRadius = value;
|
|
631
|
+
updateGeometry();
|
|
491
632
|
}
|
|
492
633
|
|
|
493
|
-
void
|
|
494
|
-
|
|
495
|
-
m_visual.Clip(nullptr);
|
|
496
|
-
return;
|
|
497
|
-
}
|
|
498
|
-
auto geometry = winrt::make<GeometrySource>(clippingPath);
|
|
499
|
-
auto path = TTypeRedirects::CompositionPath(geometry);
|
|
500
|
-
auto pathgeo = m_visual.Compositor().CreatePathGeometry(path);
|
|
501
|
-
auto clip = m_visual.Compositor().CreateGeometricClip(pathgeo);
|
|
502
|
-
m_visual.Clip(clip);
|
|
634
|
+
void StrokeBrush(const winrt::Microsoft::ReactNative::Composition::IBrush &brush) noexcept {
|
|
635
|
+
m_spriteShape.StrokeBrush(TTypeRedirects::CompositionContextHelper::InnerBrush(brush));
|
|
503
636
|
}
|
|
504
637
|
|
|
505
|
-
void
|
|
506
|
-
|
|
638
|
+
void StrokeThickness(float value) noexcept {
|
|
639
|
+
m_strokeThickness = value;
|
|
640
|
+
m_spriteShape.StrokeThickness(value);
|
|
641
|
+
updateGeometry();
|
|
507
642
|
}
|
|
508
643
|
|
|
509
644
|
private:
|
|
510
|
-
|
|
645
|
+
float m_strokeThickness{0.0f};
|
|
646
|
+
winrt::Windows::Foundation::Numerics::float2 m_cornerRadius{0};
|
|
647
|
+
winrt::Windows::Foundation::Numerics::float2 m_size{0};
|
|
648
|
+
typename TTypeRedirects::CompositionSpriteShape m_spriteShape{nullptr};
|
|
649
|
+
typename TTypeRedirects::CompositionRoundedRectangleGeometry m_geometry{nullptr};
|
|
511
650
|
};
|
|
512
|
-
using
|
|
651
|
+
using WindowsCompRoundedRectangleVisual = CompRoundedRectangleVisual<WindowsTypeRedirects>;
|
|
513
652
|
#ifdef USE_WINUI3
|
|
514
|
-
using
|
|
653
|
+
using MicrosoftCompRoundedRectangleVisual = CompRoundedRectangleVisual<MicrosoftTypeRedirects>;
|
|
515
654
|
#endif
|
|
516
655
|
|
|
517
656
|
struct CompScrollPositionChangedArgs : winrt::implements<
|
|
@@ -519,7 +658,7 @@ struct CompScrollPositionChangedArgs : winrt::implements<
|
|
|
519
658
|
winrt::Microsoft::ReactNative::Composition::IScrollPositionChangedArgs> {
|
|
520
659
|
CompScrollPositionChangedArgs(winrt::Windows::Foundation::Numerics::float2 position) : m_position(position) {}
|
|
521
660
|
|
|
522
|
-
winrt::Windows::Foundation::Numerics::float2 Position() {
|
|
661
|
+
winrt::Windows::Foundation::Numerics::float2 Position() const noexcept {
|
|
523
662
|
return m_position;
|
|
524
663
|
}
|
|
525
664
|
|
|
@@ -613,8 +752,8 @@ struct CompScrollerVisual : winrt::implements<
|
|
|
613
752
|
void InsertAt(const winrt::Microsoft::ReactNative::Composition::IVisual &visual, uint32_t index) noexcept {
|
|
614
753
|
auto containerChildren = m_contentVisual.Children();
|
|
615
754
|
auto compVisual = TTypeRedirects::CompositionContextHelper::InnerVisual(visual);
|
|
616
|
-
if (index == 0
|
|
617
|
-
containerChildren.
|
|
755
|
+
if (index == 0) {
|
|
756
|
+
containerChildren.InsertAtBottom(compVisual);
|
|
618
757
|
return;
|
|
619
758
|
}
|
|
620
759
|
auto insertAfter = containerChildren.First();
|
|
@@ -693,6 +832,14 @@ struct CompScrollerVisual : winrt::implements<
|
|
|
693
832
|
m_visual.BackfaceVisibility(static_cast<typename TTypeRedirects::CompositionBackfaceVisibility>(value));
|
|
694
833
|
}
|
|
695
834
|
|
|
835
|
+
winrt::hstring Comment() const noexcept {
|
|
836
|
+
return m_visual.Comment();
|
|
837
|
+
}
|
|
838
|
+
|
|
839
|
+
void Comment(winrt::hstring value) noexcept {
|
|
840
|
+
m_visual.Comment(value);
|
|
841
|
+
}
|
|
842
|
+
|
|
696
843
|
void SetClippingPath(ID2D1Geometry *clippingPath) noexcept {
|
|
697
844
|
if (!clippingPath) {
|
|
698
845
|
m_visual.Clip(nullptr);
|
|
@@ -711,7 +858,7 @@ struct CompScrollerVisual : winrt::implements<
|
|
|
711
858
|
|
|
712
859
|
winrt::event_token ScrollPositionChanged(
|
|
713
860
|
winrt::Windows::Foundation::EventHandler<
|
|
714
|
-
winrt::Microsoft::ReactNative::Composition::IScrollPositionChangedArgs> const &handler) {
|
|
861
|
+
winrt::Microsoft::ReactNative::Composition::IScrollPositionChangedArgs> const &handler) noexcept {
|
|
715
862
|
return m_scrollPositionChangedEvent.add(handler);
|
|
716
863
|
}
|
|
717
864
|
|
|
@@ -725,7 +872,7 @@ struct CompScrollerVisual : winrt::implements<
|
|
|
725
872
|
UpdateMaxPosition();
|
|
726
873
|
}
|
|
727
874
|
|
|
728
|
-
winrt::Windows::Foundation::Numerics::float3 ScrollPosition() noexcept {
|
|
875
|
+
winrt::Windows::Foundation::Numerics::float3 ScrollPosition() const noexcept {
|
|
729
876
|
return m_interactionTracker.Position();
|
|
730
877
|
}
|
|
731
878
|
|
|
@@ -734,7 +881,7 @@ struct CompScrollerVisual : winrt::implements<
|
|
|
734
881
|
static constexpr int64_t s_offsetsChangeMinMs{50};
|
|
735
882
|
static constexpr int64_t s_offsetsChangeMaxMs{1000};
|
|
736
883
|
|
|
737
|
-
typename TTypeRedirects::CompositionAnimation GetPositionAnimation(float x, float y) {
|
|
884
|
+
typename TTypeRedirects::CompositionAnimation GetPositionAnimation(float x, float y) noexcept {
|
|
738
885
|
const int64_t distance =
|
|
739
886
|
static_cast<int64_t>(std::sqrt(std::pow(x - m_currentPosition.x, 2.0f) + pow(y - m_currentPosition.y, 2.0f)));
|
|
740
887
|
auto compositor = m_visual.Compositor();
|
|
@@ -780,12 +927,16 @@ struct CompScrollerVisual : winrt::implements<
|
|
|
780
927
|
}
|
|
781
928
|
}
|
|
782
929
|
|
|
930
|
+
void AnimationClass(winrt::Microsoft::ReactNative::Composition::AnimationClass value) noexcept {
|
|
931
|
+
SetAnimationClass<TTypeRedirects>(value, m_visual);
|
|
932
|
+
}
|
|
933
|
+
|
|
783
934
|
private:
|
|
784
|
-
void FireScrollPositionChanged(winrt::Windows::Foundation::Numerics::float2 position) {
|
|
935
|
+
void FireScrollPositionChanged(winrt::Windows::Foundation::Numerics::float2 position) noexcept {
|
|
785
936
|
m_scrollPositionChangedEvent(*this, winrt::make<CompScrollPositionChangedArgs>(position));
|
|
786
937
|
}
|
|
787
938
|
|
|
788
|
-
void UpdateMaxPosition() {
|
|
939
|
+
void UpdateMaxPosition() noexcept {
|
|
789
940
|
m_interactionTracker.MaxPosition(
|
|
790
941
|
{std::max<float>(m_contentSize.x - m_visualSize.x, 0),
|
|
791
942
|
std::max<float>(m_contentSize.y - m_visualSize.y, 0),
|
|
@@ -818,74 +969,361 @@ struct CompActivityVisual : winrt::implements<
|
|
|
818
969
|
winrt::Microsoft::ReactNative::Composition::IVisual,
|
|
819
970
|
typename TTypeRedirects::IInnerCompositionVisual,
|
|
820
971
|
IVisualInterop> {
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
}
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
972
|
+
/************************************************************************************
|
|
973
|
+
* Begin of copy from ProgressRingIndeterminate.cpp which is autogen'd from lottie
|
|
974
|
+
* Changes were made to the namespaces, but otherwise code should be untouched
|
|
975
|
+
************************************************************************************/
|
|
976
|
+
|
|
977
|
+
static constexpr int64_t c_durationTicks{20000000L};
|
|
978
|
+
typename TTypeRedirects::Compositor const _c{nullptr};
|
|
979
|
+
typename TTypeRedirects::ExpressionAnimation const _reusableExpressionAnimation{nullptr};
|
|
980
|
+
typename TTypeRedirects::CompositionPropertySet const _themeProperties{nullptr};
|
|
981
|
+
typename TTypeRedirects::CompositionColorBrush _themeColor_Foreground_0{nullptr};
|
|
982
|
+
typename TTypeRedirects::CompositionColorBrush _themeColor_Foreground_1{nullptr};
|
|
983
|
+
typename TTypeRedirects::ContainerVisual _root{nullptr};
|
|
984
|
+
typename TTypeRedirects::CubicBezierEasingFunction _cubicBezierEasingFunction_0{nullptr};
|
|
985
|
+
typename TTypeRedirects::ExpressionAnimation _rootProgress{nullptr};
|
|
986
|
+
typename TTypeRedirects::StepEasingFunction _holdThenStepEasingFunction{nullptr};
|
|
987
|
+
|
|
988
|
+
static void StartProgressBoundAnimation(
|
|
989
|
+
typename TTypeRedirects::CompositionObject target,
|
|
990
|
+
winrt::hstring animatedPropertyName,
|
|
991
|
+
typename TTypeRedirects::CompositionAnimation animation,
|
|
992
|
+
typename TTypeRedirects::ExpressionAnimation controllerProgressExpression) {
|
|
993
|
+
target.StartAnimation(animatedPropertyName, animation);
|
|
994
|
+
const auto controller = target.TryGetAnimationController(animatedPropertyName);
|
|
995
|
+
controller.Pause();
|
|
996
|
+
controller.StartAnimation(L"Progress", controllerProgressExpression);
|
|
997
|
+
}
|
|
998
|
+
|
|
999
|
+
void BindProperty(
|
|
1000
|
+
typename TTypeRedirects::CompositionObject target,
|
|
1001
|
+
winrt::hstring animatedPropertyName,
|
|
1002
|
+
winrt::hstring expression,
|
|
1003
|
+
winrt::hstring referenceParameterName,
|
|
1004
|
+
typename TTypeRedirects::CompositionObject referencedObject) {
|
|
1005
|
+
_reusableExpressionAnimation.ClearAllParameters();
|
|
1006
|
+
_reusableExpressionAnimation.Expression(expression);
|
|
1007
|
+
_reusableExpressionAnimation.SetReferenceParameter(referenceParameterName, referencedObject);
|
|
1008
|
+
target.StartAnimation(animatedPropertyName, _reusableExpressionAnimation);
|
|
1009
|
+
}
|
|
1010
|
+
|
|
1011
|
+
void BindProperty2(
|
|
1012
|
+
typename TTypeRedirects::CompositionObject target,
|
|
1013
|
+
winrt::hstring animatedPropertyName,
|
|
1014
|
+
winrt::hstring expression,
|
|
1015
|
+
winrt::hstring referenceParameterName0,
|
|
1016
|
+
typename TTypeRedirects::CompositionObject referencedObject0,
|
|
1017
|
+
winrt::hstring referenceParameterName1,
|
|
1018
|
+
typename TTypeRedirects::CompositionObject referencedObject1) {
|
|
1019
|
+
_reusableExpressionAnimation.ClearAllParameters();
|
|
1020
|
+
_reusableExpressionAnimation.Expression(expression);
|
|
1021
|
+
_reusableExpressionAnimation.SetReferenceParameter(referenceParameterName0, referencedObject0);
|
|
1022
|
+
_reusableExpressionAnimation.SetReferenceParameter(referenceParameterName1, referencedObject1);
|
|
1023
|
+
target.StartAnimation(animatedPropertyName, _reusableExpressionAnimation);
|
|
1024
|
+
}
|
|
1025
|
+
|
|
1026
|
+
typename TTypeRedirects::ScalarKeyFrameAnimation CreateScalarKeyFrameAnimation(
|
|
1027
|
+
float initialProgress,
|
|
1028
|
+
float initialValue,
|
|
1029
|
+
typename TTypeRedirects::CompositionEasingFunction initialEasingFunction) {
|
|
1030
|
+
const auto result = _c.CreateScalarKeyFrameAnimation();
|
|
1031
|
+
result.Duration(winrt::Windows::Foundation::TimeSpan{c_durationTicks});
|
|
1032
|
+
result.InsertKeyFrame(initialProgress, initialValue, initialEasingFunction);
|
|
1033
|
+
return result;
|
|
1034
|
+
}
|
|
1035
|
+
|
|
1036
|
+
typename TTypeRedirects::CompositionSpriteShape CreateSpriteShape(
|
|
1037
|
+
typename TTypeRedirects::CompositionGeometry geometry,
|
|
1038
|
+
winrt::Windows::Foundation::Numerics::float3x2 transformMatrix) {
|
|
1039
|
+
const auto result = _c.CreateSpriteShape(geometry);
|
|
1040
|
+
result.TransformMatrix(transformMatrix);
|
|
1041
|
+
return result;
|
|
1042
|
+
}
|
|
1043
|
+
|
|
1044
|
+
// - Layer aggregator
|
|
1045
|
+
// Scale:5,5, Offset:<40, 40>
|
|
1046
|
+
// Color bound to theme property value: Background
|
|
1047
|
+
typename TTypeRedirects::CompositionColorBrush ThemeColor_Background() {
|
|
1048
|
+
const auto result = _c.CreateColorBrush();
|
|
1049
|
+
BindProperty(
|
|
1050
|
+
result,
|
|
1051
|
+
L"Color",
|
|
1052
|
+
L"ColorRGB(_theme.Background.W*1,_theme.Background.X,_theme.Background.Y,_theme.Background.Z)",
|
|
1053
|
+
L"_theme",
|
|
1054
|
+
_themeProperties);
|
|
1055
|
+
return result;
|
|
1056
|
+
}
|
|
1057
|
+
|
|
1058
|
+
// - - Layer aggregator
|
|
1059
|
+
// - Scale:5,5, Offset:<40, 40>
|
|
1060
|
+
// ShapeGroup: Ellipse B
|
|
1061
|
+
// Color bound to theme property value: Foreground
|
|
1062
|
+
typename TTypeRedirects::CompositionColorBrush ThemeColor_Foreground_0() {
|
|
1063
|
+
const auto result = _themeColor_Foreground_0 = _c.CreateColorBrush();
|
|
1064
|
+
const auto propertySet = result.Properties();
|
|
1065
|
+
propertySet.InsertScalar(L"Opacity0", 0.0F);
|
|
1066
|
+
BindProperty2(
|
|
1067
|
+
result,
|
|
1068
|
+
L"Color",
|
|
1069
|
+
L"ColorRGB(_theme.Foreground.W*my.Opacity0,_theme.Foreground.X,_theme.Foreground.Y,_theme.Foreground.Z)",
|
|
1070
|
+
L"_theme",
|
|
1071
|
+
_themeProperties,
|
|
1072
|
+
L"my",
|
|
1073
|
+
propertySet);
|
|
1074
|
+
StartProgressBoundAnimation(propertySet, L"Opacity0", Opacity0ScalarAnimation_0_to_1(), _rootProgress);
|
|
1075
|
+
return result;
|
|
1076
|
+
}
|
|
1077
|
+
|
|
1078
|
+
// - - Layer aggregator
|
|
1079
|
+
// - Scale:5,5, Offset:<40, 40>
|
|
1080
|
+
// ShapeGroup: Ellipse B
|
|
1081
|
+
// Color bound to theme property value: Foreground
|
|
1082
|
+
typename TTypeRedirects::CompositionColorBrush ThemeColor_Foreground_1() {
|
|
1083
|
+
const auto result = _themeColor_Foreground_1 = _c.CreateColorBrush();
|
|
1084
|
+
const auto propertySet = result.Properties();
|
|
1085
|
+
propertySet.InsertScalar(L"Opacity0", 1.0F);
|
|
1086
|
+
BindProperty2(
|
|
1087
|
+
result,
|
|
1088
|
+
L"Color",
|
|
1089
|
+
L"ColorRGB(_theme.Foreground.W*my.Opacity0,_theme.Foreground.X,_theme.Foreground.Y,_theme.Foreground.Z)",
|
|
1090
|
+
L"_theme",
|
|
1091
|
+
_themeProperties,
|
|
1092
|
+
L"my",
|
|
1093
|
+
propertySet);
|
|
1094
|
+
StartProgressBoundAnimation(propertySet, L"Opacity0", Opacity0ScalarAnimation_1_to_0(), _rootProgress);
|
|
1095
|
+
return result;
|
|
1096
|
+
}
|
|
1097
|
+
|
|
1098
|
+
// Layer aggregator
|
|
1099
|
+
// Transforms for Radial
|
|
1100
|
+
typename TTypeRedirects::CompositionContainerShape ContainerShape() {
|
|
1101
|
+
const auto result = _c.CreateContainerShape();
|
|
1102
|
+
// Offset:<40, 40>, Scale:<5, 5>
|
|
1103
|
+
result.TransformMatrix({5.0F, 0.0F, 0.0F, 5.0F, 40.0F, 40.0F});
|
|
1104
|
+
const auto shapes = result.Shapes();
|
|
1105
|
+
// ShapeGroup: Ellipse B
|
|
1106
|
+
shapes.Append(SpriteShape_1());
|
|
1107
|
+
// ShapeGroup: Ellipse B
|
|
1108
|
+
shapes.Append(SpriteShape_2());
|
|
1109
|
+
StartProgressBoundAnimation(
|
|
1110
|
+
result, L"RotationAngleInDegrees", RotationAngleInDegreesScalarAnimation_0_to_900(), _rootProgress);
|
|
1111
|
+
return result;
|
|
1112
|
+
}
|
|
1113
|
+
|
|
1114
|
+
// - Layer aggregator
|
|
1115
|
+
// Scale:5,5, Offset:<40, 40>
|
|
1116
|
+
// Ellipse Path.EllipseGeometry
|
|
1117
|
+
typename TTypeRedirects::CompositionEllipseGeometry Ellipse_7_0() {
|
|
1118
|
+
const auto result = _c.CreateEllipseGeometry();
|
|
1119
|
+
result.Radius({7.0F, 7.0F});
|
|
1120
|
+
return result;
|
|
1121
|
+
}
|
|
1122
|
+
|
|
1123
|
+
// - - Layer aggregator
|
|
1124
|
+
// - Scale:5,5, Offset:<40, 40>
|
|
1125
|
+
// ShapeGroup: Ellipse B
|
|
1126
|
+
// Ellipse Path.EllipseGeometry
|
|
1127
|
+
typename TTypeRedirects::CompositionEllipseGeometry Ellipse_7_1() {
|
|
1128
|
+
const auto result = _c.CreateEllipseGeometry();
|
|
1129
|
+
result.TrimEnd(0.5F);
|
|
1130
|
+
result.Radius({7.0F, 7.0F});
|
|
1131
|
+
StartProgressBoundAnimation(result, L"TrimStart", TrimStartScalarAnimation_0_to_0p5(), RootProgress());
|
|
1132
|
+
return result;
|
|
1133
|
+
}
|
|
1134
|
+
|
|
1135
|
+
// - - Layer aggregator
|
|
1136
|
+
// - Scale:5,5, Offset:<40, 40>
|
|
1137
|
+
// ShapeGroup: Ellipse B
|
|
1138
|
+
// Ellipse Path.EllipseGeometry
|
|
1139
|
+
typename TTypeRedirects::CompositionEllipseGeometry Ellipse_7_2() {
|
|
1140
|
+
const auto result = _c.CreateEllipseGeometry();
|
|
1141
|
+
result.Radius({7.0F, 7.0F});
|
|
1142
|
+
StartProgressBoundAnimation(result, L"TrimEnd", TrimEndScalarAnimation_0_to_0p5(), _rootProgress);
|
|
1143
|
+
return result;
|
|
1144
|
+
}
|
|
1145
|
+
|
|
1146
|
+
// Layer aggregator
|
|
1147
|
+
// Ellipse Path
|
|
1148
|
+
typename TTypeRedirects::CompositionSpriteShape SpriteShape_0() {
|
|
1149
|
+
// Offset:<40, 40>, Scale:<5, 5>
|
|
1150
|
+
const auto result = CreateSpriteShape(Ellipse_7_0(), {5.0F, 0.0F, 0.0F, 5.0F, 40.0F, 40.0F});
|
|
1151
|
+
result.StrokeBrush(ThemeColor_Background());
|
|
1152
|
+
result.StrokeDashCap(TTypeRedirects::CompositionStrokeCap::Round);
|
|
1153
|
+
result.StrokeThickness(1.5F);
|
|
1154
|
+
return result;
|
|
1155
|
+
}
|
|
1156
|
+
|
|
1157
|
+
// - Layer aggregator
|
|
1158
|
+
// Scale:5,5, Offset:<40, 40>
|
|
1159
|
+
// Ellipse Path
|
|
1160
|
+
typename TTypeRedirects::CompositionSpriteShape SpriteShape_1() {
|
|
1161
|
+
const auto result = _c.CreateSpriteShape(Ellipse_7_1());
|
|
1162
|
+
result.StrokeBrush(ThemeColor_Foreground_0());
|
|
1163
|
+
result.StrokeDashCap(TTypeRedirects::CompositionStrokeCap::Round);
|
|
1164
|
+
result.StrokeStartCap(TTypeRedirects::CompositionStrokeCap::Round);
|
|
1165
|
+
result.StrokeEndCap(TTypeRedirects::CompositionStrokeCap::Round);
|
|
1166
|
+
result.StrokeThickness(1.5F);
|
|
1167
|
+
return result;
|
|
1168
|
+
}
|
|
1169
|
+
|
|
1170
|
+
// - Layer aggregator
|
|
1171
|
+
// Scale:5,5, Offset:<40, 40>
|
|
1172
|
+
// Ellipse Path
|
|
1173
|
+
typename TTypeRedirects::CompositionSpriteShape SpriteShape_2() {
|
|
1174
|
+
const auto result = _c.CreateSpriteShape(Ellipse_7_2());
|
|
1175
|
+
result.StrokeBrush(ThemeColor_Foreground_1());
|
|
1176
|
+
result.StrokeDashCap(TTypeRedirects::CompositionStrokeCap::Round);
|
|
1177
|
+
result.StrokeStartCap(TTypeRedirects::CompositionStrokeCap::Round);
|
|
1178
|
+
result.StrokeEndCap(TTypeRedirects::CompositionStrokeCap::Round);
|
|
1179
|
+
result.StrokeThickness(1.5F);
|
|
1180
|
+
return result;
|
|
1181
|
+
}
|
|
1182
|
+
|
|
1183
|
+
// The root of the composition.
|
|
1184
|
+
typename TTypeRedirects::ContainerVisual Root() {
|
|
1185
|
+
const auto result = _root = _c.CreateContainerVisual();
|
|
1186
|
+
const auto propertySet = result.Properties();
|
|
1187
|
+
propertySet.InsertScalar(L"Progress", 0.0F);
|
|
1188
|
+
// Layer aggregator
|
|
1189
|
+
result.Children().InsertAtTop(ShapeVisual_0());
|
|
1190
|
+
return result;
|
|
1191
|
+
}
|
|
1192
|
+
|
|
1193
|
+
typename TTypeRedirects::CubicBezierEasingFunction CubicBezierEasingFunction_0() {
|
|
1194
|
+
return _cubicBezierEasingFunction_0 =
|
|
1195
|
+
_c.CreateCubicBezierEasingFunction({0.166999996F, 0.166999996F}, {0.833000004F, 0.833000004F});
|
|
1196
|
+
}
|
|
1197
|
+
|
|
1198
|
+
typename TTypeRedirects::ExpressionAnimation RootProgress() {
|
|
1199
|
+
const auto result = _rootProgress = _c.CreateExpressionAnimation(L"_.Progress");
|
|
1200
|
+
result.SetReferenceParameter(L"_", _root);
|
|
1201
|
+
return result;
|
|
1202
|
+
}
|
|
1203
|
+
|
|
1204
|
+
// Opacity0
|
|
1205
|
+
typename TTypeRedirects::ScalarKeyFrameAnimation Opacity0ScalarAnimation_0_to_1() {
|
|
1206
|
+
const auto result = CreateScalarKeyFrameAnimation(0.0F, 0.0F, _holdThenStepEasingFunction);
|
|
1207
|
+
result.InsertKeyFrame(0.5F, 1.0F, _holdThenStepEasingFunction);
|
|
1208
|
+
return result;
|
|
1209
|
+
}
|
|
1210
|
+
|
|
1211
|
+
// Opacity0
|
|
1212
|
+
typename TTypeRedirects::ScalarKeyFrameAnimation Opacity0ScalarAnimation_1_to_0() {
|
|
1213
|
+
const auto result = CreateScalarKeyFrameAnimation(0.0F, 1.0F, _holdThenStepEasingFunction);
|
|
1214
|
+
result.InsertKeyFrame(0.5F, 0.0F, _holdThenStepEasingFunction);
|
|
1215
|
+
return result;
|
|
1216
|
+
}
|
|
1217
|
+
|
|
1218
|
+
// - Layer aggregator
|
|
1219
|
+
// Scale:5,5, Offset:<40, 40>
|
|
1220
|
+
// Rotation
|
|
1221
|
+
typename TTypeRedirects::ScalarKeyFrameAnimation RotationAngleInDegreesScalarAnimation_0_to_900() {
|
|
1222
|
+
const auto result = CreateScalarKeyFrameAnimation(0.0F, 0.0F, _holdThenStepEasingFunction);
|
|
1223
|
+
result.InsertKeyFrame(0.5F, 450.0F, _cubicBezierEasingFunction_0);
|
|
1224
|
+
result.InsertKeyFrame(1.0F, 900.0F, _cubicBezierEasingFunction_0);
|
|
1225
|
+
return result;
|
|
1226
|
+
}
|
|
1227
|
+
|
|
1228
|
+
// - - - Layer aggregator
|
|
1229
|
+
// - - Scale:5,5, Offset:<40, 40>
|
|
1230
|
+
// - ShapeGroup: Ellipse B
|
|
1231
|
+
// Ellipse Path.EllipseGeometry
|
|
1232
|
+
// TrimEnd
|
|
1233
|
+
typename TTypeRedirects::ScalarKeyFrameAnimation TrimEndScalarAnimation_0_to_0p5() {
|
|
1234
|
+
const auto result = CreateScalarKeyFrameAnimation(0.0F, 9.99999975E-05F, _holdThenStepEasingFunction);
|
|
1235
|
+
result.InsertKeyFrame(0.5F, 0.5F, _cubicBezierEasingFunction_0);
|
|
1236
|
+
return result;
|
|
1237
|
+
}
|
|
1238
|
+
|
|
1239
|
+
// - - - Layer aggregator
|
|
1240
|
+
// - - Scale:5,5, Offset:<40, 40>
|
|
1241
|
+
// - ShapeGroup: Ellipse B
|
|
1242
|
+
// Ellipse Path.EllipseGeometry
|
|
1243
|
+
// TrimStart
|
|
1244
|
+
typename TTypeRedirects::ScalarKeyFrameAnimation TrimStartScalarAnimation_0_to_0p5() {
|
|
1245
|
+
const auto result = CreateScalarKeyFrameAnimation(0.0F, 0.0F, StepThenHoldEasingFunction());
|
|
1246
|
+
result.InsertKeyFrame(0.5F, 0.0F, HoldThenStepEasingFunction());
|
|
1247
|
+
result.InsertKeyFrame(1.0F, 0.5F, CubicBezierEasingFunction_0());
|
|
1248
|
+
return result;
|
|
1249
|
+
}
|
|
1250
|
+
|
|
1251
|
+
// Layer aggregator
|
|
1252
|
+
typename TTypeRedirects::ShapeVisual ShapeVisual_0() {
|
|
1253
|
+
const auto result = _c.CreateShapeVisual();
|
|
1254
|
+
result.Size({80.0F, 80.0F});
|
|
1255
|
+
const auto shapes = result.Shapes();
|
|
1256
|
+
// Scale:5,5, Offset:<40, 40>
|
|
1257
|
+
shapes.Append(SpriteShape_0());
|
|
1258
|
+
// Scale:5,5, Offset:<40, 40>
|
|
1259
|
+
shapes.Append(ContainerShape());
|
|
1260
|
+
return result;
|
|
1261
|
+
}
|
|
1262
|
+
|
|
1263
|
+
typename TTypeRedirects::StepEasingFunction HoldThenStepEasingFunction() {
|
|
1264
|
+
const auto result = _holdThenStepEasingFunction = _c.CreateStepEasingFunction();
|
|
1265
|
+
result.IsFinalStepSingleFrame(true);
|
|
1266
|
+
return result;
|
|
1267
|
+
}
|
|
1268
|
+
|
|
1269
|
+
// - - - - Layer aggregator
|
|
1270
|
+
// - - - Scale:5,5, Offset:<40, 40>
|
|
1271
|
+
// - - ShapeGroup: Ellipse B
|
|
1272
|
+
// - Ellipse Path.EllipseGeometry
|
|
1273
|
+
// TrimStart
|
|
1274
|
+
typename TTypeRedirects::StepEasingFunction StepThenHoldEasingFunction() {
|
|
1275
|
+
const auto result = _c.CreateStepEasingFunction();
|
|
1276
|
+
result.IsInitialStepSingleFrame(true);
|
|
1277
|
+
return result;
|
|
1278
|
+
}
|
|
1279
|
+
|
|
1280
|
+
/************************************************************************************
|
|
1281
|
+
* End of copy from ProgressRingIndeterminate.cpp which is autogen'd from lottie
|
|
1282
|
+
************************************************************************************/
|
|
1283
|
+
|
|
1284
|
+
winrt::Windows::Foundation::Numerics::float4 ColorAsVector4(winrt::Windows::UI::Color color) {
|
|
1285
|
+
return {
|
|
1286
|
+
static_cast<float>(color.R),
|
|
1287
|
+
static_cast<float>(color.G),
|
|
1288
|
+
static_cast<float>(color.B),
|
|
1289
|
+
static_cast<float>(color.A)};
|
|
1290
|
+
}
|
|
1291
|
+
|
|
1292
|
+
CompActivityVisual(typename TTypeRedirects::SpriteVisual const &visual)
|
|
1293
|
+
: m_visual(visual),
|
|
1294
|
+
_c(visual.Compositor()),
|
|
1295
|
+
_reusableExpressionAnimation(_c.CreateExpressionAnimation()),
|
|
1296
|
+
_themeProperties(_c.CreatePropertySet()) {
|
|
1297
|
+
// Default colors
|
|
1298
|
+
_themeProperties.InsertVector4(L"Background", ColorAsVector4({0, 0, 0, 0}));
|
|
1299
|
+
_themeProperties.InsertVector4(L"Foreground", ColorAsVector4({0, 0, 0, 0}));
|
|
1300
|
+
|
|
1301
|
+
visual.Children().InsertAtTop(Root());
|
|
1302
|
+
|
|
1303
|
+
auto easing = _c.CreateLinearEasingFunction();
|
|
1304
|
+
const auto progressAnimation = _c.CreateScalarKeyFrameAnimation();
|
|
1305
|
+
progressAnimation.Duration(winrt::Windows::Foundation::TimeSpan{c_durationTicks});
|
|
1306
|
+
progressAnimation.InsertKeyFrame(0.0f, 0.0f);
|
|
1307
|
+
progressAnimation.InsertKeyFrame(1.0f, 1.0f, easing);
|
|
1308
|
+
progressAnimation.IterationBehavior(TTypeRedirects::AnimationIterationBehavior::Forever);
|
|
1309
|
+
|
|
1310
|
+
_root.Properties().StartAnimation(L"Progress", progressAnimation);
|
|
1311
|
+
_root.StartAnimation(L"Progress", progressAnimation);
|
|
1312
|
+
}
|
|
1313
|
+
|
|
1314
|
+
void Brush(winrt::Microsoft::ReactNative::Composition::IBrush brush) noexcept {
|
|
1315
|
+
auto innerBrush = TTypeRedirects::CompositionContextHelper::InnerBrush(brush);
|
|
1316
|
+
if (brush) {
|
|
1317
|
+
_themeProperties.InsertVector4(
|
|
1318
|
+
L"Foreground", ColorAsVector4(innerBrush.as<TTypeRedirects::CompositionColorBrush>().Color()));
|
|
1319
|
+
} else {
|
|
1320
|
+
_themeProperties.InsertVector4(L"Foreground", ColorAsVector4({0, 0, 0, 0}));
|
|
838
1321
|
}
|
|
839
1322
|
}
|
|
840
1323
|
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
ellipse.Radius({m_ringWidth, m_ringWidth});
|
|
845
|
-
auto spriteShape = compositor.CreateSpriteShape();
|
|
846
|
-
spriteShape.Geometry(ellipse);
|
|
847
|
-
spriteShape.Offset(winrt::Windows::Foundation::Numerics::float2(m_centerX, m_centerY + m_radiusSmall));
|
|
848
|
-
auto spriteVisualBrush = compositor.CreateColorBrush(winrt::Windows::UI::Colors::LightGray());
|
|
849
|
-
spriteShape.FillBrush(spriteVisualBrush);
|
|
850
|
-
auto circleShape = compositor.CreateShapeVisual();
|
|
851
|
-
circleShape.Shapes().Append(spriteShape);
|
|
852
|
-
circleShape.Size({100.0f, 100.0f});
|
|
853
|
-
circleShape.Opacity(0.0f);
|
|
854
|
-
m_spriteVisuals.push_back(spriteShape);
|
|
855
|
-
|
|
856
|
-
// Create an OpacityAnimation
|
|
857
|
-
auto opacityAnimation = compositor.CreateScalarKeyFrameAnimation();
|
|
858
|
-
opacityAnimation.Duration(std::chrono::seconds(2));
|
|
859
|
-
opacityAnimation.IterationBehavior(TTypeRedirects::AnimationIterationBehavior::Forever);
|
|
860
|
-
opacityAnimation.DelayTime(std::chrono::milliseconds(650 + delay));
|
|
861
|
-
|
|
862
|
-
opacityAnimation.InsertKeyFrame(0.0f, 0.0f); // Initial opacity (fully transparent)
|
|
863
|
-
opacityAnimation.InsertKeyFrame(0.5f, 1.0f); // Intermediate opacity (fully opaque)
|
|
864
|
-
opacityAnimation.InsertKeyFrame(1.0f, 0.0f); // Intermediate opacity (fully opaque)
|
|
865
|
-
opacityAnimation.InsertKeyFrame(0.0f, 0.0f); // Final opacity (fully transparent)
|
|
866
|
-
|
|
867
|
-
// create an animation for the Offset property of the ShapeVisual
|
|
868
|
-
auto animation = compositor.CreateVector2KeyFrameAnimation();
|
|
869
|
-
animation.Duration(std::chrono::seconds(2));
|
|
870
|
-
animation.Direction(TTypeRedirects::AnimationDirection::Normal);
|
|
871
|
-
animation.IterationBehavior(TTypeRedirects::AnimationIterationBehavior::Forever);
|
|
872
|
-
animation.DelayTime(std::chrono::milliseconds(delay));
|
|
873
|
-
animation.DelayBehavior(TTypeRedirects::AnimationDelayBehavior::SetInitialValueAfterDelay);
|
|
874
|
-
|
|
875
|
-
// create path animation
|
|
876
|
-
float progress = 2.0f * static_cast<float>(M_PI); // specifies the end of the keyframe progress
|
|
877
|
-
for (float angle = 0.0f; angle < progress; angle += 0.1f) {
|
|
878
|
-
float x = m_centerX + m_radiusSmall * cos(angle);
|
|
879
|
-
float y = m_centerY + m_radiusSmall * sin(angle);
|
|
880
|
-
animation.InsertKeyFrame(
|
|
881
|
-
angle / (2.0f * static_cast<float>(M_PI)), winrt::Windows::Foundation::Numerics::float2(x, y));
|
|
882
|
-
}
|
|
883
|
-
|
|
884
|
-
// run animations
|
|
885
|
-
circleShape.StartAnimation(L"Opacity", opacityAnimation);
|
|
886
|
-
spriteShape.StartAnimation(L"Offset", animation);
|
|
887
|
-
|
|
888
|
-
return circleShape;
|
|
1324
|
+
void Size(float radius) noexcept {
|
|
1325
|
+
auto scale = radius / 40.0f;
|
|
1326
|
+
_root.Scale({scale, scale, 1.0f});
|
|
889
1327
|
}
|
|
890
1328
|
|
|
891
1329
|
typename TTypeRedirects::Visual InnerVisual() const noexcept {
|
|
@@ -895,8 +1333,8 @@ struct CompActivityVisual : winrt::implements<
|
|
|
895
1333
|
void InsertAt(const winrt::Microsoft::ReactNative::Composition::IVisual &visual, uint32_t index) noexcept {
|
|
896
1334
|
auto containerChildren = m_contentVisual.Children();
|
|
897
1335
|
auto compVisual = typename TTypeRedirects::CompositionContextHelper::InnerVisual(visual);
|
|
898
|
-
if (index == 0
|
|
899
|
-
containerChildren.
|
|
1336
|
+
if (index == 0) {
|
|
1337
|
+
containerChildren.InsertAtBottom(compVisual);
|
|
900
1338
|
return;
|
|
901
1339
|
}
|
|
902
1340
|
auto insertAfter = containerChildren.First();
|
|
@@ -940,7 +1378,6 @@ struct CompActivityVisual : winrt::implements<
|
|
|
940
1378
|
}
|
|
941
1379
|
|
|
942
1380
|
void Size(winrt::Windows::Foundation::Numerics::float2 const &size) noexcept {
|
|
943
|
-
m_visualSize = size;
|
|
944
1381
|
m_visual.Size(size);
|
|
945
1382
|
}
|
|
946
1383
|
|
|
@@ -962,14 +1399,22 @@ struct CompActivityVisual : winrt::implements<
|
|
|
962
1399
|
m_visual.RelativeSizeAdjustment(relativeSizeAdjustment);
|
|
963
1400
|
}
|
|
964
1401
|
|
|
965
|
-
winrt::Microsoft::ReactNative::Composition::BackfaceVisibility BackfaceVisibility() {
|
|
1402
|
+
winrt::Microsoft::ReactNative::Composition::BackfaceVisibility BackfaceVisibility() const noexcept {
|
|
966
1403
|
return static_cast<winrt::Microsoft::ReactNative::Composition::BackfaceVisibility>(m_visual.BackfaceVisibility());
|
|
967
1404
|
}
|
|
968
1405
|
|
|
969
|
-
void BackfaceVisibility(winrt::Microsoft::ReactNative::Composition::BackfaceVisibility value) {
|
|
1406
|
+
void BackfaceVisibility(winrt::Microsoft::ReactNative::Composition::BackfaceVisibility value) noexcept {
|
|
970
1407
|
m_visual.BackfaceVisibility(static_cast<typename TTypeRedirects::CompositionBackfaceVisibility>(value));
|
|
971
1408
|
}
|
|
972
1409
|
|
|
1410
|
+
winrt::hstring Comment() const noexcept {
|
|
1411
|
+
return m_visual.Comment();
|
|
1412
|
+
}
|
|
1413
|
+
|
|
1414
|
+
void Comment(winrt::hstring value) noexcept {
|
|
1415
|
+
m_visual.Comment(value);
|
|
1416
|
+
}
|
|
1417
|
+
|
|
973
1418
|
void SetClippingPath(ID2D1Geometry *clippingPath) noexcept {
|
|
974
1419
|
if (!clippingPath) {
|
|
975
1420
|
m_visual.Clip(nullptr);
|
|
@@ -982,18 +1427,13 @@ struct CompActivityVisual : winrt::implements<
|
|
|
982
1427
|
m_visual.Clip(clip);
|
|
983
1428
|
}
|
|
984
1429
|
|
|
1430
|
+
void AnimationClass(winrt::Microsoft::ReactNative::Composition::AnimationClass value) noexcept {
|
|
1431
|
+
SetAnimationClass<TTypeRedirects>(value, m_visual);
|
|
1432
|
+
}
|
|
1433
|
+
|
|
985
1434
|
private:
|
|
986
|
-
winrt::Windows::Foundation::Numerics::float2 m_visualSize{0};
|
|
987
1435
|
typename TTypeRedirects::SpriteVisual m_visual{nullptr};
|
|
988
1436
|
typename TTypeRedirects::SpriteVisual m_contentVisual{nullptr};
|
|
989
|
-
std::vector<typename TTypeRedirects::CompositionSpriteShape> m_spriteVisuals;
|
|
990
|
-
|
|
991
|
-
// constants
|
|
992
|
-
float m_radiusSmall = 8.0f;
|
|
993
|
-
float m_radiusLarge = 16.0f;
|
|
994
|
-
float m_ringWidth = 2.0f;
|
|
995
|
-
float m_centerX = m_radiusSmall + m_ringWidth;
|
|
996
|
-
float m_centerY = m_radiusSmall + m_ringWidth;
|
|
997
1437
|
};
|
|
998
1438
|
using WindowsCompActivityVisual = CompActivityVisual<WindowsTypeRedirects>;
|
|
999
1439
|
#ifdef USE_WINUI3
|
|
@@ -1010,7 +1450,7 @@ struct CompCaretVisual
|
|
|
1010
1450
|
m_visual = CreateVisual();
|
|
1011
1451
|
|
|
1012
1452
|
// TODO should make the caret use an invert brush by default
|
|
1013
|
-
m_compVisual.Brush(m_compositor.CreateColorBrush(
|
|
1453
|
+
m_compVisual.Brush(m_compositor.CreateColorBrush({255, 0, 0, 0} /* Black */));
|
|
1014
1454
|
m_compVisual.Opacity(1.0f);
|
|
1015
1455
|
|
|
1016
1456
|
// Blinking animation
|
|
@@ -1034,8 +1474,8 @@ struct CompCaretVisual
|
|
|
1034
1474
|
return m_visual;
|
|
1035
1475
|
}
|
|
1036
1476
|
|
|
1037
|
-
void
|
|
1038
|
-
m_compVisual.Brush(
|
|
1477
|
+
void Brush(winrt::Microsoft::ReactNative::Composition::IBrush brush) noexcept {
|
|
1478
|
+
m_compVisual.Brush(TTypeRedirects::CompositionContextHelper::InnerBrush(brush));
|
|
1039
1479
|
}
|
|
1040
1480
|
|
|
1041
1481
|
void Size(winrt::Windows::Foundation::Numerics::float2 size) noexcept {
|
|
@@ -1062,8 +1502,12 @@ struct CompCaretVisual
|
|
|
1062
1502
|
}
|
|
1063
1503
|
}
|
|
1064
1504
|
|
|
1505
|
+
void AnimationClass(winrt::Microsoft::ReactNative::Composition::AnimationClass value) noexcept {
|
|
1506
|
+
SetAnimationClass(value, m_compVisual);
|
|
1507
|
+
}
|
|
1508
|
+
|
|
1065
1509
|
private:
|
|
1066
|
-
bool m_isVisible{
|
|
1510
|
+
bool m_isVisible{true};
|
|
1067
1511
|
typename TTypeRedirects::SpriteVisual m_compVisual;
|
|
1068
1512
|
winrt::Microsoft::ReactNative::Composition::IVisual m_visual;
|
|
1069
1513
|
typename TTypeRedirects::ScalarKeyFrameAnimation m_opacityAnimation;
|
|
@@ -1084,87 +1528,6 @@ winrt::Microsoft::ReactNative::Composition::IVisual CompCaretVisual<MicrosoftTyp
|
|
|
1084
1528
|
using MicrosoftCompCaretVisual = CompCaretVisual<MicrosoftTypeRedirects>;
|
|
1085
1529
|
#endif
|
|
1086
1530
|
|
|
1087
|
-
// Switch Thumb animations
|
|
1088
|
-
template <typename TTypeRedirects>
|
|
1089
|
-
struct CompSwitchThumbVisual : winrt::implements<
|
|
1090
|
-
CompSwitchThumbVisual<TTypeRedirects>,
|
|
1091
|
-
winrt::Microsoft::ReactNative::Composition::ISwitchThumbVisual> {
|
|
1092
|
-
CompSwitchThumbVisual(typename TTypeRedirects::Compositor const &compositor)
|
|
1093
|
-
: m_compositor(compositor), m_compVisual(compositor.CreateSpriteVisual()) {
|
|
1094
|
-
m_visual = CreateVisual();
|
|
1095
|
-
|
|
1096
|
-
// Create Thumb
|
|
1097
|
-
m_geometry = m_compositor.CreateEllipseGeometry();
|
|
1098
|
-
m_spiritShape = m_compositor.CreateSpriteShape();
|
|
1099
|
-
m_spiritShape.Geometry(m_geometry);
|
|
1100
|
-
auto circleShape = m_compositor.CreateShapeVisual();
|
|
1101
|
-
circleShape.Shapes().Append(m_spiritShape);
|
|
1102
|
-
circleShape.Size({150.0f, 150.0f});
|
|
1103
|
-
|
|
1104
|
-
m_compVisual.Children().InsertAtTop(circleShape);
|
|
1105
|
-
}
|
|
1106
|
-
|
|
1107
|
-
winrt::Microsoft::ReactNative::Composition::IVisual CreateVisual() const noexcept;
|
|
1108
|
-
|
|
1109
|
-
winrt::Microsoft::ReactNative::Composition::IVisual InnerVisual() const noexcept {
|
|
1110
|
-
return m_visual;
|
|
1111
|
-
}
|
|
1112
|
-
|
|
1113
|
-
void Color(winrt::Windows::UI::Color color) noexcept {
|
|
1114
|
-
m_spiritShape.FillBrush(m_compositor.CreateColorBrush(color));
|
|
1115
|
-
}
|
|
1116
|
-
|
|
1117
|
-
void Size(winrt::Windows::Foundation::Numerics::float2 size) noexcept {
|
|
1118
|
-
m_geometry.Radius(size);
|
|
1119
|
-
m_spiritShape.Offset(size);
|
|
1120
|
-
m_compVisual.Size(size);
|
|
1121
|
-
}
|
|
1122
|
-
|
|
1123
|
-
void Position(winrt::Windows::Foundation::Numerics::float2 position) noexcept {
|
|
1124
|
-
if (!isDrawn) {
|
|
1125
|
-
// we don't want to animate if this is the first time the switch is drawn on screen
|
|
1126
|
-
isDrawn = true;
|
|
1127
|
-
m_compVisual.Offset({position.x, position.y, 0.0f});
|
|
1128
|
-
} else {
|
|
1129
|
-
auto animation = m_compositor.CreateVector3KeyFrameAnimation();
|
|
1130
|
-
animation.Duration(std::chrono::milliseconds(250));
|
|
1131
|
-
animation.Direction(TTypeRedirects::AnimationDirection::Normal);
|
|
1132
|
-
animation.InsertKeyFrame(1.0f, {position.x, position.y, 0.0f});
|
|
1133
|
-
|
|
1134
|
-
m_compVisual.StartAnimation(L"Offset", animation);
|
|
1135
|
-
}
|
|
1136
|
-
}
|
|
1137
|
-
|
|
1138
|
-
bool IsVisible() const noexcept {
|
|
1139
|
-
return m_isVisible;
|
|
1140
|
-
}
|
|
1141
|
-
|
|
1142
|
-
void IsVisible(bool value) noexcept {}
|
|
1143
|
-
|
|
1144
|
-
private:
|
|
1145
|
-
bool m_isVisible{true};
|
|
1146
|
-
bool isDrawn{false};
|
|
1147
|
-
typename TTypeRedirects::SpriteVisual m_compVisual;
|
|
1148
|
-
winrt::Microsoft::ReactNative::Composition::IVisual m_visual;
|
|
1149
|
-
typename TTypeRedirects::Compositor m_compositor{nullptr};
|
|
1150
|
-
typename TTypeRedirects::CompositionSpriteShape m_spiritShape{nullptr};
|
|
1151
|
-
typename TTypeRedirects::CompositionEllipseGeometry m_geometry{nullptr};
|
|
1152
|
-
};
|
|
1153
|
-
|
|
1154
|
-
winrt::Microsoft::ReactNative::Composition::IVisual CompSwitchThumbVisual<WindowsTypeRedirects>::CreateVisual()
|
|
1155
|
-
const noexcept {
|
|
1156
|
-
return winrt::make<Composition::WindowsCompSpriteVisual>(m_compVisual);
|
|
1157
|
-
}
|
|
1158
|
-
using WindowsCompSwitchThumbVisual = CompSwitchThumbVisual<WindowsTypeRedirects>;
|
|
1159
|
-
|
|
1160
|
-
#ifdef USE_WINUI3
|
|
1161
|
-
winrt::Microsoft::ReactNative::Composition::IVisual CompSwitchThumbVisual<MicrosoftTypeRedirects>::CreateVisual()
|
|
1162
|
-
const noexcept {
|
|
1163
|
-
return winrt::make<Composition::MicrosoftCompSpriteVisual>(m_compVisual);
|
|
1164
|
-
}
|
|
1165
|
-
using MicrosoftCompSwitchThumbVisual = CompSwitchThumbVisual<MicrosoftTypeRedirects>;
|
|
1166
|
-
#endif
|
|
1167
|
-
|
|
1168
1531
|
template <typename TTypeRedirects>
|
|
1169
1532
|
struct CompFocusVisual
|
|
1170
1533
|
: winrt::implements<CompFocusVisual<TTypeRedirects>, winrt::Microsoft::ReactNative::Composition::IFocusVisual> {
|
|
@@ -1175,7 +1538,7 @@ struct CompFocusVisual
|
|
|
1175
1538
|
m_compVisual.Opacity(1.0f);
|
|
1176
1539
|
m_compVisual.RelativeSizeAdjustment({1, 1});
|
|
1177
1540
|
|
|
1178
|
-
m_brush.Source(compositor.CreateColorBrush(
|
|
1541
|
+
m_brush.Source(compositor.CreateColorBrush({255, 0, 0, 0} /* Black */));
|
|
1179
1542
|
m_brush.IsCenterHollow(true);
|
|
1180
1543
|
}
|
|
1181
1544
|
|
|
@@ -1210,6 +1573,10 @@ struct CompFocusVisual
|
|
|
1210
1573
|
m_brush.SetInsets(inset, inset, inset, inset);
|
|
1211
1574
|
}
|
|
1212
1575
|
|
|
1576
|
+
void AnimationClass(winrt::Microsoft::ReactNative::Composition::AnimationClass value) noexcept {
|
|
1577
|
+
SetAnimationClass(value, m_compVisual);
|
|
1578
|
+
}
|
|
1579
|
+
|
|
1213
1580
|
private:
|
|
1214
1581
|
float m_scaleFactor{0};
|
|
1215
1582
|
typename TTypeRedirects::CompositionNineGridBrush m_brush;
|
|
@@ -1308,6 +1675,8 @@ struct CompContext : winrt::implements<
|
|
|
1308
1675
|
|
|
1309
1676
|
winrt::Microsoft::ReactNative::Composition::ISpriteVisual CreateSpriteVisual() noexcept;
|
|
1310
1677
|
|
|
1678
|
+
winrt::Microsoft::ReactNative::Composition::IRoundedRectangleVisual CreateRoundedRectangleVisual() noexcept;
|
|
1679
|
+
|
|
1311
1680
|
winrt::Microsoft::ReactNative::Composition::IScrollVisual CreateScrollerVisual() noexcept;
|
|
1312
1681
|
|
|
1313
1682
|
winrt::Microsoft::ReactNative::Composition::IActivityVisual CreateActivityVisual() noexcept;
|
|
@@ -1323,8 +1692,6 @@ struct CompContext : winrt::implements<
|
|
|
1323
1692
|
|
|
1324
1693
|
winrt::Microsoft::ReactNative::Composition::ICaretVisual CreateCaretVisual() noexcept;
|
|
1325
1694
|
|
|
1326
|
-
winrt::Microsoft::ReactNative::Composition::ISwitchThumbVisual CreateSwitchThumbVisual() noexcept;
|
|
1327
|
-
|
|
1328
1695
|
winrt::Microsoft::ReactNative::Composition::IFocusVisual CreateFocusVisual() noexcept;
|
|
1329
1696
|
|
|
1330
1697
|
typename TTypeRedirects::CompositionGraphicsDevice CompositionGraphicsDevice() noexcept;
|
|
@@ -1352,6 +1719,11 @@ CompContext<WindowsTypeRedirects>::CreateScrollerVisual() noexcept {
|
|
|
1352
1719
|
return winrt::make<Composition::WindowsCompScrollerVisual>(m_compositor.CreateSpriteVisual());
|
|
1353
1720
|
}
|
|
1354
1721
|
|
|
1722
|
+
winrt::Microsoft::ReactNative::Composition::IRoundedRectangleVisual
|
|
1723
|
+
CompContext<WindowsTypeRedirects>::CreateRoundedRectangleVisual() noexcept {
|
|
1724
|
+
return winrt::make<Composition::WindowsCompRoundedRectangleVisual>(m_compositor.CreateShapeVisual());
|
|
1725
|
+
}
|
|
1726
|
+
|
|
1355
1727
|
winrt::Microsoft::ReactNative::Composition::IActivityVisual
|
|
1356
1728
|
CompContext<WindowsTypeRedirects>::CreateActivityVisual() noexcept {
|
|
1357
1729
|
return winrt::make<Composition::WindowsCompActivityVisual>(m_compositor.CreateSpriteVisual());
|
|
@@ -1380,11 +1752,6 @@ CompContext<WindowsTypeRedirects>::CreateCaretVisual() noexcept {
|
|
|
1380
1752
|
return winrt::make<Composition::WindowsCompCaretVisual>(m_compositor);
|
|
1381
1753
|
}
|
|
1382
1754
|
|
|
1383
|
-
winrt::Microsoft::ReactNative::Composition::ISwitchThumbVisual
|
|
1384
|
-
CompContext<WindowsTypeRedirects>::CreateSwitchThumbVisual() noexcept {
|
|
1385
|
-
return winrt::make<Composition::WindowsCompSwitchThumbVisual>(m_compositor);
|
|
1386
|
-
}
|
|
1387
|
-
|
|
1388
1755
|
winrt::Microsoft::ReactNative::Composition::IFocusVisual
|
|
1389
1756
|
CompContext<WindowsTypeRedirects>::CreateFocusVisual() noexcept {
|
|
1390
1757
|
return winrt::make<Composition::WindowsCompFocusVisual>(m_compositor);
|
|
@@ -1422,6 +1789,11 @@ CompContext<MicrosoftTypeRedirects>::CreateScrollerVisual() noexcept {
|
|
|
1422
1789
|
return winrt::make<Composition::MicrosoftCompScrollerVisual>(m_compositor.CreateSpriteVisual());
|
|
1423
1790
|
}
|
|
1424
1791
|
|
|
1792
|
+
winrt::Microsoft::ReactNative::Composition::IRoundedRectangleVisual
|
|
1793
|
+
CompContext<MicrosoftTypeRedirects>::CreateRoundedRectangleVisual() noexcept {
|
|
1794
|
+
return winrt::make<Composition::MicrosoftCompRoundedRectangleVisual>(m_compositor.CreateShapeVisual());
|
|
1795
|
+
}
|
|
1796
|
+
|
|
1425
1797
|
winrt::Microsoft::ReactNative::Composition::IActivityVisual
|
|
1426
1798
|
CompContext<MicrosoftTypeRedirects>::CreateActivityVisual() noexcept {
|
|
1427
1799
|
return winrt::make<Composition::MicrosoftCompActivityVisual>(m_compositor.CreateSpriteVisual());
|
|
@@ -1455,11 +1827,6 @@ CompContext<MicrosoftTypeRedirects>::CreateCaretVisual() noexcept {
|
|
|
1455
1827
|
return winrt::make<Composition::MicrosoftCompCaretVisual>(m_compositor);
|
|
1456
1828
|
}
|
|
1457
1829
|
|
|
1458
|
-
winrt::Microsoft::ReactNative::Composition::ISwitchThumbVisual
|
|
1459
|
-
CompContext<MicrosoftTypeRedirects>::CreateSwitchThumbVisual() noexcept {
|
|
1460
|
-
return winrt::make<Composition::MicrosoftCompSwitchThumbVisual>(m_compositor);
|
|
1461
|
-
}
|
|
1462
|
-
|
|
1463
1830
|
winrt::Microsoft::ReactNative::Composition::IFocusVisual
|
|
1464
1831
|
CompContext<MicrosoftTypeRedirects>::CreateFocusVisual() noexcept {
|
|
1465
1832
|
return winrt::make<Composition::MicrosoftCompFocusVisual>(m_compositor);
|
|
@@ -1482,44 +1849,44 @@ using MicrosoftCompContext = CompContext<MicrosoftTypeRedirects>;
|
|
|
1482
1849
|
|
|
1483
1850
|
namespace winrt::Microsoft::ReactNative::Composition::implementation {
|
|
1484
1851
|
|
|
1485
|
-
ICompositionContext
|
|
1852
|
+
ICompositionContext SystemCompositionContextHelper::CreateContext(
|
|
1486
1853
|
winrt::Windows::UI::Composition::Compositor const &compositor) noexcept {
|
|
1487
1854
|
return winrt::make<::Microsoft::ReactNative::Composition::WindowsCompContext>(compositor);
|
|
1488
1855
|
}
|
|
1489
1856
|
|
|
1490
|
-
IVisual
|
|
1857
|
+
IVisual SystemCompositionContextHelper::CreateVisual(winrt::Windows::UI::Composition::Visual const &visual) noexcept {
|
|
1491
1858
|
if (auto spriteVisual = visual.try_as<winrt::Windows::UI::Composition::SpriteVisual>())
|
|
1492
1859
|
return winrt::make<::Microsoft::ReactNative::Composition::WindowsCompSpriteVisual>(spriteVisual);
|
|
1493
1860
|
return winrt::make<::Microsoft::ReactNative::Composition::WindowsCompVisual>(visual);
|
|
1494
1861
|
}
|
|
1495
1862
|
|
|
1496
|
-
winrt::Windows::UI::Composition::Compositor
|
|
1863
|
+
winrt::Windows::UI::Composition::Compositor SystemCompositionContextHelper::InnerCompositor(
|
|
1497
1864
|
ICompositionContext context) noexcept {
|
|
1498
1865
|
winrt::com_ptr<::Microsoft::ReactNative::Composition::IWindowsCompositionCompositor> s;
|
|
1499
1866
|
context.try_as(s);
|
|
1500
1867
|
return s ? s->InnerCompositor() : nullptr;
|
|
1501
1868
|
}
|
|
1502
1869
|
|
|
1503
|
-
winrt::Windows::UI::Composition::Visual
|
|
1870
|
+
winrt::Windows::UI::Composition::Visual SystemCompositionContextHelper::InnerVisual(IVisual visual) noexcept {
|
|
1504
1871
|
winrt::com_ptr<::Microsoft::ReactNative::Composition::IWindowsCompositionVisual> s;
|
|
1505
1872
|
visual.try_as(s);
|
|
1506
1873
|
return s ? s->InnerVisual() : nullptr;
|
|
1507
1874
|
}
|
|
1508
1875
|
|
|
1509
|
-
winrt::Windows::UI::Composition::DropShadow
|
|
1876
|
+
winrt::Windows::UI::Composition::DropShadow SystemCompositionContextHelper::InnerDropShadow(
|
|
1510
1877
|
IDropShadow shadow) noexcept {
|
|
1511
1878
|
winrt::com_ptr<::Microsoft::ReactNative::Composition::IWindowsCompositionDropShadow> s;
|
|
1512
1879
|
shadow.try_as(s);
|
|
1513
1880
|
return s ? s->InnerShadow() : nullptr;
|
|
1514
1881
|
}
|
|
1515
1882
|
|
|
1516
|
-
winrt::Windows::UI::Composition::CompositionBrush
|
|
1883
|
+
winrt::Windows::UI::Composition::CompositionBrush SystemCompositionContextHelper::InnerBrush(IBrush brush) noexcept {
|
|
1517
1884
|
winrt::com_ptr<::Microsoft::ReactNative::Composition::IWindowsCompositionBrush> s;
|
|
1518
1885
|
brush.try_as(s);
|
|
1519
1886
|
return s ? s->InnerBrush() : nullptr;
|
|
1520
1887
|
}
|
|
1521
1888
|
|
|
1522
|
-
winrt::Windows::UI::Composition::ICompositionSurface
|
|
1889
|
+
winrt::Windows::UI::Composition::ICompositionSurface SystemCompositionContextHelper::InnerSurface(
|
|
1523
1890
|
IDrawingSurfaceBrush surface) noexcept {
|
|
1524
1891
|
winrt::com_ptr<::Microsoft::ReactNative::Composition::IWindowsCompositionDrawingSurfaceInner> s;
|
|
1525
1892
|
surface.try_as(s);
|