pythonnative 0.40.0__cp313-cp313-win_amd64.whl
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.
- pythonnative/__init__.py +411 -0
- pythonnative/_ios_log.py +92 -0
- pythonnative/_yoga.cp313-win_amd64.pyd +0 -0
- pythonnative/alerts.py +236 -0
- pythonnative/animated.py +1687 -0
- pythonnative/animation_graph.py +78 -0
- pythonnative/appearance.py +124 -0
- pythonnative/bootstrap.py +100 -0
- pythonnative/bridge/__init__.py +302 -0
- pythonnative/bridge/android.py +78 -0
- pythonnative/bridge/codec.py +170 -0
- pythonnative/bridge/commits.py +114 -0
- pythonnative/bridge/fake.py +243 -0
- pythonnative/bridge/ios.py +138 -0
- pythonnative/bridge/web.py +489 -0
- pythonnative/cli/__init__.py +7 -0
- pythonnative/cli/pn.py +1214 -0
- pythonnative/component.py +271 -0
- pythonnative/components/__init__.py +111 -0
- pythonnative/components/_base.py +166 -0
- pythonnative/components/controls.py +521 -0
- pythonnative/components/layout.py +518 -0
- pythonnative/components/lists.py +785 -0
- pythonnative/components/media.py +204 -0
- pythonnative/components/overlays.py +107 -0
- pythonnative/components/pressable.py +252 -0
- pythonnative/components/structural.py +167 -0
- pythonnative/components/text.py +291 -0
- pythonnative/devclient.py +824 -0
- pythonnative/devserver/__init__.py +34 -0
- pythonnative/devserver/server.py +718 -0
- pythonnative/devserver/static/animation_graph.js +82 -0
- pythonnative/devserver/static/bridge.js +147 -0
- pythonnative/devserver/static/colors.js +70 -0
- pythonnative/devserver/static/host.js +552 -0
- pythonnative/devserver/static/index.html +60 -0
- pythonnative/devserver/static/layout.js +85 -0
- pythonnative/devserver/static/preview.css +415 -0
- pythonnative/devserver/static/renderer.js +1994 -0
- pythonnative/devserver/static/shell.js +345 -0
- pythonnative/devserver/static/yoga/LICENSE +21 -0
- pythonnative/devserver/static/yoga/binaries/yoga-wasm-base64-esm.js +75 -0
- pythonnative/devserver/static/yoga/src/generated/YGEnums.d.ts +189 -0
- pythonnative/devserver/static/yoga/src/generated/YGEnums.js +211 -0
- pythonnative/devserver/static/yoga/src/generated/YGEnums.js.map +1 -0
- pythonnative/devserver/static/yoga/src/index.d.ts +12 -0
- pythonnative/devserver/static/yoga/src/index.js +16 -0
- pythonnative/devserver/static/yoga/src/index.js.map +1 -0
- pythonnative/devserver/static/yoga/src/load.d.ts +11 -0
- pythonnative/devserver/static/yoga/src/load.js +17 -0
- pythonnative/devserver/static/yoga/src/load.js.map +1 -0
- pythonnative/devserver/static/yoga/src/wrapAssembly.d.ts +155 -0
- pythonnative/devserver/static/yoga/src/wrapAssembly.js +125 -0
- pythonnative/devserver/static/yoga/src/wrapAssembly.js.map +1 -0
- pythonnative/devserver/watcher.py +267 -0
- pythonnative/devserver/ws.py +421 -0
- pythonnative/diagnostics.py +241 -0
- pythonnative/element.py +159 -0
- pythonnative/equality.py +19 -0
- pythonnative/events.py +231 -0
- pythonnative/gestures.py +1333 -0
- pythonnative/hooks.py +1621 -0
- pythonnative/hosts/__init__.py +63 -0
- pythonnative/hosts/base.py +596 -0
- pythonnative/hosts/native.py +302 -0
- pythonnative/hot_reload.py +585 -0
- pythonnative/layout.py +328 -0
- pythonnative/mutations.py +142 -0
- pythonnative/native/android/build.gradle +52 -0
- pythonnative/native/android/gradle.properties +3 -0
- pythonnative/native/android/settings.gradle +12 -0
- pythonnative/native/android/src/main/AndroidManifest.xml +11 -0
- pythonnative/native/android/src/main/cpp/CMakeLists.txt +9 -0
- pythonnative/native/android/src/main/cpp/yoga_jni.cpp +52 -0
- pythonnative/native/android/src/main/java/com/pythonnative/generated/NativeModules.kt +5 -0
- pythonnative/native/android/src/main/java/com/pythonnative/generated/NativeProps.kt +3705 -0
- pythonnative/native/android/src/main/java/com/pythonnative/generated/PNContracts.kt +129 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/PNBridge.kt +261 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/PythonHost.kt +20 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/animation/AnimationGraph.kt +108 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/animation/AnimationSpecs.kt +141 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/animation/PNAnimator.kt +257 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/bridge/CommitState.kt +106 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/bridge/JsonUtil.kt +175 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/bridge/MainThread.kt +40 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/bridge/PNLog.kt +33 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/bridge/PNRegistry.kt +82 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/bridge/PNTransaction.kt +80 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/bridge/TransactionApplier.kt +117 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/bridge/ViewRegistry.kt +74 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/BuiltinComponents.kt +37 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ButtonManager.kt +32 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ComponentManager.kt +213 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ContainerManagers.kt +69 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ControlManagers.kt +186 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/DatePickerManager.kt +123 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ImageLoader.kt +141 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ImageManager.kt +162 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ModalManager.kt +134 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/PNColor.kt +201 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/PickerManager.kt +86 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/PortalManager.kt +55 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/PressableManager.kt +122 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ScreenStackManager.kt +110 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ScrollViewManager.kt +214 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/SegmentedControlManager.kt +113 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/StatusBarManager.kt +52 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/TabBarManager.kt +131 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/TextInputManager.kt +250 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/TextManager.kt +233 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ViewStyler.kt +355 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/VirtualListManager.kt +159 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/WebViewManager.kt +149 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/gestures/GestureArbiter.kt +233 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/gestures/GestureCoordinator.kt +127 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/gestures/GestureRecognizers.kt +527 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/layout/NativeLayout.kt +145 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/layout/YogaNode.kt +29 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/BuiltinModules.kt +73 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/DeviceModules.kt +316 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/HostModule.kt +61 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/MediaModules.kt +200 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/NativeModule.kt +158 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/NotificationsModule.kt +100 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/PermissionsModule.kt +99 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/StorageModules.kt +89 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/SystemModules.kt +178 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/plugins/GeneratedPlugins.kt +16 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/screens/PNScreenFragment.kt +188 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/screens/ScreenRegistry.kt +80 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/views/PNAccessibilityDelegate.kt +48 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/views/PNBorderDrawable.kt +76 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/views/PNEditText.kt +18 -0
- pythonnative/native/android/src/main/java/com/pythonnative/runtime/views/PNFrameLayout.kt +49 -0
- pythonnative/native/android/src/test/java/com/pythonnative/runtime/AnimationSpecsTest.kt +75 -0
- pythonnative/native/android/src/test/java/com/pythonnative/runtime/GestureArbiterTest.kt +197 -0
- pythonnative/native/android/src/test/java/com/pythonnative/runtime/PNColorTest.kt +47 -0
- pythonnative/native/android/src/test/java/com/pythonnative/runtime/PNTransactionTest.kt +78 -0
- pythonnative/native/android/src/test/java/com/pythonnative/runtime/PromiseTest.kt +89 -0
- pythonnative/native/ios/Package.swift +23 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Animation/PNAnimationGraph.swift +199 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Animation/PNAnimator.swift +312 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Bridge/PNBridge.swift +255 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Bridge/PNCommit.swift +104 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Bridge/PNRegistry.swift +142 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Bridge/PNTransaction.swift +166 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Bridge/PNViewRegistry.swift +53 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Components/PNButtonManagers.swift +207 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Components/PNColor.swift +173 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Components/PNComponentManager.swift +183 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Components/PNContainerView.swift +56 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Components/PNControlManagers.swift +281 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Components/PNImageManager.swift +222 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Components/PNOverlayManagers.swift +243 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Components/PNPressableManager.swift +114 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Components/PNScreenStackManager.swift +107 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Components/PNScrollViewManager.swift +197 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Components/PNTabBarManager.swift +106 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Components/PNTextInputManager.swift +297 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Components/PNTextManager.swift +230 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Components/PNTransform.swift +82 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Components/PNViewManager.swift +86 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Components/PNViewState.swift +87 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Components/PNViewStyler.swift +340 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Components/PNVirtualListManager.swift +155 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Components/PNWebViewManager.swift +124 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Generated/NativeModules.swift +1 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Generated/NativeProps.swift +3775 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Generated/PNContracts.swift +46 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Gestures/PNGestureCoordinator.swift +260 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Layout/PNLayout.swift +173 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Modules/AlertModule.swift +92 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Modules/HostModule.swift +80 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Modules/LifecycleModules.swift +174 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Modules/MediaModules.swift +177 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Modules/PNNativeModule.swift +168 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Modules/PermissionModules.swift +266 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Modules/SystemModules.swift +251 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Plugins/PNPluginRegistration.swift +8 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Screens/PNScreenRegistry.swift +46 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Screens/PNViewController.swift +237 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Support/PNCompat.swift +46 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Support/PNJSON.swift +173 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Support/PNLog.swift +47 -0
- pythonnative/native/ios/Sources/PythonNativeKit/Support/PNWindow.swift +51 -0
- pythonnative/native/ios/Tests/PythonNativeKitTests/PNAnimationGraphTests.swift +26 -0
- pythonnative/native/ios/Tests/PythonNativeKitTests/PNColorTests.swift +50 -0
- pythonnative/native/ios/Tests/PythonNativeKitTests/PNCommitTests.swift +86 -0
- pythonnative/native/ios/Tests/PythonNativeKitTests/PNGestureTests.swift +101 -0
- pythonnative/native/ios/Tests/PythonNativeKitTests/PNManagerTests.swift +126 -0
- pythonnative/native/ios/Tests/PythonNativeKitTests/PNModuleTests.swift +111 -0
- pythonnative/native/ios/Tests/PythonNativeKitTests/PNTransactionTests.swift +91 -0
- pythonnative/native/yoga/LICENSE +21 -0
- pythonnative/native/yoga/Package.swift +9 -0
- pythonnative/native/yoga/VENDORED.md +2 -0
- pythonnative/native/yoga/include/PNStyle.h +10 -0
- pythonnative/native/yoga/include/module.modulemap +5 -0
- pythonnative/native/yoga/include/yoga/YGConfig.h +158 -0
- pythonnative/native/yoga/include/yoga/YGEnums.h +142 -0
- pythonnative/native/yoga/include/yoga/YGMacros.h +99 -0
- pythonnative/native/yoga/include/yoga/YGNode.h +304 -0
- pythonnative/native/yoga/include/yoga/YGNodeLayout.h +35 -0
- pythonnative/native/yoga/include/yoga/YGNodeStyle.h +130 -0
- pythonnative/native/yoga/include/yoga/YGPixelGrid.h +29 -0
- pythonnative/native/yoga/include/yoga/YGValue.h +84 -0
- pythonnative/native/yoga/include/yoga/Yoga.h +21 -0
- pythonnative/native/yoga/python.cpp +16 -0
- pythonnative/native/yoga/style.cpp +272 -0
- pythonnative/native/yoga/yoga/CMakeLists.txt +41 -0
- pythonnative/native/yoga/yoga/YGConfig.cpp +92 -0
- pythonnative/native/yoga/yoga/YGConfig.h +158 -0
- pythonnative/native/yoga/yoga/YGEnums.cpp +262 -0
- pythonnative/native/yoga/yoga/YGEnums.h +142 -0
- pythonnative/native/yoga/yoga/YGMacros.h +99 -0
- pythonnative/native/yoga/yoga/YGNode.cpp +366 -0
- pythonnative/native/yoga/yoga/YGNode.h +304 -0
- pythonnative/native/yoga/yoga/YGNodeLayout.cpp +92 -0
- pythonnative/native/yoga/yoga/YGNodeLayout.h +35 -0
- pythonnative/native/yoga/yoga/YGNodeStyle.cpp +405 -0
- pythonnative/native/yoga/yoga/YGNodeStyle.h +130 -0
- pythonnative/native/yoga/yoga/YGPixelGrid.cpp +22 -0
- pythonnative/native/yoga/yoga/YGPixelGrid.h +29 -0
- pythonnative/native/yoga/yoga/YGValue.cpp +20 -0
- pythonnative/native/yoga/yoga/YGValue.h +84 -0
- pythonnative/native/yoga/yoga/Yoga.h +21 -0
- pythonnative/native/yoga/yoga/algorithm/AbsoluteLayout.cpp +563 -0
- pythonnative/native/yoga/yoga/algorithm/AbsoluteLayout.h +41 -0
- pythonnative/native/yoga/yoga/algorithm/Align.h +72 -0
- pythonnative/native/yoga/yoga/algorithm/Baseline.cpp +78 -0
- pythonnative/native/yoga/yoga/algorithm/Baseline.h +21 -0
- pythonnative/native/yoga/yoga/algorithm/BoundAxis.h +79 -0
- pythonnative/native/yoga/yoga/algorithm/Cache.cpp +121 -0
- pythonnative/native/yoga/yoga/algorithm/Cache.h +30 -0
- pythonnative/native/yoga/yoga/algorithm/CalculateLayout.cpp +2428 -0
- pythonnative/native/yoga/yoga/algorithm/CalculateLayout.h +38 -0
- pythonnative/native/yoga/yoga/algorithm/FlexDirection.h +120 -0
- pythonnative/native/yoga/yoga/algorithm/FlexLine.cpp +124 -0
- pythonnative/native/yoga/yoga/algorithm/FlexLine.h +75 -0
- pythonnative/native/yoga/yoga/algorithm/PixelGrid.cpp +132 -0
- pythonnative/native/yoga/yoga/algorithm/PixelGrid.h +29 -0
- pythonnative/native/yoga/yoga/algorithm/SizingMode.h +73 -0
- pythonnative/native/yoga/yoga/algorithm/TrailingPosition.h +44 -0
- pythonnative/native/yoga/yoga/config/Config.cpp +135 -0
- pythonnative/native/yoga/yoga/config/Config.h +92 -0
- pythonnative/native/yoga/yoga/debug/AssertFatal.cpp +53 -0
- pythonnative/native/yoga/yoga/debug/AssertFatal.h +29 -0
- pythonnative/native/yoga/yoga/debug/Log.cpp +107 -0
- pythonnative/native/yoga/yoga/debug/Log.h +34 -0
- pythonnative/native/yoga/yoga/enums/Align.h +47 -0
- pythonnative/native/yoga/yoga/enums/BoxSizing.h +40 -0
- pythonnative/native/yoga/yoga/enums/Dimension.h +40 -0
- pythonnative/native/yoga/yoga/enums/Direction.h +41 -0
- pythonnative/native/yoga/yoga/enums/Display.h +41 -0
- pythonnative/native/yoga/yoga/enums/Edge.h +47 -0
- pythonnative/native/yoga/yoga/enums/Errata.h +41 -0
- pythonnative/native/yoga/yoga/enums/ExperimentalFeature.h +39 -0
- pythonnative/native/yoga/yoga/enums/FlexDirection.h +42 -0
- pythonnative/native/yoga/yoga/enums/Gutter.h +41 -0
- pythonnative/native/yoga/yoga/enums/Justify.h +44 -0
- pythonnative/native/yoga/yoga/enums/LogLevel.h +44 -0
- pythonnative/native/yoga/yoga/enums/MeasureMode.h +41 -0
- pythonnative/native/yoga/yoga/enums/NodeType.h +40 -0
- pythonnative/native/yoga/yoga/enums/Overflow.h +41 -0
- pythonnative/native/yoga/yoga/enums/PhysicalEdge.h +21 -0
- pythonnative/native/yoga/yoga/enums/PositionType.h +41 -0
- pythonnative/native/yoga/yoga/enums/Unit.h +42 -0
- pythonnative/native/yoga/yoga/enums/Wrap.h +41 -0
- pythonnative/native/yoga/yoga/enums/YogaEnums.h +85 -0
- pythonnative/native/yoga/yoga/event/event.cpp +87 -0
- pythonnative/native/yoga/yoga/event/event.h +130 -0
- pythonnative/native/yoga/yoga/module.modulemap +21 -0
- pythonnative/native/yoga/yoga/node/CachedMeasurement.h +53 -0
- pythonnative/native/yoga/yoga/node/LayoutResults.cpp +48 -0
- pythonnative/native/yoga/yoga/node/LayoutResults.h +122 -0
- pythonnative/native/yoga/yoga/node/LayoutableChildren.h +148 -0
- pythonnative/native/yoga/yoga/node/Node.cpp +443 -0
- pythonnative/native/yoga/yoga/node/Node.h +337 -0
- pythonnative/native/yoga/yoga/numeric/Comparison.h +81 -0
- pythonnative/native/yoga/yoga/numeric/FloatOptional.h +93 -0
- pythonnative/native/yoga/yoga/style/SmallValueBuffer.h +133 -0
- pythonnative/native/yoga/yoga/style/Style.h +757 -0
- pythonnative/native/yoga/yoga/style/StyleLength.h +107 -0
- pythonnative/native/yoga/yoga/style/StyleValueHandle.h +98 -0
- pythonnative/native/yoga/yoga/style/StyleValuePool.h +127 -0
- pythonnative/native_modules/__init__.py +124 -0
- pythonnative/native_modules/app_state.py +99 -0
- pythonnative/native_modules/battery.py +75 -0
- pythonnative/native_modules/biometrics.py +42 -0
- pythonnative/native_modules/camera.py +65 -0
- pythonnative/native_modules/clipboard.py +46 -0
- pythonnative/native_modules/fallback.py +324 -0
- pythonnative/native_modules/file_system.py +145 -0
- pythonnative/native_modules/haptics.py +75 -0
- pythonnative/native_modules/linking.py +123 -0
- pythonnative/native_modules/location.py +75 -0
- pythonnative/native_modules/net_info.py +112 -0
- pythonnative/native_modules/notifications.py +129 -0
- pythonnative/native_modules/permissions.py +108 -0
- pythonnative/native_modules/registry.py +526 -0
- pythonnative/native_modules/secure_store.py +52 -0
- pythonnative/native_modules/share.py +51 -0
- pythonnative/native_views/__init__.py +375 -0
- pythonnative/native_views/base.py +316 -0
- pythonnative/native_views/bridge_backend.py +277 -0
- pythonnative/navigation/__init__.py +103 -0
- pythonnative/navigation/container.py +154 -0
- pythonnative/navigation/handle.py +540 -0
- pythonnative/navigation/hooks.py +133 -0
- pythonnative/navigation/host.py +58 -0
- pythonnative/navigation/linking.py +200 -0
- pythonnative/navigation/navigators.py +659 -0
- pythonnative/navigation/screen.py +149 -0
- pythonnative/navigation/state.py +269 -0
- pythonnative/net.py +248 -0
- pythonnative/platform.py +166 -0
- pythonnative/platform_metrics.py +252 -0
- pythonnative/preview.py +287 -0
- pythonnative/profiling.py +101 -0
- pythonnative/project/__init__.py +68 -0
- pythonnative/project/android.py +557 -0
- pythonnative/project/builder.py +817 -0
- pythonnative/project/config.py +773 -0
- pythonnative/project/deps.py +719 -0
- pythonnative/project/devices.py +304 -0
- pythonnative/project/doctor.py +283 -0
- pythonnative/project/fingerprint.py +171 -0
- pythonnative/project/icons.py +247 -0
- pythonnative/project/ios.py +325 -0
- pythonnative/project/lockfile.py +100 -0
- pythonnative/project/permissions.py +361 -0
- pythonnative/project/plugins.py +519 -0
- pythonnative/project/runtime_assets.py +183 -0
- pythonnative/py.typed +0 -0
- pythonnative/query.py +153 -0
- pythonnative/reconciler/__init__.py +29 -0
- pythonnative/reconciler/boundaries.py +375 -0
- pythonnative/reconciler/children.py +88 -0
- pythonnative/reconciler/core.py +1165 -0
- pythonnative/reconciler/layout_pass.py +393 -0
- pythonnative/reconciler/vnode.py +266 -0
- pythonnative/refresh.py +55 -0
- pythonnative/runtime.py +306 -0
- pythonnative/scheduler.py +159 -0
- pythonnative/sdk/__init__.py +153 -0
- pythonnative/sdk/_components.py +427 -0
- pythonnative/sdk/builtins.py +91 -0
- pythonnative/sdk/codegen.py +149 -0
- pythonnative/sdk/module_codegen.py +184 -0
- pythonnative/sdk/schema.py +224 -0
- pythonnative/sdk/templates/contracts.kt +46 -0
- pythonnative/sdk/templates/contracts.swift +46 -0
- pythonnative/storage.py +184 -0
- pythonnative/style.py +841 -0
- pythonnative/suspense.py +183 -0
- pythonnative/templates/android_template/app/build.gradle +75 -0
- pythonnative/templates/android_template/app/proguard-rules.pro +21 -0
- pythonnative/templates/android_template/app/src/androidTest/java/com/pythonnative/android_template/ExampleInstrumentedTest.kt +24 -0
- pythonnative/templates/android_template/app/src/debug/AndroidManifest.xml +7 -0
- pythonnative/templates/android_template/app/src/main/AndroidManifest.xml +32 -0
- pythonnative/templates/android_template/app/src/main/java/com/pythonnative/android_template/MainActivity.kt +130 -0
- pythonnative/templates/android_template/app/src/main/java/com/pythonnative/android_template/ScreenFragment.kt +13 -0
- pythonnative/templates/android_template/app/src/main/res/drawable/ic_launcher_background.xml +170 -0
- pythonnative/templates/android_template/app/src/main/res/drawable-v24/ic_launcher_foreground.xml +30 -0
- pythonnative/templates/android_template/app/src/main/res/layout/activity_main.xml +10 -0
- pythonnative/templates/android_template/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +6 -0
- pythonnative/templates/android_template/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +6 -0
- pythonnative/templates/android_template/app/src/main/res/mipmap-hdpi/ic_launcher.webp +0 -0
- pythonnative/templates/android_template/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp +0 -0
- pythonnative/templates/android_template/app/src/main/res/mipmap-mdpi/ic_launcher.webp +0 -0
- pythonnative/templates/android_template/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp +0 -0
- pythonnative/templates/android_template/app/src/main/res/mipmap-xhdpi/ic_launcher.webp +0 -0
- pythonnative/templates/android_template/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp +0 -0
- pythonnative/templates/android_template/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp +0 -0
- pythonnative/templates/android_template/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp +0 -0
- pythonnative/templates/android_template/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp +0 -0
- pythonnative/templates/android_template/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp +0 -0
- pythonnative/templates/android_template/app/src/main/res/navigation/nav_graph.xml +22 -0
- pythonnative/templates/android_template/app/src/main/res/values/colors.xml +5 -0
- pythonnative/templates/android_template/app/src/main/res/values/strings.xml +5 -0
- pythonnative/templates/android_template/app/src/main/res/values/themes.xml +9 -0
- pythonnative/templates/android_template/app/src/main/res/values-night/themes.xml +7 -0
- pythonnative/templates/android_template/app/src/main/res/xml/backup_rules.xml +13 -0
- pythonnative/templates/android_template/app/src/main/res/xml/data_extraction_rules.xml +19 -0
- pythonnative/templates/android_template/app/src/test/java/com/pythonnative/android_template/ExampleUnitTest.kt +17 -0
- pythonnative/templates/android_template/build.gradle +10 -0
- pythonnative/templates/android_template/gradle/wrapper/gradle-wrapper.jar +0 -0
- pythonnative/templates/android_template/gradle/wrapper/gradle-wrapper.properties +6 -0
- pythonnative/templates/android_template/gradle.properties +23 -0
- pythonnative/templates/android_template/gradlew +185 -0
- pythonnative/templates/android_template/gradlew.bat +89 -0
- pythonnative/templates/android_template/settings.gradle +17 -0
- pythonnative/templates/ios_template/ios_template/AppDelegate.swift +51 -0
- pythonnative/templates/ios_template/ios_template/Assets.xcassets/AccentColor.colorset/Contents.json +11 -0
- pythonnative/templates/ios_template/ios_template/Assets.xcassets/AppIcon.appiconset/Contents.json +13 -0
- pythonnative/templates/ios_template/ios_template/Assets.xcassets/Contents.json +6 -0
- pythonnative/templates/ios_template/ios_template/Base.lproj/LaunchScreen.storyboard +25 -0
- pythonnative/templates/ios_template/ios_template/BridgingHeader.h +14 -0
- pythonnative/templates/ios_template/ios_template/Info.plist +28 -0
- pythonnative/templates/ios_template/ios_template/PythonRuntime.swift +390 -0
- pythonnative/templates/ios_template/ios_template/SceneDelegate.swift +61 -0
- pythonnative/templates/ios_template/ios_template/ViewController.swift +23 -0
- pythonnative/templates/ios_template/ios_template.xcodeproj/project.pbxproj +745 -0
- pythonnative/templates/ios_template/ios_template.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- pythonnative/templates/ios_template/ios_templateTests/ios_templateTests.swift +36 -0
- pythonnative/templates/ios_template/ios_templateUITests/ios_templateUITests.swift +41 -0
- pythonnative/templates/ios_template/ios_templateUITests/ios_templateUITestsLaunchTests.swift +32 -0
- pythonnative/testing/__init__.py +53 -0
- pythonnative/testing/backend.py +276 -0
- pythonnative/testing/harness.py +369 -0
- pythonnative/utils.py +145 -0
- pythonnative-0.40.0.dist-info/DELVEWHEEL +2 -0
- pythonnative-0.40.0.dist-info/METADATA +150 -0
- pythonnative-0.40.0.dist-info/RECORD +418 -0
- pythonnative-0.40.0.dist-info/WHEEL +5 -0
- pythonnative-0.40.0.dist-info/entry_points.txt +2 -0
- pythonnative-0.40.0.dist-info/licenses/LICENSE +21 -0
- pythonnative-0.40.0.dist-info/top_level.txt +1 -0
- pythonnative.libs/msvcp140-a4c2229bdc2a2a630acdc095b4d86008.dll +0 -0
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <stdarg.h>
|
|
11
|
+
#include <stdbool.h>
|
|
12
|
+
#include <stddef.h>
|
|
13
|
+
|
|
14
|
+
#include <yoga/YGEnums.h>
|
|
15
|
+
#include <yoga/YGMacros.h>
|
|
16
|
+
|
|
17
|
+
YG_EXTERN_C_BEGIN
|
|
18
|
+
|
|
19
|
+
typedef struct YGNode* YGNodeRef;
|
|
20
|
+
typedef const struct YGNode* YGNodeConstRef;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Handle to a mutable Yoga configuration.
|
|
24
|
+
*/
|
|
25
|
+
typedef struct YGConfig* YGConfigRef;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Handle to an immutable Yoga configuration.
|
|
29
|
+
*/
|
|
30
|
+
typedef const struct YGConfig* YGConfigConstRef;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Allocates a set of configuration options. The configuration may be applied to
|
|
34
|
+
* multiple nodes (i.e. a single global config), or can be applied more
|
|
35
|
+
* granularly per-node.
|
|
36
|
+
*/
|
|
37
|
+
YG_EXPORT YGConfigRef YGConfigNew(void);
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Frees the associated Yoga configuration.
|
|
41
|
+
*/
|
|
42
|
+
YG_EXPORT void YGConfigFree(YGConfigRef config);
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Returns the default config values set by Yoga.
|
|
46
|
+
*/
|
|
47
|
+
YG_EXPORT YGConfigConstRef YGConfigGetDefault(void);
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Yoga by default creates new nodes with style defaults different from flexbox
|
|
51
|
+
* on web (e.g. `YGFlexDirectionColumn` and `YGPositionRelative`).
|
|
52
|
+
* `UseWebDefaults` instructs Yoga to instead use a default style consistent
|
|
53
|
+
* with the web.
|
|
54
|
+
*/
|
|
55
|
+
YG_EXPORT void YGConfigSetUseWebDefaults(YGConfigRef config, bool enabled);
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Whether the configuration is set to use web defaults.
|
|
59
|
+
*/
|
|
60
|
+
YG_EXPORT bool YGConfigGetUseWebDefaults(YGConfigConstRef config);
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Yoga will by default round final layout positions and dimensions to the
|
|
64
|
+
* nearst point. `pointScaleFactor` controls the density of the grid used for
|
|
65
|
+
* layout rounding (e.g. to round to the closest display pixel).
|
|
66
|
+
*
|
|
67
|
+
* May be set to 0.0f to avoid rounding the layout results.
|
|
68
|
+
*/
|
|
69
|
+
YG_EXPORT void YGConfigSetPointScaleFactor(
|
|
70
|
+
YGConfigRef config,
|
|
71
|
+
float pixelsInPoint);
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Get the currently set point scale factor.
|
|
75
|
+
*/
|
|
76
|
+
YG_EXPORT float YGConfigGetPointScaleFactor(YGConfigConstRef config);
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Configures how Yoga balances W3C conformance vs compatibility with layouts
|
|
80
|
+
* created against earlier versions of Yoga.
|
|
81
|
+
*
|
|
82
|
+
* By default Yoga will prioritize W3C conformance. `Errata` may be set to ask
|
|
83
|
+
* Yoga to produce specific incorrect behaviors. E.g. `YGConfigSetErrata(config,
|
|
84
|
+
* YGErrataStretchFlexBasis)`.
|
|
85
|
+
*
|
|
86
|
+
* YGErrata is a bitmask, and multiple errata may be set at once. Predefined
|
|
87
|
+
* constants exist for convenience:
|
|
88
|
+
* 1. YGErrataNone: No errata
|
|
89
|
+
* 2. YGErrataClassic: Match layout behaviors of Yoga 1.x
|
|
90
|
+
* 3. YGErrataAll: Match layout behaviors of Yoga 1.x, including
|
|
91
|
+
* `UseLegacyStretchBehaviour`
|
|
92
|
+
*/
|
|
93
|
+
YG_EXPORT void YGConfigSetErrata(YGConfigRef config, YGErrata errata);
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Get the currently set errata.
|
|
97
|
+
*/
|
|
98
|
+
YG_EXPORT YGErrata YGConfigGetErrata(YGConfigConstRef config);
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Function pointer type for YGConfigSetLogger.
|
|
102
|
+
*/
|
|
103
|
+
typedef int (*YGLogger)(
|
|
104
|
+
YGConfigConstRef config,
|
|
105
|
+
YGNodeConstRef node,
|
|
106
|
+
YGLogLevel level,
|
|
107
|
+
const char* format,
|
|
108
|
+
va_list args);
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Set a custom log function for to use when logging diagnostics or fatal.
|
|
112
|
+
* errors.
|
|
113
|
+
*/
|
|
114
|
+
YG_EXPORT void YGConfigSetLogger(YGConfigRef config, YGLogger logger);
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Sets an arbitrary context pointer on the config which may be read from during
|
|
118
|
+
* callbacks.
|
|
119
|
+
*/
|
|
120
|
+
YG_EXPORT void YGConfigSetContext(YGConfigRef config, void* context);
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Gets the currently set context.
|
|
124
|
+
*/
|
|
125
|
+
YG_EXPORT void* YGConfigGetContext(YGConfigConstRef config);
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Function pointer type for YGConfigSetCloneNodeFunc.
|
|
129
|
+
*/
|
|
130
|
+
typedef YGNodeRef (*YGCloneNodeFunc)(
|
|
131
|
+
YGNodeConstRef oldNode,
|
|
132
|
+
YGNodeConstRef owner,
|
|
133
|
+
size_t childIndex);
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Enable an experimental/unsupported feature in Yoga.
|
|
137
|
+
*/
|
|
138
|
+
YG_EXPORT void YGConfigSetExperimentalFeatureEnabled(
|
|
139
|
+
YGConfigRef config,
|
|
140
|
+
YGExperimentalFeature feature,
|
|
141
|
+
bool enabled);
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* Whether an experimental feature is set.
|
|
145
|
+
*/
|
|
146
|
+
YG_EXPORT bool YGConfigIsExperimentalFeatureEnabled(
|
|
147
|
+
YGConfigConstRef config,
|
|
148
|
+
YGExperimentalFeature feature);
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Sets a callback, called during layout, to create a new mutable Yoga node if
|
|
152
|
+
* Yoga must write to it and its owner is not its parent observed during layout.
|
|
153
|
+
*/
|
|
154
|
+
YG_EXPORT void YGConfigSetCloneNodeFunc(
|
|
155
|
+
YGConfigRef config,
|
|
156
|
+
YGCloneNodeFunc callback);
|
|
157
|
+
|
|
158
|
+
YG_EXTERN_C_END
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
// @generated by enums.py
|
|
9
|
+
// clang-format off
|
|
10
|
+
#pragma once
|
|
11
|
+
#include <yoga/YGMacros.h>
|
|
12
|
+
|
|
13
|
+
YG_EXTERN_C_BEGIN
|
|
14
|
+
|
|
15
|
+
YG_ENUM_DECL(
|
|
16
|
+
YGAlign,
|
|
17
|
+
YGAlignAuto,
|
|
18
|
+
YGAlignFlexStart,
|
|
19
|
+
YGAlignCenter,
|
|
20
|
+
YGAlignFlexEnd,
|
|
21
|
+
YGAlignStretch,
|
|
22
|
+
YGAlignBaseline,
|
|
23
|
+
YGAlignSpaceBetween,
|
|
24
|
+
YGAlignSpaceAround,
|
|
25
|
+
YGAlignSpaceEvenly)
|
|
26
|
+
|
|
27
|
+
YG_ENUM_DECL(
|
|
28
|
+
YGBoxSizing,
|
|
29
|
+
YGBoxSizingBorderBox,
|
|
30
|
+
YGBoxSizingContentBox)
|
|
31
|
+
|
|
32
|
+
YG_ENUM_DECL(
|
|
33
|
+
YGDimension,
|
|
34
|
+
YGDimensionWidth,
|
|
35
|
+
YGDimensionHeight)
|
|
36
|
+
|
|
37
|
+
YG_ENUM_DECL(
|
|
38
|
+
YGDirection,
|
|
39
|
+
YGDirectionInherit,
|
|
40
|
+
YGDirectionLTR,
|
|
41
|
+
YGDirectionRTL)
|
|
42
|
+
|
|
43
|
+
YG_ENUM_DECL(
|
|
44
|
+
YGDisplay,
|
|
45
|
+
YGDisplayFlex,
|
|
46
|
+
YGDisplayNone,
|
|
47
|
+
YGDisplayContents)
|
|
48
|
+
|
|
49
|
+
YG_ENUM_DECL(
|
|
50
|
+
YGEdge,
|
|
51
|
+
YGEdgeLeft,
|
|
52
|
+
YGEdgeTop,
|
|
53
|
+
YGEdgeRight,
|
|
54
|
+
YGEdgeBottom,
|
|
55
|
+
YGEdgeStart,
|
|
56
|
+
YGEdgeEnd,
|
|
57
|
+
YGEdgeHorizontal,
|
|
58
|
+
YGEdgeVertical,
|
|
59
|
+
YGEdgeAll)
|
|
60
|
+
|
|
61
|
+
YG_ENUM_DECL(
|
|
62
|
+
YGErrata,
|
|
63
|
+
YGErrataNone = 0,
|
|
64
|
+
YGErrataStretchFlexBasis = 1,
|
|
65
|
+
YGErrataAbsolutePositionWithoutInsetsExcludesPadding = 2,
|
|
66
|
+
YGErrataAbsolutePercentAgainstInnerSize = 4,
|
|
67
|
+
YGErrataAll = 2147483647,
|
|
68
|
+
YGErrataClassic = 2147483646)
|
|
69
|
+
YG_DEFINE_ENUM_FLAG_OPERATORS(YGErrata)
|
|
70
|
+
|
|
71
|
+
YG_ENUM_DECL(
|
|
72
|
+
YGExperimentalFeature,
|
|
73
|
+
YGExperimentalFeatureWebFlexBasis)
|
|
74
|
+
|
|
75
|
+
YG_ENUM_DECL(
|
|
76
|
+
YGFlexDirection,
|
|
77
|
+
YGFlexDirectionColumn,
|
|
78
|
+
YGFlexDirectionColumnReverse,
|
|
79
|
+
YGFlexDirectionRow,
|
|
80
|
+
YGFlexDirectionRowReverse)
|
|
81
|
+
|
|
82
|
+
YG_ENUM_DECL(
|
|
83
|
+
YGGutter,
|
|
84
|
+
YGGutterColumn,
|
|
85
|
+
YGGutterRow,
|
|
86
|
+
YGGutterAll)
|
|
87
|
+
|
|
88
|
+
YG_ENUM_DECL(
|
|
89
|
+
YGJustify,
|
|
90
|
+
YGJustifyFlexStart,
|
|
91
|
+
YGJustifyCenter,
|
|
92
|
+
YGJustifyFlexEnd,
|
|
93
|
+
YGJustifySpaceBetween,
|
|
94
|
+
YGJustifySpaceAround,
|
|
95
|
+
YGJustifySpaceEvenly)
|
|
96
|
+
|
|
97
|
+
YG_ENUM_DECL(
|
|
98
|
+
YGLogLevel,
|
|
99
|
+
YGLogLevelError,
|
|
100
|
+
YGLogLevelWarn,
|
|
101
|
+
YGLogLevelInfo,
|
|
102
|
+
YGLogLevelDebug,
|
|
103
|
+
YGLogLevelVerbose,
|
|
104
|
+
YGLogLevelFatal)
|
|
105
|
+
|
|
106
|
+
YG_ENUM_DECL(
|
|
107
|
+
YGMeasureMode,
|
|
108
|
+
YGMeasureModeUndefined,
|
|
109
|
+
YGMeasureModeExactly,
|
|
110
|
+
YGMeasureModeAtMost)
|
|
111
|
+
|
|
112
|
+
YG_ENUM_DECL(
|
|
113
|
+
YGNodeType,
|
|
114
|
+
YGNodeTypeDefault,
|
|
115
|
+
YGNodeTypeText)
|
|
116
|
+
|
|
117
|
+
YG_ENUM_DECL(
|
|
118
|
+
YGOverflow,
|
|
119
|
+
YGOverflowVisible,
|
|
120
|
+
YGOverflowHidden,
|
|
121
|
+
YGOverflowScroll)
|
|
122
|
+
|
|
123
|
+
YG_ENUM_DECL(
|
|
124
|
+
YGPositionType,
|
|
125
|
+
YGPositionTypeStatic,
|
|
126
|
+
YGPositionTypeRelative,
|
|
127
|
+
YGPositionTypeAbsolute)
|
|
128
|
+
|
|
129
|
+
YG_ENUM_DECL(
|
|
130
|
+
YGUnit,
|
|
131
|
+
YGUnitUndefined,
|
|
132
|
+
YGUnitPoint,
|
|
133
|
+
YGUnitPercent,
|
|
134
|
+
YGUnitAuto)
|
|
135
|
+
|
|
136
|
+
YG_ENUM_DECL(
|
|
137
|
+
YGWrap,
|
|
138
|
+
YGWrapNoWrap,
|
|
139
|
+
YGWrapWrap,
|
|
140
|
+
YGWrapWrapReverse)
|
|
141
|
+
|
|
142
|
+
YG_EXTERN_C_END
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#ifdef __cplusplus
|
|
11
|
+
#include <type_traits>
|
|
12
|
+
#endif
|
|
13
|
+
|
|
14
|
+
#ifdef __cplusplus
|
|
15
|
+
#define YG_EXTERN_C_BEGIN extern "C" {
|
|
16
|
+
#define YG_EXTERN_C_END }
|
|
17
|
+
#else
|
|
18
|
+
#define YG_EXTERN_C_BEGIN
|
|
19
|
+
#define YG_EXTERN_C_END
|
|
20
|
+
#endif
|
|
21
|
+
|
|
22
|
+
#if defined(__cplusplus)
|
|
23
|
+
#define YG_DEPRECATED(message) [[deprecated(message)]]
|
|
24
|
+
#elif defined(_MSC_VER)
|
|
25
|
+
#define YG_DEPRECATED(message) __declspec(deprecated(message))
|
|
26
|
+
#else
|
|
27
|
+
#define YG_DEPRECATED(message) __attribute__((deprecated(message)))
|
|
28
|
+
#endif
|
|
29
|
+
|
|
30
|
+
#ifdef _WINDLL
|
|
31
|
+
#define YG_EXPORT __declspec(dllexport)
|
|
32
|
+
#elif !defined(_MSC_VER)
|
|
33
|
+
#define YG_EXPORT __attribute__((visibility("default")))
|
|
34
|
+
#else
|
|
35
|
+
#define YG_EXPORT
|
|
36
|
+
#endif
|
|
37
|
+
|
|
38
|
+
#ifdef __OBJC__
|
|
39
|
+
#if __has_include(<Foundation/Foundation.h>)
|
|
40
|
+
#import <Foundation/Foundation.h>
|
|
41
|
+
#endif
|
|
42
|
+
#endif
|
|
43
|
+
|
|
44
|
+
#ifdef NS_ENUM
|
|
45
|
+
// Cannot use NSInteger as NSInteger has a different size than int (which is the
|
|
46
|
+
// default type of a enum). Therefor when linking the Yoga C library into obj-c
|
|
47
|
+
// the header is a mismatch for the Yoga ABI.
|
|
48
|
+
#define YG_ENUM_BEGIN(name) NS_ENUM(int, name)
|
|
49
|
+
#define YG_ENUM_END(name)
|
|
50
|
+
#else
|
|
51
|
+
#define YG_ENUM_BEGIN(name) enum name
|
|
52
|
+
#define YG_ENUM_END(name) name
|
|
53
|
+
#endif
|
|
54
|
+
|
|
55
|
+
#ifdef __cplusplus
|
|
56
|
+
#define YG_DEFINE_ENUM_FLAG_OPERATORS(name) \
|
|
57
|
+
extern "C++" { \
|
|
58
|
+
constexpr name operator~(name a) { \
|
|
59
|
+
return static_cast<name>( \
|
|
60
|
+
~static_cast<std::underlying_type<name>::type>(a)); \
|
|
61
|
+
} \
|
|
62
|
+
constexpr name operator|(name a, name b) { \
|
|
63
|
+
return static_cast<name>( \
|
|
64
|
+
static_cast<std::underlying_type<name>::type>(a) | \
|
|
65
|
+
static_cast<std::underlying_type<name>::type>(b)); \
|
|
66
|
+
} \
|
|
67
|
+
constexpr name operator&(name a, name b) { \
|
|
68
|
+
return static_cast<name>( \
|
|
69
|
+
static_cast<std::underlying_type<name>::type>(a) & \
|
|
70
|
+
static_cast<std::underlying_type<name>::type>(b)); \
|
|
71
|
+
} \
|
|
72
|
+
constexpr name operator^(name a, name b) { \
|
|
73
|
+
return static_cast<name>( \
|
|
74
|
+
static_cast<std::underlying_type<name>::type>(a) ^ \
|
|
75
|
+
static_cast<std::underlying_type<name>::type>(b)); \
|
|
76
|
+
} \
|
|
77
|
+
inline name& operator|=(name& a, name b) { \
|
|
78
|
+
return reinterpret_cast<name&>( \
|
|
79
|
+
reinterpret_cast<std::underlying_type<name>::type&>(a) |= \
|
|
80
|
+
static_cast<std::underlying_type<name>::type>(b)); \
|
|
81
|
+
} \
|
|
82
|
+
inline name& operator&=(name& a, name b) { \
|
|
83
|
+
return reinterpret_cast<name&>( \
|
|
84
|
+
reinterpret_cast<std::underlying_type<name>::type&>(a) &= \
|
|
85
|
+
static_cast<std::underlying_type<name>::type>(b)); \
|
|
86
|
+
} \
|
|
87
|
+
inline name& operator^=(name& a, name b) { \
|
|
88
|
+
return reinterpret_cast<name&>( \
|
|
89
|
+
reinterpret_cast<std::underlying_type<name>::type&>(a) ^= \
|
|
90
|
+
static_cast<std::underlying_type<name>::type>(b)); \
|
|
91
|
+
} \
|
|
92
|
+
}
|
|
93
|
+
#else
|
|
94
|
+
#define YG_DEFINE_ENUM_FLAG_OPERATORS(name)
|
|
95
|
+
#endif
|
|
96
|
+
|
|
97
|
+
#define YG_ENUM_DECL(NAME, ...) \
|
|
98
|
+
typedef YG_ENUM_BEGIN(NAME){__VA_ARGS__} YG_ENUM_END(NAME); \
|
|
99
|
+
YG_EXPORT const char* NAME##ToString(NAME);
|
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <stdbool.h>
|
|
11
|
+
#include <stddef.h>
|
|
12
|
+
|
|
13
|
+
#include <yoga/YGConfig.h>
|
|
14
|
+
#include <yoga/YGEnums.h>
|
|
15
|
+
#include <yoga/YGMacros.h>
|
|
16
|
+
|
|
17
|
+
YG_EXTERN_C_BEGIN
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Handle to a mutable Yoga Node.
|
|
21
|
+
*/
|
|
22
|
+
typedef struct YGNode* YGNodeRef;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Handle to an immutable Yoga Node.
|
|
26
|
+
*/
|
|
27
|
+
typedef const struct YGNode* YGNodeConstRef;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Heap allocates and returns a new Yoga node using Yoga settings.
|
|
31
|
+
*/
|
|
32
|
+
YG_EXPORT YGNodeRef YGNodeNew(void);
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Heap allocates and returns a new Yoga node, with customized settings.
|
|
36
|
+
*/
|
|
37
|
+
YG_EXPORT YGNodeRef YGNodeNewWithConfig(YGConfigConstRef config);
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Returns a mutable copy of an existing node, with the same context and
|
|
41
|
+
* children, but no owner set. Does not call the function set by
|
|
42
|
+
* YGConfigSetCloneNodeFunc().
|
|
43
|
+
*/
|
|
44
|
+
YG_EXPORT YGNodeRef YGNodeClone(YGNodeConstRef node);
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Frees the Yoga node, disconnecting it from its owner and children.
|
|
48
|
+
*/
|
|
49
|
+
YG_EXPORT void YGNodeFree(YGNodeRef node);
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Frees the subtree of Yoga nodes rooted at the given node.
|
|
53
|
+
*/
|
|
54
|
+
YG_EXPORT void YGNodeFreeRecursive(YGNodeRef node);
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Frees the Yoga node without disconnecting it from its owner or children.
|
|
58
|
+
* Allows garbage collecting Yoga nodes in parallel when the entire tree is
|
|
59
|
+
* unreachable.
|
|
60
|
+
*/
|
|
61
|
+
YG_EXPORT void YGNodeFinalize(YGNodeRef node);
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Resets the node to its default state.
|
|
65
|
+
*/
|
|
66
|
+
YG_EXPORT void YGNodeReset(YGNodeRef node);
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Calculates the layout of the tree rooted at the given node.
|
|
70
|
+
*
|
|
71
|
+
* Layout results may be read after calling YGNodeCalculateLayout() using
|
|
72
|
+
* functions like YGNodeLayoutGetLeft(), YGNodeLayoutGetTop(), etc.
|
|
73
|
+
*
|
|
74
|
+
* YGNodeGetHasNewLayout() may be read to know if the layout of the node or its
|
|
75
|
+
* subtrees may have changed since the last time YGNodeCalculate() was called.
|
|
76
|
+
*/
|
|
77
|
+
YG_EXPORT void YGNodeCalculateLayout(
|
|
78
|
+
YGNodeRef node,
|
|
79
|
+
float availableWidth,
|
|
80
|
+
float availableHeight,
|
|
81
|
+
YGDirection ownerDirection);
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Whether the given node may have new layout results. Must be reset by calling
|
|
85
|
+
* YGNodeSetHasNewLayout().
|
|
86
|
+
*/
|
|
87
|
+
YG_EXPORT bool YGNodeGetHasNewLayout(YGNodeConstRef node);
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Sets whether a nodes layout is considered new.
|
|
91
|
+
*/
|
|
92
|
+
YG_EXPORT void YGNodeSetHasNewLayout(YGNodeRef node, bool hasNewLayout);
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Whether the node's layout results are dirty due to it or its children
|
|
96
|
+
* changing.
|
|
97
|
+
*/
|
|
98
|
+
YG_EXPORT bool YGNodeIsDirty(YGNodeConstRef node);
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Marks a node with custom measure function as dirty.
|
|
102
|
+
*/
|
|
103
|
+
YG_EXPORT void YGNodeMarkDirty(YGNodeRef node);
|
|
104
|
+
|
|
105
|
+
typedef void (*YGDirtiedFunc)(YGNodeConstRef node);
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Called when a change is made to the Yoga tree which dirties this node.
|
|
109
|
+
*/
|
|
110
|
+
YG_EXPORT void YGNodeSetDirtiedFunc(YGNodeRef node, YGDirtiedFunc dirtiedFunc);
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Returns a dirtied func if set.
|
|
114
|
+
*/
|
|
115
|
+
YG_EXPORT YGDirtiedFunc YGNodeGetDirtiedFunc(YGNodeConstRef node);
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Inserts a child node at the given index.
|
|
119
|
+
*/
|
|
120
|
+
YG_EXPORT void YGNodeInsertChild(YGNodeRef node, YGNodeRef child, size_t index);
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Replaces the child node at a given index with a new one.
|
|
124
|
+
*/
|
|
125
|
+
YG_EXPORT void YGNodeSwapChild(YGNodeRef node, YGNodeRef child, size_t index);
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Removes the given child node.
|
|
129
|
+
*/
|
|
130
|
+
YG_EXPORT void YGNodeRemoveChild(YGNodeRef node, YGNodeRef child);
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Removes all children nodes.
|
|
134
|
+
*/
|
|
135
|
+
YG_EXPORT void YGNodeRemoveAllChildren(YGNodeRef node);
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Sets children according to the given list of nodes.
|
|
139
|
+
*/
|
|
140
|
+
YG_EXPORT void
|
|
141
|
+
YGNodeSetChildren(YGNodeRef owner, const YGNodeRef* children, size_t count);
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* Get the child node at a given index.
|
|
145
|
+
*/
|
|
146
|
+
YG_EXPORT YGNodeRef YGNodeGetChild(YGNodeRef node, size_t index);
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* The number of child nodes.
|
|
150
|
+
*/
|
|
151
|
+
YG_EXPORT size_t YGNodeGetChildCount(YGNodeConstRef node);
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* Get the parent/owner currently set for a node.
|
|
155
|
+
*/
|
|
156
|
+
YG_EXPORT YGNodeRef YGNodeGetOwner(YGNodeRef node);
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* Get the parent/owner currently set for a node.
|
|
160
|
+
*/
|
|
161
|
+
YG_EXPORT YGNodeRef YGNodeGetParent(YGNodeRef node);
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Set a new config for the node after creation.
|
|
165
|
+
*/
|
|
166
|
+
YG_EXPORT void YGNodeSetConfig(YGNodeRef node, YGConfigRef config);
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* Get the config currently set on the node.
|
|
170
|
+
*/
|
|
171
|
+
YG_EXPORT YGConfigConstRef YGNodeGetConfig(YGNodeRef node);
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* Sets extra data on the Yoga node which may be read from during callbacks.
|
|
175
|
+
*/
|
|
176
|
+
YG_EXPORT void YGNodeSetContext(YGNodeRef node, void* context);
|
|
177
|
+
|
|
178
|
+
/**
|
|
179
|
+
* Returns the context or NULL if no context has been set.
|
|
180
|
+
*/
|
|
181
|
+
YG_EXPORT void* YGNodeGetContext(YGNodeConstRef node);
|
|
182
|
+
|
|
183
|
+
typedef struct YGSize {
|
|
184
|
+
float width;
|
|
185
|
+
float height;
|
|
186
|
+
} YGSize;
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* Returns the computed dimensions of the node, following the constraints of
|
|
190
|
+
* `widthMode` and `heightMode`:
|
|
191
|
+
*
|
|
192
|
+
* YGMeasureModeUndefined: The parent has not imposed any constraint on the
|
|
193
|
+
* child. It can be whatever size it wants.
|
|
194
|
+
*
|
|
195
|
+
* YGMeasureModeAtMost: The child can be as large as it wants up to the
|
|
196
|
+
* specified size.
|
|
197
|
+
*
|
|
198
|
+
* YGMeasureModeExactly: The parent has determined an exact size for the
|
|
199
|
+
* child. The child is going to be given those bounds regardless of how big it
|
|
200
|
+
* wants to be.
|
|
201
|
+
*
|
|
202
|
+
* @returns the size of the leaf node, measured under the given constraints.
|
|
203
|
+
*/
|
|
204
|
+
typedef YGSize (*YGMeasureFunc)(
|
|
205
|
+
YGNodeConstRef node,
|
|
206
|
+
float width,
|
|
207
|
+
YGMeasureMode widthMode,
|
|
208
|
+
float height,
|
|
209
|
+
YGMeasureMode heightMode);
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* Allows providing custom measurements for a Yoga leaf node (usually for
|
|
213
|
+
* measuring text). YGNodeMarkDirty() must be set if content effecting the
|
|
214
|
+
* measurements of the node changes.
|
|
215
|
+
*/
|
|
216
|
+
YG_EXPORT void YGNodeSetMeasureFunc(YGNodeRef node, YGMeasureFunc measureFunc);
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* Whether a measure function is set.
|
|
220
|
+
*/
|
|
221
|
+
YG_EXPORT bool YGNodeHasMeasureFunc(YGNodeConstRef node);
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* @returns a defined offset to baseline (ascent).
|
|
225
|
+
*/
|
|
226
|
+
typedef float (*YGBaselineFunc)(YGNodeConstRef node, float width, float height);
|
|
227
|
+
|
|
228
|
+
/**
|
|
229
|
+
* Set a custom function for determining the text baseline for use in baseline
|
|
230
|
+
* alignment.
|
|
231
|
+
*/
|
|
232
|
+
YG_EXPORT void YGNodeSetBaselineFunc(
|
|
233
|
+
YGNodeRef node,
|
|
234
|
+
YGBaselineFunc baselineFunc);
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* Whether a baseline function is set.
|
|
238
|
+
*/
|
|
239
|
+
YG_EXPORT bool YGNodeHasBaselineFunc(YGNodeConstRef node);
|
|
240
|
+
|
|
241
|
+
/**
|
|
242
|
+
* Sets this node should be considered the reference baseline among siblings.
|
|
243
|
+
*/
|
|
244
|
+
YG_EXPORT void YGNodeSetIsReferenceBaseline(
|
|
245
|
+
YGNodeRef node,
|
|
246
|
+
bool isReferenceBaseline);
|
|
247
|
+
|
|
248
|
+
/**
|
|
249
|
+
* Whether this node is set as the reference baseline.
|
|
250
|
+
*/
|
|
251
|
+
YG_EXPORT bool YGNodeIsReferenceBaseline(YGNodeConstRef node);
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* Sets whether a leaf node's layout results may be truncated during layout
|
|
255
|
+
* rounding.
|
|
256
|
+
*/
|
|
257
|
+
YG_EXPORT void YGNodeSetNodeType(YGNodeRef node, YGNodeType nodeType);
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* Wwhether a leaf node's layout results may be truncated during layout
|
|
261
|
+
* rounding.
|
|
262
|
+
*/
|
|
263
|
+
YG_EXPORT YGNodeType YGNodeGetNodeType(YGNodeConstRef node);
|
|
264
|
+
|
|
265
|
+
/**
|
|
266
|
+
* Make it so that this node will always form a containing block for any
|
|
267
|
+
* descendant nodes. This is useful for when a node has a property outside of
|
|
268
|
+
* of Yoga that will form a containing block. For example, transforms or some of
|
|
269
|
+
* the others listed in
|
|
270
|
+
* https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block
|
|
271
|
+
*/
|
|
272
|
+
YG_EXPORT void YGNodeSetAlwaysFormsContainingBlock(
|
|
273
|
+
YGNodeRef node,
|
|
274
|
+
bool alwaysFormsContainingBlock);
|
|
275
|
+
|
|
276
|
+
/**
|
|
277
|
+
* Whether the node will always form a containing block for any descendant. This
|
|
278
|
+
* can happen in situation where the client implements something like a
|
|
279
|
+
* transform that can affect containing blocks but is not handled by Yoga
|
|
280
|
+
* directly.
|
|
281
|
+
*/
|
|
282
|
+
YG_EXPORT bool YGNodeGetAlwaysFormsContainingBlock(YGNodeConstRef node);
|
|
283
|
+
|
|
284
|
+
/**
|
|
285
|
+
* @deprecated
|
|
286
|
+
*/
|
|
287
|
+
YG_DEPRECATED(
|
|
288
|
+
"YGNodeCanUseCachedMeasurement may be removed in a future version of Yoga")
|
|
289
|
+
YG_EXPORT bool YGNodeCanUseCachedMeasurement(
|
|
290
|
+
YGMeasureMode widthMode,
|
|
291
|
+
float availableWidth,
|
|
292
|
+
YGMeasureMode heightMode,
|
|
293
|
+
float availableHeight,
|
|
294
|
+
YGMeasureMode lastWidthMode,
|
|
295
|
+
float lastAvailableWidth,
|
|
296
|
+
YGMeasureMode lastHeightMode,
|
|
297
|
+
float lastAvailableHeight,
|
|
298
|
+
float lastComputedWidth,
|
|
299
|
+
float lastComputedHeight,
|
|
300
|
+
float marginRow,
|
|
301
|
+
float marginColumn,
|
|
302
|
+
YGConfigRef config);
|
|
303
|
+
|
|
304
|
+
YG_EXTERN_C_END
|