react-native-windows 0.81.0-preview.1 → 0.81.0-preview.11

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.
Files changed (36) hide show
  1. package/.flowconfig +3 -0
  2. package/Chakra/ChakraUtils.cpp +0 -2
  3. package/Directory.Build.props +5 -2
  4. package/Folly/Folly.vcxproj +6 -7
  5. package/Folly/cgmanifest.json +1 -1
  6. package/Libraries/Components/Switch/Switch.js +1 -1
  7. package/Libraries/Components/Switch/Switch.windows.js +1 -1
  8. package/Libraries/Components/TextInput/TextInput.js +6 -1
  9. package/Libraries/Components/TextInput/TextInput.windows.js +5 -0
  10. package/Libraries/Components/View/View.js +5 -1
  11. package/Libraries/Components/View/View.windows.js +6 -1
  12. package/Libraries/Core/ReactNativeVersion.js +2 -2
  13. package/Microsoft.ReactNative/CompositionSwitcher.idl +163 -162
  14. package/Microsoft.ReactNative/Fabric/Composition/CompositionContextHelper.cpp +104 -4
  15. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +60 -33
  16. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +19 -0
  17. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +102 -18
  18. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +1 -0
  19. package/Microsoft.ReactNative/Fabric/Composition/UriImageManager.cpp +5 -3
  20. package/Microsoft.ReactNative/Fabric/WindowsImageManager.cpp +14 -1
  21. package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/WindowsTextLayoutManager.cpp +21 -2
  22. package/Microsoft.ReactNative/ReactHost/ReactHost.cpp +39 -10
  23. package/PropertySheets/Generated/PackageVersion.g.props +2 -2
  24. package/PropertySheets/React.Cpp.props +1 -0
  25. package/Shared/MemoryMappedBuffer.cpp +0 -2
  26. package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +39 -21
  27. package/codegen/rnwcoreJSI-generated.cpp +18 -0
  28. package/codegen/rnwcoreJSI.h +27 -0
  29. package/package.json +15 -15
  30. package/src/private/featureflags/ReactNativeFeatureFlags.js +16 -1
  31. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +4 -1
  32. package/src/private/specs_DEPRECATED/components/SwitchNativeComponent.js +1 -0
  33. package/template/metro.config.js +2 -4
  34. package/templates/cpp-app/metro.config.js +2 -4
  35. package/templates/cpp-lib/example/metro.config.js +2 -3
  36. package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/css/CSSTokenizer.h +0 -232
package/.flowconfig CHANGED
@@ -7,6 +7,9 @@
7
7
  ; Ignore fb_internal modules
8
8
  <PROJECT_ROOT>/packages/react-native/src/fb_internal/.*
9
9
 
10
+ ; Ignore all flow directory contents in node_modules
11
+ .*/flow/.*
12
+
10
13
  ; These modules have base components and Windows versions.
11
14
  ; Ideally we'd delete the base versions of files that had .windows overrides as part of the
12
15
  ; initRNLibraries build step
@@ -166,8 +166,6 @@ FileMappingBigString::FileMappingBigString(const std::wstring &filename, uint32_
166
166
  return;
167
167
  }
168
168
 
169
- WerRegisterMemoryBlock(m_fileData.get(), m_fileSize);
170
-
171
169
  static const uint32_t s_pageSize = getPageSize();
