react-native-windows 0.74.26 → 0.74.28
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/Libraries/Modal/Modal.windows.js +352 -0
- package/Microsoft.ReactNative/Fabric/ComponentView.cpp +26 -46
- package/Microsoft.ReactNative/Fabric/ComponentView.h +6 -19
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +164 -3
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.h +7 -0
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +15 -17
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.h +6 -3
- package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.cpp +9 -2
- package/Microsoft.ReactNative/Fabric/Composition/ContentIslandComponentView.h +2 -1
- package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +59 -9
- package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.h +2 -0
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.cpp +78 -30
- package/Microsoft.ReactNative/Fabric/Composition/ReactCompositionViewComponentBuilder.h +21 -1
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +8 -1
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.h +3 -0
- package/Microsoft.ReactNative/IReactCompositionViewComponentBuilder.idl +25 -0
- package/PropertySheets/Generated/PackageVersion.g.props +3 -3
- package/PropertySheets/React.Cpp.props +6 -0
- package/codegen/NativeAccessibilityInfoSpec.g.h +1 -0
- package/codegen/NativeAccessibilityManagerSpec.g.h +1 -0
- package/codegen/NativeActionSheetManagerSpec.g.h +1 -0
- package/codegen/NativeAlertManagerSpec.g.h +1 -0
- package/codegen/NativeAnimatedModuleSpec.g.h +1 -0
- package/codegen/NativeAnimatedTurboModuleSpec.g.h +1 -0
- package/codegen/NativeAnimationsDebugModuleSpec.g.h +1 -0
- package/codegen/NativeAppStateSpec.g.h +1 -0
- package/codegen/NativeAppThemeSpec.g.h +1 -0
- package/codegen/NativeAppearanceSpec.g.h +1 -0
- package/codegen/NativeBlobModuleSpec.g.h +1 -0
- package/codegen/NativeBugReportingSpec.g.h +1 -0
- package/codegen/NativeClipboardSpec.g.h +1 -0
- package/codegen/NativeDevLoadingViewSpec.g.h +1 -0
- package/codegen/NativeDevMenuSpec.g.h +1 -0
- package/codegen/NativeDevSettingsSpec.g.h +1 -0
- package/codegen/NativeDevToolsSettingsManagerSpec.g.h +1 -0
- package/codegen/NativeDeviceEventManagerSpec.g.h +1 -0
- package/codegen/NativeDeviceInfoSpec.g.h +1 -0
- package/codegen/NativeDialogManagerAndroidSpec.g.h +1 -0
- package/codegen/NativeDialogManagerWindowsSpec.g.h +1 -0
- package/codegen/NativeExceptionsManagerSpec.g.h +1 -0
- package/codegen/NativeFileReaderModuleSpec.g.h +1 -0
- package/codegen/NativeFrameRateLoggerSpec.g.h +1 -0
- package/codegen/NativeHeadlessJsTaskSupportSpec.g.h +1 -0
- package/codegen/NativeI18nManagerSpec.g.h +1 -0
- package/codegen/NativeImageEditorSpec.g.h +1 -0
- package/codegen/NativeImageLoaderAndroidSpec.g.h +1 -0
- package/codegen/NativeImageLoaderIOSSpec.g.h +1 -0
- package/codegen/NativeImageStoreAndroidSpec.g.h +1 -0
- package/codegen/NativeImageStoreIOSSpec.g.h +1 -0
- package/codegen/NativeIntentAndroidSpec.g.h +1 -0
- package/codegen/NativeIntersectionObserverSpec.g.h +1 -0
- package/codegen/NativeJSCHeapCaptureSpec.g.h +1 -0
- package/codegen/NativeJSCSamplingProfilerSpec.g.h +1 -0
- package/codegen/NativeKeyboardObserverSpec.g.h +1 -0
- package/codegen/NativeLinkingManagerSpec.g.h +1 -0
- package/codegen/NativeLogBoxSpec.g.h +1 -0
- package/codegen/NativeModalManagerSpec.g.h +1 -0
- package/codegen/NativeMutationObserverSpec.g.h +1 -0
- package/codegen/NativeNetworkingAndroidSpec.g.h +1 -0
- package/codegen/NativeNetworkingIOSSpec.g.h +1 -0
- package/codegen/NativePerformanceObserverSpec.g.h +1 -0
- package/codegen/NativePerformanceSpec.g.h +1 -0
- package/codegen/NativePermissionsAndroidSpec.g.h +1 -0
- package/codegen/NativePlatformConstantsAndroidSpec.g.h +1 -0
- package/codegen/NativePlatformConstantsIOSSpec.g.h +1 -0
- package/codegen/NativePlatformConstantsWinSpec.g.h +1 -0
- package/codegen/NativePushNotificationManagerIOSSpec.g.h +1 -0
- package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +1 -0
- package/codegen/NativeRedBoxSpec.g.h +1 -0
- package/codegen/NativeSampleTurboModuleSpec.g.h +1 -0
- package/codegen/NativeSegmentFetcherSpec.g.h +1 -0
- package/codegen/NativeSettingsManagerSpec.g.h +1 -0
- package/codegen/NativeShareModuleSpec.g.h +1 -0
- package/codegen/NativeSoundManagerSpec.g.h +1 -0
- package/codegen/NativeSourceCodeSpec.g.h +1 -0
- package/codegen/NativeStatusBarManagerAndroidSpec.g.h +1 -0
- package/codegen/NativeStatusBarManagerIOSSpec.g.h +1 -0
- package/codegen/NativeTimingSpec.g.h +1 -0
- package/codegen/NativeToastAndroidSpec.g.h +1 -0
- package/codegen/NativeUIManagerSpec.g.h +1 -0
- package/codegen/NativeVibrationSpec.g.h +1 -0
- package/codegen/NativeWebSocketModuleSpec.g.h +1 -0
- package/package.json +3 -3
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
#include <Fabric/Composition/CompositionViewComponentView.h>
|
|
7
7
|
#include <Fabric/Composition/ContentIslandComponentView.h>
|
|
8
8
|
#include <strsafe.h>
|
|
9
|
+
#include "CompositionContextHelper.h"
|
|
9
10
|
#include "DynamicWriter.h"
|
|
10
11
|
#include "ReactHost/MsoUtils.h"
|
|
11
12
|
|
|
@@ -52,24 +53,6 @@ LayoutHandler ReactCompositionViewComponentBuilder::LayoutHandler() const noexce
|
|
|
52
53
|
void ReactCompositionViewComponentBuilder::InitializeComponentView(
|
|
53
54
|
const winrt::Microsoft::ReactNative::ComponentView &view) noexcept {
|
|
54
55
|
auto self = winrt::get_self<winrt::Microsoft::ReactNative::implementation::ComponentView>(view);
|
|
55
|
-
self->MarkAsCustomComponent();
|
|
56
|
-
if (m_customCommandHandler)
|
|
57
|
-
self->CustomCommandHandler(m_customCommandHandler);
|
|
58
|
-
if (m_finalizeUpdateHandler)
|
|
59
|
-
self->FinalizeUpdateHandler(m_finalizeUpdateHandler);
|
|
60
|
-
if (m_updatePropsHandler)
|
|
61
|
-
self->UpdatePropsHandler(m_updatePropsHandler);
|
|
62
|
-
if (m_updateStateHandler)
|
|
63
|
-
self->UpdateStateHandler(m_updateStateHandler);
|
|
64
|
-
if (m_updateEventEmitterHandler)
|
|
65
|
-
self->UpdateEventEmitterHandler(m_updateEventEmitterHandler);
|
|
66
|
-
if (m_mountChildComponentViewHandler)
|
|
67
|
-
self->MountChildComponentViewHandler(m_mountChildComponentViewHandler);
|
|
68
|
-
if (m_unmountChildComponentViewHandler)
|
|
69
|
-
self->UnmountChildComponentViewHandler(m_unmountChildComponentViewHandler);
|
|
70
|
-
if (m_createVisualHandler)
|
|
71
|
-
view.as<winrt::Microsoft::ReactNative::Composition::implementation::ViewComponentView>()->CreateVisualHandler(
|
|
72
|
-
m_createVisualHandler);
|
|
73
56
|
}
|
|
74
57
|
|
|
75
58
|
void ReactCompositionViewComponentBuilder::SetComponentViewInitializer(
|
|
@@ -78,8 +61,9 @@ void ReactCompositionViewComponentBuilder::SetComponentViewInitializer(
|
|
|
78
61
|
const IReactContext &reactContext,
|
|
79
62
|
int32_t tag,
|
|
80
63
|
const Experimental::ICompositionContext &context,
|
|
81
|
-
ComponentViewFeatures
|
|
82
|
-
|
|
64
|
+
ComponentViewFeatures,
|
|
65
|
+
ReactCompositionViewComponentBuilder &builder) {
|
|
66
|
+
auto view = winrt::make<winrt::Microsoft::ReactNative::implementation::ComponentView>(tag, reactContext, &builder);
|
|
83
67
|
initializer(view);
|
|
84
68
|
return view;
|
|
85
69
|
};
|
|
@@ -94,9 +78,10 @@ void ReactCompositionViewComponentBuilder::SetViewComponentViewInitializer(
|
|
|
94
78
|
const IReactContext &reactContext,
|
|
95
79
|
int32_t tag,
|
|
96
80
|
const Experimental::ICompositionContext &context,
|
|
97
|
-
ComponentViewFeatures features
|
|
81
|
+
ComponentViewFeatures features,
|
|
82
|
+
ReactCompositionViewComponentBuilder &builder) {
|
|
98
83
|
auto view = winrt::make<implementation::ViewComponentView>(
|
|
99
|
-
implementation::ViewComponentView::defaultProps(), context, tag, reactContext, features);
|
|
84
|
+
implementation::ViewComponentView::defaultProps(), context, tag, reactContext, features, &builder);
|
|
100
85
|
initializer(view);
|
|
101
86
|
return view;
|
|
102
87
|
};
|
|
@@ -108,14 +93,15 @@ void ReactCompositionViewComponentBuilder::SetViewComponentViewInitializer(
|
|
|
108
93
|
|
|
109
94
|
void ReactCompositionViewComponentBuilder::SetContentIslandComponentViewInitializer(
|
|
110
95
|
const ComponentIslandComponentViewInitializer &initializer) noexcept {
|
|
111
|
-
m_fnCreateView =
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
96
|
+
m_fnCreateView = [initializer](
|
|
97
|
+
const IReactContext &reactContext,
|
|
98
|
+
int32_t tag,
|
|
99
|
+
const Experimental::ICompositionContext &context,
|
|
100
|
+
ComponentViewFeatures /*features*/,
|
|
101
|
+
ReactCompositionViewComponentBuilder &builder)
|
|
102
|
+
-> winrt::Microsoft::ReactNative::Composition::ContentIslandComponentView {
|
|
117
103
|
auto view = winrt::make<winrt::Microsoft::ReactNative::Composition::implementation::ContentIslandComponentView>(
|
|
118
|
-
context, tag, reactContext);
|
|
104
|
+
context, tag, reactContext, &builder);
|
|
119
105
|
initializer(view);
|
|
120
106
|
return view;
|
|
121
107
|
};
|
|
@@ -166,46 +152,108 @@ void ReactCompositionViewComponentBuilder::SetCustomCommandHandler(HandleCommand
|
|
|
166
152
|
m_customCommandHandler = impl;
|
|
167
153
|
}
|
|
168
154
|
|
|
155
|
+
const HandleCommandDelegate &ReactCompositionViewComponentBuilder::CustomCommandHandler() const noexcept {
|
|
156
|
+
return m_customCommandHandler;
|
|
157
|
+
}
|
|
158
|
+
|
|
169
159
|
void ReactCompositionViewComponentBuilder::SetFinalizeUpdateHandler(UpdateFinalizerDelegate impl) noexcept {
|
|
170
160
|
m_finalizeUpdateHandler = impl;
|
|
171
161
|
}
|
|
172
162
|
|
|
163
|
+
const UpdateFinalizerDelegate &ReactCompositionViewComponentBuilder::FinalizeUpdateHandler() const noexcept {
|
|
164
|
+
return m_finalizeUpdateHandler;
|
|
165
|
+
}
|
|
166
|
+
|
|
173
167
|
void ReactCompositionViewComponentBuilder::SetUpdatePropsHandler(UpdatePropsDelegate impl) noexcept {
|
|
174
168
|
m_updatePropsHandler = impl;
|
|
175
169
|
}
|
|
176
170
|
|
|
171
|
+
const winrt::Microsoft::ReactNative::UpdatePropsDelegate &ReactCompositionViewComponentBuilder::UpdatePropsHandler()
|
|
172
|
+
const noexcept {
|
|
173
|
+
return m_updatePropsHandler;
|
|
174
|
+
}
|
|
175
|
+
|
|
177
176
|
void ReactCompositionViewComponentBuilder::SetUpdateStateHandler(UpdateStateDelegate impl) noexcept {
|
|
178
177
|
m_updateStateHandler = impl;
|
|
179
178
|
}
|
|
180
179
|
|
|
180
|
+
const winrt::Microsoft::ReactNative::UpdateStateDelegate &ReactCompositionViewComponentBuilder::UpdateStateHandler()
|
|
181
|
+
const noexcept {
|
|
182
|
+
return m_updateStateHandler;
|
|
183
|
+
}
|
|
184
|
+
|
|
181
185
|
void ReactCompositionViewComponentBuilder::SetUpdateEventEmitterHandler(UpdateEventEmitterDelegate impl) noexcept {
|
|
182
186
|
m_updateEventEmitterHandler = impl;
|
|
183
187
|
}
|
|
184
188
|
|
|
189
|
+
const UpdateEventEmitterDelegate &ReactCompositionViewComponentBuilder::UpdateEventEmitterHandler() const noexcept {
|
|
190
|
+
return m_updateEventEmitterHandler;
|
|
191
|
+
}
|
|
192
|
+
|
|
185
193
|
void ReactCompositionViewComponentBuilder::SetMountChildComponentViewHandler(
|
|
186
194
|
MountChildComponentViewDelegate impl) noexcept {
|
|
187
195
|
m_mountChildComponentViewHandler = impl;
|
|
188
196
|
}
|
|
189
197
|
|
|
198
|
+
const MountChildComponentViewDelegate &ReactCompositionViewComponentBuilder::MountChildComponentViewHandler()
|
|
199
|
+
const noexcept {
|
|
200
|
+
return m_mountChildComponentViewHandler;
|
|
201
|
+
}
|
|
202
|
+
|
|
190
203
|
void ReactCompositionViewComponentBuilder::SetUnmountChildComponentViewHandler(
|
|
191
204
|
UnmountChildComponentViewDelegate impl) noexcept {
|
|
192
205
|
m_unmountChildComponentViewHandler = impl;
|
|
193
206
|
}
|
|
194
207
|
|
|
208
|
+
const UnmountChildComponentViewDelegate &ReactCompositionViewComponentBuilder::UnmountChildComponentViewHandler()
|
|
209
|
+
const noexcept {
|
|
210
|
+
return m_unmountChildComponentViewHandler;
|
|
211
|
+
}
|
|
212
|
+
|
|
195
213
|
void ReactCompositionViewComponentBuilder::SetCreateVisualHandler(CreateVisualDelegate impl) noexcept {
|
|
196
214
|
m_createVisualHandler = impl;
|
|
197
215
|
}
|
|
198
216
|
|
|
217
|
+
const CreateVisualDelegate &ReactCompositionViewComponentBuilder::CreateVisualHandler() const noexcept {
|
|
218
|
+
return m_createVisualHandler;
|
|
219
|
+
}
|
|
220
|
+
|
|
199
221
|
void ReactCompositionViewComponentBuilder::SetViewFeatures(ComponentViewFeatures viewFeatures) noexcept {
|
|
200
222
|
m_features = viewFeatures;
|
|
201
223
|
}
|
|
202
224
|
|
|
225
|
+
void ReactCompositionViewComponentBuilder::SetVisualToMountChildrenIntoHandler(
|
|
226
|
+
VisualToMountChildrenIntoDelegate impl) noexcept {
|
|
227
|
+
m_visualToMountChildrenIntoHandler = [impl](const winrt::Microsoft::ReactNative::ComponentView &view) {
|
|
228
|
+
return winrt::Microsoft::ReactNative::Composition::Experimental::implementation::MicrosoftCompositionContextHelper::
|
|
229
|
+
CreateVisual(impl(view));
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
void ReactCompositionViewComponentBuilder::SetIVisualToMountChildrenIntoHandler(
|
|
234
|
+
winrt::Microsoft::ReactNative::Composition::Experimental::IVisualToMountChildrenIntoDelegate impl) noexcept {
|
|
235
|
+
m_visualToMountChildrenIntoHandler = impl;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
const winrt::Microsoft::ReactNative::Composition::Experimental::IVisualToMountChildrenIntoDelegate &
|
|
239
|
+
ReactCompositionViewComponentBuilder::VisualToMountChildrenIntoHandler() const noexcept {
|
|
240
|
+
return m_visualToMountChildrenIntoHandler;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
void ReactCompositionViewComponentBuilder::SetUpdateLayoutMetricsHandler(UpdateLayoutMetricsDelegate impl) noexcept {
|
|
244
|
+
m_updateLayoutMetricsHandler = impl;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
const UpdateLayoutMetricsDelegate &ReactCompositionViewComponentBuilder::UpdateLayoutMetricsHandler() const noexcept {
|
|
248
|
+
return m_updateLayoutMetricsHandler;
|
|
249
|
+
}
|
|
250
|
+
|
|
203
251
|
winrt::Microsoft::ReactNative::ComponentView ReactCompositionViewComponentBuilder::CreateView(
|
|
204
252
|
const IReactContext &reactContext,
|
|
205
253
|
int32_t tag,
|
|
206
254
|
const Experimental::ICompositionContext &context) noexcept {
|
|
207
255
|
assert(m_fnCreateView);
|
|
208
|
-
auto view = m_fnCreateView(reactContext, tag, context, m_features);
|
|
256
|
+
auto view = m_fnCreateView(reactContext, tag, context, m_features, *this);
|
|
209
257
|
InitializeComponentView(view);
|
|
210
258
|
return view;
|
|
211
259
|
}
|
|
@@ -44,6 +44,10 @@ struct ReactCompositionViewComponentBuilder : winrt::implements<
|
|
|
44
44
|
void SetContentIslandComponentViewInitializer(const ComponentIslandComponentViewInitializer &initializer) noexcept;
|
|
45
45
|
void SetCreateVisualHandler(CreateVisualDelegate impl) noexcept;
|
|
46
46
|
void SetViewFeatures(ComponentViewFeatures viewFeatures) noexcept;
|
|
47
|
+
void SetVisualToMountChildrenIntoHandler(VisualToMountChildrenIntoDelegate impl) noexcept;
|
|
48
|
+
void SetIVisualToMountChildrenIntoHandler(
|
|
49
|
+
winrt::Microsoft::ReactNative::Composition::Experimental::IVisualToMountChildrenIntoDelegate impl) noexcept;
|
|
50
|
+
void SetUpdateLayoutMetricsHandler(UpdateLayoutMetricsDelegate impl) noexcept;
|
|
47
51
|
|
|
48
52
|
public:
|
|
49
53
|
IComponentProps CreateProps(ViewProps props, const IComponentProps &cloneFrom) noexcept;
|
|
@@ -60,6 +64,18 @@ struct ReactCompositionViewComponentBuilder : winrt::implements<
|
|
|
60
64
|
facebook::react::Tag tag,
|
|
61
65
|
const Experimental::ICompositionContext &context) noexcept;
|
|
62
66
|
|
|
67
|
+
const UpdateFinalizerDelegate &FinalizeUpdateHandler() const noexcept;
|
|
68
|
+
const HandleCommandDelegate &CustomCommandHandler() const noexcept;
|
|
69
|
+
const winrt::Microsoft::ReactNative::UpdatePropsDelegate &UpdatePropsHandler() const noexcept;
|
|
70
|
+
const winrt::Microsoft::ReactNative::UpdateStateDelegate &UpdateStateHandler() const noexcept;
|
|
71
|
+
const UpdateEventEmitterDelegate &UpdateEventEmitterHandler() const noexcept;
|
|
72
|
+
const MountChildComponentViewDelegate &MountChildComponentViewHandler() const noexcept;
|
|
73
|
+
const UnmountChildComponentViewDelegate &UnmountChildComponentViewHandler() const noexcept;
|
|
74
|
+
const UpdateLayoutMetricsDelegate &UpdateLayoutMetricsHandler() const noexcept;
|
|
75
|
+
const CreateVisualDelegate &CreateVisualHandler() const noexcept;
|
|
76
|
+
const winrt::Microsoft::ReactNative::Composition::Experimental::IVisualToMountChildrenIntoDelegate &
|
|
77
|
+
VisualToMountChildrenIntoHandler() const noexcept;
|
|
78
|
+
|
|
63
79
|
private:
|
|
64
80
|
void InitializeComponentView(const winrt::Microsoft::ReactNative::ComponentView &view) noexcept;
|
|
65
81
|
|
|
@@ -74,7 +90,8 @@ struct ReactCompositionViewComponentBuilder : winrt::implements<
|
|
|
74
90
|
const IReactContext &reactContext,
|
|
75
91
|
int32_t tag,
|
|
76
92
|
const Experimental::ICompositionContext &context,
|
|
77
|
-
ComponentViewFeatures features
|
|
93
|
+
ComponentViewFeatures features,
|
|
94
|
+
ReactCompositionViewComponentBuilder &builder)>
|
|
78
95
|
m_fnCreateView;
|
|
79
96
|
std::function<facebook::react::ComponentDescriptorConstructor *()> m_descriptorConstructorFactory;
|
|
80
97
|
winrt::Microsoft::ReactNative::HandleCommandDelegate m_customCommandHandler;
|
|
@@ -86,6 +103,9 @@ struct ReactCompositionViewComponentBuilder : winrt::implements<
|
|
|
86
103
|
winrt::Microsoft::ReactNative::UnmountChildComponentViewDelegate m_unmountChildComponentViewHandler;
|
|
87
104
|
|
|
88
105
|
winrt::Microsoft::ReactNative::Composition::CreateVisualDelegate m_createVisualHandler;
|
|
106
|
+
winrt::Microsoft::ReactNative::Composition::Experimental::IVisualToMountChildrenIntoDelegate
|
|
107
|
+
m_visualToMountChildrenIntoHandler;
|
|
108
|
+
UpdateLayoutMetricsDelegate m_updateLayoutMetricsHandler;
|
|
89
109
|
};
|
|
90
110
|
|
|
91
111
|
} // namespace winrt::Microsoft::ReactNative::Composition
|
package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp
CHANGED
|
@@ -236,7 +236,7 @@ struct CompTextHost : public winrt::implements<CompTextHost, ITextHost> {
|
|
|
236
236
|
|
|
237
237
|
//@cmember Establish a new cursor shape
|
|
238
238
|
void TxSetCursor(HCURSOR hcur, BOOL fText) override {
|
|
239
|
-
|
|
239
|
+
m_outer->m_hcursor = hcur;
|
|
240
240
|
}
|
|
241
241
|
|
|
242
242
|
//@cmember Converts screen coordinates of a specified point to the client coordinates
|
|
@@ -732,6 +732,9 @@ void WindowsTextInputComponentView::OnPointerMoved(
|
|
|
732
732
|
auto hr = m_textServices->TxSendMessage(msg, static_cast<WPARAM>(wParam), static_cast<LPARAM>(lParam), &lresult);
|
|
733
733
|
args.Handled(hr != S_FALSE);
|
|
734
734
|
}
|
|
735
|
+
|
|
736
|
+
m_textServices->OnTxSetCursor(
|
|
737
|
+
DVASPECT_CONTENT, -1, nullptr, nullptr, nullptr, nullptr, nullptr, ptContainer.x, ptContainer.y);
|
|
735
738
|
}
|
|
736
739
|
|
|
737
740
|
void WindowsTextInputComponentView::OnKeyDown(
|
|
@@ -1479,6 +1482,10 @@ WindowsTextInputComponentView::createVisual() noexcept {
|
|
|
1479
1482
|
return visual;
|
|
1480
1483
|
}
|
|
1481
1484
|
|
|
1485
|
+
std::pair<facebook::react::Cursor, HCURSOR> WindowsTextInputComponentView::cursor() const noexcept {
|
|
1486
|
+
return {viewProps()->cursor, m_hcursor};
|
|
1487
|
+
}
|
|
1488
|
+
|
|
1482
1489
|
void WindowsTextInputComponentView::onThemeChanged() noexcept {
|
|
1483
1490
|
const auto &props = windowsTextInputProps();
|
|
1484
1491
|
updateCursorColor(props.cursorColor, props.textAttributes.foregroundColor);
|
|
@@ -78,6 +78,8 @@ struct WindowsTextInputComponentView
|
|
|
78
78
|
|
|
79
79
|
winrt::Microsoft::ReactNative::Composition::Experimental::IVisual createVisual() noexcept;
|
|
80
80
|
|
|
81
|
+
std::pair<facebook::react::Cursor, HCURSOR> cursor() const noexcept override;
|
|
82
|
+
|
|
81
83
|
private:
|
|
82
84
|
struct DrawBlock {
|
|
83
85
|
DrawBlock(WindowsTextInputComponentView &view);
|
|
@@ -133,6 +135,7 @@ struct WindowsTextInputComponentView
|
|
|
133
135
|
bool m_multiline{false};
|
|
134
136
|
DWORD m_propBitsMask{0};
|
|
135
137
|
DWORD m_propBits{0};
|
|
138
|
+
HCURSOR m_hcursor{nullptr};
|
|
136
139
|
std::vector<facebook::react::CompWindowsTextInputSubmitKeyEventsStruct> m_submitKeyEvents;
|
|
137
140
|
};
|
|
138
141
|
|
|
@@ -25,6 +25,29 @@ namespace Microsoft.ReactNative.Composition
|
|
|
25
25
|
[webhosthidden]
|
|
26
26
|
delegate Microsoft.UI.Composition.Visual CreateVisualDelegate(Microsoft.ReactNative.ComponentView view);
|
|
27
27
|
|
|
28
|
+
[experimental]
|
|
29
|
+
delegate void UpdateLayoutMetricsDelegate(Microsoft.ReactNative.ComponentView source, Microsoft.ReactNative.LayoutMetrics newLayoutMetrics, Microsoft.ReactNative.LayoutMetrics oldLayoutMetrics);
|
|
30
|
+
|
|
31
|
+
[experimental]
|
|
32
|
+
[webhosthidden]
|
|
33
|
+
delegate Microsoft.UI.Composition.Visual VisualToMountChildrenIntoDelegate(Microsoft.ReactNative.ComponentView view);
|
|
34
|
+
|
|
35
|
+
namespace Experimental {
|
|
36
|
+
[experimental]
|
|
37
|
+
[webhosthidden]
|
|
38
|
+
DOC_STRING("This type will be removed in future versions")
|
|
39
|
+
delegate Microsoft.ReactNative.Composition.Experimental.IVisual IVisualToMountChildrenIntoDelegate(Microsoft.ReactNative.ComponentView view);
|
|
40
|
+
|
|
41
|
+
[experimental]
|
|
42
|
+
[webhosthidden]
|
|
43
|
+
DOC_STRING("This interface is for use when running react-native-windows using a custom compositor. "
|
|
44
|
+
"This interface will be removed in future versions")
|
|
45
|
+
interface IReactCompositionViewComponentInternalBuilder
|
|
46
|
+
{
|
|
47
|
+
void SetIVisualToMountChildrenIntoHandler(IVisualToMountChildrenIntoDelegate impl);
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
|
|
28
51
|
[webhosthidden]
|
|
29
52
|
[experimental]
|
|
30
53
|
DOC_STRING(".")
|
|
@@ -34,6 +57,8 @@ namespace Microsoft.ReactNative.Composition
|
|
|
34
57
|
void SetContentIslandComponentViewInitializer(ComponentIslandComponentViewInitializer initializer);
|
|
35
58
|
void SetCreateVisualHandler(CreateVisualDelegate impl);
|
|
36
59
|
void SetViewFeatures(ComponentViewFeatures viewFeatures);
|
|
60
|
+
void SetUpdateLayoutMetricsHandler(UpdateLayoutMetricsDelegate impl);
|
|
61
|
+
void SetVisualToMountChildrenIntoHandler(VisualToMountChildrenIntoDelegate impl);
|
|
37
62
|
};
|
|
38
63
|
|
|
39
64
|
} // namespace Microsoft.ReactNative
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
-->
|
|
11
11
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
12
12
|
<PropertyGroup>
|
|
13
|
-
<ReactNativeWindowsVersion>0.74.
|
|
13
|
+
<ReactNativeWindowsVersion>0.74.28</ReactNativeWindowsVersion>
|
|
14
14
|
<ReactNativeWindowsMajor>0</ReactNativeWindowsMajor>
|
|
15
15
|
<ReactNativeWindowsMinor>74</ReactNativeWindowsMinor>
|
|
16
|
-
<ReactNativeWindowsPatch>
|
|
16
|
+
<ReactNativeWindowsPatch>28</ReactNativeWindowsPatch>
|
|
17
17
|
<ReactNativeWindowsCanary>false</ReactNativeWindowsCanary>
|
|
18
|
-
<ReactNativeWindowsCommitId>
|
|
18
|
+
<ReactNativeWindowsCommitId>5ba9938ca2e5f47ca374e84cc22cfdd07b2eb634</ReactNativeWindowsCommitId>
|
|
19
19
|
</PropertyGroup>
|
|
20
20
|
</Project>
|
|
@@ -66,6 +66,12 @@
|
|
|
66
66
|
<PreprocessorDefinitions Condition="'$(UseV8)'=='true'">USE_V8;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
67
67
|
<PreprocessorDefinitions Condition="'$(UseFabric)'=='true'">USE_FABRIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
68
68
|
<PreprocessorDefinitions>JSI_VERSION=11;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
69
|
+
<!--
|
|
70
|
+
To address the crash on the first call to std::mutex::lock.
|
|
71
|
+
See: https://github.com/microsoft/STL/wiki/Changelog#vs-2022-1710
|
|
72
|
+
https://stackoverflow.com/questions/78598141/first-stdmutexlock-crashes-in-application-built-with-latest-visual-studio
|
|
73
|
+
-->
|
|
74
|
+
<PreprocessorDefinitions>_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
69
75
|
</ClCompile>
|
|
70
76
|
</ItemDefinitionGroup>
|
|
71
77
|
|