@abeman/react-native-nitro-blur 0.1.0

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 (86) hide show
  1. package/LICENSE +20 -0
  2. package/NitroBlur.podspec +29 -0
  3. package/README.md +200 -0
  4. package/android/CMakeLists.txt +24 -0
  5. package/android/build.gradle +120 -0
  6. package/android/src/main/AndroidManifest.xml +2 -0
  7. package/android/src/main/cpp/cpp-adapter.cpp +6 -0
  8. package/android/src/main/java/com/margelo/nitro/nitroblur/NitroBlur.kt +229 -0
  9. package/android/src/main/java/com/margelo/nitro/nitroblur/NitroBlurPackage.kt +31 -0
  10. package/android/src/main/java/com/margelo/nitro/nitroblur/NitroBlurTarget.kt +149 -0
  11. package/android/src/main/java/com/margelo/nitro/nitroblur/NitroBlurTargetViewGroupManager.kt +47 -0
  12. package/android/src/main/java/com/margelo/nitro/nitroblur/TintStyle.kt +85 -0
  13. package/ios/NitroBlur.swift +173 -0
  14. package/ios/NitroBlurTarget.swift +5 -0
  15. package/lib/module/NitroBlur.nitro.js +4 -0
  16. package/lib/module/NitroBlur.nitro.js.map +1 -0
  17. package/lib/module/NitroBlurTarget.nitro.js +4 -0
  18. package/lib/module/NitroBlurTarget.nitro.js.map +1 -0
  19. package/lib/module/index.js +114 -0
  20. package/lib/module/index.js.map +1 -0
  21. package/lib/module/package.json +1 -0
  22. package/lib/typescript/package.json +1 -0
  23. package/lib/typescript/src/NitroBlur.nitro.d.ts +25 -0
  24. package/lib/typescript/src/NitroBlur.nitro.d.ts.map +1 -0
  25. package/lib/typescript/src/NitroBlurTarget.nitro.d.ts +7 -0
  26. package/lib/typescript/src/NitroBlurTarget.nitro.d.ts.map +1 -0
  27. package/lib/typescript/src/index.d.ts +201 -0
  28. package/lib/typescript/src/index.d.ts.map +1 -0
  29. package/nitro.json +33 -0
  30. package/nitrogen/generated/android/c++/JBlurMethod.hpp +61 -0
  31. package/nitrogen/generated/android/c++/JBlurTint.hpp +115 -0
  32. package/nitrogen/generated/android/c++/JHybridNitroBlurSpec.cpp +99 -0
  33. package/nitrogen/generated/android/c++/JHybridNitroBlurSpec.hpp +72 -0
  34. package/nitrogen/generated/android/c++/JHybridNitroBlurTargetSpec.cpp +49 -0
  35. package/nitrogen/generated/android/c++/JHybridNitroBlurTargetSpec.hpp +63 -0
  36. package/nitrogen/generated/android/c++/views/JHybridNitroBlurStateUpdater.cpp +72 -0
  37. package/nitrogen/generated/android/c++/views/JHybridNitroBlurStateUpdater.hpp +49 -0
  38. package/nitrogen/generated/android/c++/views/JHybridNitroBlurTargetStateUpdater.cpp +53 -0
  39. package/nitrogen/generated/android/c++/views/JHybridNitroBlurTargetStateUpdater.hpp +49 -0
  40. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroblur/BlurMethod.kt +24 -0
  41. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroblur/BlurTint.kt +42 -0
  42. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroblur/HybridNitroBlurSpec.kt +81 -0
  43. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroblur/HybridNitroBlurTargetSpec.kt +53 -0
  44. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroblur/nitroblurOnLoad.kt +35 -0
  45. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroblur/views/HybridNitroBlurManager.kt +80 -0
  46. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroblur/views/HybridNitroBlurStateUpdater.kt +23 -0
  47. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroblur/views/HybridNitroBlurTargetManager.kt +80 -0
  48. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroblur/views/HybridNitroBlurTargetStateUpdater.kt +23 -0
  49. package/nitrogen/generated/android/nitroblur+autolinking.cmake +87 -0
  50. package/nitrogen/generated/android/nitroblur+autolinking.gradle +27 -0
  51. package/nitrogen/generated/android/nitroblurOnLoad.cpp +74 -0
  52. package/nitrogen/generated/android/nitroblurOnLoad.hpp +34 -0
  53. package/nitrogen/generated/ios/NitroBlur+autolinking.rb +60 -0
  54. package/nitrogen/generated/ios/NitroBlur-Swift-Cxx-Bridge.cpp +50 -0
  55. package/nitrogen/generated/ios/NitroBlur-Swift-Cxx-Bridge.hpp +57 -0
  56. package/nitrogen/generated/ios/NitroBlur-Swift-Cxx-Umbrella.hpp +52 -0
  57. package/nitrogen/generated/ios/NitroBlurAutolinking.mm +41 -0
  58. package/nitrogen/generated/ios/NitroBlurAutolinking.swift +38 -0
  59. package/nitrogen/generated/ios/c++/HybridNitroBlurSpecSwift.cpp +11 -0
  60. package/nitrogen/generated/ios/c++/HybridNitroBlurSpecSwift.hpp +110 -0
  61. package/nitrogen/generated/ios/c++/HybridNitroBlurTargetSpecSwift.cpp +11 -0
  62. package/nitrogen/generated/ios/c++/HybridNitroBlurTargetSpecSwift.hpp +75 -0
  63. package/nitrogen/generated/ios/c++/views/HybridNitroBlurComponent.mm +142 -0
  64. package/nitrogen/generated/ios/c++/views/HybridNitroBlurTargetComponent.mm +118 -0
  65. package/nitrogen/generated/ios/swift/BlurMethod.swift +44 -0
  66. package/nitrogen/generated/ios/swift/BlurTint.swift +116 -0
  67. package/nitrogen/generated/ios/swift/HybridNitroBlurSpec.swift +59 -0
  68. package/nitrogen/generated/ios/swift/HybridNitroBlurSpec_cxx.swift +200 -0
  69. package/nitrogen/generated/ios/swift/HybridNitroBlurTargetSpec.swift +55 -0
  70. package/nitrogen/generated/ios/swift/HybridNitroBlurTargetSpec_cxx.swift +147 -0
  71. package/nitrogen/generated/shared/c++/BlurMethod.hpp +80 -0
  72. package/nitrogen/generated/shared/c++/BlurTint.hpp +152 -0
  73. package/nitrogen/generated/shared/c++/HybridNitroBlurSpec.cpp +30 -0
  74. package/nitrogen/generated/shared/c++/HybridNitroBlurSpec.hpp +75 -0
  75. package/nitrogen/generated/shared/c++/HybridNitroBlurTargetSpec.cpp +21 -0
  76. package/nitrogen/generated/shared/c++/HybridNitroBlurTargetSpec.hpp +62 -0
  77. package/nitrogen/generated/shared/c++/views/HybridNitroBlurComponent.cpp +127 -0
  78. package/nitrogen/generated/shared/c++/views/HybridNitroBlurComponent.hpp +116 -0
  79. package/nitrogen/generated/shared/c++/views/HybridNitroBlurTargetComponent.cpp +72 -0
  80. package/nitrogen/generated/shared/c++/views/HybridNitroBlurTargetComponent.hpp +109 -0
  81. package/nitrogen/generated/shared/json/NitroBlurConfig.json +14 -0
  82. package/nitrogen/generated/shared/json/NitroBlurTargetConfig.json +9 -0
  83. package/package.json +174 -0
  84. package/src/NitroBlur.nitro.ts +56 -0
  85. package/src/NitroBlurTarget.nitro.ts +13 -0
  86. package/src/index.tsx +215 -0
