react-native-maps 1.21.0-alpha.7 → 1.21.0-alpha.70
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/android/build.gradle +38 -13
- package/android/generated/java/com/facebook/fbreact/specs/NativeAirMapsModuleSpec.java +63 -0
- package/android/generated/java/com/facebook/react/viewmanagers/RNMapsMapViewManagerDelegate.java +200 -0
- package/android/generated/java/com/facebook/react/viewmanagers/RNMapsMapViewManagerInterface.java +71 -0
- package/android/generated/java/com/facebook/react/viewmanagers/RNMapsMarkerManagerDelegate.java +104 -0
- package/android/generated/java/com/facebook/react/viewmanagers/RNMapsMarkerManagerInterface.java +39 -0
- package/android/generated/jni/CMakeLists.txt +36 -0
- package/android/generated/jni/RNMapsSpecs-generated.cpp +68 -0
- package/android/generated/jni/RNMapsSpecs.h +31 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/ComponentDescriptors.cpp +26 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/ComponentDescriptors.h +28 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/EventEmitters.cpp +918 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/EventEmitters.h +787 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/Props.cpp +154 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/Props.h +1058 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/RNMapsSpecsJSI-generated.cpp +74 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/RNMapsSpecsJSI.h +268 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/ShadowNodes.cpp +21 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/ShadowNodes.h +76 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/States.cpp +16 -0
- package/android/generated/jni/react/renderer/components/RNMapsSpecs/States.h +77 -0
- package/android/gradle/wrapper/gradle-wrapper.properties +1 -1
- package/android/src/main/java/com/rnmaps/fabric/CalloutManager.java +77 -0
- package/android/src/main/java/com/rnmaps/fabric/JSONUtil.java +86 -0
- package/android/src/main/java/com/rnmaps/fabric/MapViewManager.java +593 -0
- package/android/src/main/java/com/rnmaps/fabric/MarkerManager.java +259 -0
- package/android/src/main/java/com/rnmaps/fabric/NativeAirMapsModule.java +137 -4
- package/android/src/main/java/com/rnmaps/fabric/event/OnCalloutPressEvent.java +25 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnDeselectEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnDragEndEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnDragEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnDragStartEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnLongPressEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMapLoadedEvent.java +29 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMapReadyEvent.java +29 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDeselectEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDragEndEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDragEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerDragStartEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerPressEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnMarkerSelectEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnPoiClickEvent.java +27 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnPressEvent.java +27 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnRegionChangeCompleteEvent.java +30 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnRegionChangeEvent.java +48 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnRegionChangeStartEvent.java +33 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnSelectEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/fabric/event/OnUserLocationChangeEvent.java +28 -0
- package/android/src/main/java/com/rnmaps/maps/MapAirModulePackage.java +22 -2
- package/android/src/main/java/com/rnmaps/maps/MapCallout.java +18 -0
- package/android/src/main/java/com/rnmaps/maps/MapManager.java +14 -14
- package/android/src/main/java/com/rnmaps/maps/MapMarker.java +79 -3
- package/android/src/main/java/com/rnmaps/maps/MapModule.java +206 -206
- package/android/src/main/java/com/rnmaps/maps/MapView.java +1588 -1346
- package/ios/AirGoogleMaps/AIRGoogleMap.h +3 -2
- package/ios/AirGoogleMaps/AIRGoogleMap.m +153 -48
- package/ios/AirGoogleMaps/AIRGoogleMapCircle.m +23 -11
- package/ios/AirGoogleMaps/AIRGoogleMapManager.m +17 -28
- package/ios/AirGoogleMaps/AIRGoogleMapMarker.h +2 -0
- package/ios/AirGoogleMaps/AIRGoogleMapMarker.m +347 -243
- package/ios/AirGoogleMaps/AIRGoogleMapPolygon.h +2 -1
- package/ios/AirGoogleMaps/AIRGoogleMapPolygon.m +30 -0
- package/ios/AirGoogleMaps/AIRGoogleMapPolyline.h +0 -1
- package/ios/AirGoogleMaps/AIRGoogleMapPolyline.m +0 -7
- package/ios/AirGoogleMaps/AIRGoogleMapWMSTile.h +1 -1
- package/ios/AirGoogleMaps/AIRGoogleMapWMSTile.m +2 -2
- package/ios/AirGoogleMaps/RCTConvert+GMSMapViewType.h +3 -0
- package/ios/AirGoogleMaps/RCTConvert+GMSMapViewType.m +2 -0
- package/ios/AirGoogleMaps/RNMapsGoogleMapView.h +3 -3
- package/ios/AirGoogleMaps/RNMapsGoogleMapView.mm +161 -61
- package/ios/AirGoogleMaps/RNMapsGooglePolygonView.h +26 -0
- package/ios/AirGoogleMaps/RNMapsGooglePolygonView.mm +217 -0
- package/ios/AirGoogleMaps/RNMapsGooglePolygonViewManager.mm +25 -0
- package/ios/AirMaps/AIRMap.h +6 -3
- package/ios/AirMaps/AIRMap.m +289 -145
- package/ios/AirMaps/AIRMapManager.m +8 -17
- package/ios/AirMaps/AIRMapMarker.h +1 -0
- package/ios/AirMaps/AIRMapMarker.m +165 -103
- package/ios/AirMaps/Callout/SMCalloutView.m +1 -1
- package/ios/AirMaps/RCTConvert+AirMap.h +4 -0
- package/ios/AirMaps/RCTConvert+AirMap.m +2 -0
- package/ios/AirMaps/RNMapsAirModule.h +1 -1
- package/ios/AirMaps/RNMapsAirModule.mm +42 -172
- package/ios/AirMaps/RNMapsAirModuleDelegate.h +24 -0
- package/ios/AirMaps/RNMapsHostVewDelegate.h +17 -0
- package/ios/AirMaps/RNMapsMapView.h +3 -3
- package/ios/AirMaps/RNMapsMapView.mm +344 -307
- package/ios/AirMaps/RNMapsMarkerView.h +24 -0
- package/ios/AirMaps/RNMapsMarkerView.mm +430 -0
- package/ios/AirMaps/RNMapsMarkerViewManager.mm +21 -0
- package/ios/AirMaps/UIView +AirMap.m +20 -0
- package/ios/AirMaps/UIView+AirMap.h +11 -0
- package/ios/AirMaps.xcodeproj/project.pbxproj +60 -0
- package/ios/generated/RNMapsSpecs/ComponentDescriptors.cpp +26 -0
- package/ios/generated/RNMapsSpecs/ComponentDescriptors.h +28 -0
- package/ios/generated/RNMapsSpecs/EventEmitters.cpp +918 -0
- package/ios/generated/RNMapsSpecs/EventEmitters.h +787 -0
- package/ios/generated/RNMapsSpecs/Props.cpp +154 -0
- package/ios/generated/RNMapsSpecs/Props.h +1058 -0
- package/ios/generated/RNMapsSpecs/RCTComponentViewHelpers.h +549 -0
- package/ios/generated/RNMapsSpecs/RNMapsSpecs-generated.mm +92 -0
- package/ios/generated/RNMapsSpecs/RNMapsSpecs.h +137 -0
- package/ios/generated/RNMapsSpecs/ShadowNodes.cpp +21 -0
- package/ios/generated/RNMapsSpecs/ShadowNodes.h +76 -0
- package/ios/generated/RNMapsSpecs/States.cpp +16 -0
- package/ios/generated/RNMapsSpecs/States.h +77 -0
- package/ios/generated/RNMapsSpecsJSI-generated.cpp +74 -0
- package/ios/generated/RNMapsSpecsJSI.h +268 -0
- package/lib/MapCallout.js +1 -0
- package/lib/MapMarker.d.ts +15 -2
- package/lib/MapMarker.js +53 -9
- package/lib/MapMarkerNativeComponent.js +0 -2
- package/lib/MapOverlay.js +2 -8
- package/lib/MapPolyline.d.ts +1 -1
- package/lib/MapView.d.ts +7 -22
- package/lib/MapView.js +80 -89
- package/lib/{FabricMapView.d.ts → createFabricMap.d.ts} +7 -11
- package/lib/createFabricMap.js +175 -0
- package/lib/decorateMapComponent.js +22 -0
- package/lib/specs/NativeAirMapsModule.d.ts +2 -2
- package/lib/specs/NativeComponentCallout.d.ts +46 -0
- package/lib/specs/NativeComponentCallout.js +9 -0
- package/lib/specs/NativeComponentGoogleMapView.d.ts +12 -12
- package/lib/specs/NativeComponentGooglePolygon.d.ts +75 -0
- package/lib/specs/NativeComponentGooglePolygon.js +9 -0
- package/lib/specs/NativeComponentMapView.d.ts +19 -36
- package/lib/specs/NativeComponentMapView.js +1 -3
- package/lib/specs/NativeComponentMarker.d.ts +258 -0
- package/lib/specs/NativeComponentMarker.js +19 -0
- package/package.json +15 -10
- package/react-native-maps.podspec +2 -1
- package/lib/FabricMapView.js +0 -181
package/android/generated/jni/react/renderer/components/RNMapsSpecs/RNMapsSpecsJSI-generated.cpp
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
3
|
+
*
|
|
4
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
5
|
+
* once the code is regenerated.
|
|
6
|
+
*
|
|
7
|
+
* @generated by codegen project: GenerateModuleCpp.js
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
#include "RNMapsSpecsJSI.h"
|
|
11
|
+
|
|
12
|
+
namespace facebook::react {
|
|
13
|
+
|
|
14
|
+
static jsi::Value __hostFunction_NativeAirMapsModuleCxxSpecJSI_getCamera(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
15
|
+
return static_cast<NativeAirMapsModuleCxxSpecJSI *>(&turboModule)->getCamera(
|
|
16
|
+
rt,
|
|
17
|
+
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asNumber()
|
|
18
|
+
);
|
|
19
|
+
}
|
|
20
|
+
static jsi::Value __hostFunction_NativeAirMapsModuleCxxSpecJSI_getMarkersFrames(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
21
|
+
return static_cast<NativeAirMapsModuleCxxSpecJSI *>(&turboModule)->getMarkersFrames(
|
|
22
|
+
rt,
|
|
23
|
+
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asNumber(),
|
|
24
|
+
count <= 1 ? throw jsi::JSError(rt, "Expected argument in position 1 to be passed") : args[1].asBool()
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
static jsi::Value __hostFunction_NativeAirMapsModuleCxxSpecJSI_getMapBoundaries(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
28
|
+
return static_cast<NativeAirMapsModuleCxxSpecJSI *>(&turboModule)->getMapBoundaries(
|
|
29
|
+
rt,
|
|
30
|
+
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asNumber()
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
static jsi::Value __hostFunction_NativeAirMapsModuleCxxSpecJSI_takeSnapshot(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
34
|
+
return static_cast<NativeAirMapsModuleCxxSpecJSI *>(&turboModule)->takeSnapshot(
|
|
35
|
+
rt,
|
|
36
|
+
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asNumber(),
|
|
37
|
+
count <= 1 ? throw jsi::JSError(rt, "Expected argument in position 1 to be passed") : args[1].asString(rt)
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
static jsi::Value __hostFunction_NativeAirMapsModuleCxxSpecJSI_getAddressFromCoordinates(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
41
|
+
return static_cast<NativeAirMapsModuleCxxSpecJSI *>(&turboModule)->getAddressFromCoordinates(
|
|
42
|
+
rt,
|
|
43
|
+
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asNumber(),
|
|
44
|
+
count <= 1 ? throw jsi::JSError(rt, "Expected argument in position 1 to be passed") : args[1].asObject(rt)
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
static jsi::Value __hostFunction_NativeAirMapsModuleCxxSpecJSI_getPointForCoordinate(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
48
|
+
return static_cast<NativeAirMapsModuleCxxSpecJSI *>(&turboModule)->getPointForCoordinate(
|
|
49
|
+
rt,
|
|
50
|
+
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asNumber(),
|
|
51
|
+
count <= 1 ? throw jsi::JSError(rt, "Expected argument in position 1 to be passed") : args[1].asObject(rt)
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
static jsi::Value __hostFunction_NativeAirMapsModuleCxxSpecJSI_getCoordinateForPoint(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
|
|
55
|
+
return static_cast<NativeAirMapsModuleCxxSpecJSI *>(&turboModule)->getCoordinateForPoint(
|
|
56
|
+
rt,
|
|
57
|
+
count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asNumber(),
|
|
58
|
+
count <= 1 ? throw jsi::JSError(rt, "Expected argument in position 1 to be passed") : args[1].asObject(rt)
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
NativeAirMapsModuleCxxSpecJSI::NativeAirMapsModuleCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker)
|
|
63
|
+
: TurboModule("RNMapsAirModule", jsInvoker) {
|
|
64
|
+
methodMap_["getCamera"] = MethodMetadata {1, __hostFunction_NativeAirMapsModuleCxxSpecJSI_getCamera};
|
|
65
|
+
methodMap_["getMarkersFrames"] = MethodMetadata {2, __hostFunction_NativeAirMapsModuleCxxSpecJSI_getMarkersFrames};
|
|
66
|
+
methodMap_["getMapBoundaries"] = MethodMetadata {1, __hostFunction_NativeAirMapsModuleCxxSpecJSI_getMapBoundaries};
|
|
67
|
+
methodMap_["takeSnapshot"] = MethodMetadata {2, __hostFunction_NativeAirMapsModuleCxxSpecJSI_takeSnapshot};
|
|
68
|
+
methodMap_["getAddressFromCoordinates"] = MethodMetadata {2, __hostFunction_NativeAirMapsModuleCxxSpecJSI_getAddressFromCoordinates};
|
|
69
|
+
methodMap_["getPointForCoordinate"] = MethodMetadata {2, __hostFunction_NativeAirMapsModuleCxxSpecJSI_getPointForCoordinate};
|
|
70
|
+
methodMap_["getCoordinateForPoint"] = MethodMetadata {2, __hostFunction_NativeAirMapsModuleCxxSpecJSI_getCoordinateForPoint};
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
} // namespace facebook::react
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
3
|
+
*
|
|
4
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
5
|
+
* once the code is regenerated.
|
|
6
|
+
*
|
|
7
|
+
* @generated by codegen project: GenerateModuleH.js
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
#pragma once
|
|
11
|
+
|
|
12
|
+
#include <ReactCommon/TurboModule.h>
|
|
13
|
+
#include <react/bridging/Bridging.h>
|
|
14
|
+
|
|
15
|
+
namespace facebook::react {
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
#pragma mark - NativeAirMapsModuleLatLng
|
|
20
|
+
|
|
21
|
+
template <typename P0, typename P1>
|
|
22
|
+
struct NativeAirMapsModuleLatLng {
|
|
23
|
+
P0 latitude;
|
|
24
|
+
P1 longitude;
|
|
25
|
+
bool operator==(const NativeAirMapsModuleLatLng &other) const {
|
|
26
|
+
return latitude == other.latitude && longitude == other.longitude;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
template <typename T>
|
|
31
|
+
struct NativeAirMapsModuleLatLngBridging {
|
|
32
|
+
static T types;
|
|
33
|
+
|
|
34
|
+
static T fromJs(
|
|
35
|
+
jsi::Runtime &rt,
|
|
36
|
+
const jsi::Object &value,
|
|
37
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
38
|
+
T result{
|
|
39
|
+
bridging::fromJs<decltype(types.latitude)>(rt, value.getProperty(rt, "latitude"), jsInvoker),
|
|
40
|
+
bridging::fromJs<decltype(types.longitude)>(rt, value.getProperty(rt, "longitude"), jsInvoker)};
|
|
41
|
+
return result;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
#ifdef DEBUG
|
|
45
|
+
static double latitudeToJs(jsi::Runtime &rt, decltype(types.latitude) value) {
|
|
46
|
+
return bridging::toJs(rt, value);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
static double longitudeToJs(jsi::Runtime &rt, decltype(types.longitude) value) {
|
|
50
|
+
return bridging::toJs(rt, value);
|
|
51
|
+
}
|
|
52
|
+
#endif
|
|
53
|
+
|
|
54
|
+
static jsi::Object toJs(
|
|
55
|
+
jsi::Runtime &rt,
|
|
56
|
+
const T &value,
|
|
57
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
58
|
+
auto result = facebook::jsi::Object(rt);
|
|
59
|
+
result.setProperty(rt, "latitude", bridging::toJs(rt, value.latitude, jsInvoker));
|
|
60
|
+
result.setProperty(rt, "longitude", bridging::toJs(rt, value.longitude, jsInvoker));
|
|
61
|
+
return result;
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
#pragma mark - NativeAirMapsModuleMapBoundaries
|
|
68
|
+
|
|
69
|
+
template <typename P0, typename P1>
|
|
70
|
+
struct NativeAirMapsModuleMapBoundaries {
|
|
71
|
+
P0 northEast;
|
|
72
|
+
P1 southWest;
|
|
73
|
+
bool operator==(const NativeAirMapsModuleMapBoundaries &other) const {
|
|
74
|
+
return northEast == other.northEast && southWest == other.southWest;
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
template <typename T>
|
|
79
|
+
struct NativeAirMapsModuleMapBoundariesBridging {
|
|
80
|
+
static T types;
|
|
81
|
+
|
|
82
|
+
static T fromJs(
|
|
83
|
+
jsi::Runtime &rt,
|
|
84
|
+
const jsi::Object &value,
|
|
85
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
86
|
+
T result{
|
|
87
|
+
bridging::fromJs<decltype(types.northEast)>(rt, value.getProperty(rt, "northEast"), jsInvoker),
|
|
88
|
+
bridging::fromJs<decltype(types.southWest)>(rt, value.getProperty(rt, "southWest"), jsInvoker)};
|
|
89
|
+
return result;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
#ifdef DEBUG
|
|
93
|
+
static jsi::Object northEastToJs(jsi::Runtime &rt, decltype(types.northEast) value) {
|
|
94
|
+
return bridging::toJs(rt, value);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
static jsi::Object southWestToJs(jsi::Runtime &rt, decltype(types.southWest) value) {
|
|
98
|
+
return bridging::toJs(rt, value);
|
|
99
|
+
}
|
|
100
|
+
#endif
|
|
101
|
+
|
|
102
|
+
static jsi::Object toJs(
|
|
103
|
+
jsi::Runtime &rt,
|
|
104
|
+
const T &value,
|
|
105
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
106
|
+
auto result = facebook::jsi::Object(rt);
|
|
107
|
+
result.setProperty(rt, "northEast", bridging::toJs(rt, value.northEast, jsInvoker));
|
|
108
|
+
result.setProperty(rt, "southWest", bridging::toJs(rt, value.southWest, jsInvoker));
|
|
109
|
+
return result;
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
#pragma mark - NativeAirMapsModulePoint
|
|
116
|
+
|
|
117
|
+
template <typename P0, typename P1>
|
|
118
|
+
struct NativeAirMapsModulePoint {
|
|
119
|
+
P0 x;
|
|
120
|
+
P1 y;
|
|
121
|
+
bool operator==(const NativeAirMapsModulePoint &other) const {
|
|
122
|
+
return x == other.x && y == other.y;
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
template <typename T>
|
|
127
|
+
struct NativeAirMapsModulePointBridging {
|
|
128
|
+
static T types;
|
|
129
|
+
|
|
130
|
+
static T fromJs(
|
|
131
|
+
jsi::Runtime &rt,
|
|
132
|
+
const jsi::Object &value,
|
|
133
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
134
|
+
T result{
|
|
135
|
+
bridging::fromJs<decltype(types.x)>(rt, value.getProperty(rt, "x"), jsInvoker),
|
|
136
|
+
bridging::fromJs<decltype(types.y)>(rt, value.getProperty(rt, "y"), jsInvoker)};
|
|
137
|
+
return result;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
#ifdef DEBUG
|
|
141
|
+
static double xToJs(jsi::Runtime &rt, decltype(types.x) value) {
|
|
142
|
+
return bridging::toJs(rt, value);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
static double yToJs(jsi::Runtime &rt, decltype(types.y) value) {
|
|
146
|
+
return bridging::toJs(rt, value);
|
|
147
|
+
}
|
|
148
|
+
#endif
|
|
149
|
+
|
|
150
|
+
static jsi::Object toJs(
|
|
151
|
+
jsi::Runtime &rt,
|
|
152
|
+
const T &value,
|
|
153
|
+
const std::shared_ptr<CallInvoker> &jsInvoker) {
|
|
154
|
+
auto result = facebook::jsi::Object(rt);
|
|
155
|
+
result.setProperty(rt, "x", bridging::toJs(rt, value.x, jsInvoker));
|
|
156
|
+
result.setProperty(rt, "y", bridging::toJs(rt, value.y, jsInvoker));
|
|
157
|
+
return result;
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
class JSI_EXPORT NativeAirMapsModuleCxxSpecJSI : public TurboModule {
|
|
162
|
+
protected:
|
|
163
|
+
NativeAirMapsModuleCxxSpecJSI(std::shared_ptr<CallInvoker> jsInvoker);
|
|
164
|
+
|
|
165
|
+
public:
|
|
166
|
+
virtual jsi::Value getCamera(jsi::Runtime &rt, double tag) = 0;
|
|
167
|
+
virtual jsi::Value getMarkersFrames(jsi::Runtime &rt, double tag, bool onlyVisible) = 0;
|
|
168
|
+
virtual jsi::Value getMapBoundaries(jsi::Runtime &rt, double tag) = 0;
|
|
169
|
+
virtual jsi::Value takeSnapshot(jsi::Runtime &rt, double tag, jsi::String config) = 0;
|
|
170
|
+
virtual jsi::Value getAddressFromCoordinates(jsi::Runtime &rt, double tag, jsi::Object coordinate) = 0;
|
|
171
|
+
virtual jsi::Value getPointForCoordinate(jsi::Runtime &rt, double tag, jsi::Object coordinate) = 0;
|
|
172
|
+
virtual jsi::Value getCoordinateForPoint(jsi::Runtime &rt, double tag, jsi::Object point) = 0;
|
|
173
|
+
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
template <typename T>
|
|
177
|
+
class JSI_EXPORT NativeAirMapsModuleCxxSpec : public TurboModule {
|
|
178
|
+
public:
|
|
179
|
+
jsi::Value create(jsi::Runtime &rt, const jsi::PropNameID &propName) override {
|
|
180
|
+
return delegate_.create(rt, propName);
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
std::vector<jsi::PropNameID> getPropertyNames(jsi::Runtime& runtime) override {
|
|
184
|
+
return delegate_.getPropertyNames(runtime);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
static constexpr std::string_view kModuleName = "RNMapsAirModule";
|
|
188
|
+
|
|
189
|
+
protected:
|
|
190
|
+
NativeAirMapsModuleCxxSpec(std::shared_ptr<CallInvoker> jsInvoker)
|
|
191
|
+
: TurboModule(std::string{NativeAirMapsModuleCxxSpec::kModuleName}, jsInvoker),
|
|
192
|
+
delegate_(reinterpret_cast<T*>(this), jsInvoker) {}
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
private:
|
|
196
|
+
class Delegate : public NativeAirMapsModuleCxxSpecJSI {
|
|
197
|
+
public:
|
|
198
|
+
Delegate(T *instance, std::shared_ptr<CallInvoker> jsInvoker) :
|
|
199
|
+
NativeAirMapsModuleCxxSpecJSI(std::move(jsInvoker)), instance_(instance) {
|
|
200
|
+
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
jsi::Value getCamera(jsi::Runtime &rt, double tag) override {
|
|
204
|
+
static_assert(
|
|
205
|
+
bridging::getParameterCount(&T::getCamera) == 2,
|
|
206
|
+
"Expected getCamera(...) to have 2 parameters");
|
|
207
|
+
|
|
208
|
+
return bridging::callFromJs<jsi::Value>(
|
|
209
|
+
rt, &T::getCamera, jsInvoker_, instance_, std::move(tag));
|
|
210
|
+
}
|
|
211
|
+
jsi::Value getMarkersFrames(jsi::Runtime &rt, double tag, bool onlyVisible) override {
|
|
212
|
+
static_assert(
|
|
213
|
+
bridging::getParameterCount(&T::getMarkersFrames) == 3,
|
|
214
|
+
"Expected getMarkersFrames(...) to have 3 parameters");
|
|
215
|
+
|
|
216
|
+
return bridging::callFromJs<jsi::Value>(
|
|
217
|
+
rt, &T::getMarkersFrames, jsInvoker_, instance_, std::move(tag), std::move(onlyVisible));
|
|
218
|
+
}
|
|
219
|
+
jsi::Value getMapBoundaries(jsi::Runtime &rt, double tag) override {
|
|
220
|
+
static_assert(
|
|
221
|
+
bridging::getParameterCount(&T::getMapBoundaries) == 2,
|
|
222
|
+
"Expected getMapBoundaries(...) to have 2 parameters");
|
|
223
|
+
|
|
224
|
+
return bridging::callFromJs<jsi::Value>(
|
|
225
|
+
rt, &T::getMapBoundaries, jsInvoker_, instance_, std::move(tag));
|
|
226
|
+
}
|
|
227
|
+
jsi::Value takeSnapshot(jsi::Runtime &rt, double tag, jsi::String config) override {
|
|
228
|
+
static_assert(
|
|
229
|
+
bridging::getParameterCount(&T::takeSnapshot) == 3,
|
|
230
|
+
"Expected takeSnapshot(...) to have 3 parameters");
|
|
231
|
+
|
|
232
|
+
return bridging::callFromJs<jsi::Value>(
|
|
233
|
+
rt, &T::takeSnapshot, jsInvoker_, instance_, std::move(tag), std::move(config));
|
|
234
|
+
}
|
|
235
|
+
jsi::Value getAddressFromCoordinates(jsi::Runtime &rt, double tag, jsi::Object coordinate) override {
|
|
236
|
+
static_assert(
|
|
237
|
+
bridging::getParameterCount(&T::getAddressFromCoordinates) == 3,
|
|
238
|
+
"Expected getAddressFromCoordinates(...) to have 3 parameters");
|
|
239
|
+
|
|
240
|
+
return bridging::callFromJs<jsi::Value>(
|
|
241
|
+
rt, &T::getAddressFromCoordinates, jsInvoker_, instance_, std::move(tag), std::move(coordinate));
|
|
242
|
+
}
|
|
243
|
+
jsi::Value getPointForCoordinate(jsi::Runtime &rt, double tag, jsi::Object coordinate) override {
|
|
244
|
+
static_assert(
|
|
245
|
+
bridging::getParameterCount(&T::getPointForCoordinate) == 3,
|
|
246
|
+
"Expected getPointForCoordinate(...) to have 3 parameters");
|
|
247
|
+
|
|
248
|
+
return bridging::callFromJs<jsi::Value>(
|
|
249
|
+
rt, &T::getPointForCoordinate, jsInvoker_, instance_, std::move(tag), std::move(coordinate));
|
|
250
|
+
}
|
|
251
|
+
jsi::Value getCoordinateForPoint(jsi::Runtime &rt, double tag, jsi::Object point) override {
|
|
252
|
+
static_assert(
|
|
253
|
+
bridging::getParameterCount(&T::getCoordinateForPoint) == 3,
|
|
254
|
+
"Expected getCoordinateForPoint(...) to have 3 parameters");
|
|
255
|
+
|
|
256
|
+
return bridging::callFromJs<jsi::Value>(
|
|
257
|
+
rt, &T::getCoordinateForPoint, jsInvoker_, instance_, std::move(tag), std::move(point));
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
private:
|
|
261
|
+
friend class NativeAirMapsModuleCxxSpec;
|
|
262
|
+
T *instance_;
|
|
263
|
+
};
|
|
264
|
+
|
|
265
|
+
Delegate delegate_;
|
|
266
|
+
};
|
|
267
|
+
|
|
268
|
+
} // namespace facebook::react
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
|
|
2
|
+
/**
|
|
3
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
4
|
+
*
|
|
5
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
6
|
+
* once the code is regenerated.
|
|
7
|
+
*
|
|
8
|
+
* @generated by codegen project: GenerateShadowNodeCpp.js
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
#include "ShadowNodes.h"
|
|
12
|
+
|
|
13
|
+
namespace facebook::react {
|
|
14
|
+
|
|
15
|
+
extern const char RNMapsCalloutComponentName[] = "RNMapsCallout";
|
|
16
|
+
extern const char RNMapsGoogleMapViewComponentName[] = "RNMapsGoogleMapView";
|
|
17
|
+
extern const char RNMapsGooglePolygonComponentName[] = "RNMapsGooglePolygon";
|
|
18
|
+
extern const char RNMapsMapViewComponentName[] = "RNMapsMapView";
|
|
19
|
+
extern const char RNMapsMarkerComponentName[] = "RNMapsMarker";
|
|
20
|
+
|
|
21
|
+
} // namespace facebook::react
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
|
|
2
|
+
/**
|
|
3
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
4
|
+
*
|
|
5
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
6
|
+
* once the code is regenerated.
|
|
7
|
+
*
|
|
8
|
+
* @generated by codegen project: GenerateShadowNodeH.js
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
#pragma once
|
|
12
|
+
|
|
13
|
+
#include "EventEmitters.h"
|
|
14
|
+
#include "Props.h"
|
|
15
|
+
#include "States.h"
|
|
16
|
+
#include <react/renderer/components/view/ConcreteViewShadowNode.h>
|
|
17
|
+
#include <jsi/jsi.h>
|
|
18
|
+
|
|
19
|
+
namespace facebook::react {
|
|
20
|
+
|
|
21
|
+
JSI_EXPORT extern const char RNMapsCalloutComponentName[];
|
|
22
|
+
|
|
23
|
+
/*
|
|
24
|
+
* `ShadowNode` for <RNMapsCallout> component.
|
|
25
|
+
*/
|
|
26
|
+
using RNMapsCalloutShadowNode = ConcreteViewShadowNode<
|
|
27
|
+
RNMapsCalloutComponentName,
|
|
28
|
+
RNMapsCalloutProps,
|
|
29
|
+
RNMapsCalloutEventEmitter,
|
|
30
|
+
RNMapsCalloutState>;
|
|
31
|
+
|
|
32
|
+
JSI_EXPORT extern const char RNMapsGoogleMapViewComponentName[];
|
|
33
|
+
|
|
34
|
+
/*
|
|
35
|
+
* `ShadowNode` for <RNMapsGoogleMapView> component.
|
|
36
|
+
*/
|
|
37
|
+
using RNMapsGoogleMapViewShadowNode = ConcreteViewShadowNode<
|
|
38
|
+
RNMapsGoogleMapViewComponentName,
|
|
39
|
+
RNMapsGoogleMapViewProps,
|
|
40
|
+
RNMapsGoogleMapViewEventEmitter,
|
|
41
|
+
RNMapsGoogleMapViewState>;
|
|
42
|
+
|
|
43
|
+
JSI_EXPORT extern const char RNMapsGooglePolygonComponentName[];
|
|
44
|
+
|
|
45
|
+
/*
|
|
46
|
+
* `ShadowNode` for <RNMapsGooglePolygon> component.
|
|
47
|
+
*/
|
|
48
|
+
using RNMapsGooglePolygonShadowNode = ConcreteViewShadowNode<
|
|
49
|
+
RNMapsGooglePolygonComponentName,
|
|
50
|
+
RNMapsGooglePolygonProps,
|
|
51
|
+
RNMapsGooglePolygonEventEmitter,
|
|
52
|
+
RNMapsGooglePolygonState>;
|
|
53
|
+
|
|
54
|
+
JSI_EXPORT extern const char RNMapsMapViewComponentName[];
|
|
55
|
+
|
|
56
|
+
/*
|
|
57
|
+
* `ShadowNode` for <RNMapsMapView> component.
|
|
58
|
+
*/
|
|
59
|
+
using RNMapsMapViewShadowNode = ConcreteViewShadowNode<
|
|
60
|
+
RNMapsMapViewComponentName,
|
|
61
|
+
RNMapsMapViewProps,
|
|
62
|
+
RNMapsMapViewEventEmitter,
|
|
63
|
+
RNMapsMapViewState>;
|
|
64
|
+
|
|
65
|
+
JSI_EXPORT extern const char RNMapsMarkerComponentName[];
|
|
66
|
+
|
|
67
|
+
/*
|
|
68
|
+
* `ShadowNode` for <RNMapsMarker> component.
|
|
69
|
+
*/
|
|
70
|
+
using RNMapsMarkerShadowNode = ConcreteViewShadowNode<
|
|
71
|
+
RNMapsMarkerComponentName,
|
|
72
|
+
RNMapsMarkerProps,
|
|
73
|
+
RNMapsMarkerEventEmitter,
|
|
74
|
+
RNMapsMarkerState>;
|
|
75
|
+
|
|
76
|
+
} // namespace facebook::react
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
|
|
2
|
+
/**
|
|
3
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
4
|
+
*
|
|
5
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
6
|
+
* once the code is regenerated.
|
|
7
|
+
*
|
|
8
|
+
* @generated by codegen project: GenerateStateCpp.js
|
|
9
|
+
*/
|
|
10
|
+
#include "States.h"
|
|
11
|
+
|
|
12
|
+
namespace facebook::react {
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
} // namespace facebook::react
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
3
|
+
*
|
|
4
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
5
|
+
* once the code is regenerated.
|
|
6
|
+
*
|
|
7
|
+
* @generated by codegen project: GenerateStateH.js
|
|
8
|
+
*/
|
|
9
|
+
#pragma once
|
|
10
|
+
|
|
11
|
+
#ifdef ANDROID
|
|
12
|
+
#include <folly/dynamic.h>
|
|
13
|
+
#endif
|
|
14
|
+
|
|
15
|
+
namespace facebook::react {
|
|
16
|
+
|
|
17
|
+
class RNMapsCalloutState {
|
|
18
|
+
public:
|
|
19
|
+
RNMapsCalloutState() = default;
|
|
20
|
+
|
|
21
|
+
#ifdef ANDROID
|
|
22
|
+
RNMapsCalloutState(RNMapsCalloutState const &previousState, folly::dynamic data){};
|
|
23
|
+
folly::dynamic getDynamic() const {
|
|
24
|
+
return {};
|
|
25
|
+
};
|
|
26
|
+
#endif
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
class RNMapsGoogleMapViewState {
|
|
30
|
+
public:
|
|
31
|
+
RNMapsGoogleMapViewState() = default;
|
|
32
|
+
|
|
33
|
+
#ifdef ANDROID
|
|
34
|
+
RNMapsGoogleMapViewState(RNMapsGoogleMapViewState const &previousState, folly::dynamic data){};
|
|
35
|
+
folly::dynamic getDynamic() const {
|
|
36
|
+
return {};
|
|
37
|
+
};
|
|
38
|
+
#endif
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
class RNMapsGooglePolygonState {
|
|
42
|
+
public:
|
|
43
|
+
RNMapsGooglePolygonState() = default;
|
|
44
|
+
|
|
45
|
+
#ifdef ANDROID
|
|
46
|
+
RNMapsGooglePolygonState(RNMapsGooglePolygonState const &previousState, folly::dynamic data){};
|
|
47
|
+
folly::dynamic getDynamic() const {
|
|
48
|
+
return {};
|
|
49
|
+
};
|
|
50
|
+
#endif
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
class RNMapsMapViewState {
|
|
54
|
+
public:
|
|
55
|
+
RNMapsMapViewState() = default;
|
|
56
|
+
|
|
57
|
+
#ifdef ANDROID
|
|
58
|
+
RNMapsMapViewState(RNMapsMapViewState const &previousState, folly::dynamic data){};
|
|
59
|
+
folly::dynamic getDynamic() const {
|
|
60
|
+
return {};
|
|
61
|
+
};
|
|
62
|
+
#endif
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
class RNMapsMarkerState {
|
|
66
|
+
public:
|
|
67
|
+
RNMapsMarkerState() = default;
|
|
68
|
+
|
|
69
|
+
#ifdef ANDROID
|
|
70
|
+
RNMapsMarkerState(RNMapsMarkerState const &previousState, folly::dynamic data){};
|
|
71
|
+
folly::dynamic getDynamic() const {
|
|
72
|
+
return {};
|
|
73
|
+
};
|
|
74
|
+
#endif
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
} // namespace facebook::react
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
distributionBase=GRADLE_USER_HOME
|
|
2
2
|
distributionPath=wrapper/dists
|
|
3
|
-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.
|
|
3
|
+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-all.zip
|
|
4
4
|
zipStoreBase=GRADLE_USER_HOME
|
|
5
5
|
zipStorePath=wrapper/dists
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
package com.rnmaps.fabric;
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
import androidx.annotation.Nullable;
|
|
5
|
+
|
|
6
|
+
import com.facebook.react.bridge.ReactApplicationContext;
|
|
7
|
+
import com.facebook.react.module.annotations.ReactModule;
|
|
8
|
+
import com.facebook.react.uimanager.LayoutShadowNode;
|
|
9
|
+
import com.facebook.react.uimanager.ThemedReactContext;
|
|
10
|
+
import com.facebook.react.uimanager.ViewGroupManager;
|
|
11
|
+
import com.facebook.react.uimanager.ViewManagerDelegate;
|
|
12
|
+
import com.facebook.react.viewmanagers.RNMapsCalloutManagerDelegate;
|
|
13
|
+
import com.facebook.react.viewmanagers.RNMapsCalloutManagerInterface;
|
|
14
|
+
import com.rnmaps.maps.MapCallout;
|
|
15
|
+
import com.rnmaps.maps.SizeReportingShadowNode;
|
|
16
|
+
|
|
17
|
+
import java.util.HashMap;
|
|
18
|
+
import java.util.Map;
|
|
19
|
+
|
|
20
|
+
@ReactModule(name = CalloutManager.REACT_CLASS)
|
|
21
|
+
public class CalloutManager extends ViewGroupManager<MapCallout> implements RNMapsCalloutManagerInterface<MapCallout> {
|
|
22
|
+
|
|
23
|
+
public CalloutManager(ReactApplicationContext context){
|
|
24
|
+
super(context);
|
|
25
|
+
}
|
|
26
|
+
private final RNMapsCalloutManagerDelegate<MapCallout, CalloutManager> delegate =
|
|
27
|
+
new RNMapsCalloutManagerDelegate<>(this);
|
|
28
|
+
|
|
29
|
+
@Override
|
|
30
|
+
public ViewManagerDelegate<MapCallout> getDelegate() {
|
|
31
|
+
return delegate;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
@Override
|
|
35
|
+
public String getName() {
|
|
36
|
+
return REACT_CLASS;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@Override
|
|
40
|
+
public MapCallout createViewInstance(ThemedReactContext context) {
|
|
41
|
+
return new MapCallout(context);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
public static final String REACT_CLASS = "RNMapsCallout";
|
|
46
|
+
|
|
47
|
+
@Nullable
|
|
48
|
+
@Override
|
|
49
|
+
public Map<String, Object> getExportedCustomBubblingEventTypeConstants() {
|
|
50
|
+
return MapCallout.getExportedCustomBubblingEventTypeConstants();
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
@Nullable
|
|
54
|
+
@Override
|
|
55
|
+
public Map<String, Object> getExportedCustomDirectEventTypeConstants() {
|
|
56
|
+
return new HashMap<>();
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
@Override
|
|
61
|
+
public void setAlphaHitTest(MapCallout view, boolean value) {
|
|
62
|
+
/// do nothing
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
@Override
|
|
66
|
+
public void setTooltip(MapCallout view, boolean value) {
|
|
67
|
+
view.setTooltip(value);
|
|
68
|
+
}
|
|
69
|
+
@Override
|
|
70
|
+
public LayoutShadowNode createShadowNodeInstance() {
|
|
71
|
+
// we use a custom shadow node that emits the width/height of the view
|
|
72
|
+
// after layout with the updateExtraData method. Without this, we can't generate
|
|
73
|
+
// a bitmap of the appropriate width/height of the rendered view.
|
|
74
|
+
return new SizeReportingShadowNode();
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
}
|