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,135 @@
|
|
|
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
|
+
#include <yoga/config/Config.h>
|
|
9
|
+
#include <yoga/debug/Log.h>
|
|
10
|
+
#include <yoga/node/Node.h>
|
|
11
|
+
|
|
12
|
+
namespace facebook::yoga {
|
|
13
|
+
|
|
14
|
+
bool configUpdateInvalidatesLayout(
|
|
15
|
+
const Config& oldConfig,
|
|
16
|
+
const Config& newConfig) {
|
|
17
|
+
return oldConfig.getErrata() != newConfig.getErrata() ||
|
|
18
|
+
oldConfig.getEnabledExperiments() != newConfig.getEnabledExperiments() ||
|
|
19
|
+
oldConfig.getPointScaleFactor() != newConfig.getPointScaleFactor() ||
|
|
20
|
+
oldConfig.useWebDefaults() != newConfig.useWebDefaults();
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
void Config::setUseWebDefaults(bool useWebDefaults) {
|
|
24
|
+
useWebDefaults_ = useWebDefaults;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
bool Config::useWebDefaults() const {
|
|
28
|
+
return useWebDefaults_;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
void Config::setExperimentalFeatureEnabled(
|
|
32
|
+
ExperimentalFeature feature,
|
|
33
|
+
bool enabled) {
|
|
34
|
+
if (isExperimentalFeatureEnabled(feature) != enabled) {
|
|
35
|
+
experimentalFeatures_.set(static_cast<size_t>(feature), enabled);
|
|
36
|
+
version_++;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
bool Config::isExperimentalFeatureEnabled(ExperimentalFeature feature) const {
|
|
41
|
+
return experimentalFeatures_.test(static_cast<size_t>(feature));
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
ExperimentalFeatureSet Config::getEnabledExperiments() const {
|
|
45
|
+
return experimentalFeatures_;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
void Config::setErrata(Errata errata) {
|
|
49
|
+
if (errata_ != errata) {
|
|
50
|
+
errata_ = errata;
|
|
51
|
+
version_++;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
void Config::addErrata(Errata errata) {
|
|
56
|
+
if (!hasErrata(errata)) {
|
|
57
|
+
errata_ |= errata;
|
|
58
|
+
version_++;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
void Config::removeErrata(Errata errata) {
|
|
63
|
+
if (hasErrata(errata)) {
|
|
64
|
+
errata_ &= (~errata);
|
|
65
|
+
version_++;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
Errata Config::getErrata() const {
|
|
70
|
+
return errata_;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
bool Config::hasErrata(Errata errata) const {
|
|
74
|
+
return (errata_ & errata) != Errata::None;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
void Config::setPointScaleFactor(float pointScaleFactor) {
|
|
78
|
+
if (pointScaleFactor_ != pointScaleFactor) {
|
|
79
|
+
pointScaleFactor_ = pointScaleFactor;
|
|
80
|
+
version_++;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
float Config::getPointScaleFactor() const {
|
|
85
|
+
return pointScaleFactor_;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
void Config::setContext(void* context) {
|
|
89
|
+
context_ = context;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
void* Config::getContext() const {
|
|
93
|
+
return context_;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
uint32_t Config::getVersion() const noexcept {
|
|
97
|
+
return version_;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
void Config::setLogger(YGLogger logger) {
|
|
101
|
+
logger_ = logger;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
void Config::log(
|
|
105
|
+
const yoga::Node* node,
|
|
106
|
+
LogLevel logLevel,
|
|
107
|
+
const char* format,
|
|
108
|
+
va_list args) const {
|
|
109
|
+
logger_(this, node, unscopedEnum(logLevel), format, args);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
void Config::setCloneNodeCallback(YGCloneNodeFunc cloneNode) {
|
|
113
|
+
cloneNodeCallback_ = cloneNode;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
YGNodeRef Config::cloneNode(
|
|
117
|
+
YGNodeConstRef node,
|
|
118
|
+
YGNodeConstRef owner,
|
|
119
|
+
size_t childIndex) const {
|
|
120
|
+
YGNodeRef clone = nullptr;
|
|
121
|
+
if (cloneNodeCallback_ != nullptr) {
|
|
122
|
+
clone = cloneNodeCallback_(node, owner, childIndex);
|
|
123
|
+
}
|
|
124
|
+
if (clone == nullptr) {
|
|
125
|
+
clone = YGNodeClone(node);
|
|
126
|
+
}
|
|
127
|
+
return clone;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/*static*/ const Config& Config::getDefault() {
|
|
131
|
+
static Config config{getDefaultLogger()};
|
|
132
|
+
return config;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
} // namespace facebook::yoga
|
|
@@ -0,0 +1,92 @@
|
|
|
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 <bitset>
|
|
11
|
+
|
|
12
|
+
#include <yoga/Yoga.h>
|
|
13
|
+
#include <yoga/enums/Errata.h>
|
|
14
|
+
#include <yoga/enums/ExperimentalFeature.h>
|
|
15
|
+
#include <yoga/enums/LogLevel.h>
|
|
16
|
+
|
|
17
|
+
// Tag struct used to form the opaque YGConfigRef for the public C API
|
|
18
|
+
struct YGConfig {};
|
|
19
|
+
|
|
20
|
+
namespace facebook::yoga {
|
|
21
|
+
|
|
22
|
+
class Config;
|
|
23
|
+
class Node;
|
|
24
|
+
|
|
25
|
+
using ExperimentalFeatureSet = std::bitset<ordinalCount<ExperimentalFeature>()>;
|
|
26
|
+
|
|
27
|
+
// Whether moving a node from an old to new config should dirty previously
|
|
28
|
+
// calculated layout results.
|
|
29
|
+
bool configUpdateInvalidatesLayout(
|
|
30
|
+
const Config& oldConfig,
|
|
31
|
+
const Config& newConfig);
|
|
32
|
+
|
|
33
|
+
class YG_EXPORT Config : public ::YGConfig {
|
|
34
|
+
public:
|
|
35
|
+
explicit Config(YGLogger logger) : logger_{logger} {}
|
|
36
|
+
|
|
37
|
+
void setUseWebDefaults(bool useWebDefaults);
|
|
38
|
+
bool useWebDefaults() const;
|
|
39
|
+
|
|
40
|
+
void setExperimentalFeatureEnabled(ExperimentalFeature feature, bool enabled);
|
|
41
|
+
bool isExperimentalFeatureEnabled(ExperimentalFeature feature) const;
|
|
42
|
+
ExperimentalFeatureSet getEnabledExperiments() const;
|
|
43
|
+
|
|
44
|
+
void setErrata(Errata errata);
|
|
45
|
+
void addErrata(Errata errata);
|
|
46
|
+
void removeErrata(Errata errata);
|
|
47
|
+
Errata getErrata() const;
|
|
48
|
+
bool hasErrata(Errata errata) const;
|
|
49
|
+
|
|
50
|
+
void setPointScaleFactor(float pointScaleFactor);
|
|
51
|
+
float getPointScaleFactor() const;
|
|
52
|
+
|
|
53
|
+
void setContext(void* context);
|
|
54
|
+
void* getContext() const;
|
|
55
|
+
|
|
56
|
+
uint32_t getVersion() const noexcept;
|
|
57
|
+
|
|
58
|
+
void setLogger(YGLogger logger);
|
|
59
|
+
void log(
|
|
60
|
+
const yoga::Node* node,
|
|
61
|
+
LogLevel logLevel,
|
|
62
|
+
const char* format,
|
|
63
|
+
va_list args) const;
|
|
64
|
+
|
|
65
|
+
void setCloneNodeCallback(YGCloneNodeFunc cloneNode);
|
|
66
|
+
YGNodeRef
|
|
67
|
+
cloneNode(YGNodeConstRef node, YGNodeConstRef owner, size_t childIndex) const;
|
|
68
|
+
|
|
69
|
+
static const Config& getDefault();
|
|
70
|
+
|
|
71
|
+
private:
|
|
72
|
+
YGCloneNodeFunc cloneNodeCallback_{nullptr};
|
|
73
|
+
YGLogger logger_{};
|
|
74
|
+
|
|
75
|
+
bool useWebDefaults_ : 1 = false;
|
|
76
|
+
|
|
77
|
+
uint32_t version_ = 0;
|
|
78
|
+
ExperimentalFeatureSet experimentalFeatures_{};
|
|
79
|
+
Errata errata_ = Errata::None;
|
|
80
|
+
float pointScaleFactor_ = 1.0f;
|
|
81
|
+
void* context_ = nullptr;
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
inline Config* resolveRef(const YGConfigRef ref) {
|
|
85
|
+
return static_cast<Config*>(ref);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
inline const Config* resolveRef(const YGConfigConstRef ref) {
|
|
89
|
+
return static_cast<const Config*>(ref);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
} // namespace facebook::yoga
|
|
@@ -0,0 +1,53 @@
|
|
|
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
|
+
#include <exception>
|
|
9
|
+
#include <stdexcept>
|
|
10
|
+
|
|
11
|
+
#include <yoga/config/Config.h>
|
|
12
|
+
#include <yoga/debug/AssertFatal.h>
|
|
13
|
+
#include <yoga/debug/Log.h>
|
|
14
|
+
#include <yoga/node/Node.h>
|
|
15
|
+
|
|
16
|
+
namespace facebook::yoga {
|
|
17
|
+
|
|
18
|
+
[[noreturn]] void fatalWithMessage(const char* message) {
|
|
19
|
+
#if defined(__cpp_exceptions)
|
|
20
|
+
throw std::logic_error(message);
|
|
21
|
+
#else
|
|
22
|
+
std::terminate();
|
|
23
|
+
#endif
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
void assertFatal(const bool condition, const char* message) {
|
|
27
|
+
if (!condition) {
|
|
28
|
+
yoga::log(LogLevel::Fatal, "%s\n", message);
|
|
29
|
+
fatalWithMessage(message);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
void assertFatalWithNode(
|
|
34
|
+
const yoga::Node* const node,
|
|
35
|
+
const bool condition,
|
|
36
|
+
const char* message) {
|
|
37
|
+
if (!condition) {
|
|
38
|
+
yoga::log(node, LogLevel::Fatal, "%s\n", message);
|
|
39
|
+
fatalWithMessage(message);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
void assertFatalWithConfig(
|
|
44
|
+
const yoga::Config* const config,
|
|
45
|
+
const bool condition,
|
|
46
|
+
const char* message) {
|
|
47
|
+
if (!condition) {
|
|
48
|
+
yoga::log(config, LogLevel::Fatal, "%s\n", message);
|
|
49
|
+
fatalWithMessage(message);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
} // namespace facebook::yoga
|
|
@@ -0,0 +1,29 @@
|
|
|
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 <yoga/Yoga.h>
|
|
11
|
+
|
|
12
|
+
namespace facebook::yoga {
|
|
13
|
+
|
|
14
|
+
class Node;
|
|
15
|
+
class Config;
|
|
16
|
+
|
|
17
|
+
[[noreturn]] void fatalWithMessage(const char* message);
|
|
18
|
+
|
|
19
|
+
void assertFatal(bool condition, const char* message);
|
|
20
|
+
void assertFatalWithNode(
|
|
21
|
+
const yoga::Node* node,
|
|
22
|
+
bool condition,
|
|
23
|
+
const char* message);
|
|
24
|
+
void assertFatalWithConfig(
|
|
25
|
+
const yoga::Config* config,
|
|
26
|
+
bool condition,
|
|
27
|
+
const char* message);
|
|
28
|
+
|
|
29
|
+
} // namespace facebook::yoga
|
|
@@ -0,0 +1,107 @@
|
|
|
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
|
+
#include <yoga/debug/Log.h>
|
|
9
|
+
|
|
10
|
+
#ifdef ANDROID
|
|
11
|
+
#include <android/log.h>
|
|
12
|
+
#endif
|
|
13
|
+
|
|
14
|
+
namespace facebook::yoga {
|
|
15
|
+
|
|
16
|
+
namespace {
|
|
17
|
+
|
|
18
|
+
void vlog(
|
|
19
|
+
const yoga::Config* config,
|
|
20
|
+
const yoga::Node* node,
|
|
21
|
+
LogLevel level,
|
|
22
|
+
const char* format,
|
|
23
|
+
va_list args) {
|
|
24
|
+
if (config == nullptr) {
|
|
25
|
+
getDefaultLogger()(nullptr, node, unscopedEnum(level), format, args);
|
|
26
|
+
} else {
|
|
27
|
+
config->log(node, level, format, args);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
} // namespace
|
|
31
|
+
|
|
32
|
+
void log(LogLevel level, const char* format, ...) noexcept {
|
|
33
|
+
va_list args;
|
|
34
|
+
va_start(args, format);
|
|
35
|
+
vlog(nullptr, nullptr, level, format, args);
|
|
36
|
+
va_end(args);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
void log(
|
|
40
|
+
const yoga::Node* node,
|
|
41
|
+
LogLevel level,
|
|
42
|
+
const char* format,
|
|
43
|
+
...) noexcept {
|
|
44
|
+
va_list args;
|
|
45
|
+
va_start(args, format);
|
|
46
|
+
vlog(
|
|
47
|
+
node == nullptr ? nullptr : node->getConfig(), node, level, format, args);
|
|
48
|
+
va_end(args);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
void log(
|
|
52
|
+
const yoga::Config* config,
|
|
53
|
+
LogLevel level,
|
|
54
|
+
const char* format,
|
|
55
|
+
...) noexcept {
|
|
56
|
+
va_list args;
|
|
57
|
+
va_start(args, format);
|
|
58
|
+
vlog(config, nullptr, level, format, args);
|
|
59
|
+
va_end(args);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
YGLogger getDefaultLogger() {
|
|
63
|
+
return [](const YGConfigConstRef /*config*/,
|
|
64
|
+
const YGNodeConstRef /*node*/,
|
|
65
|
+
YGLogLevel level,
|
|
66
|
+
const char* format,
|
|
67
|
+
va_list args) -> int {
|
|
68
|
+
#ifdef ANDROID
|
|
69
|
+
int androidLevel = YGLogLevelDebug;
|
|
70
|
+
switch (level) {
|
|
71
|
+
case YGLogLevelFatal:
|
|
72
|
+
androidLevel = ANDROID_LOG_FATAL;
|
|
73
|
+
break;
|
|
74
|
+
case YGLogLevelError:
|
|
75
|
+
androidLevel = ANDROID_LOG_ERROR;
|
|
76
|
+
break;
|
|
77
|
+
case YGLogLevelWarn:
|
|
78
|
+
androidLevel = ANDROID_LOG_WARN;
|
|
79
|
+
break;
|
|
80
|
+
case YGLogLevelInfo:
|
|
81
|
+
androidLevel = ANDROID_LOG_INFO;
|
|
82
|
+
break;
|
|
83
|
+
case YGLogLevelDebug:
|
|
84
|
+
androidLevel = ANDROID_LOG_DEBUG;
|
|
85
|
+
break;
|
|
86
|
+
case YGLogLevelVerbose:
|
|
87
|
+
androidLevel = ANDROID_LOG_VERBOSE;
|
|
88
|
+
break;
|
|
89
|
+
}
|
|
90
|
+
return __android_log_vprint(androidLevel, "yoga", format, args);
|
|
91
|
+
#else
|
|
92
|
+
switch (level) {
|
|
93
|
+
case YGLogLevelError:
|
|
94
|
+
case YGLogLevelFatal:
|
|
95
|
+
return vfprintf(stderr, format, args);
|
|
96
|
+
case YGLogLevelWarn:
|
|
97
|
+
case YGLogLevelInfo:
|
|
98
|
+
case YGLogLevelDebug:
|
|
99
|
+
case YGLogLevelVerbose:
|
|
100
|
+
default:
|
|
101
|
+
return vprintf(format, args);
|
|
102
|
+
}
|
|
103
|
+
#endif
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
} // namespace facebook::yoga
|
|
@@ -0,0 +1,34 @@
|
|
|
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 <yoga/Yoga.h>
|
|
11
|
+
|
|
12
|
+
#include <yoga/config/Config.h>
|
|
13
|
+
#include <yoga/enums/LogLevel.h>
|
|
14
|
+
#include <yoga/node/Node.h>
|
|
15
|
+
|
|
16
|
+
namespace facebook::yoga {
|
|
17
|
+
|
|
18
|
+
void log(LogLevel level, const char* format, ...) noexcept;
|
|
19
|
+
|
|
20
|
+
void log(
|
|
21
|
+
const yoga::Node* node,
|
|
22
|
+
LogLevel level,
|
|
23
|
+
const char* format,
|
|
24
|
+
...) noexcept;
|
|
25
|
+
|
|
26
|
+
void log(
|
|
27
|
+
const yoga::Config* config,
|
|
28
|
+
LogLevel level,
|
|
29
|
+
const char* format,
|
|
30
|
+
...) noexcept;
|
|
31
|
+
|
|
32
|
+
YGLogger getDefaultLogger();
|
|
33
|
+
|
|
34
|
+
} // namespace facebook::yoga
|
|
@@ -0,0 +1,47 @@
|
|
|
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
|
+
|
|
12
|
+
#include <cstdint>
|
|
13
|
+
#include <yoga/YGEnums.h>
|
|
14
|
+
#include <yoga/enums/YogaEnums.h>
|
|
15
|
+
|
|
16
|
+
namespace facebook::yoga {
|
|
17
|
+
|
|
18
|
+
enum class Align : uint8_t {
|
|
19
|
+
Auto = YGAlignAuto,
|
|
20
|
+
FlexStart = YGAlignFlexStart,
|
|
21
|
+
Center = YGAlignCenter,
|
|
22
|
+
FlexEnd = YGAlignFlexEnd,
|
|
23
|
+
Stretch = YGAlignStretch,
|
|
24
|
+
Baseline = YGAlignBaseline,
|
|
25
|
+
SpaceBetween = YGAlignSpaceBetween,
|
|
26
|
+
SpaceAround = YGAlignSpaceAround,
|
|
27
|
+
SpaceEvenly = YGAlignSpaceEvenly,
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
template <>
|
|
31
|
+
constexpr int32_t ordinalCount<Align>() {
|
|
32
|
+
return 9;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
constexpr Align scopedEnum(YGAlign unscoped) {
|
|
36
|
+
return static_cast<Align>(unscoped);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
constexpr YGAlign unscopedEnum(Align scoped) {
|
|
40
|
+
return static_cast<YGAlign>(scoped);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
inline const char* toString(Align e) {
|
|
44
|
+
return YGAlignToString(unscopedEnum(e));
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
} // namespace facebook::yoga
|
|
@@ -0,0 +1,40 @@
|
|
|
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
|
+
|
|
12
|
+
#include <cstdint>
|
|
13
|
+
#include <yoga/YGEnums.h>
|
|
14
|
+
#include <yoga/enums/YogaEnums.h>
|
|
15
|
+
|
|
16
|
+
namespace facebook::yoga {
|
|
17
|
+
|
|
18
|
+
enum class BoxSizing : uint8_t {
|
|
19
|
+
BorderBox = YGBoxSizingBorderBox,
|
|
20
|
+
ContentBox = YGBoxSizingContentBox,
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
template <>
|
|
24
|
+
constexpr int32_t ordinalCount<BoxSizing>() {
|
|
25
|
+
return 2;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
constexpr BoxSizing scopedEnum(YGBoxSizing unscoped) {
|
|
29
|
+
return static_cast<BoxSizing>(unscoped);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
constexpr YGBoxSizing unscopedEnum(BoxSizing scoped) {
|
|
33
|
+
return static_cast<YGBoxSizing>(scoped);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
inline const char* toString(BoxSizing e) {
|
|
37
|
+
return YGBoxSizingToString(unscopedEnum(e));
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
} // namespace facebook::yoga
|
|
@@ -0,0 +1,40 @@
|
|
|
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
|
+
|
|
12
|
+
#include <cstdint>
|
|
13
|
+
#include <yoga/YGEnums.h>
|
|
14
|
+
#include <yoga/enums/YogaEnums.h>
|
|
15
|
+
|
|
16
|
+
namespace facebook::yoga {
|
|
17
|
+
|
|
18
|
+
enum class Dimension : uint8_t {
|
|
19
|
+
Width = YGDimensionWidth,
|
|
20
|
+
Height = YGDimensionHeight,
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
template <>
|
|
24
|
+
constexpr int32_t ordinalCount<Dimension>() {
|
|
25
|
+
return 2;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
constexpr Dimension scopedEnum(YGDimension unscoped) {
|
|
29
|
+
return static_cast<Dimension>(unscoped);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
constexpr YGDimension unscopedEnum(Dimension scoped) {
|
|
33
|
+
return static_cast<YGDimension>(scoped);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
inline const char* toString(Dimension e) {
|
|
37
|
+
return YGDimensionToString(unscopedEnum(e));
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
} // namespace facebook::yoga
|
|
@@ -0,0 +1,41 @@
|
|
|
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
|
+
|
|
12
|
+
#include <cstdint>
|
|
13
|
+
#include <yoga/YGEnums.h>
|
|
14
|
+
#include <yoga/enums/YogaEnums.h>
|
|
15
|
+
|
|
16
|
+
namespace facebook::yoga {
|
|
17
|
+
|
|
18
|
+
enum class Direction : uint8_t {
|
|
19
|
+
Inherit = YGDirectionInherit,
|
|
20
|
+
LTR = YGDirectionLTR,
|
|
21
|
+
RTL = YGDirectionRTL,
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
template <>
|
|
25
|
+
constexpr int32_t ordinalCount<Direction>() {
|
|
26
|
+
return 3;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
constexpr Direction scopedEnum(YGDirection unscoped) {
|
|
30
|
+
return static_cast<Direction>(unscoped);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
constexpr YGDirection unscopedEnum(Direction scoped) {
|
|
34
|
+
return static_cast<YGDirection>(scoped);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
inline const char* toString(Direction e) {
|
|
38
|
+
return YGDirectionToString(unscopedEnum(e));
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
} // namespace facebook::yoga
|
|
@@ -0,0 +1,41 @@
|
|
|
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
|
+
|
|
12
|
+
#include <cstdint>
|
|
13
|
+
#include <yoga/YGEnums.h>
|
|
14
|
+
#include <yoga/enums/YogaEnums.h>
|
|
15
|
+
|
|
16
|
+
namespace facebook::yoga {
|
|
17
|
+
|
|
18
|
+
enum class Display : uint8_t {
|
|
19
|
+
Flex = YGDisplayFlex,
|
|
20
|
+
None = YGDisplayNone,
|
|
21
|
+
Contents = YGDisplayContents,
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
template <>
|
|
25
|
+
constexpr int32_t ordinalCount<Display>() {
|
|
26
|
+
return 3;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
constexpr Display scopedEnum(YGDisplay unscoped) {
|
|
30
|
+
return static_cast<Display>(unscoped);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
constexpr YGDisplay unscopedEnum(Display scoped) {
|
|
34
|
+
return static_cast<YGDisplay>(scoped);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
inline const char* toString(Display e) {
|
|
38
|
+
return YGDisplayToString(unscopedEnum(e));
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
} // namespace facebook::yoga
|
|
@@ -0,0 +1,47 @@
|
|
|
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
|
+
|
|
12
|
+
#include <cstdint>
|
|
13
|
+
#include <yoga/YGEnums.h>
|
|
14
|
+
#include <yoga/enums/YogaEnums.h>
|
|
15
|
+
|
|
16
|
+
namespace facebook::yoga {
|
|
17
|
+
|
|
18
|
+
enum class Edge : uint8_t {
|
|
19
|
+
Left = YGEdgeLeft,
|
|
20
|
+
Top = YGEdgeTop,
|
|
21
|
+
Right = YGEdgeRight,
|
|
22
|
+
Bottom = YGEdgeBottom,
|
|
23
|
+
Start = YGEdgeStart,
|
|
24
|
+
End = YGEdgeEnd,
|
|
25
|
+
Horizontal = YGEdgeHorizontal,
|
|
26
|
+
Vertical = YGEdgeVertical,
|
|
27
|
+
All = YGEdgeAll,
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
template <>
|
|
31
|
+
constexpr int32_t ordinalCount<Edge>() {
|
|
32
|
+
return 9;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
constexpr Edge scopedEnum(YGEdge unscoped) {
|
|
36
|
+
return static_cast<Edge>(unscoped);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
constexpr YGEdge unscopedEnum(Edge scoped) {
|
|
40
|
+
return static_cast<YGEdge>(scoped);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
inline const char* toString(Edge e) {
|
|
44
|
+
return YGEdgeToString(unscopedEnum(e));
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
} // namespace facebook::yoga
|