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,35 @@
|
|
|
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
|
+
|
|
12
|
+
#include <yoga/YGConfig.h>
|
|
13
|
+
#include <yoga/YGEnums.h>
|
|
14
|
+
#include <yoga/YGMacros.h>
|
|
15
|
+
|
|
16
|
+
YG_EXTERN_C_BEGIN
|
|
17
|
+
|
|
18
|
+
YG_EXPORT float YGNodeLayoutGetLeft(YGNodeConstRef node);
|
|
19
|
+
YG_EXPORT float YGNodeLayoutGetTop(YGNodeConstRef node);
|
|
20
|
+
YG_EXPORT float YGNodeLayoutGetRight(YGNodeConstRef node);
|
|
21
|
+
YG_EXPORT float YGNodeLayoutGetBottom(YGNodeConstRef node);
|
|
22
|
+
YG_EXPORT float YGNodeLayoutGetWidth(YGNodeConstRef node);
|
|
23
|
+
YG_EXPORT float YGNodeLayoutGetHeight(YGNodeConstRef node);
|
|
24
|
+
YG_EXPORT YGDirection YGNodeLayoutGetDirection(YGNodeConstRef node);
|
|
25
|
+
YG_EXPORT bool YGNodeLayoutGetHadOverflow(YGNodeConstRef node);
|
|
26
|
+
|
|
27
|
+
// Get the computed values for these nodes after performing layout. If they were
|
|
28
|
+
// set using point values then the returned value will be the same as
|
|
29
|
+
// YGNodeStyleGetXXX. However if they were set using a percentage value then the
|
|
30
|
+
// returned value is the computed value used during layout.
|
|
31
|
+
YG_EXPORT float YGNodeLayoutGetMargin(YGNodeConstRef node, YGEdge edge);
|
|
32
|
+
YG_EXPORT float YGNodeLayoutGetBorder(YGNodeConstRef node, YGEdge edge);
|
|
33
|
+
YG_EXPORT float YGNodeLayoutGetPadding(YGNodeConstRef node, YGEdge edge);
|
|
34
|
+
|
|
35
|
+
YG_EXTERN_C_END
|
|
@@ -0,0 +1,130 @@
|
|
|
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 <stddef.h>
|
|
11
|
+
|
|
12
|
+
#include <yoga/YGNode.h>
|
|
13
|
+
#include <yoga/YGValue.h>
|
|
14
|
+
|
|
15
|
+
YG_EXTERN_C_BEGIN
|
|
16
|
+
|
|
17
|
+
YG_EXPORT void YGNodeCopyStyle(YGNodeRef dstNode, YGNodeConstRef srcNode);
|
|
18
|
+
|
|
19
|
+
YG_EXPORT void YGNodeStyleSetDirection(YGNodeRef node, YGDirection direction);
|
|
20
|
+
YG_EXPORT YGDirection YGNodeStyleGetDirection(YGNodeConstRef node);
|
|
21
|
+
|
|
22
|
+
YG_EXPORT void YGNodeStyleSetFlexDirection(
|
|
23
|
+
YGNodeRef node,
|
|
24
|
+
YGFlexDirection flexDirection);
|
|
25
|
+
YG_EXPORT YGFlexDirection YGNodeStyleGetFlexDirection(YGNodeConstRef node);
|
|
26
|
+
|
|
27
|
+
YG_EXPORT void YGNodeStyleSetJustifyContent(
|
|
28
|
+
YGNodeRef node,
|
|
29
|
+
YGJustify justifyContent);
|
|
30
|
+
YG_EXPORT YGJustify YGNodeStyleGetJustifyContent(YGNodeConstRef node);
|
|
31
|
+
|
|
32
|
+
YG_EXPORT void YGNodeStyleSetAlignContent(YGNodeRef node, YGAlign alignContent);
|
|
33
|
+
YG_EXPORT YGAlign YGNodeStyleGetAlignContent(YGNodeConstRef node);
|
|
34
|
+
|
|
35
|
+
YG_EXPORT void YGNodeStyleSetAlignItems(YGNodeRef node, YGAlign alignItems);
|
|
36
|
+
YG_EXPORT YGAlign YGNodeStyleGetAlignItems(YGNodeConstRef node);
|
|
37
|
+
|
|
38
|
+
YG_EXPORT void YGNodeStyleSetAlignSelf(YGNodeRef node, YGAlign alignSelf);
|
|
39
|
+
YG_EXPORT YGAlign YGNodeStyleGetAlignSelf(YGNodeConstRef node);
|
|
40
|
+
|
|
41
|
+
YG_EXPORT void YGNodeStyleSetPositionType(
|
|
42
|
+
YGNodeRef node,
|
|
43
|
+
YGPositionType positionType);
|
|
44
|
+
YG_EXPORT YGPositionType YGNodeStyleGetPositionType(YGNodeConstRef node);
|
|
45
|
+
|
|
46
|
+
YG_EXPORT void YGNodeStyleSetFlexWrap(YGNodeRef node, YGWrap flexWrap);
|
|
47
|
+
YG_EXPORT YGWrap YGNodeStyleGetFlexWrap(YGNodeConstRef node);
|
|
48
|
+
|
|
49
|
+
YG_EXPORT void YGNodeStyleSetOverflow(YGNodeRef node, YGOverflow overflow);
|
|
50
|
+
YG_EXPORT YGOverflow YGNodeStyleGetOverflow(YGNodeConstRef node);
|
|
51
|
+
|
|
52
|
+
YG_EXPORT void YGNodeStyleSetDisplay(YGNodeRef node, YGDisplay display);
|
|
53
|
+
YG_EXPORT YGDisplay YGNodeStyleGetDisplay(YGNodeConstRef node);
|
|
54
|
+
|
|
55
|
+
YG_EXPORT void YGNodeStyleSetFlex(YGNodeRef node, float flex);
|
|
56
|
+
YG_EXPORT float YGNodeStyleGetFlex(YGNodeConstRef node);
|
|
57
|
+
|
|
58
|
+
YG_EXPORT void YGNodeStyleSetFlexGrow(YGNodeRef node, float flexGrow);
|
|
59
|
+
YG_EXPORT float YGNodeStyleGetFlexGrow(YGNodeConstRef node);
|
|
60
|
+
|
|
61
|
+
YG_EXPORT void YGNodeStyleSetFlexShrink(YGNodeRef node, float flexShrink);
|
|
62
|
+
YG_EXPORT float YGNodeStyleGetFlexShrink(YGNodeConstRef node);
|
|
63
|
+
|
|
64
|
+
YG_EXPORT void YGNodeStyleSetFlexBasis(YGNodeRef node, float flexBasis);
|
|
65
|
+
YG_EXPORT void YGNodeStyleSetFlexBasisPercent(YGNodeRef node, float flexBasis);
|
|
66
|
+
YG_EXPORT void YGNodeStyleSetFlexBasisAuto(YGNodeRef node);
|
|
67
|
+
YG_EXPORT YGValue YGNodeStyleGetFlexBasis(YGNodeConstRef node);
|
|
68
|
+
|
|
69
|
+
YG_EXPORT void
|
|
70
|
+
YGNodeStyleSetPosition(YGNodeRef node, YGEdge edge, float position);
|
|
71
|
+
YG_EXPORT void
|
|
72
|
+
YGNodeStyleSetPositionPercent(YGNodeRef node, YGEdge edge, float position);
|
|
73
|
+
YG_EXPORT YGValue YGNodeStyleGetPosition(YGNodeConstRef node, YGEdge edge);
|
|
74
|
+
YG_EXPORT void YGNodeStyleSetPositionAuto(YGNodeRef node, YGEdge edge);
|
|
75
|
+
|
|
76
|
+
YG_EXPORT
|
|
77
|
+
void YGNodeStyleSetMargin(YGNodeRef node, YGEdge edge, float margin);
|
|
78
|
+
YG_EXPORT void
|
|
79
|
+
YGNodeStyleSetMarginPercent(YGNodeRef node, YGEdge edge, float margin);
|
|
80
|
+
YG_EXPORT void YGNodeStyleSetMarginAuto(YGNodeRef node, YGEdge edge);
|
|
81
|
+
YG_EXPORT YGValue YGNodeStyleGetMargin(YGNodeConstRef node, YGEdge edge);
|
|
82
|
+
|
|
83
|
+
YG_EXPORT void
|
|
84
|
+
YGNodeStyleSetPadding(YGNodeRef node, YGEdge edge, float padding);
|
|
85
|
+
YG_EXPORT void
|
|
86
|
+
YGNodeStyleSetPaddingPercent(YGNodeRef node, YGEdge edge, float padding);
|
|
87
|
+
YG_EXPORT YGValue YGNodeStyleGetPadding(YGNodeConstRef node, YGEdge edge);
|
|
88
|
+
|
|
89
|
+
YG_EXPORT void YGNodeStyleSetBorder(YGNodeRef node, YGEdge edge, float border);
|
|
90
|
+
YG_EXPORT float YGNodeStyleGetBorder(YGNodeConstRef node, YGEdge edge);
|
|
91
|
+
|
|
92
|
+
YG_EXPORT void
|
|
93
|
+
YGNodeStyleSetGap(YGNodeRef node, YGGutter gutter, float gapLength);
|
|
94
|
+
YG_EXPORT void
|
|
95
|
+
YGNodeStyleSetGapPercent(YGNodeRef node, YGGutter gutter, float gapLength);
|
|
96
|
+
YG_EXPORT float YGNodeStyleGetGap(YGNodeConstRef node, YGGutter gutter);
|
|
97
|
+
|
|
98
|
+
YG_EXPORT void YGNodeStyleSetBoxSizing(YGNodeRef node, YGBoxSizing boxSizing);
|
|
99
|
+
YG_EXPORT YGBoxSizing YGNodeStyleGetBoxSizing(YGNodeConstRef node);
|
|
100
|
+
|
|
101
|
+
YG_EXPORT void YGNodeStyleSetWidth(YGNodeRef node, float width);
|
|
102
|
+
YG_EXPORT void YGNodeStyleSetWidthPercent(YGNodeRef node, float width);
|
|
103
|
+
YG_EXPORT void YGNodeStyleSetWidthAuto(YGNodeRef node);
|
|
104
|
+
YG_EXPORT YGValue YGNodeStyleGetWidth(YGNodeConstRef node);
|
|
105
|
+
|
|
106
|
+
YG_EXPORT void YGNodeStyleSetHeight(YGNodeRef node, float height);
|
|
107
|
+
YG_EXPORT void YGNodeStyleSetHeightPercent(YGNodeRef node, float height);
|
|
108
|
+
YG_EXPORT void YGNodeStyleSetHeightAuto(YGNodeRef node);
|
|
109
|
+
YG_EXPORT YGValue YGNodeStyleGetHeight(YGNodeConstRef node);
|
|
110
|
+
|
|
111
|
+
YG_EXPORT void YGNodeStyleSetMinWidth(YGNodeRef node, float minWidth);
|
|
112
|
+
YG_EXPORT void YGNodeStyleSetMinWidthPercent(YGNodeRef node, float minWidth);
|
|
113
|
+
YG_EXPORT YGValue YGNodeStyleGetMinWidth(YGNodeConstRef node);
|
|
114
|
+
|
|
115
|
+
YG_EXPORT void YGNodeStyleSetMinHeight(YGNodeRef node, float minHeight);
|
|
116
|
+
YG_EXPORT void YGNodeStyleSetMinHeightPercent(YGNodeRef node, float minHeight);
|
|
117
|
+
YG_EXPORT YGValue YGNodeStyleGetMinHeight(YGNodeConstRef node);
|
|
118
|
+
|
|
119
|
+
YG_EXPORT void YGNodeStyleSetMaxWidth(YGNodeRef node, float maxWidth);
|
|
120
|
+
YG_EXPORT void YGNodeStyleSetMaxWidthPercent(YGNodeRef node, float maxWidth);
|
|
121
|
+
YG_EXPORT YGValue YGNodeStyleGetMaxWidth(YGNodeConstRef node);
|
|
122
|
+
|
|
123
|
+
YG_EXPORT void YGNodeStyleSetMaxHeight(YGNodeRef node, float maxHeight);
|
|
124
|
+
YG_EXPORT void YGNodeStyleSetMaxHeightPercent(YGNodeRef node, float maxHeight);
|
|
125
|
+
YG_EXPORT YGValue YGNodeStyleGetMaxHeight(YGNodeConstRef node);
|
|
126
|
+
|
|
127
|
+
YG_EXPORT void YGNodeStyleSetAspectRatio(YGNodeRef node, float aspectRatio);
|
|
128
|
+
YG_EXPORT float YGNodeStyleGetAspectRatio(YGNodeConstRef node);
|
|
129
|
+
|
|
130
|
+
YG_EXTERN_C_END
|
|
@@ -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 <stdbool.h>
|
|
11
|
+
|
|
12
|
+
#include <yoga/YGConfig.h>
|
|
13
|
+
#include <yoga/YGEnums.h>
|
|
14
|
+
#include <yoga/YGMacros.h>
|
|
15
|
+
|
|
16
|
+
YG_EXTERN_C_BEGIN
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Rounds a point value to the nearest whole pixel, given a pointScaleFactor
|
|
20
|
+
* describing pixel density.
|
|
21
|
+
* @returns the rounded value in points
|
|
22
|
+
*/
|
|
23
|
+
YG_EXPORT float YGRoundValueToPixelGrid(
|
|
24
|
+
double value,
|
|
25
|
+
double pointScaleFactor,
|
|
26
|
+
bool forceCeil,
|
|
27
|
+
bool forceFloor);
|
|
28
|
+
|
|
29
|
+
YG_EXTERN_C_END
|
|
@@ -0,0 +1,84 @@
|
|
|
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
|
+
|
|
12
|
+
#include <yoga/YGEnums.h>
|
|
13
|
+
#include <yoga/YGMacros.h>
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Float value to represent "undefined" in style values.
|
|
17
|
+
*/
|
|
18
|
+
#ifdef __cplusplus
|
|
19
|
+
#include <limits>
|
|
20
|
+
constexpr float YGUndefined = std::numeric_limits<float>::quiet_NaN();
|
|
21
|
+
#else
|
|
22
|
+
#include <math.h>
|
|
23
|
+
#define YGUndefined NAN
|
|
24
|
+
#endif
|
|
25
|
+
|
|
26
|
+
YG_EXTERN_C_BEGIN
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Structure used to represent a dimension in a style.
|
|
30
|
+
*/
|
|
31
|
+
typedef struct YGValue {
|
|
32
|
+
float value;
|
|
33
|
+
YGUnit unit;
|
|
34
|
+
} YGValue;
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Constant for a dimension of "auto".
|
|
38
|
+
*/
|
|
39
|
+
YG_EXPORT extern const YGValue YGValueAuto;
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Constant for a dimension which is not defined.
|
|
43
|
+
*/
|
|
44
|
+
YG_EXPORT extern const YGValue YGValueUndefined;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Constant for a dimension that is zero-length.
|
|
48
|
+
*/
|
|
49
|
+
YG_EXPORT extern const YGValue YGValueZero;
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Whether a dimension represented as a float is defined.
|
|
53
|
+
*/
|
|
54
|
+
YG_EXPORT bool YGFloatIsUndefined(float value);
|
|
55
|
+
|
|
56
|
+
YG_EXTERN_C_END
|
|
57
|
+
|
|
58
|
+
// Equality operators for comparison of YGValue in C++
|
|
59
|
+
#ifdef __cplusplus
|
|
60
|
+
inline bool operator==(const YGValue& lhs, const YGValue& rhs) {
|
|
61
|
+
if (lhs.unit != rhs.unit) {
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
switch (lhs.unit) {
|
|
66
|
+
case YGUnitUndefined:
|
|
67
|
+
case YGUnitAuto:
|
|
68
|
+
return true;
|
|
69
|
+
case YGUnitPoint:
|
|
70
|
+
case YGUnitPercent:
|
|
71
|
+
return lhs.value == rhs.value;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
inline bool operator!=(const YGValue& lhs, const YGValue& rhs) {
|
|
78
|
+
return !(lhs == rhs);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
inline YGValue operator-(const YGValue& value) {
|
|
82
|
+
return {-value.value, value.unit};
|
|
83
|
+
}
|
|
84
|
+
#endif
|
|
@@ -0,0 +1,21 @@
|
|
|
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
|
+
/**
|
|
11
|
+
* `#include <yoga/Yoga.h>` includes all of Yoga's public headers.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
#include <yoga/YGConfig.h>
|
|
15
|
+
#include <yoga/YGEnums.h>
|
|
16
|
+
#include <yoga/YGMacros.h>
|
|
17
|
+
#include <yoga/YGNode.h>
|
|
18
|
+
#include <yoga/YGNodeLayout.h>
|
|
19
|
+
#include <yoga/YGNodeStyle.h>
|
|
20
|
+
#include <yoga/YGPixelGrid.h>
|
|
21
|
+
#include <yoga/YGValue.h>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// Python host binding for the same Yoga core used by mobile runtimes.
|
|
2
|
+
#include <Python.h>
|
|
3
|
+
#include <yoga/Yoga.h>
|
|
4
|
+
extern "C" {
|
|
5
|
+
typedef void (*PNMeasure)(YGNodeConstRef, float, int, float, int, float*, float*);
|
|
6
|
+
static PNMeasure callback = nullptr;
|
|
7
|
+
static YGSize measure(YGNodeConstRef node, float w, YGMeasureMode wm, float h, YGMeasureMode hm) {
|
|
8
|
+
float width = 0, height = 0;
|
|
9
|
+
callback(node, w, static_cast<int>(wm), h, static_cast<int>(hm), &width, &height);
|
|
10
|
+
return {width, height};
|
|
11
|
+
}
|
|
12
|
+
void pn_yoga_callback(PNMeasure fn) { callback = fn; }
|
|
13
|
+
void pn_yoga_measure(YGNodeRef node, int enabled) { YGNodeSetMeasureFunc(node, enabled ? measure : nullptr); }
|
|
14
|
+
static PyModuleDef module = {PyModuleDef_HEAD_INIT, "_yoga", "Yoga 3.2.1 host library", -1, nullptr};
|
|
15
|
+
PyMODINIT_FUNC PyInit__yoga() { return PyModule_Create(&module); }
|
|
16
|
+
}
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
#include "include/PNStyle.h"
|
|
2
|
+
#include <string>
|
|
3
|
+
#include <cstdlib>
|
|
4
|
+
#include <cmath>
|
|
5
|
+
extern "C" bool PNYogaSetStyle(YGNodeRef node, const char* rawKey, const char* rawValue) {
|
|
6
|
+
std::string key(rawKey), value(rawValue);
|
|
7
|
+
bool percent = !value.empty() && value.back() == '%';
|
|
8
|
+
char* end = nullptr;
|
|
9
|
+
float number = std::strtof(rawValue, &end);
|
|
10
|
+
if (key == "direction") {
|
|
11
|
+
if (value == "inherit") { YGNodeStyleSetDirection(node, static_cast<YGDirection>(0)); return true; }
|
|
12
|
+
if (value == "ltr") { YGNodeStyleSetDirection(node, static_cast<YGDirection>(1)); return true; }
|
|
13
|
+
if (value == "rtl") { YGNodeStyleSetDirection(node, static_cast<YGDirection>(2)); return true; }
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
if (key == "flex_direction") {
|
|
17
|
+
if (value == "column") { YGNodeStyleSetFlexDirection(node, static_cast<YGFlexDirection>(0)); return true; }
|
|
18
|
+
if (value == "column_reverse") { YGNodeStyleSetFlexDirection(node, static_cast<YGFlexDirection>(1)); return true; }
|
|
19
|
+
if (value == "row") { YGNodeStyleSetFlexDirection(node, static_cast<YGFlexDirection>(2)); return true; }
|
|
20
|
+
if (value == "row_reverse") { YGNodeStyleSetFlexDirection(node, static_cast<YGFlexDirection>(3)); return true; }
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
if (key == "justify_content") {
|
|
24
|
+
if (value == "flex_start") { YGNodeStyleSetJustifyContent(node, static_cast<YGJustify>(0)); return true; }
|
|
25
|
+
if (value == "center") { YGNodeStyleSetJustifyContent(node, static_cast<YGJustify>(1)); return true; }
|
|
26
|
+
if (value == "flex_end") { YGNodeStyleSetJustifyContent(node, static_cast<YGJustify>(2)); return true; }
|
|
27
|
+
if (value == "space_between") { YGNodeStyleSetJustifyContent(node, static_cast<YGJustify>(3)); return true; }
|
|
28
|
+
if (value == "space_around") { YGNodeStyleSetJustifyContent(node, static_cast<YGJustify>(4)); return true; }
|
|
29
|
+
if (value == "space_evenly") { YGNodeStyleSetJustifyContent(node, static_cast<YGJustify>(5)); return true; }
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
if (key == "align_items") {
|
|
33
|
+
if (value == "auto") { YGNodeStyleSetAlignItems(node, static_cast<YGAlign>(0)); return true; }
|
|
34
|
+
if (value == "flex_start") { YGNodeStyleSetAlignItems(node, static_cast<YGAlign>(1)); return true; }
|
|
35
|
+
if (value == "center") { YGNodeStyleSetAlignItems(node, static_cast<YGAlign>(2)); return true; }
|
|
36
|
+
if (value == "flex_end") { YGNodeStyleSetAlignItems(node, static_cast<YGAlign>(3)); return true; }
|
|
37
|
+
if (value == "stretch") { YGNodeStyleSetAlignItems(node, static_cast<YGAlign>(4)); return true; }
|
|
38
|
+
if (value == "baseline") { YGNodeStyleSetAlignItems(node, static_cast<YGAlign>(5)); return true; }
|
|
39
|
+
if (value == "space_between") { YGNodeStyleSetAlignItems(node, static_cast<YGAlign>(6)); return true; }
|
|
40
|
+
if (value == "space_around") { YGNodeStyleSetAlignItems(node, static_cast<YGAlign>(7)); return true; }
|
|
41
|
+
if (value == "space_evenly") { YGNodeStyleSetAlignItems(node, static_cast<YGAlign>(8)); return true; }
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
if (key == "align_self") {
|
|
45
|
+
if (value == "auto") { YGNodeStyleSetAlignSelf(node, static_cast<YGAlign>(0)); return true; }
|
|
46
|
+
if (value == "flex_start") { YGNodeStyleSetAlignSelf(node, static_cast<YGAlign>(1)); return true; }
|
|
47
|
+
if (value == "center") { YGNodeStyleSetAlignSelf(node, static_cast<YGAlign>(2)); return true; }
|
|
48
|
+
if (value == "flex_end") { YGNodeStyleSetAlignSelf(node, static_cast<YGAlign>(3)); return true; }
|
|
49
|
+
if (value == "stretch") { YGNodeStyleSetAlignSelf(node, static_cast<YGAlign>(4)); return true; }
|
|
50
|
+
if (value == "baseline") { YGNodeStyleSetAlignSelf(node, static_cast<YGAlign>(5)); return true; }
|
|
51
|
+
if (value == "space_between") { YGNodeStyleSetAlignSelf(node, static_cast<YGAlign>(6)); return true; }
|
|
52
|
+
if (value == "space_around") { YGNodeStyleSetAlignSelf(node, static_cast<YGAlign>(7)); return true; }
|
|
53
|
+
if (value == "space_evenly") { YGNodeStyleSetAlignSelf(node, static_cast<YGAlign>(8)); return true; }
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
if (key == "align_content") {
|
|
57
|
+
if (value == "auto") { YGNodeStyleSetAlignContent(node, static_cast<YGAlign>(0)); return true; }
|
|
58
|
+
if (value == "flex_start") { YGNodeStyleSetAlignContent(node, static_cast<YGAlign>(1)); return true; }
|
|
59
|
+
if (value == "center") { YGNodeStyleSetAlignContent(node, static_cast<YGAlign>(2)); return true; }
|
|
60
|
+
if (value == "flex_end") { YGNodeStyleSetAlignContent(node, static_cast<YGAlign>(3)); return true; }
|
|
61
|
+
if (value == "stretch") { YGNodeStyleSetAlignContent(node, static_cast<YGAlign>(4)); return true; }
|
|
62
|
+
if (value == "baseline") { YGNodeStyleSetAlignContent(node, static_cast<YGAlign>(5)); return true; }
|
|
63
|
+
if (value == "space_between") { YGNodeStyleSetAlignContent(node, static_cast<YGAlign>(6)); return true; }
|
|
64
|
+
if (value == "space_around") { YGNodeStyleSetAlignContent(node, static_cast<YGAlign>(7)); return true; }
|
|
65
|
+
if (value == "space_evenly") { YGNodeStyleSetAlignContent(node, static_cast<YGAlign>(8)); return true; }
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
if (key == "position") {
|
|
69
|
+
if (value == "static") { YGNodeStyleSetPositionType(node, static_cast<YGPositionType>(0)); return true; }
|
|
70
|
+
if (value == "relative") { YGNodeStyleSetPositionType(node, static_cast<YGPositionType>(1)); return true; }
|
|
71
|
+
if (value == "absolute") { YGNodeStyleSetPositionType(node, static_cast<YGPositionType>(2)); return true; }
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
if (key == "flex_wrap") {
|
|
75
|
+
if (value == "nowrap") { YGNodeStyleSetFlexWrap(node, static_cast<YGWrap>(0)); return true; }
|
|
76
|
+
if (value == "wrap") { YGNodeStyleSetFlexWrap(node, static_cast<YGWrap>(1)); return true; }
|
|
77
|
+
if (value == "wrap_reverse") { YGNodeStyleSetFlexWrap(node, static_cast<YGWrap>(2)); return true; }
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
if (key == "display") {
|
|
81
|
+
if (value == "flex") { YGNodeStyleSetDisplay(node, static_cast<YGDisplay>(0)); return true; }
|
|
82
|
+
if (value == "none") { YGNodeStyleSetDisplay(node, static_cast<YGDisplay>(1)); return true; }
|
|
83
|
+
if (value == "contents") { YGNodeStyleSetDisplay(node, static_cast<YGDisplay>(2)); return true; }
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
if (key == "width") {
|
|
87
|
+
if (value == "auto") { YGNodeStyleSetWidthAuto(node); return true; }
|
|
88
|
+
if (percent) { YGNodeStyleSetWidthPercent(node, number); return true; }
|
|
89
|
+
YGNodeStyleSetWidth(node, number); return end != rawValue;
|
|
90
|
+
}
|
|
91
|
+
if (key == "height") {
|
|
92
|
+
if (value == "auto") { YGNodeStyleSetHeightAuto(node); return true; }
|
|
93
|
+
if (percent) { YGNodeStyleSetHeightPercent(node, number); return true; }
|
|
94
|
+
YGNodeStyleSetHeight(node, number); return end != rawValue;
|
|
95
|
+
}
|
|
96
|
+
if (key == "min_width") {
|
|
97
|
+
if (percent) { YGNodeStyleSetMinWidthPercent(node, number); return true; }
|
|
98
|
+
YGNodeStyleSetMinWidth(node, number); return end != rawValue;
|
|
99
|
+
}
|
|
100
|
+
if (key == "min_height") {
|
|
101
|
+
if (percent) { YGNodeStyleSetMinHeightPercent(node, number); return true; }
|
|
102
|
+
YGNodeStyleSetMinHeight(node, number); return end != rawValue;
|
|
103
|
+
}
|
|
104
|
+
if (key == "max_width") {
|
|
105
|
+
if (percent) { YGNodeStyleSetMaxWidthPercent(node, number); return true; }
|
|
106
|
+
YGNodeStyleSetMaxWidth(node, number); return end != rawValue;
|
|
107
|
+
}
|
|
108
|
+
if (key == "max_height") {
|
|
109
|
+
if (percent) { YGNodeStyleSetMaxHeightPercent(node, number); return true; }
|
|
110
|
+
YGNodeStyleSetMaxHeight(node, number); return end != rawValue;
|
|
111
|
+
}
|
|
112
|
+
if (key == "flex_basis") {
|
|
113
|
+
if (value == "auto") { YGNodeStyleSetFlexBasisAuto(node); return true; }
|
|
114
|
+
if (percent) { YGNodeStyleSetFlexBasisPercent(node, number); return true; }
|
|
115
|
+
YGNodeStyleSetFlexBasis(node, number); return end != rawValue;
|
|
116
|
+
}
|
|
117
|
+
if (key == "flex") {
|
|
118
|
+
YGNodeStyleSetFlex(node, number); return end != rawValue;
|
|
119
|
+
}
|
|
120
|
+
if (key == "flex_grow") {
|
|
121
|
+
YGNodeStyleSetFlexGrow(node, number); return end != rawValue;
|
|
122
|
+
}
|
|
123
|
+
if (key == "flex_shrink") {
|
|
124
|
+
YGNodeStyleSetFlexShrink(node, number); return end != rawValue;
|
|
125
|
+
}
|
|
126
|
+
if (key == "aspect_ratio") {
|
|
127
|
+
YGNodeStyleSetAspectRatio(node, number); return end != rawValue;
|
|
128
|
+
}
|
|
129
|
+
if (key == "margin_left") {
|
|
130
|
+
if (value == "auto") { YGNodeStyleSetMarginAuto(node, static_cast<YGEdge>(0)); return true; }
|
|
131
|
+
if (percent) { YGNodeStyleSetMarginPercent(node, static_cast<YGEdge>(0), number); return true; }
|
|
132
|
+
YGNodeStyleSetMargin(node, static_cast<YGEdge>(0), number); return end != rawValue;
|
|
133
|
+
}
|
|
134
|
+
if (key == "margin_top") {
|
|
135
|
+
if (value == "auto") { YGNodeStyleSetMarginAuto(node, static_cast<YGEdge>(1)); return true; }
|
|
136
|
+
if (percent) { YGNodeStyleSetMarginPercent(node, static_cast<YGEdge>(1), number); return true; }
|
|
137
|
+
YGNodeStyleSetMargin(node, static_cast<YGEdge>(1), number); return end != rawValue;
|
|
138
|
+
}
|
|
139
|
+
if (key == "margin_right") {
|
|
140
|
+
if (value == "auto") { YGNodeStyleSetMarginAuto(node, static_cast<YGEdge>(2)); return true; }
|
|
141
|
+
if (percent) { YGNodeStyleSetMarginPercent(node, static_cast<YGEdge>(2), number); return true; }
|
|
142
|
+
YGNodeStyleSetMargin(node, static_cast<YGEdge>(2), number); return end != rawValue;
|
|
143
|
+
}
|
|
144
|
+
if (key == "margin_bottom") {
|
|
145
|
+
if (value == "auto") { YGNodeStyleSetMarginAuto(node, static_cast<YGEdge>(3)); return true; }
|
|
146
|
+
if (percent) { YGNodeStyleSetMarginPercent(node, static_cast<YGEdge>(3), number); return true; }
|
|
147
|
+
YGNodeStyleSetMargin(node, static_cast<YGEdge>(3), number); return end != rawValue;
|
|
148
|
+
}
|
|
149
|
+
if (key == "margin_start") {
|
|
150
|
+
if (value == "auto") { YGNodeStyleSetMarginAuto(node, static_cast<YGEdge>(4)); return true; }
|
|
151
|
+
if (percent) { YGNodeStyleSetMarginPercent(node, static_cast<YGEdge>(4), number); return true; }
|
|
152
|
+
YGNodeStyleSetMargin(node, static_cast<YGEdge>(4), number); return end != rawValue;
|
|
153
|
+
}
|
|
154
|
+
if (key == "margin_end") {
|
|
155
|
+
if (value == "auto") { YGNodeStyleSetMarginAuto(node, static_cast<YGEdge>(5)); return true; }
|
|
156
|
+
if (percent) { YGNodeStyleSetMarginPercent(node, static_cast<YGEdge>(5), number); return true; }
|
|
157
|
+
YGNodeStyleSetMargin(node, static_cast<YGEdge>(5), number); return end != rawValue;
|
|
158
|
+
}
|
|
159
|
+
if (key == "margin_horizontal") {
|
|
160
|
+
if (value == "auto") { YGNodeStyleSetMarginAuto(node, static_cast<YGEdge>(6)); return true; }
|
|
161
|
+
if (percent) { YGNodeStyleSetMarginPercent(node, static_cast<YGEdge>(6), number); return true; }
|
|
162
|
+
YGNodeStyleSetMargin(node, static_cast<YGEdge>(6), number); return end != rawValue;
|
|
163
|
+
}
|
|
164
|
+
if (key == "margin_vertical") {
|
|
165
|
+
if (value == "auto") { YGNodeStyleSetMarginAuto(node, static_cast<YGEdge>(7)); return true; }
|
|
166
|
+
if (percent) { YGNodeStyleSetMarginPercent(node, static_cast<YGEdge>(7), number); return true; }
|
|
167
|
+
YGNodeStyleSetMargin(node, static_cast<YGEdge>(7), number); return end != rawValue;
|
|
168
|
+
}
|
|
169
|
+
if (key == "margin") {
|
|
170
|
+
if (value == "auto") { YGNodeStyleSetMarginAuto(node, static_cast<YGEdge>(8)); return true; }
|
|
171
|
+
if (percent) { YGNodeStyleSetMarginPercent(node, static_cast<YGEdge>(8), number); return true; }
|
|
172
|
+
YGNodeStyleSetMargin(node, static_cast<YGEdge>(8), number); return end != rawValue;
|
|
173
|
+
}
|
|
174
|
+
if (key == "padding_left") {
|
|
175
|
+
if (percent) { YGNodeStyleSetPaddingPercent(node, static_cast<YGEdge>(0), number); return true; }
|
|
176
|
+
YGNodeStyleSetPadding(node, static_cast<YGEdge>(0), number); return end != rawValue;
|
|
177
|
+
}
|
|
178
|
+
if (key == "padding_top") {
|
|
179
|
+
if (percent) { YGNodeStyleSetPaddingPercent(node, static_cast<YGEdge>(1), number); return true; }
|
|
180
|
+
YGNodeStyleSetPadding(node, static_cast<YGEdge>(1), number); return end != rawValue;
|
|
181
|
+
}
|
|
182
|
+
if (key == "padding_right") {
|
|
183
|
+
if (percent) { YGNodeStyleSetPaddingPercent(node, static_cast<YGEdge>(2), number); return true; }
|
|
184
|
+
YGNodeStyleSetPadding(node, static_cast<YGEdge>(2), number); return end != rawValue;
|
|
185
|
+
}
|
|
186
|
+
if (key == "padding_bottom") {
|
|
187
|
+
if (percent) { YGNodeStyleSetPaddingPercent(node, static_cast<YGEdge>(3), number); return true; }
|
|
188
|
+
YGNodeStyleSetPadding(node, static_cast<YGEdge>(3), number); return end != rawValue;
|
|
189
|
+
}
|
|
190
|
+
if (key == "padding_start") {
|
|
191
|
+
if (percent) { YGNodeStyleSetPaddingPercent(node, static_cast<YGEdge>(4), number); return true; }
|
|
192
|
+
YGNodeStyleSetPadding(node, static_cast<YGEdge>(4), number); return end != rawValue;
|
|
193
|
+
}
|
|
194
|
+
if (key == "padding_end") {
|
|
195
|
+
if (percent) { YGNodeStyleSetPaddingPercent(node, static_cast<YGEdge>(5), number); return true; }
|
|
196
|
+
YGNodeStyleSetPadding(node, static_cast<YGEdge>(5), number); return end != rawValue;
|
|
197
|
+
}
|
|
198
|
+
if (key == "padding_horizontal") {
|
|
199
|
+
if (percent) { YGNodeStyleSetPaddingPercent(node, static_cast<YGEdge>(6), number); return true; }
|
|
200
|
+
YGNodeStyleSetPadding(node, static_cast<YGEdge>(6), number); return end != rawValue;
|
|
201
|
+
}
|
|
202
|
+
if (key == "padding_vertical") {
|
|
203
|
+
if (percent) { YGNodeStyleSetPaddingPercent(node, static_cast<YGEdge>(7), number); return true; }
|
|
204
|
+
YGNodeStyleSetPadding(node, static_cast<YGEdge>(7), number); return end != rawValue;
|
|
205
|
+
}
|
|
206
|
+
if (key == "padding") {
|
|
207
|
+
if (percent) { YGNodeStyleSetPaddingPercent(node, static_cast<YGEdge>(8), number); return true; }
|
|
208
|
+
YGNodeStyleSetPadding(node, static_cast<YGEdge>(8), number); return end != rawValue;
|
|
209
|
+
}
|
|
210
|
+
if (key == "left") {
|
|
211
|
+
if (value == "auto") { YGNodeStyleSetPositionAuto(node, static_cast<YGEdge>(0)); return true; }
|
|
212
|
+
if (percent) { YGNodeStyleSetPositionPercent(node, static_cast<YGEdge>(0), number); return true; }
|
|
213
|
+
YGNodeStyleSetPosition(node, static_cast<YGEdge>(0), number); return end != rawValue;
|
|
214
|
+
}
|
|
215
|
+
if (key == "top") {
|
|
216
|
+
if (value == "auto") { YGNodeStyleSetPositionAuto(node, static_cast<YGEdge>(1)); return true; }
|
|
217
|
+
if (percent) { YGNodeStyleSetPositionPercent(node, static_cast<YGEdge>(1), number); return true; }
|
|
218
|
+
YGNodeStyleSetPosition(node, static_cast<YGEdge>(1), number); return end != rawValue;
|
|
219
|
+
}
|
|
220
|
+
if (key == "right") {
|
|
221
|
+
if (value == "auto") { YGNodeStyleSetPositionAuto(node, static_cast<YGEdge>(2)); return true; }
|
|
222
|
+
if (percent) { YGNodeStyleSetPositionPercent(node, static_cast<YGEdge>(2), number); return true; }
|
|
223
|
+
YGNodeStyleSetPosition(node, static_cast<YGEdge>(2), number); return end != rawValue;
|
|
224
|
+
}
|
|
225
|
+
if (key == "bottom") {
|
|
226
|
+
if (value == "auto") { YGNodeStyleSetPositionAuto(node, static_cast<YGEdge>(3)); return true; }
|
|
227
|
+
if (percent) { YGNodeStyleSetPositionPercent(node, static_cast<YGEdge>(3), number); return true; }
|
|
228
|
+
YGNodeStyleSetPosition(node, static_cast<YGEdge>(3), number); return end != rawValue;
|
|
229
|
+
}
|
|
230
|
+
if (key == "start") {
|
|
231
|
+
if (value == "auto") { YGNodeStyleSetPositionAuto(node, static_cast<YGEdge>(4)); return true; }
|
|
232
|
+
if (percent) { YGNodeStyleSetPositionPercent(node, static_cast<YGEdge>(4), number); return true; }
|
|
233
|
+
YGNodeStyleSetPosition(node, static_cast<YGEdge>(4), number); return end != rawValue;
|
|
234
|
+
}
|
|
235
|
+
if (key == "end") {
|
|
236
|
+
if (value == "auto") { YGNodeStyleSetPositionAuto(node, static_cast<YGEdge>(5)); return true; }
|
|
237
|
+
if (percent) { YGNodeStyleSetPositionPercent(node, static_cast<YGEdge>(5), number); return true; }
|
|
238
|
+
YGNodeStyleSetPosition(node, static_cast<YGEdge>(5), number); return end != rawValue;
|
|
239
|
+
}
|
|
240
|
+
if (key == "border_left_width") {
|
|
241
|
+
YGNodeStyleSetBorder(node, static_cast<YGEdge>(0), number); return end != rawValue;
|
|
242
|
+
}
|
|
243
|
+
if (key == "border_top_width") {
|
|
244
|
+
YGNodeStyleSetBorder(node, static_cast<YGEdge>(1), number); return end != rawValue;
|
|
245
|
+
}
|
|
246
|
+
if (key == "border_right_width") {
|
|
247
|
+
YGNodeStyleSetBorder(node, static_cast<YGEdge>(2), number); return end != rawValue;
|
|
248
|
+
}
|
|
249
|
+
if (key == "border_bottom_width") {
|
|
250
|
+
YGNodeStyleSetBorder(node, static_cast<YGEdge>(3), number); return end != rawValue;
|
|
251
|
+
}
|
|
252
|
+
if (key == "border_start_width") {
|
|
253
|
+
YGNodeStyleSetBorder(node, static_cast<YGEdge>(4), number); return end != rawValue;
|
|
254
|
+
}
|
|
255
|
+
if (key == "border_end_width") {
|
|
256
|
+
YGNodeStyleSetBorder(node, static_cast<YGEdge>(5), number); return end != rawValue;
|
|
257
|
+
}
|
|
258
|
+
if (key == "border_horizontal_width") {
|
|
259
|
+
YGNodeStyleSetBorder(node, static_cast<YGEdge>(6), number); return end != rawValue;
|
|
260
|
+
}
|
|
261
|
+
if (key == "border_vertical_width") {
|
|
262
|
+
YGNodeStyleSetBorder(node, static_cast<YGEdge>(7), number); return end != rawValue;
|
|
263
|
+
}
|
|
264
|
+
if (key == "border_width") {
|
|
265
|
+
YGNodeStyleSetBorder(node, static_cast<YGEdge>(8), number); return end != rawValue;
|
|
266
|
+
}
|
|
267
|
+
if (key == "gap") { if (percent) YGNodeStyleSetGapPercent(node, static_cast<YGGutter>(2), number); else YGNodeStyleSetGap(node, static_cast<YGGutter>(2), number); return true; }
|
|
268
|
+
if (key == "spacing") { if (percent) YGNodeStyleSetGapPercent(node, static_cast<YGGutter>(2), number); else YGNodeStyleSetGap(node, static_cast<YGGutter>(2), number); return true; }
|
|
269
|
+
if (key == "row_gap") { if (percent) YGNodeStyleSetGapPercent(node, static_cast<YGGutter>(1), number); else YGNodeStyleSetGap(node, static_cast<YGGutter>(1), number); return true; }
|
|
270
|
+
if (key == "column_gap") { if (percent) YGNodeStyleSetGapPercent(node, static_cast<YGGutter>(0), number); else YGNodeStyleSetGap(node, static_cast<YGGutter>(0), number); return true; }
|
|
271
|
+
return false;
|
|
272
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
2
|
+
#
|
|
3
|
+
# This source code is licensed under the MIT license found in the
|
|
4
|
+
# LICENSE file in the root directory of this source tree.
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
cmake_minimum_required(VERSION 3.13...3.26)
|
|
8
|
+
project(yogacore)
|
|
9
|
+
set(CMAKE_VERBOSE_MAKEFILE on)
|
|
10
|
+
|
|
11
|
+
if(TARGET yogacore)
|
|
12
|
+
return()
|
|
13
|
+
endif()
|
|
14
|
+
|
|
15
|
+
include(CheckIPOSupported)
|
|
16
|
+
|
|
17
|
+
set(YOGA_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/..)
|
|
18
|
+
include(${YOGA_ROOT}/cmake/project-defaults.cmake)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
file(GLOB SOURCES CONFIGURE_DEPENDS
|
|
22
|
+
${CMAKE_CURRENT_SOURCE_DIR}/*.cpp
|
|
23
|
+
${CMAKE_CURRENT_SOURCE_DIR}/**/*.cpp)
|
|
24
|
+
|
|
25
|
+
add_library(yogacore STATIC ${SOURCES})
|
|
26
|
+
|
|
27
|
+
# Yoga conditionally uses <android/log> when building for Android
|
|
28
|
+
if (ANDROID)
|
|
29
|
+
target_link_libraries(yogacore log)
|
|
30
|
+
endif()
|
|
31
|
+
|
|
32
|
+
check_ipo_supported(RESULT result)
|
|
33
|
+
if(result)
|
|
34
|
+
set_target_properties(yogacore PROPERTIES
|
|
35
|
+
CMAKE_INTERPROCEDURAL_OPTIMIZATION true)
|
|
36
|
+
endif()
|
|
37
|
+
|
|
38
|
+
target_include_directories(yogacore
|
|
39
|
+
PUBLIC
|
|
40
|
+
$<BUILD_INTERFACE:${YOGA_ROOT}>
|
|
41
|
+
$<INSTALL_INTERFACE:${CMAKE_INSTALL_PREFIX}/include/yoga>)
|