Skip to content

Commit cb60392

Browse files
anupriya13acoates-ms
authored andcommitted
[Fabric] Add ImageRequestParams for Image Component (microsoft#14494)
1 parent 5e84fe2 commit cb60392

File tree

7 files changed

+63
-0
lines changed

7 files changed

+63
-0
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"type": "prerelease",
3+
"comment": "Add ImageRequestParams",
4+
"packageName": "react-native-windows",
5+
"email": "54227869+anupriya13@users.noreply.github.com",
6+
"dependentChangeType": "patch"
7+
}

vnext/Microsoft.ReactNative/Fabric/ImageManager.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,14 @@ ImageRequest ImageManager::requestImage(const ImageSource &imageSource, SurfaceI
2222
return ((Microsoft::ReactNative::WindowsImageManager *)self_)->requestImage(imageSource, surfaceId);
2323
}
2424

25+
ImageRequest ImageManager::requestImage(
26+
const ImageSource &imageSource,
27+
SurfaceId surfaceId,
28+
const ImageRequestParams &imageRequestParams,
29+
Tag tag) const {
30+
return ((Microsoft::ReactNative::WindowsImageManager *)self_)
31+
->requestImage(imageSource, surfaceId, imageRequestParams, tag);
32+
}
33+
2534
} // namespace react
2635
} // namespace facebook
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// Copyright (c) Microsoft Corporation.
2+
// Licensed under the MIT License.
3+
4+
#pragma once
5+
6+
#include <react/renderer/graphics/Float.h>
7+
8+
namespace facebook::react {
9+
10+
class ImageRequestParams {
11+
public:
12+
ImageRequestParams() = default;
13+
explicit ImageRequestParams(Float blurRadius) : blurRadius(blurRadius) {}
14+
15+
Float blurRadius{};
16+
17+
bool operator==(const ImageRequestParams &rhs) const {
18+
return this->blurRadius == rhs.blurRadius;
19+
}
20+
21+
bool operator!=(const ImageRequestParams &rhs) const {
22+
return !(*this == rhs);
23+
}
24+
};
25+
26+
} // namespace facebook::react

vnext/Microsoft.ReactNative/Fabric/WindowsImageManager.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,14 @@ facebook::react::ImageRequest WindowsImageManager::requestImage(
205205
return imageRequest;
206206
}
207207

208+
facebook::react::ImageRequest WindowsImageManager::requestImage(
209+
const facebook::react::ImageSource &imageSource,
210+
facebook::react::SurfaceId surfaceId,
211+
const facebook::react::ImageRequestParams & /* imageRequestParams */,
212+
facebook::react::Tag /* tag */) const {
213+
return requestImage(imageSource, surfaceId);
214+
}
215+
208216
} // namespace Microsoft::ReactNative
209217

210218
namespace winrt::Microsoft::ReactNative::Composition::implementation {

vnext/Microsoft.ReactNative/Fabric/WindowsImageManager.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#include "pch.h"
55

66
#include <react/renderer/imagemanager/ImageRequest.h>
7+
#include <react/renderer/imagemanager/ImageRequestParams.h>
78

89
#include <Fabric/Composition/UriImageManager.h>
910
#include <ReactContext.h>
@@ -20,6 +21,12 @@ struct WindowsImageManager {
2021
const facebook::react::ImageSource &imageSource,
2122
facebook::react::SurfaceId surfaceId) const;
2223

24+
facebook::react::ImageRequest requestImage(
25+
const facebook::react::ImageSource &imageSource,
26+
facebook::react::SurfaceId surfaceId,
27+
const facebook::react::ImageRequestParams & /* imageRequestParams */,
28+
facebook::react::Tag /* tag */) const;
29+
2330
private:
2431
winrt::Windows::Foundation::IAsyncOperation<winrt::Microsoft::ReactNative::Composition::ImageResponse>
2532
GetImageRandomAccessStreamAsync(ReactImageSource source) const;

vnext/Shared/Shared.vcxitems

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,9 @@
225225
<ClCompile Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\Fabric\WindowsImageManager.cpp">
226226
<ExcludedFromBuild Condition="'$(UseFabric)' != 'true'">true</ExcludedFromBuild>
227227
</ClCompile>
228+
<ClCompile Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\Fabric\ImageRequestParams.cpp">
229+
<ExcludedFromBuild Condition="'$(UseFabric)' != 'true'">true</ExcludedFromBuild>
230+
</ClCompile>
228231
<ClCompile Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\SchedulerSettings.cpp"/>
229232
<ClCompile Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\AsynchronousEventBeat.cpp">
230233
<ExcludedFromBuild Condition="'$(UseFabric)' != 'true'">true</ExcludedFromBuild>

vnext/Shared/Shared.vcxitems.filters

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,9 @@
158158
<ClCompile Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\Fabric\WindowsImageManager.cpp">
159159
<Filter>Source Files\Fabric</Filter>
160160
</ClCompile>
161+
<ClInclude Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\Fabric\ImageRequestParams.cpp">
162+
<Filter>Source Files\Fabric</Filter>
163+
</ClInclude>
161164
<ClCompile Include="$(MSBuildThisFileDirectory)..\Microsoft.ReactNative\SchedulerSettings.cpp">
162165
<Filter>Source Files</Filter>
163166
</ClCompile>

0 commit comments

Comments
 (0)