@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.
- package/LICENSE +20 -0
- package/NitroBlur.podspec +29 -0
- package/README.md +200 -0
- package/android/CMakeLists.txt +24 -0
- package/android/build.gradle +120 -0
- package/android/src/main/AndroidManifest.xml +2 -0
- package/android/src/main/cpp/cpp-adapter.cpp +6 -0
- package/android/src/main/java/com/margelo/nitro/nitroblur/NitroBlur.kt +229 -0
- package/android/src/main/java/com/margelo/nitro/nitroblur/NitroBlurPackage.kt +31 -0
- package/android/src/main/java/com/margelo/nitro/nitroblur/NitroBlurTarget.kt +149 -0
- package/android/src/main/java/com/margelo/nitro/nitroblur/NitroBlurTargetViewGroupManager.kt +47 -0
- package/android/src/main/java/com/margelo/nitro/nitroblur/TintStyle.kt +85 -0
- package/ios/NitroBlur.swift +173 -0
- package/ios/NitroBlurTarget.swift +5 -0
- package/lib/module/NitroBlur.nitro.js +4 -0
- package/lib/module/NitroBlur.nitro.js.map +1 -0
- package/lib/module/NitroBlurTarget.nitro.js +4 -0
- package/lib/module/NitroBlurTarget.nitro.js.map +1 -0
- package/lib/module/index.js +114 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/NitroBlur.nitro.d.ts +25 -0
- package/lib/typescript/src/NitroBlur.nitro.d.ts.map +1 -0
- package/lib/typescript/src/NitroBlurTarget.nitro.d.ts +7 -0
- package/lib/typescript/src/NitroBlurTarget.nitro.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +201 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/nitro.json +33 -0
- package/nitrogen/generated/android/c++/JBlurMethod.hpp +61 -0
- package/nitrogen/generated/android/c++/JBlurTint.hpp +115 -0
- package/nitrogen/generated/android/c++/JHybridNitroBlurSpec.cpp +99 -0
- package/nitrogen/generated/android/c++/JHybridNitroBlurSpec.hpp +72 -0
- package/nitrogen/generated/android/c++/JHybridNitroBlurTargetSpec.cpp +49 -0
- package/nitrogen/generated/android/c++/JHybridNitroBlurTargetSpec.hpp +63 -0
- package/nitrogen/generated/android/c++/views/JHybridNitroBlurStateUpdater.cpp +72 -0
- package/nitrogen/generated/android/c++/views/JHybridNitroBlurStateUpdater.hpp +49 -0
- package/nitrogen/generated/android/c++/views/JHybridNitroBlurTargetStateUpdater.cpp +53 -0
- package/nitrogen/generated/android/c++/views/JHybridNitroBlurTargetStateUpdater.hpp +49 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroblur/BlurMethod.kt +24 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroblur/BlurTint.kt +42 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroblur/HybridNitroBlurSpec.kt +81 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroblur/HybridNitroBlurTargetSpec.kt +53 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroblur/nitroblurOnLoad.kt +35 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroblur/views/HybridNitroBlurManager.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroblur/views/HybridNitroBlurStateUpdater.kt +23 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroblur/views/HybridNitroBlurTargetManager.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitroblur/views/HybridNitroBlurTargetStateUpdater.kt +23 -0
- package/nitrogen/generated/android/nitroblur+autolinking.cmake +87 -0
- package/nitrogen/generated/android/nitroblur+autolinking.gradle +27 -0
- package/nitrogen/generated/android/nitroblurOnLoad.cpp +74 -0
- package/nitrogen/generated/android/nitroblurOnLoad.hpp +34 -0
- package/nitrogen/generated/ios/NitroBlur+autolinking.rb +60 -0
- package/nitrogen/generated/ios/NitroBlur-Swift-Cxx-Bridge.cpp +50 -0
- package/nitrogen/generated/ios/NitroBlur-Swift-Cxx-Bridge.hpp +57 -0
- package/nitrogen/generated/ios/NitroBlur-Swift-Cxx-Umbrella.hpp +52 -0
- package/nitrogen/generated/ios/NitroBlurAutolinking.mm +41 -0
- package/nitrogen/generated/ios/NitroBlurAutolinking.swift +38 -0
- package/nitrogen/generated/ios/c++/HybridNitroBlurSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridNitroBlurSpecSwift.hpp +110 -0
- package/nitrogen/generated/ios/c++/HybridNitroBlurTargetSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridNitroBlurTargetSpecSwift.hpp +75 -0
- package/nitrogen/generated/ios/c++/views/HybridNitroBlurComponent.mm +142 -0
- package/nitrogen/generated/ios/c++/views/HybridNitroBlurTargetComponent.mm +118 -0
- package/nitrogen/generated/ios/swift/BlurMethod.swift +44 -0
- package/nitrogen/generated/ios/swift/BlurTint.swift +116 -0
- package/nitrogen/generated/ios/swift/HybridNitroBlurSpec.swift +59 -0
- package/nitrogen/generated/ios/swift/HybridNitroBlurSpec_cxx.swift +200 -0
- package/nitrogen/generated/ios/swift/HybridNitroBlurTargetSpec.swift +55 -0
- package/nitrogen/generated/ios/swift/HybridNitroBlurTargetSpec_cxx.swift +147 -0
- package/nitrogen/generated/shared/c++/BlurMethod.hpp +80 -0
- package/nitrogen/generated/shared/c++/BlurTint.hpp +152 -0
- package/nitrogen/generated/shared/c++/HybridNitroBlurSpec.cpp +30 -0
- package/nitrogen/generated/shared/c++/HybridNitroBlurSpec.hpp +75 -0
- package/nitrogen/generated/shared/c++/HybridNitroBlurTargetSpec.cpp +21 -0
- package/nitrogen/generated/shared/c++/HybridNitroBlurTargetSpec.hpp +62 -0
- package/nitrogen/generated/shared/c++/views/HybridNitroBlurComponent.cpp +127 -0
- package/nitrogen/generated/shared/c++/views/HybridNitroBlurComponent.hpp +116 -0
- package/nitrogen/generated/shared/c++/views/HybridNitroBlurTargetComponent.cpp +72 -0
- package/nitrogen/generated/shared/c++/views/HybridNitroBlurTargetComponent.hpp +109 -0
- package/nitrogen/generated/shared/json/NitroBlurConfig.json +14 -0
- package/nitrogen/generated/shared/json/NitroBlurTargetConfig.json +9 -0
- package/package.json +174 -0
- package/src/NitroBlur.nitro.ts +56 -0
- package/src/NitroBlurTarget.nitro.ts +13 -0
- 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
|