172
170
  if (m_fileSize % s_pageSize != 0) {
173
171
  // Data are owned by m_fileData, deleter is no-op
@@ -27,9 +27,9 @@
27
27
  <IncludeSource Condition="'$(Configuration)' == 'Release'">false</IncludeSource>
28
28
  <!-- When bumping the Folly version, be sure to bump the git hash of that version's commit, find the matching fastfloat dependency and build Folly.vcxproj (to update its cgmanifest.json) too. -->
29
29
  <FollyVersion>2024.10.14.00</FollyVersion>
30
- <FastFloatVersion>6.1.4</FastFloatVersion>
30
+ <FastFloatVersion>8.0.0</FastFloatVersion>
31
31
  <FollyCommitHash>ad90720829db5ba0c3d0e44994856dcce33d7940</FollyCommitHash>
32
- <FastFloatCommitHash>ad90720829db5ba0c3d0e44994856dcce33d7940</FastFloatCommitHash>
32
+ <FastFloatCommitHash>77cc847c842c49e7e3477c1e95da2b6540166d66</FastFloatCommitHash>
33
33
  <!-- When bumping the fmt version, be sure to bump the git hash of that version's commit and build fmt.vcxproj (to update its cgmanifest.json) too. -->
34
34
  <FmtVersion>10.1.0</FmtVersion>
35
35
  <FmtCommitHash>ca2e3685b160617d3d95fcd9e789c4e06ca88</FmtCommitHash>
@@ -52,6 +52,9 @@
52
52
  <FollyDir Condition="'$(FollyDir)' == '' AND Exists('$([MSBuild]::NormalizeDirectory($(ReactNativeDir)..\..\node_modules))')">$(ReactNativeDir)..\..\node_modules\.folly\folly-$(FollyVersion)</FollyDir>
53
53
  <FollyDir>$([MSBuild]::NormalizeDirectory($(FollyDir)))</FollyDir>
54
54
 
55
+ <FastFloatDir Condition="'$(FastFloatDir)' == '' AND Exists('$([MSBuild]::NormalizeDirectory($(ReactNativeDir)..\..\node_modules))')">$(ReactNativeDir)..\..\node_modules\.fastfloat\fast_float-$(FastFloatVersion)</FastFloatDir>
56
+ <FastFloatDir>$([MSBuild]::NormalizeDirectory($(FastFloatDir)))</FastFloatDir>
57
+
55
58
  <FmtDir Condition="'$(FmtDir)' == '' AND Exists('$([MSBuild]::NormalizeDirectory($(ReactNativeDir)..\..\node_modules))')">$(ReactNativeDir)..\..\node_modules\.fmt\fmt-$(FmtVersion)</FmtDir>
56
59
  <FmtDir>$([MSBuild]::NormalizeDirectory($(FmtDir)))</FmtDir>
57
60
 
@@ -243,7 +243,6 @@
243
243
  <ClInclude Include="$(FollyDir)\folly\Uri.h" />
244
244
  <ClInclude Include="$(FollyDir)\folly\Utility.h" />
245
245
  <ClInclude Include="$(FollyDir)\folly\Varint.h" />
246
- <ClInclude Include="$(FollyDir)\..\fast_float-6.1.4\include\fast_float\fast_float.h" />
247
246
  <ClInclude Include="pch.h" />
248
247
  </ItemGroup>
249
248
  <ItemGroup>
@@ -271,7 +270,7 @@
271
270
  <PrecompiledHeader>Use</PrecompiledHeader>
272
271
  <CompileAsWinRT>false</CompileAsWinRT>
273
272
  <SDLCheck>true</SDLCheck>
274
- <AdditionalIncludeDirectories>$(ReactNativeWindowsDir)stubs;$(FollyDir);$(FollyDir)\..\fast_float-6.1.4\include;$(FmtDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
273
+ <AdditionalIncludeDirectories>$(ReactNativeWindowsDir)stubs;$(FollyDir);$(FastFloatDir)\include;$(FmtDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
275
274
  <PreprocessorDefinitions>FOLLY_CFG_NO_COROUTINES;FOLLY_NO_CONFIG;NOMINMAX;_CRT_SECURE_NO_WARNINGS;WINAPI_PARTITION_APP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
276
275
  <ForcedUsingFiles />
277
276
  <DisableSpecificWarnings>4251;4293;4305;4800;4804;4310;%(DisableSpecificWarnings)</DisableSpecificWarnings>
@@ -292,8 +291,8 @@
292
291
  <CGManifestFile>$(MSBuildThisFileDirectory)cgmanifest.json</CGManifestFile>
293
292
  </PropertyGroup>
294
293
  <PropertyGroup>
295
- <FastFloatZipDir>$(FollyDir)..\.fastfloatzip</FastFloatZipDir>
296
- <FastFloatZipFile>$(FollyDir)..\.fastfloatzip\fastfloat.zip</FastFloatZipFile>
294
+ <FastFloatZipDir>$(FastFloatDir)..\.fastfloatzip</FastFloatZipDir>
295
+ <FastFloatZipFile>$(FastFloatZipDir)\fastfloat.zip</FastFloatZipFile>
297
296
  </PropertyGroup>
298
297
  <Target Name="DownloadFolly" BeforeTargets="PrepareForBuild" Inputs="$(FollyZipFile)" Outputs="$(FollyZipFile)">
299
298
  <Message Importance="High" Text="Downloading folly..." />
@@ -320,11 +319,11 @@
320
319
  OverwriteReadOnlyFiles="true" />
321
320
  </Target>
322
321
  <Target Name="UnzipFastFloat" BeforeTargets="PrepareForBuild" DependsOnTargets="DownloadFastFloat">
323
- <Message Condition="!Exists('$(FastFloatZipDir)\include\fast_float.h')" Importance="High" Text="Unzipping FastFloat to $([MSBuild]::NormalizePath($(FastFloatZipDir)..))." />
322
+ <Message Condition="!Exists('$(FastFloatDir)\include\fast_float\fast_float.h')" Importance="High" Text="Unzipping FastFloat to $([MSBuild]::NormalizePath($(FastFloatDir)..))." />
324
323
  <Unzip
325
- Condition="!Exists('$(FastFloatZipDir)\include\fast_float.h')"
324
+ Condition="!Exists('$(FastFloatDir)\include\fast_float\fast_float.h')"
326
325
  SourceFiles="$(FastFloatZipFile)"
327
- DestinationFolder="$([MSBuild]::NormalizePath($(FollyDir)..))"
326
+ DestinationFolder="$([MSBuild]::NormalizePath($(FastFloatDir)..))"
328
327
  OverwriteReadOnlyFiles="true" />
329
328
  </Target>
330
329
  <Target Name="WriteCGManifest" BeforeTargets="PrepareForBuild" DependsOnTargets="DownloadFolly" Inputs="$(FollyZipFile)" Outputs="$(CGManifestFile)">
@@ -16,7 +16,7 @@
16
16
  "Type": "git",
17
17
  "Git": {
18
18
  "RepositoryUrl": "https://github.com/fastfloat/fast_float",
19
- "CommitHash": "ad90720829db5ba0c3d0e44994856dcce33d7940"
19
+ "CommitHash": "77cc847c842c49e7e3477c1e95da2b6540166d66"
20
20
  }
21
21
  },
22
22
  "DevelopmentDependency": false
@@ -264,7 +264,7 @@ const Switch: component(
264
264
  disabled,
265
265
  onTintColor: trackColorForTrue,
266
266
  style: StyleSheet.compose(
267
- {height: 31, width: 51},
267
+ {alignSelf: 'flex-start' as const},
268
268
  StyleSheet.compose(
269
269
  style,
270
270
  ios_backgroundColor == null
@@ -272,7 +272,7 @@ const Switch: component(
272
272
  disabled,
273
273
  onTintColor: trackColorForTrue,
274
274
  style: StyleSheet.compose(
275
- {height: 31, width: 51},
275
+ {height: 31, width: 51}, // #windows
276
276
  StyleSheet.compose(
277
277
  style,
278
278
  ios_backgroundColor == null
@@ -618,6 +618,9 @@ function InternalTextInput(props: TextInputProps): React.Node {
618
618
  // so omitting onBlur and onFocus pressability handlers here.
619
619
  const {onBlur, onFocus, ...eventHandlers} = usePressability(config);
620
620
 
621
+ const _accessibilityLabel =
622
+ props?.['aria-label'] ?? props?.accessibilityLabel;
623
+
621
624
  let _accessibilityState;
622
625
  if (
623
626
  accessibilityState != null ||
@@ -681,6 +684,7 @@ function InternalTextInput(props: TextInputProps): React.Node {
681
684
  {...otherProps}
682
685
  {...eventHandlers}
683
686
  acceptDragAndDropTypes={props.experimental_acceptDragAndDropTypes}
687
+ accessibilityLabel={_accessibilityLabel}
684
688
  accessibilityState={_accessibilityState}
685
689
  accessible={accessible}
686
690
  submitBehavior={submitBehavior}
@@ -744,8 +748,9 @@ function InternalTextInput(props: TextInputProps): React.Node {
744
748
  {...otherProps}
745
749
  {...colorProps}
746
750
  {...eventHandlers}
747
- accessibilityState={_accessibilityState}
751
+ accessibilityLabel={_accessibilityLabel}
748
752
  accessibilityLabelledBy={_accessibilityLabelledBy}
753
+ accessibilityState={_accessibilityState}
749
754
  accessible={accessible}
750
755
  acceptDragAndDropTypes={props.experimental_acceptDragAndDropTypes}
751
756
  autoCapitalize={autoCapitalize}
@@ -734,6 +734,9 @@ function InternalTextInput(props: TextInputProps): React.Node {
734
734
  const _accessibilityPosInSet = ariaPosinset ?? accessibilityPosInSet; // Windows
735
735
  const _accessibilitySetSize = ariaSetsize ?? accessibilitySetSize; // Windows
736
736
 
737
+ const _accessibilityLabel =
738
+ props?.['aria-label'] ?? props?.accessibilityLabel;
739
+
737
740
  let _accessibilityState;
738
741
  if (
739
742
  accessibilityState != null ||
@@ -804,6 +807,7 @@ function InternalTextInput(props: TextInputProps): React.Node {
804
807
  {...otherProps}
805
808
  {...eventHandlers}
806
809
  acceptDragAndDropTypes={props.experimental_acceptDragAndDropTypes}
810
+ accessibilityLabel={_accessibilityLabel}
807
811
  accessibilityErrorMessage={accessibilityErrorMessage}
808
812
  accessibilityState={_accessibilityState}
809
813
  accessible={accessible}
@@ -868,6 +872,7 @@ function InternalTextInput(props: TextInputProps): React.Node {
868
872
  {...otherProps}
869
873
  {...colorProps}
870
874
  {...eventHandlers}
875
+ accessibilityLabel={_accessibilityLabel}
871
876
  accessibilityErrorMessage={accessibilityErrorMessage}
872
877
  accessibilityState={_accessibilityState}
873
878
  accessibilityLabelledBy={_accessibilityLabelledBy}
@@ -23,7 +23,7 @@ import {use} from 'react';
23
23
  *
24
24
  * @see https://reactnative.dev/docs/view
25
25
  */
26
- export default component View(
26
+ component View(
27
27
  ref?: React.RefSetter<React.ElementRef<typeof ViewNativeComponent>>,
28
28
  ...props: ViewProps
29
29
  ) {
@@ -213,3 +213,7 @@ export default component View(
213
213
  }
214
214
  return actualView;
215
215
  }
216
+
217
+ View.displayName = 'View';
218
+
219
+ export default View;
@@ -57,7 +57,7 @@ const childrenWithImportantForAccessibility = children => {
57
57
  *
58
58
  * @see https://reactnative.dev/docs/view
59
59
  */
60
- export default component View(
60
+ component View(
61
61
  ref?: React.RefSetter<React.ElementRef<typeof ViewNativeComponent>>,
62
62
  ...props: ViewProps
63
63
  ) {
@@ -398,3 +398,8 @@ export default component View(
398
398
  }
399
399
  return actualView;
400
400
  }
401
+
402
+ // eslint-disable-next-line no-unreachable
403
+ View.displayName = 'View';
404
+
405
+ export default View;
@@ -17,6 +17,6 @@ export const version: $ReadOnly<{
17
17
  }> = {
18
18
  major: 0,
19
19
  minor: 81,
20
- patch: 0,
21
- prerelease: 'rc.0',
20
+ patch: 5,
21
+ prerelease: null,
22
22
  };
@@ -1,178 +1,179 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
3
 
4
- #include "NamespaceRedirect.h"
5
4
  #include "DocString.h"
5
+ #include "NamespaceRedirect.h"
6
6
  import "Composition.Input.idl";
7
7
 
8
- namespace Microsoft.ReactNative.Composition.Experimental
8
+ namespace Microsoft.ReactNative.Composition.Experimental {
9
+ enum CompositionStretch {
10
+ None,
11
+ Fill,
12
+ Uniform,
13
+ UniformToFill,
14
+ };
15
+
16
+ enum BackfaceVisibility { Inherit, Visible, Hidden };
17
+
18
+ enum AnimationClass {
19
+ None = 0,
20
+ ScrollBar,
21
+ ScrollBarThumbHorizontal,
22
+ ScrollBarThumbVertical,
23
+ SwitchThumb,
24
+ };
25
+
26
+ enum SnapPointsAlignment {
27
+ Near = 0, // Start alignment (left/top)
28
+ Center = 1, // Center alignment
29
+ Far = 2, // End alignment (right/bottom)
30
+ };
31
+
32
+ [webhosthidden][uuid("172def51-9e1a-4e3c-841a-e5a470065acc")] // uuid needed for empty interfaces
33
+ [version(0)][experimental] interface IBrush {}
34
+
35
+ [webhosthidden][experimental] interface IDrawingSurfaceBrush
36
+ requires IBrush
37
+ {
38
+ void HorizontalAlignmentRatio(Single value);
39
+ void VerticalAlignmentRatio(Single value);
40
+ void Stretch(CompositionStretch value);
41
+ }
42
+
43
+ [webhosthidden][experimental] interface IDropShadow {
44
+ void Offset(Windows.Foundation.Numerics.Vector3 value);
45
+ void Opacity(Single value);
46
+ void BlurRadius(Single value);
47
+ void Color(Windows.UI.Color value);
48
+ }
49
+
50
+ [webhosthidden][experimental] interface IVisual {
51
+ void InsertAt(IVisual visual, Int32 index);
52
+ void Remove(IVisual visual);
53
+ IVisual GetAt(UInt32 index);
54
+ void Opacity(Single opacity);
55
+ void Scale(Windows.Foundation.Numerics.Vector3 scale);
56
+ void TransformMatrix(Windows.Foundation.Numerics.Matrix4x4 transform);
57
+ void RotationAngle(Single angle);
58
+ void IsVisible(Boolean isVisible);
59
+ void Size(Windows.Foundation.Numerics.Vector2 size);
60
+ void Offset(Windows.Foundation.Numerics.Vector3 offset);
61
+ void Offset(Windows.Foundation.Numerics.Vector3 offset, Windows.Foundation.Numerics.Vector3 relativeAdjustment);
62
+ void RelativeSizeWithOffset(
63
+ Windows.Foundation.Numerics.Vector2 size, Windows.Foundation.Numerics.Vector2 relativeSizeAdjustment);
64
+ BackfaceVisibility BackfaceVisibility {
65
+ get;
66
+ set;
67
+ };
68
+ String Comment {
69
+ get;
70
+ set;
71
+ };
72
+ void AnimationClass(AnimationClass value);
73
+ }
74
+
75
+ [webhosthidden][experimental] interface ISpriteVisual
76
+ requires IVisual
77
+ {
78
+ void Brush(IBrush brush);
79
+ void Shadow(IDropShadow shadow);
80
+ }
81
+
82
+ [webhosthidden][experimental] interface IRoundedRectangleVisual
83
+ requires IVisual
9
84
  {
10
- enum CompositionStretch
11
- {
12
- None,
13
- Fill,
14
- Uniform,
15
- UniformToFill,
85
+ void Brush(IBrush brush);
86
+ void CornerRadius(Windows.Foundation.Numerics.Vector2 value);
87
+ void StrokeBrush(IBrush brush);
88
+ void StrokeThickness(Single value);
89
+ }
90
+
91
+ [webhosthidden][experimental] interface IScrollPositionChangedArgs {
92
+ Windows.Foundation.Numerics.Vector2 Position {
93
+ get;
16
94
  };
95
+ }
17
96
 
18
- enum BackfaceVisibility
19
- {
20
- Inherit,
21
- Visible,
22
- Hidden
97
+ [webhosthidden][experimental] interface IScrollVisual
98
+ requires IVisual
99
+ {
100
+ void Brush(IBrush brush);
101
+ void ScrollEnabled(Boolean isScrollEnabled);
102
+ event Windows.Foundation.EventHandler<IScrollPositionChangedArgs> ScrollPositionChanged;
103
+ event Windows.Foundation.EventHandler<IScrollPositionChangedArgs> ScrollBeginDrag;
104
+ event Windows.Foundation.EventHandler<IScrollPositionChangedArgs> ScrollEndDrag;
105
+ event Windows.Foundation.EventHandler<IScrollPositionChangedArgs> ScrollMomentumBegin;
106
+ event Windows.Foundation.EventHandler<IScrollPositionChangedArgs> ScrollMomentumEnd;
107
+ void ContentSize(Windows.Foundation.Numerics.Vector2 size);
108
+ Windows.Foundation.Numerics.Vector3 ScrollPosition {
109
+ get;
110
+ };
111
+ void ScrollBy(Windows.Foundation.Numerics.Vector3 offset, Boolean animate);
112
+ void TryUpdatePosition(Windows.Foundation.Numerics.Vector3 position, Boolean animate);
113
+ void OnPointerPressed(Microsoft.ReactNative.Composition.Input.PointerRoutedEventArgs args);
114
+ void SetDecelerationRate(Windows.Foundation.Numerics.Vector3 decelerationRate);
115
+ void SetMaximumZoomScale(Single maximumZoomScale);
116
+ void SetMinimumZoomScale(Single minimumZoomScale);
117
+ Boolean Horizontal;
118
+ void SetSnapPoints(
119
+ Boolean snapToStart, Boolean snapToEnd, Windows.Foundation.Collections.IVectorView<Single> offsets);
120
+ void PagingEnabled(Boolean pagingEnabled);
121
+ void SnapToInterval(Single interval);
122
+ void SnapToAlignment(SnapPointsAlignment alignment);
123
+ }
124
+
125
+ [webhosthidden][experimental] interface IActivityVisual
126
+ requires IVisual
127
+ {
128
+ void Size(Single value);
129
+ void Brush(IBrush brush);
130
+ void StartAnimation();
131
+ void StopAnimation();
132
+ }
133
+
134
+ [webhosthidden][experimental] interface ICaretVisual {
135
+ IVisual InnerVisual {
136
+ get;
23
137
  };
24
-
25
- enum AnimationClass
26
- {
27
- None = 0,
28
- ScrollBar,
29
- ScrollBarThumbHorizontal,
30
- ScrollBarThumbVertical,
31
- SwitchThumb,
138
+ void Size(Windows.Foundation.Numerics.Vector2 size);
139
+ void Position(Windows.Foundation.Numerics.Vector2 position);
140
+ Boolean IsVisible {
141
+ get;
142
+ set;
32
143
  };
144
+ void Brush(IBrush brush);
145
+ }
33
146
 
34
- [webhosthidden]
35
- [uuid("172def51-9e1a-4e3c-841a-e5a470065acc")] // uuid needed for empty interfaces
36
- [version(0)]
37
- [experimental]
38
- interface IBrush {
39
- }
40
-
41
- [webhosthidden]
42
- [experimental]
43
- interface IDrawingSurfaceBrush requires IBrush
44
- {
45
- void HorizontalAlignmentRatio(Single value);
46
- void VerticalAlignmentRatio(Single value);
47
- void Stretch(CompositionStretch value);
48
- }
49
-
50
- [webhosthidden]
51
- [experimental]
52
- interface IDropShadow {
53
- void Offset(Windows.Foundation.Numerics.Vector3 value);
54
- void Opacity(Single value);
55
- void BlurRadius(Single value);
56
- void Color(Windows.UI.Color value);
57
- }
58
-
59
- [webhosthidden]
60
- [experimental]
61
- interface IVisual
62
- {
63
- void InsertAt(IVisual visual, Int32 index);
64
- void Remove(IVisual visual);
65
- IVisual GetAt(UInt32 index);
66
- void Opacity(Single opacity);
67
- void Scale(Windows.Foundation.Numerics.Vector3 scale);
68
- void TransformMatrix(Windows.Foundation.Numerics.Matrix4x4 transform);
69
- void RotationAngle(Single angle);
70
- void IsVisible(Boolean isVisible);
71
- void Size(Windows.Foundation.Numerics.Vector2 size);
72
- void Offset(Windows.Foundation.Numerics.Vector3 offset);
73
- void Offset(Windows.Foundation.Numerics.Vector3 offset, Windows.Foundation.Numerics.Vector3 relativeAdjustment);
74
- void RelativeSizeWithOffset(Windows.Foundation.Numerics.Vector2 size, Windows.Foundation.Numerics.Vector2 relativeSizeAdjustment);
75
- BackfaceVisibility BackfaceVisibility{ get; set; };
76
- String Comment { get; set; };
77
- void AnimationClass(AnimationClass value);
78
- }
79
-
80
- [webhosthidden]
81
- [experimental]
82
- interface ISpriteVisual requires IVisual
83
- {
84
- void Brush(IBrush brush);
85
- void Shadow(IDropShadow shadow);
86
- }
87
-
88
- [webhosthidden]
89
- [experimental]
90
- interface IRoundedRectangleVisual requires IVisual
91
- {
92
- void Brush(IBrush brush);
93
- void CornerRadius(Windows.Foundation.Numerics.Vector2 value);
94
- void StrokeBrush(IBrush brush);
95
- void StrokeThickness(Single value);
96
- }
97
-
98
- [webhosthidden]
99
- [experimental]
100
- interface IScrollPositionChangedArgs
101
- {
102
- Windows.Foundation.Numerics.Vector2 Position { get; };
103
- }
104
-
105
- [webhosthidden]
106
- [experimental]
107
- interface IScrollVisual requires IVisual
108
- {
109
- void Brush(IBrush brush);
110
- void ScrollEnabled(Boolean isScrollEnabled);
111
- event Windows.Foundation.EventHandler<IScrollPositionChangedArgs> ScrollPositionChanged;
112
- event Windows.Foundation.EventHandler<IScrollPositionChangedArgs> ScrollBeginDrag;
113
- event Windows.Foundation.EventHandler<IScrollPositionChangedArgs> ScrollEndDrag;
114
- event Windows.Foundation.EventHandler<IScrollPositionChangedArgs> ScrollMomentumBegin;
115
- event Windows.Foundation.EventHandler<IScrollPositionChangedArgs> ScrollMomentumEnd;
116
- void ContentSize(Windows.Foundation.Numerics.Vector2 size);
117
- Windows.Foundation.Numerics.Vector3 ScrollPosition { get; };
118
- void ScrollBy(Windows.Foundation.Numerics.Vector3 offset, Boolean animate);
119
- void TryUpdatePosition(Windows.Foundation.Numerics.Vector3 position, Boolean animate);
120
- void OnPointerPressed(Microsoft.ReactNative.Composition.Input.PointerRoutedEventArgs args);
121
- void SetDecelerationRate(Windows.Foundation.Numerics.Vector3 decelerationRate);
122
- void SetMaximumZoomScale(Single maximumZoomScale);
123
- void SetMinimumZoomScale(Single minimumZoomScale);
124
- Boolean Horizontal;
125
- void SetSnapPoints(Boolean snapToStart, Boolean snapToEnd, Windows.Foundation.Collections.IVectorView<Single> offsets);
126
- }
127
-
128
- [webhosthidden]
129
- [experimental]
130
- interface IActivityVisual requires IVisual
131
- {
132
- void Size(Single value);
133
- void Brush(IBrush brush);
134
- void StartAnimation();
135
- void StopAnimation();
136
- }
137
-
138
- [webhosthidden]
139
- [experimental]
140
- interface ICaretVisual
141
- {
142
- IVisual InnerVisual { get; };
143
- void Size(Windows.Foundation.Numerics.Vector2 size);
144
- void Position(Windows.Foundation.Numerics.Vector2 position);
145
- Boolean IsVisible { get; set; };
146
- void Brush(IBrush brush);
147
- }
148
-
149
- [webhosthidden]
150
- [experimental]
151
- interface IFocusVisual
152
- {
153
- IVisual InnerVisual { get; };
154
- Boolean IsFocused { get; set; };
155
- Single ScaleFactor { get; set; };
156
- }
157
-
158
- [webhosthidden]
159
- [experimental]
160
- interface ICompositionContext
161
- {
162
- ISpriteVisual CreateSpriteVisual();
163
- IScrollVisual CreateScrollerVisual();
164
- IRoundedRectangleVisual CreateRoundedRectangleVisual();
165
- IActivityVisual CreateActivityVisual();
166
- ICaretVisual CreateCaretVisual();
167
- IFocusVisual CreateFocusVisual();
168
- IDropShadow CreateDropShadow();
169
- IBrush CreateColorBrush(Windows.UI.Color color);
170
- IDrawingSurfaceBrush CreateDrawingSurfaceBrush(Windows.Foundation.Size surfaceSize,
147
+ [webhosthidden][experimental] interface IFocusVisual {
148
+ IVisual InnerVisual {
149
+ get;
150
+ };
151
+ Boolean IsFocused {
152
+ get;
153
+ set;
154
+ };
155
+ Single ScaleFactor {
156
+ get;
157
+ set;
158
+ };
159
+ }
160
+
161
+ [webhosthidden][experimental] interface ICompositionContext {
162
+ ISpriteVisual CreateSpriteVisual();
163
+ IScrollVisual CreateScrollerVisual();
164
+ IRoundedRectangleVisual CreateRoundedRectangleVisual();
165
+ IActivityVisual CreateActivityVisual();
166
+ ICaretVisual CreateCaretVisual();
167
+ IFocusVisual CreateFocusVisual();
168
+ IDropShadow CreateDropShadow();
169
+ IBrush CreateColorBrush(Windows.UI.Color color);
170
+ IDrawingSurfaceBrush CreateDrawingSurfaceBrush(
171
+ Windows.Foundation.Size surfaceSize,
171
172
  Windows.Graphics.DirectX.DirectXPixelFormat pixelFormat,
172
173
  Windows.Graphics.DirectX.DirectXAlphaMode alphaMode);
173
174
 
174
- // TODO Add and hook up to rootnode - to notify the tree
175
- // event Windows.Foundation.EventHandler<RenderingDeviceReplacedArgs> RenderingDeviceReplaced;
176
- }
175
+ // TODO Add and hook up to rootnode - to notify the tree
176
+ // event Windows.Foundation.EventHandler<RenderingDeviceReplacedArgs> RenderingDeviceReplaced;
177
+ }
177
178
 
178
- } // namespace Microsoft.ReactNative.Composition.Experimental
179
+ } // namespace Microsoft.ReactNative.Composition. Experimental