@@ -0,0 +1,201 @@
1
+ import React from 'react';
2
+ import { View, type ViewProps } from 'react-native';
3
+ import type { BlurMethod, BlurTint } from './NitroBlur.nitro';
4
+ export type BlurViewProps = {
5
+ /**
6
+ * A ref to a BlurTargetView, which this BlurView will blur as its background.
7
+ *
8
+ * @platform android
9
+ */
10
+ blurTarget?: React.RefObject<View | null>;
11
+ /**
12
+ * A tint mode which will be applied to the view.
13
+ * @default 'default'
14
+ */
15
+ tint?: BlurTint;
16
+ /**
17
+ * A number from `1` to `100` to control the intensity of the blur effect.
18
+ *
19
+ * You can animate this property using `react-native-reanimated`.
20
+ *
21
+ * @default 50
22
+ */
23
+ intensity?: number;
24
+ /**
25
+ * A number by which the blur intensity will be divided on Android.
26
+ *
27
+ * When using blur methods on Android, the perceived blur intensity might differ from iOS
28
+ * at different intensity levels. This property can be used to fine tune it on Android
29
+ * to match it more closely with iOS.
30
+ * @default 4
31
+ * @platform android
32
+ */
33
+ blurReductionFactor?: number;
34
+ /**
35
+ * Blur method to use on Android.
36
+ *
37
+ * @default 'none'
38
+ * @platform android
39
+ */
40
+ blurMethod?: BlurMethod;
41
+ /**
42
+ * @hidden
43
+ * @deprecated Use `blurMethod` instead.
44
+ * @default 'none'
45
+ * @platform android
46
+ */
47
+ experimentalBlurMethod?: BlurMethod;
48
+ } & ViewProps;
49
+ export type BlurTargetViewProps = {
50
+ ref?: React.RefObject<View | null>;
51
+ } & ViewProps;
52
+ type BlurViewState = {
53
+ blurTargetId?: number | null;
54
+ };
55
+ export declare class BlurView extends React.Component<BlurViewProps, BlurViewState> {
56
+ constructor(props: BlurViewProps);
57
+ componentDidMount(): void;
58
+ componentDidUpdate(prevProps: Readonly<BlurViewProps>): void;
59
+ _maybeWarnAboutBlurMethod(): void;
60
+ _updateBlurTargetId: () => void;
61
+ _getBlurMethod(): BlurMethod;
62
+ render(): import("react/jsx-runtime").JSX.Element;
63
+ }
64
+ /**
65
+ * A container view that can be used as a blur target on Android.
66
+ * Wrap the content you want to blur with this view, then pass
67
+ * a ref to it via the `blurTarget` prop of `BlurView`.
68
+ *
69
+ * On iOS, this is just a regular View since UIVisualEffectView
70
+ * naturally blurs whatever is behind it.
71
+ */
72
+ export declare const BlurTargetView: React.ForwardRefExoticComponent<Readonly<Omit<Readonly<{
73
+ onAccessibilityAction?: ((event: import("react-native").AccessibilityActionEvent) => unknown) | undefined;
74
+ onAccessibilityTap?: (() => unknown) | undefined;
75
+ onLayout?: ((event: import("react-native").LayoutChangeEvent) => unknown) | undefined;
76
+ onMagicTap?: (() => unknown) | undefined;
77
+ onAccessibilityEscape?: (() => unknown) | undefined;
78
+ }>, "onMoveShouldSetResponder" | "onMoveShouldSetResponderCapture" | "onResponderGrant" | "onResponderMove" | "onResponderReject" | "onResponderRelease" | "onResponderStart" | "onResponderEnd" | "onResponderTerminate" | "onResponderTerminationRequest" | "onStartShouldSetResponder" | "onStartShouldSetResponderCapture" | "onMouseEnter" | "onMouseLeave" | "onClick" | "onClickCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onBlur" | "onBlurCapture" | "onFocus" | "onFocusCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "nativeBackgroundAndroid" | "nativeForegroundAndroid" | "renderToHardwareTextureAndroid" | "hasTVPreferredFocus" | "nextFocusDown" | "nextFocusForward" | "nextFocusLeft" | "nextFocusRight" | "nextFocusUp" | "focusable" | "tabIndex" | "shouldRasterizeIOS" | "accessibilityIgnoresInvertColors" | "accessibilityViewIsModal" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "aria-modal" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityRespondsToUserInteraction" | "accessible" | "accessibilityLabel" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "role" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "importantForAccessibility" | "screenReaderFocusable" | "children" | "style" | "collapsable" | "collapsableChildren" | "id" | "testID" | "nativeID" | "needsOffscreenAlphaCompositing" | "hitSlop" | "pointerEvents" | "removeClippedSubviews" | "experimental_accessibilityOrder"> & Omit<Readonly<{
79
+ onMoveShouldSetResponder?: ((e: import("react-native").GestureResponderEvent) => boolean) | undefined;
80
+ onMoveShouldSetResponderCapture?: ((e: import("react-native").GestureResponderEvent) => boolean) | undefined;
81
+ onResponderGrant?: ((e: import("react-native").GestureResponderEvent) => void | boolean) | undefined;
82
+ onResponderMove?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
83
+ onResponderReject?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
84
+ onResponderRelease?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
85
+ onResponderStart?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
86
+ onResponderEnd?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
87
+ onResponderTerminate?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
88
+ onResponderTerminationRequest?: ((e: import("react-native").GestureResponderEvent) => boolean) | undefined;
89
+ onStartShouldSetResponder?: ((e: import("react-native").GestureResponderEvent) => boolean) | undefined;
90
+ onStartShouldSetResponderCapture?: ((e: import("react-native").GestureResponderEvent) => boolean) | undefined;
91
+ }>, "onMouseEnter" | "onMouseLeave" | "onClick" | "onClickCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onBlur" | "onBlurCapture" | "onFocus" | "onFocusCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "nativeBackgroundAndroid" | "nativeForegroundAndroid" | "renderToHardwareTextureAndroid" | "hasTVPreferredFocus" | "nextFocusDown" | "nextFocusForward" | "nextFocusLeft" | "nextFocusRight" | "nextFocusUp" | "focusable" | "tabIndex" | "shouldRasterizeIOS" | "accessibilityIgnoresInvertColors" | "accessibilityViewIsModal" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "aria-modal" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityRespondsToUserInteraction" | "accessible" | "accessibilityLabel" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "role" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "importantForAccessibility" | "screenReaderFocusable" | "children" | "style" | "collapsable" | "collapsableChildren" | "id" | "testID" | "nativeID" | "needsOffscreenAlphaCompositing" | "hitSlop" | "pointerEvents" | "removeClippedSubviews" | "experimental_accessibilityOrder"> & Omit<Readonly<{
92
+ onMouseEnter?: ((event: import("react-native").MouseEvent) => void) | undefined;
93
+ onMouseLeave?: ((event: import("react-native").MouseEvent) => void) | undefined;
94
+ }>, "onClick" | "onClickCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onBlur" | "onBlurCapture" | "onFocus" | "onFocusCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "nativeBackgroundAndroid" | "nativeForegroundAndroid" | "renderToHardwareTextureAndroid" | "hasTVPreferredFocus" | "nextFocusDown" | "nextFocusForward" | "nextFocusLeft" | "nextFocusRight" | "nextFocusUp" | "focusable" | "tabIndex" | "shouldRasterizeIOS" | "accessibilityIgnoresInvertColors" | "accessibilityViewIsModal" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "aria-modal" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityRespondsToUserInteraction" | "accessible" | "accessibilityLabel" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "role" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "importantForAccessibility" | "screenReaderFocusable" | "children" | "style" | "collapsable" | "collapsableChildren" | "id" | "testID" | "nativeID" | "needsOffscreenAlphaCompositing" | "hitSlop" | "pointerEvents" | "removeClippedSubviews" | "experimental_accessibilityOrder"> & Omit<Readonly<{
95
+ onClick?: ((event: import("react-native").PointerEvent) => void) | undefined;
96
+ onClickCapture?: ((event: import("react-native").PointerEvent) => void) | undefined;
97
+ onPointerEnter?: ((event: import("react-native").PointerEvent) => void) | undefined;
98
+ onPointerEnterCapture?: ((event: import("react-native").PointerEvent) => void) | undefined;
99
+ onPointerLeave?: ((event: import("react-native").PointerEvent) => void) | undefined;
100
+ onPointerLeaveCapture?: ((event: import("react-native").PointerEvent) => void) | undefined;
101
+ onPointerMove?: ((event: import("react-native").PointerEvent) => void) | undefined;
102
+ onPointerMoveCapture?: ((event: import("react-native").PointerEvent) => void) | undefined;
103
+ onPointerCancel?: ((e: import("react-native").PointerEvent) => void) | undefined;
104
+ onPointerCancelCapture?: ((e: import("react-native").PointerEvent) => void) | undefined;
105
+ onPointerDown?: ((e: import("react-native").PointerEvent) => void) | undefined;
106
+ onPointerDownCapture?: ((e: import("react-native").PointerEvent) => void) | undefined;
107
+ onPointerUp?: ((e: import("react-native").PointerEvent) => void) | undefined;
108
+ onPointerUpCapture?: ((e: import("react-native").PointerEvent) => void) | undefined;
109
+ onPointerOver?: ((e: import("react-native").PointerEvent) => void) | undefined;
110
+ onPointerOverCapture?: ((e: import("react-native").PointerEvent) => void) | undefined;
111
+ onPointerOut?: ((e: import("react-native").PointerEvent) => void) | undefined;
112
+ onPointerOutCapture?: ((e: import("react-native").PointerEvent) => void) | undefined;
113
+ onGotPointerCapture?: ((e: import("react-native").PointerEvent) => void) | undefined;
114
+ onGotPointerCaptureCapture?: ((e: import("react-native").PointerEvent) => void) | undefined;
115
+ onLostPointerCapture?: ((e: import("react-native").PointerEvent) => void) | undefined;
116
+ onLostPointerCaptureCapture?: ((e: import("react-native").PointerEvent) => void) | undefined;
117
+ }>, "onClick" | "onBlur" | "onBlurCapture" | "onFocus" | "onFocusCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "nativeBackgroundAndroid" | "nativeForegroundAndroid" | "renderToHardwareTextureAndroid" | "hasTVPreferredFocus" | "nextFocusDown" | "nextFocusForward" | "nextFocusLeft" | "nextFocusRight" | "nextFocusUp" | "focusable" | "tabIndex" | "shouldRasterizeIOS" | "accessibilityIgnoresInvertColors" | "accessibilityViewIsModal" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "aria-modal" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityRespondsToUserInteraction" | "accessible" | "accessibilityLabel" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "role" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "importantForAccessibility" | "screenReaderFocusable" | "children" | "style" | "collapsable" | "collapsableChildren" | "id" | "testID" | "nativeID" | "needsOffscreenAlphaCompositing" | "hitSlop" | "pointerEvents" | "removeClippedSubviews" | "experimental_accessibilityOrder"> & Omit<Readonly<{
118
+ onBlur?: ((event: import("react-native").BlurEvent) => void) | undefined;
119
+ onBlurCapture?: ((event: import("react-native").BlurEvent) => void) | undefined;
120
+ onFocus?: ((event: import("react-native").FocusEvent) => void) | undefined;
121
+ onFocusCapture?: ((event: import("react-native").FocusEvent) => void) | undefined;
122
+ }>, "onClick" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "nativeBackgroundAndroid" | "nativeForegroundAndroid" | "renderToHardwareTextureAndroid" | "hasTVPreferredFocus" | "nextFocusDown" | "nextFocusForward" | "nextFocusLeft" | "nextFocusRight" | "nextFocusUp" | "focusable" | "tabIndex" | "shouldRasterizeIOS" | "accessibilityIgnoresInvertColors" | "accessibilityViewIsModal" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "aria-modal" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityRespondsToUserInteraction" | "accessible" | "accessibilityLabel" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "role" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "importantForAccessibility" | "screenReaderFocusable" | "children" | "style" | "collapsable" | "collapsableChildren" | "id" | "testID" | "nativeID" | "needsOffscreenAlphaCompositing" | "hitSlop" | "pointerEvents" | "removeClippedSubviews" | "experimental_accessibilityOrder"> & Omit<Readonly<{
123
+ onTouchCancel?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
124
+ onTouchCancelCapture?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
125
+ onTouchEnd?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
126
+ onTouchEndCapture?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
127
+ onTouchMove?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
128
+ onTouchMoveCapture?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
129
+ onTouchStart?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
130
+ onTouchStartCapture?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
131
+ }>, "onClick" | "nativeBackgroundAndroid" | "nativeForegroundAndroid" | "renderToHardwareTextureAndroid" | "hasTVPreferredFocus" | "nextFocusDown" | "nextFocusForward" | "nextFocusLeft" | "nextFocusRight" | "nextFocusUp" | "focusable" | "tabIndex" | "shouldRasterizeIOS" | "accessibilityIgnoresInvertColors" | "accessibilityViewIsModal" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "aria-modal" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityRespondsToUserInteraction" | "accessible" | "accessibilityLabel" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "role" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "importantForAccessibility" | "screenReaderFocusable" | "children" | "style" | "collapsable" | "collapsableChildren" | "id" | "testID" | "nativeID" | "needsOffscreenAlphaCompositing" | "hitSlop" | "pointerEvents" | "removeClippedSubviews" | "experimental_accessibilityOrder"> & Omit<Readonly<{
132
+ nativeBackgroundAndroid?: import("react-native/types_generated/Libraries/Components/View/ViewPropTypes").AndroidDrawable | undefined;
133
+ nativeForegroundAndroid?: import("react-native/types_generated/Libraries/Components/View/ViewPropTypes").AndroidDrawable | undefined;
134
+ renderToHardwareTextureAndroid?: boolean | undefined;
135
+ hasTVPreferredFocus?: boolean | undefined;
136
+ nextFocusDown?: number | undefined;
137
+ nextFocusForward?: number | undefined;
138
+ nextFocusLeft?: number | undefined;
139
+ nextFocusRight?: number | undefined;
140
+ nextFocusUp?: number | undefined;
141
+ focusable?: boolean | undefined;
142
+ tabIndex?: 0 | -1;
143
+ onClick?: ((event: import("react-native").GestureResponderEvent) => unknown) | undefined;
144
+ }>, "shouldRasterizeIOS" | "accessibilityIgnoresInvertColors" | "accessibilityViewIsModal" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "aria-modal" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityRespondsToUserInteraction" | "accessible" | "accessibilityLabel" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "role" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "importantForAccessibility" | "screenReaderFocusable" | "children" | "style" | "collapsable" | "collapsableChildren" | "id" | "testID" | "nativeID" | "needsOffscreenAlphaCompositing" | "hitSlop" | "pointerEvents" | "removeClippedSubviews" | "experimental_accessibilityOrder"> & Omit<Readonly<{
145
+ shouldRasterizeIOS?: boolean | undefined;
146
+ }>, "accessibilityIgnoresInvertColors" | "accessibilityViewIsModal" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "aria-modal" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityRespondsToUserInteraction" | "accessible" | "accessibilityLabel" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "role" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "importantForAccessibility" | "screenReaderFocusable" | "children" | "style" | "collapsable" | "collapsableChildren" | "id" | "testID" | "nativeID" | "needsOffscreenAlphaCompositing" | "hitSlop" | "pointerEvents" | "removeClippedSubviews" | "experimental_accessibilityOrder"> & Omit<Readonly<Omit<Readonly<{
147
+ accessibilityLabelledBy?: (string | undefined) | (Array<string> | undefined);
148
+ "aria-labelledby"?: string | undefined;
149
+ accessibilityLiveRegion?: ("none" | "polite" | "assertive") | undefined;
150
+ "aria-live"?: ("polite" | "assertive" | "off") | undefined;
151
+ importantForAccessibility?: ("auto" | "yes" | "no" | "no-hide-descendants") | undefined;
152
+ screenReaderFocusable?: boolean;
153
+ }>, "accessibilityIgnoresInvertColors" | "accessibilityViewIsModal" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "aria-modal" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityRespondsToUserInteraction" | "accessible" | "accessibilityLabel" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "role" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden"> & Omit<Readonly<{
154
+ accessibilityIgnoresInvertColors?: boolean | undefined;
155
+ accessibilityViewIsModal?: boolean | undefined;
156
+ accessibilityShowsLargeContentViewer?: boolean | undefined;
157
+ accessibilityLargeContentTitle?: string | undefined;
158
+ "aria-modal"?: boolean | undefined;
159
+ accessibilityElementsHidden?: boolean | undefined;
160
+ accessibilityLanguage?: string | undefined;
161
+ accessibilityRespondsToUserInteraction?: boolean | undefined;
162
+ }>, "accessible" | "accessibilityLabel" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "role" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden"> & {
163
+ accessible?: boolean | undefined;
164
+ accessibilityLabel?: string | undefined;
165
+ accessibilityHint?: string | undefined;
166
+ "aria-label"?: string | undefined;
167
+ accessibilityRole?: import("react-native").AccessibilityRole | undefined;
168
+ role?: import("react-native").Role | undefined;
169
+ accessibilityState?: import("react-native").AccessibilityState | undefined;
170
+ accessibilityValue?: import("react-native").AccessibilityValue | undefined;
171
+ "aria-valuemax"?: import("react-native").AccessibilityValue["max"] | undefined;
172
+ "aria-valuemin"?: import("react-native").AccessibilityValue["min"] | undefined;
173
+ "aria-valuenow"?: import("react-native").AccessibilityValue["now"] | undefined;
174
+ "aria-valuetext"?: import("react-native").AccessibilityValue["text"] | undefined;
175
+ accessibilityActions?: ReadonlyArray<import("react-native/types_generated/Libraries/Components/View/ViewAccessibility").AccessibilityActionInfo> | undefined;
176
+ "aria-busy"?: boolean | undefined;
177
+ "aria-checked"?: (boolean | undefined) | "mixed";
178
+ "aria-disabled"?: boolean | undefined;
179
+ "aria-expanded"?: boolean | undefined;
180
+ "aria-selected"?: boolean | undefined;
181
+ "aria-hidden"?: boolean | undefined;
182
+ }>, "children" | "style" | "collapsable" | "collapsableChildren" | "id" | "testID" | "nativeID" | "needsOffscreenAlphaCompositing" | "hitSlop" | "pointerEvents" | "removeClippedSubviews" | "experimental_accessibilityOrder"> & Omit<Readonly<{
183
+ children?: React.ReactNode;
184
+ style?: import("react-native/types_generated/Libraries/StyleSheet/StyleSheet").ViewStyleProp | undefined;
185
+ collapsable?: boolean | undefined;
186
+ collapsableChildren?: boolean | undefined;
187
+ id?: string;
188
+ testID?: string | undefined;
189
+ nativeID?: string | undefined;
190
+ needsOffscreenAlphaCompositing?: boolean | undefined;
191
+ hitSlop?: import("react-native/types_generated/Libraries/StyleSheet/EdgeInsetsPropType").EdgeInsetsOrSizeProp | undefined;
192
+ pointerEvents?: ("auto" | "box-none" | "box-only" | "none") | undefined;
193
+ removeClippedSubviews?: boolean | undefined;
194
+ experimental_accessibilityOrder?: Array<string> | undefined;
195
+ }>, never>> & React.RefAttributes<(props: Omit<ViewProps, keyof {
196
+ ref?: React.Ref<React.ComponentRef<typeof import("react-native").unstable_NativeView>>;
197
+ }> & {
198
+ ref?: React.Ref<React.ComponentRef<typeof import("react-native").unstable_NativeView>>;
199
+ }) => React.ReactNode>>;
200
+ export type { BlurTint, BlurMethod, NitroBlurProps, NitroBlurMethods, } from './NitroBlur.nitro';
201
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAIL,IAAI,EACJ,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EACV,UAAU,EACV,QAAQ,EAGT,MAAM,mBAAmB,CAAC;AAqB3B,MAAM,MAAM,aAAa,GAAG;IAC1B;;;;OAIG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAE1C;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAEhB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;;OAQG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;;;OAKG;IACH,sBAAsB,CAAC,EAAE,UAAU,CAAC;CACrC,GAAG,SAAS,CAAC;AAEd,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;CACpC,GAAG,SAAS,CAAC;AAId,KAAK,aAAa,GAAG;IACnB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,qBAAa,QAAS,SAAQ,KAAK,CAAC,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;gBAC7D,KAAK,EAAE,aAAa;IAOhC,iBAAiB,IAAI,IAAI;IAWzB,kBAAkB,CAAC,SAAS,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI;IAM5D,yBAAyB,IAAI,IAAI;IAejC,mBAAmB,aAMjB;IAEF,cAAc,IAAI,UAAU;IAM5B,MAAM;CA8BP;AAQD;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OArKf,CAAC;;OAIT,CAAC;uBAwKJ,CAAC;AAIF,YAAY,EACV,QAAQ,EACR,UAAU,EACV,cAAc,EACd,gBAAgB,GACjB,MAAM,mBAAmB,CAAC"}
package/nitro.json ADDED
@@ -0,0 +1,33 @@
1
+ {
2
+ "cxxNamespace": ["nitroblur"],
3
+ "ios": {
4
+ "iosModuleName": "NitroBlur"
5
+ },
6
+ "android": {
7
+ "androidNamespace": ["nitroblur"],
8
+ "androidCxxLibName": "nitroblur"
9
+ },
10
+ "autolinking": {
11
+ "NitroBlur": {
12
+ "ios": {
13
+ "language": "swift",
14
+ "implementationClassName": "HybridNitroBlur"
15
+ },
16
+ "android": {
17
+ "language": "kotlin",
18
+ "implementationClassName": "HybridNitroBlur"
19
+ }
20
+ },
21
+ "NitroBlurTarget": {
22
+ "ios": {
23
+ "language": "swift",
24
+ "implementationClassName": "HybridNitroBlurTarget"
25
+ },
26
+ "android": {
27
+ "language": "kotlin",
28
+ "implementationClassName": "HybridNitroBlurTarget"
29
+ }
30
+ }
31
+ },
32
+ "ignorePaths": ["node_modules"]
33
+ }
@@ -0,0 +1,61 @@
1
+ ///
2
+ /// JBlurMethod.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "BlurMethod.hpp"
12
+
13
+ namespace margelo::nitro::nitroblur {
14
+
15
+ using namespace facebook;
16
+
17
+ /**
18
+ * The C++ JNI bridge between the C++ enum "BlurMethod" and the the Kotlin enum "BlurMethod".
19
+ */
20
+ struct JBlurMethod final: public jni::JavaClass<JBlurMethod> {
21
+ public:
22
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/nitroblur/BlurMethod;";
23
+
24
+ public:
25
+ /**
26
+ * Convert this Java/Kotlin-based enum to the C++ enum BlurMethod.
27
+ */
28
+ [[maybe_unused]]
29
+ [[nodiscard]]
30
+ BlurMethod toCpp() const {
31
+ static const auto clazz = javaClassStatic();
32
+ static const auto fieldOrdinal = clazz->getField<int>("value");
33
+ int ordinal = this->getFieldValue(fieldOrdinal);
34
+ return static_cast<BlurMethod>(ordinal);
35
+ }
36
+
37
+ public:
38
+ /**
39
+ * Create a Java/Kotlin-based enum with the given C++ enum's value.
40
+ */
41
+ [[maybe_unused]]
42
+ static jni::alias_ref<JBlurMethod> fromCpp(BlurMethod value) {
43
+ static const auto clazz = javaClassStatic();
44
+ switch (value) {
45
+ case BlurMethod::NONE:
46
+ static const auto fieldNONE = clazz->getStaticField<JBlurMethod>("NONE");
47
+ return clazz->getStaticFieldValue(fieldNONE);
48
+ case BlurMethod::DIMEZISBLURVIEW:
49
+ static const auto fieldDIMEZISBLURVIEW = clazz->getStaticField<JBlurMethod>("DIMEZISBLURVIEW");
50
+ return clazz->getStaticFieldValue(fieldDIMEZISBLURVIEW);
51
+ case BlurMethod::DIMEZISBLURVIEWSDK31PLUS:
52
+ static const auto fieldDIMEZISBLURVIEWSDK31PLUS = clazz->getStaticField<JBlurMethod>("DIMEZISBLURVIEWSDK31PLUS");
53
+ return clazz->getStaticFieldValue(fieldDIMEZISBLURVIEWSDK31PLUS);
54
+ default:
55
+ std::string stringValue = std::to_string(static_cast<int>(value));
56
+ throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
57
+ }
58
+ }
59
+ };
60
+
61
+ } // namespace margelo::nitro::nitroblur
@@ -0,0 +1,115 @@
1
+ ///
2
+ /// JBlurTint.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <fbjni/fbjni.h>
11
+ #include "BlurTint.hpp"
12
+
13
+ namespace margelo::nitro::nitroblur {
14
+
15
+ using namespace facebook;
16
+
17
+ /**
18
+ * The C++ JNI bridge between the C++ enum "BlurTint" and the the Kotlin enum "BlurTint".
19
+ */
20
+ struct JBlurTint final: public jni::JavaClass<JBlurTint> {
21
+ public:
22
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/nitroblur/BlurTint;";
23
+
24
+ public:
25
+ /**
26
+ * Convert this Java/Kotlin-based enum to the C++ enum BlurTint.
27
+ */
28
+ [[maybe_unused]]
29
+ [[nodiscard]]
30
+ BlurTint toCpp() const {
31
+ static const auto clazz = javaClassStatic();
32
+ static const auto fieldOrdinal = clazz->getField<int>("value");
33
+ int ordinal = this->getFieldValue(fieldOrdinal);
34
+ return static_cast<BlurTint>(ordinal);
35
+ }
36
+
37
+ public:
38
+ /**
39
+ * Create a Java/Kotlin-based enum with the given C++ enum's value.
40
+ */
41
+ [[maybe_unused]]
42
+ static jni::alias_ref<JBlurTint> fromCpp(BlurTint value) {
43
+ static const auto clazz = javaClassStatic();
44
+ switch (value) {
45
+ case BlurTint::LIGHT:
46
+ static const auto fieldLIGHT = clazz->getStaticField<JBlurTint>("LIGHT");
47
+ return clazz->getStaticFieldValue(fieldLIGHT);
48
+ case BlurTint::DARK:
49
+ static const auto fieldDARK = clazz->getStaticField<JBlurTint>("DARK");
50
+ return clazz->getStaticFieldValue(fieldDARK);
51
+ case BlurTint::DEFAULT:
52
+ static const auto fieldDEFAULT = clazz->getStaticField<JBlurTint>("DEFAULT");
53
+ return clazz->getStaticFieldValue(fieldDEFAULT);
54
+ case BlurTint::EXTRALIGHT:
55
+ static const auto fieldEXTRALIGHT = clazz->getStaticField<JBlurTint>("EXTRALIGHT");
56
+ return clazz->getStaticFieldValue(fieldEXTRALIGHT);
57
+ case BlurTint::REGULAR:
58
+ static const auto fieldREGULAR = clazz->getStaticField<JBlurTint>("REGULAR");
59
+ return clazz->getStaticFieldValue(fieldREGULAR);
60
+ case BlurTint::PROMINENT:
61
+ static const auto fieldPROMINENT = clazz->getStaticField<JBlurTint>("PROMINENT");
62
+ return clazz->getStaticFieldValue(fieldPROMINENT);
63
+ case BlurTint::SYSTEMULTRATHINMATERIAL:
64
+ static const auto fieldSYSTEMULTRATHINMATERIAL = clazz->getStaticField<JBlurTint>("SYSTEMULTRATHINMATERIAL");
65
+ return clazz->getStaticFieldValue(fieldSYSTEMULTRATHINMATERIAL);
66
+ case BlurTint::SYSTEMTHINMATERIAL:
67
+ static const auto fieldSYSTEMTHINMATERIAL = clazz->getStaticField<JBlurTint>("SYSTEMTHINMATERIAL");
68
+ return clazz->getStaticFieldValue(fieldSYSTEMTHINMATERIAL);
69
+ case BlurTint::SYSTEMMATERIAL:
70
+ static const auto fieldSYSTEMMATERIAL = clazz->getStaticField<JBlurTint>("SYSTEMMATERIAL");
71
+ return clazz->getStaticFieldValue(fieldSYSTEMMATERIAL);
72
+ case BlurTint::SYSTEMTHICKMATERIAL:
73
+ static const auto fieldSYSTEMTHICKMATERIAL = clazz->getStaticField<JBlurTint>("SYSTEMTHICKMATERIAL");
74
+ return clazz->getStaticFieldValue(fieldSYSTEMTHICKMATERIAL);
75
+ case BlurTint::SYSTEMCHROMEMATERIAL:
76
+ static const auto fieldSYSTEMCHROMEMATERIAL = clazz->getStaticField<JBlurTint>("SYSTEMCHROMEMATERIAL");
77
+ return clazz->getStaticFieldValue(fieldSYSTEMCHROMEMATERIAL);
78
+ case BlurTint::SYSTEMULTRATHINMATERIALLIGHT:
79
+ static const auto fieldSYSTEMULTRATHINMATERIALLIGHT = clazz->getStaticField<JBlurTint>("SYSTEMULTRATHINMATERIALLIGHT");
80
+ return clazz->getStaticFieldValue(fieldSYSTEMULTRATHINMATERIALLIGHT);
81
+ case BlurTint::SYSTEMTHINMATERIALLIGHT:
82
+ static const auto fieldSYSTEMTHINMATERIALLIGHT = clazz->getStaticField<JBlurTint>("SYSTEMTHINMATERIALLIGHT");
83
+ return clazz->getStaticFieldValue(fieldSYSTEMTHINMATERIALLIGHT);
84
+ case BlurTint::SYSTEMMATERIALLIGHT:
85
+ static const auto fieldSYSTEMMATERIALLIGHT = clazz->getStaticField<JBlurTint>("SYSTEMMATERIALLIGHT");
86
+ return clazz->getStaticFieldValue(fieldSYSTEMMATERIALLIGHT);
87
+ case BlurTint::SYSTEMTHICKMATERIALLIGHT:
88
+ static const auto fieldSYSTEMTHICKMATERIALLIGHT = clazz->getStaticField<JBlurTint>("SYSTEMTHICKMATERIALLIGHT");
89
+ return clazz->getStaticFieldValue(fieldSYSTEMTHICKMATERIALLIGHT);
90
+ case BlurTint::SYSTEMCHROMEMATERIALLIGHT:
91
+ static const auto fieldSYSTEMCHROMEMATERIALLIGHT = clazz->getStaticField<JBlurTint>("SYSTEMCHROMEMATERIALLIGHT");
92
+ return clazz->getStaticFieldValue(fieldSYSTEMCHROMEMATERIALLIGHT);
93
+ case BlurTint::SYSTEMULTRATHINMATERIALDARK:
94
+ static const auto fieldSYSTEMULTRATHINMATERIALDARK = clazz->getStaticField<JBlurTint>("SYSTEMULTRATHINMATERIALDARK");
95
+ return clazz->getStaticFieldValue(fieldSYSTEMULTRATHINMATERIALDARK);
96
+ case BlurTint::SYSTEMTHINMATERIALDARK:
97
+ static const auto fieldSYSTEMTHINMATERIALDARK = clazz->getStaticField<JBlurTint>("SYSTEMTHINMATERIALDARK");
98
+ return clazz->getStaticFieldValue(fieldSYSTEMTHINMATERIALDARK);
99
+ case BlurTint::SYSTEMMATERIALDARK:
100
+ static const auto fieldSYSTEMMATERIALDARK = clazz->getStaticField<JBlurTint>("SYSTEMMATERIALDARK");
101
+ return clazz->getStaticFieldValue(fieldSYSTEMMATERIALDARK);
102
+ case BlurTint::SYSTEMTHICKMATERIALDARK:
103
+ static const auto fieldSYSTEMTHICKMATERIALDARK = clazz->getStaticField<JBlurTint>("SYSTEMTHICKMATERIALDARK");
104
+ return clazz->getStaticFieldValue(fieldSYSTEMTHICKMATERIALDARK);
105
+ case BlurTint::SYSTEMCHROMEMATERIALDARK:
106
+ static const auto fieldSYSTEMCHROMEMATERIALDARK = clazz->getStaticField<JBlurTint>("SYSTEMCHROMEMATERIALDARK");
107
+ return clazz->getStaticFieldValue(fieldSYSTEMCHROMEMATERIALDARK);
108
+ default:
109
+ std::string stringValue = std::to_string(static_cast<int>(value));
110
+ throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
111
+ }
112
+ }
113
+ };
114
+
115
+ } // namespace margelo::nitro::nitroblur
@@ -0,0 +1,99 @@
1
+ ///
2
+ /// JHybridNitroBlurSpec.cpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #include "JHybridNitroBlurSpec.hpp"
9
+
10
+ // Forward declaration of `BlurTint` to properly resolve imports.
11
+ namespace margelo::nitro::nitroblur { enum class BlurTint; }
12
+ // Forward declaration of `BlurMethod` to properly resolve imports.
13
+ namespace margelo::nitro::nitroblur { enum class BlurMethod; }
14
+
15
+ #include "BlurTint.hpp"
16
+ #include "JBlurTint.hpp"
17
+ #include "BlurMethod.hpp"
18
+ #include "JBlurMethod.hpp"
19
+
20
+ namespace margelo::nitro::nitroblur {
21
+
22
+ std::shared_ptr<JHybridNitroBlurSpec> JHybridNitroBlurSpec::JavaPart::getJHybridNitroBlurSpec() {
23
+ auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
24
+ auto castHybridObject = std::dynamic_pointer_cast<JHybridNitroBlurSpec>(hybridObject);
25
+ if (castHybridObject == nullptr) [[unlikely]] {
26
+ throw std::runtime_error("Failed to downcast JHybridObject to JHybridNitroBlurSpec!");
27
+ }
28
+ return castHybridObject;
29
+ }
30
+
31
+ jni::local_ref<JHybridNitroBlurSpec::CxxPart::jhybriddata> JHybridNitroBlurSpec::CxxPart::initHybrid(jni::alias_ref<jhybridobject> jThis) {
32
+ return makeCxxInstance(jThis);
33
+ }
34
+
35
+ std::shared_ptr<JHybridObject> JHybridNitroBlurSpec::CxxPart::createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) {
36
+ auto castJavaPart = jni::dynamic_ref_cast<JHybridNitroBlurSpec::JavaPart>(javaPart);
37
+ if (castJavaPart == nullptr) [[unlikely]] {
38
+ throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridNitroBlurSpec::JavaPart!");
39
+ }
40
+ return std::make_shared<JHybridNitroBlurSpec>(castJavaPart);
41
+ }
42
+
43
+ void JHybridNitroBlurSpec::CxxPart::registerNatives() {
44
+ registerHybrid({
45
+ makeNativeMethod("initHybrid", JHybridNitroBlurSpec::CxxPart::initHybrid),
46
+ });
47
+ }
48
+
49
+ // Properties
50
+ BlurTint JHybridNitroBlurSpec::getTint() {
51
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JBlurTint>()>("getTint");
52
+ auto __result = method(_javaPart);
53
+ return __result->toCpp();
54
+ }
55
+ void JHybridNitroBlurSpec::setTint(BlurTint tint) {
56
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JBlurTint> /* tint */)>("setTint");
57
+ method(_javaPart, JBlurTint::fromCpp(tint));
58
+ }
59
+ double JHybridNitroBlurSpec::getIntensity() {
60
+ static const auto method = _javaPart->javaClassStatic()->getMethod<double()>("getIntensity");
61
+ auto __result = method(_javaPart);
62
+ return __result;
63
+ }
64
+ void JHybridNitroBlurSpec::setIntensity(double intensity) {
65
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void(double /* intensity */)>("setIntensity");
66
+ method(_javaPart, intensity);
67
+ }
68
+ double JHybridNitroBlurSpec::getBlurReductionFactor() {
69
+ static const auto method = _javaPart->javaClassStatic()->getMethod<double()>("getBlurReductionFactor");
70
+ auto __result = method(_javaPart);
71
+ return __result;
72
+ }
73
+ void JHybridNitroBlurSpec::setBlurReductionFactor(double blurReductionFactor) {
74
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void(double /* blurReductionFactor */)>("setBlurReductionFactor");
75
+ method(_javaPart, blurReductionFactor);
76
+ }
77
+ double JHybridNitroBlurSpec::getBlurTargetId() {
78
+ static const auto method = _javaPart->javaClassStatic()->getMethod<double()>("getBlurTargetId");
79
+ auto __result = method(_javaPart);
80
+ return __result;
81
+ }
82
+ void JHybridNitroBlurSpec::setBlurTargetId(double blurTargetId) {
83
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void(double /* blurTargetId */)>("setBlurTargetId");
84
+ method(_javaPart, blurTargetId);
85
+ }
86
+ BlurMethod JHybridNitroBlurSpec::getBlurMethod() {
87
+ static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JBlurMethod>()>("getBlurMethod");
88
+ auto __result = method(_javaPart);
89
+ return __result->toCpp();
90
+ }
91
+ void JHybridNitroBlurSpec::setBlurMethod(BlurMethod blurMethod) {
92
+ static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<JBlurMethod> /* blurMethod */)>("setBlurMethod");
93
+ method(_javaPart, JBlurMethod::fromCpp(blurMethod));
94
+ }
95
+
96
+ // Methods
97
+
98
+
99
+ } // namespace margelo::nitro::nitroblur
@@ -0,0 +1,72 @@
1
+ ///
2
+ /// HybridNitroBlurSpec.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include <NitroModules/JHybridObject.hpp>
11
+ #include <fbjni/fbjni.h>
12
+ #include "HybridNitroBlurSpec.hpp"
13
+
14
+
15
+
16
+
17
+ namespace margelo::nitro::nitroblur {
18
+
19
+ using namespace facebook;
20
+
21
+ class JHybridNitroBlurSpec: public virtual HybridNitroBlurSpec, public virtual JHybridObject {
22
+ public:
23
+ struct JavaPart: public jni::JavaClass<JavaPart, JHybridObject::JavaPart> {
24
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/nitroblur/HybridNitroBlurSpec;";
25
+ std::shared_ptr<JHybridNitroBlurSpec> getJHybridNitroBlurSpec();
26
+ };
27
+ struct CxxPart: public jni::HybridClass<CxxPart, JHybridObject::CxxPart> {
28
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/nitroblur/HybridNitroBlurSpec$CxxPart;";
29
+ static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject> jThis);
30
+ static void registerNatives();
31
+ using HybridBase::HybridBase;
32
+ protected:
33
+ std::shared_ptr<JHybridObject> createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) override;
34
+ };
35
+
36
+ public:
37
+ explicit JHybridNitroBlurSpec(const jni::local_ref<JHybridNitroBlurSpec::JavaPart>& javaPart):
38
+ HybridObject(HybridNitroBlurSpec::TAG),
39
+ JHybridObject(javaPart),
40
+ _javaPart(jni::make_global(javaPart)) {}
41
+ ~JHybridNitroBlurSpec() override {
42
+ // Hermes GC can destroy JS objects on a non-JNI Thread.
43
+ jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); });
44
+ }
45
+
46
+ public:
47
+ inline const jni::global_ref<JHybridNitroBlurSpec::JavaPart>& getJavaPart() const noexcept {
48
+ return _javaPart;
49
+ }
50
+
51
+ public:
52
+ // Properties
53
+ BlurTint getTint() override;
54
+ void setTint(BlurTint tint) override;
55
+ double getIntensity() override;
56
+ void setIntensity(double intensity) override;
57
+ double getBlurReductionFactor() override;
58
+ void setBlurReductionFactor(double blurReductionFactor) override;
59
+ double getBlurTargetId() override;
60
+ void setBlurTargetId(double blurTargetId) override;
61
+ BlurMethod getBlurMethod() override;
62
+ void setBlurMethod(BlurMethod blurMethod) override;
63
+
64
+ public:
65
+ // Methods
66
+
67
+
68
+ private:
69
+ jni::global_ref<JHybridNitroBlurSpec::JavaPart> _javaPart;
70
+ };
71
+
72
+ } // namespace margelo::nitro::nitroblur