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.
Files changed (418) hide show
  1. pythonnative/__init__.py +411 -0
  2. pythonnative/_ios_log.py +92 -0
  3. pythonnative/_yoga.cp313-win_amd64.pyd +0 -0
  4. pythonnative/alerts.py +236 -0
  5. pythonnative/animated.py +1687 -0
  6. pythonnative/animation_graph.py +78 -0
  7. pythonnative/appearance.py +124 -0
  8. pythonnative/bootstrap.py +100 -0
  9. pythonnative/bridge/__init__.py +302 -0
  10. pythonnative/bridge/android.py +78 -0
  11. pythonnative/bridge/codec.py +170 -0
  12. pythonnative/bridge/commits.py +114 -0
  13. pythonnative/bridge/fake.py +243 -0
  14. pythonnative/bridge/ios.py +138 -0
  15. pythonnative/bridge/web.py +489 -0
  16. pythonnative/cli/__init__.py +7 -0
  17. pythonnative/cli/pn.py +1214 -0
  18. pythonnative/component.py +271 -0
  19. pythonnative/components/__init__.py +111 -0
  20. pythonnative/components/_base.py +166 -0
  21. pythonnative/components/controls.py +521 -0
  22. pythonnative/components/layout.py +518 -0
  23. pythonnative/components/lists.py +785 -0
  24. pythonnative/components/media.py +204 -0
  25. pythonnative/components/overlays.py +107 -0
  26. pythonnative/components/pressable.py +252 -0
  27. pythonnative/components/structural.py +167 -0
  28. pythonnative/components/text.py +291 -0
  29. pythonnative/devclient.py +824 -0
  30. pythonnative/devserver/__init__.py +34 -0
  31. pythonnative/devserver/server.py +718 -0
  32. pythonnative/devserver/static/animation_graph.js +82 -0
  33. pythonnative/devserver/static/bridge.js +147 -0
  34. pythonnative/devserver/static/colors.js +70 -0
  35. pythonnative/devserver/static/host.js +552 -0
  36. pythonnative/devserver/static/index.html +60 -0
  37. pythonnative/devserver/static/layout.js +85 -0
  38. pythonnative/devserver/static/preview.css +415 -0
  39. pythonnative/devserver/static/renderer.js +1994 -0
  40. pythonnative/devserver/static/shell.js +345 -0
  41. pythonnative/devserver/static/yoga/LICENSE +21 -0
  42. pythonnative/devserver/static/yoga/binaries/yoga-wasm-base64-esm.js +75 -0
  43. pythonnative/devserver/static/yoga/src/generated/YGEnums.d.ts +189 -0
  44. pythonnative/devserver/static/yoga/src/generated/YGEnums.js +211 -0
  45. pythonnative/devserver/static/yoga/src/generated/YGEnums.js.map +1 -0
  46. pythonnative/devserver/static/yoga/src/index.d.ts +12 -0
  47. pythonnative/devserver/static/yoga/src/index.js +16 -0
  48. pythonnative/devserver/static/yoga/src/index.js.map +1 -0
  49. pythonnative/devserver/static/yoga/src/load.d.ts +11 -0
  50. pythonnative/devserver/static/yoga/src/load.js +17 -0
  51. pythonnative/devserver/static/yoga/src/load.js.map +1 -0
  52. pythonnative/devserver/static/yoga/src/wrapAssembly.d.ts +155 -0
  53. pythonnative/devserver/static/yoga/src/wrapAssembly.js +125 -0
  54. pythonnative/devserver/static/yoga/src/wrapAssembly.js.map +1 -0
  55. pythonnative/devserver/watcher.py +267 -0
  56. pythonnative/devserver/ws.py +421 -0
  57. pythonnative/diagnostics.py +241 -0
  58. pythonnative/element.py +159 -0
  59. pythonnative/equality.py +19 -0
  60. pythonnative/events.py +231 -0
  61. pythonnative/gestures.py +1333 -0
  62. pythonnative/hooks.py +1621 -0
  63. pythonnative/hosts/__init__.py +63 -0
  64. pythonnative/hosts/base.py +596 -0
  65. pythonnative/hosts/native.py +302 -0
  66. pythonnative/hot_reload.py +585 -0
  67. pythonnative/layout.py +328 -0
  68. pythonnative/mutations.py +142 -0
  69. pythonnative/native/android/build.gradle +52 -0
  70. pythonnative/native/android/gradle.properties +3 -0
  71. pythonnative/native/android/settings.gradle +12 -0
  72. pythonnative/native/android/src/main/AndroidManifest.xml +11 -0
  73. pythonnative/native/android/src/main/cpp/CMakeLists.txt +9 -0
  74. pythonnative/native/android/src/main/cpp/yoga_jni.cpp +52 -0
  75. pythonnative/native/android/src/main/java/com/pythonnative/generated/NativeModules.kt +5 -0
  76. pythonnative/native/android/src/main/java/com/pythonnative/generated/NativeProps.kt +3705 -0
  77. pythonnative/native/android/src/main/java/com/pythonnative/generated/PNContracts.kt +129 -0
  78. pythonnative/native/android/src/main/java/com/pythonnative/runtime/PNBridge.kt +261 -0
  79. pythonnative/native/android/src/main/java/com/pythonnative/runtime/PythonHost.kt +20 -0
  80. pythonnative/native/android/src/main/java/com/pythonnative/runtime/animation/AnimationGraph.kt +108 -0
  81. pythonnative/native/android/src/main/java/com/pythonnative/runtime/animation/AnimationSpecs.kt +141 -0
  82. pythonnative/native/android/src/main/java/com/pythonnative/runtime/animation/PNAnimator.kt +257 -0
  83. pythonnative/native/android/src/main/java/com/pythonnative/runtime/bridge/CommitState.kt +106 -0
  84. pythonnative/native/android/src/main/java/com/pythonnative/runtime/bridge/JsonUtil.kt +175 -0
  85. pythonnative/native/android/src/main/java/com/pythonnative/runtime/bridge/MainThread.kt +40 -0
  86. pythonnative/native/android/src/main/java/com/pythonnative/runtime/bridge/PNLog.kt +33 -0
  87. pythonnative/native/android/src/main/java/com/pythonnative/runtime/bridge/PNRegistry.kt +82 -0
  88. pythonnative/native/android/src/main/java/com/pythonnative/runtime/bridge/PNTransaction.kt +80 -0
  89. pythonnative/native/android/src/main/java/com/pythonnative/runtime/bridge/TransactionApplier.kt +117 -0
  90. pythonnative/native/android/src/main/java/com/pythonnative/runtime/bridge/ViewRegistry.kt +74 -0
  91. pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/BuiltinComponents.kt +37 -0
  92. pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ButtonManager.kt +32 -0
  93. pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ComponentManager.kt +213 -0
  94. pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ContainerManagers.kt +69 -0
  95. pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ControlManagers.kt +186 -0
  96. pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/DatePickerManager.kt +123 -0
  97. pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ImageLoader.kt +141 -0
  98. pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ImageManager.kt +162 -0
  99. pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ModalManager.kt +134 -0
  100. pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/PNColor.kt +201 -0
  101. pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/PickerManager.kt +86 -0
  102. pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/PortalManager.kt +55 -0
  103. pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/PressableManager.kt +122 -0
  104. pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ScreenStackManager.kt +110 -0
  105. pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ScrollViewManager.kt +214 -0
  106. pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/SegmentedControlManager.kt +113 -0
  107. pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/StatusBarManager.kt +52 -0
  108. pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/TabBarManager.kt +131 -0
  109. pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/TextInputManager.kt +250 -0
  110. pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/TextManager.kt +233 -0
  111. pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/ViewStyler.kt +355 -0
  112. pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/VirtualListManager.kt +159 -0
  113. pythonnative/native/android/src/main/java/com/pythonnative/runtime/components/WebViewManager.kt +149 -0
  114. pythonnative/native/android/src/main/java/com/pythonnative/runtime/gestures/GestureArbiter.kt +233 -0
  115. pythonnative/native/android/src/main/java/com/pythonnative/runtime/gestures/GestureCoordinator.kt +127 -0
  116. pythonnative/native/android/src/main/java/com/pythonnative/runtime/gestures/GestureRecognizers.kt +527 -0
  117. pythonnative/native/android/src/main/java/com/pythonnative/runtime/layout/NativeLayout.kt +145 -0
  118. pythonnative/native/android/src/main/java/com/pythonnative/runtime/layout/YogaNode.kt +29 -0
  119. pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/BuiltinModules.kt +73 -0
  120. pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/DeviceModules.kt +316 -0
  121. pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/HostModule.kt +61 -0
  122. pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/MediaModules.kt +200 -0
  123. pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/NativeModule.kt +158 -0
  124. pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/NotificationsModule.kt +100 -0
  125. pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/PermissionsModule.kt +99 -0
  126. pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/StorageModules.kt +89 -0
  127. pythonnative/native/android/src/main/java/com/pythonnative/runtime/modules/SystemModules.kt +178 -0
  128. pythonnative/native/android/src/main/java/com/pythonnative/runtime/plugins/GeneratedPlugins.kt +16 -0
  129. pythonnative/native/android/src/main/java/com/pythonnative/runtime/screens/PNScreenFragment.kt +188 -0
  130. pythonnative/native/android/src/main/java/com/pythonnative/runtime/screens/ScreenRegistry.kt +80 -0
  131. pythonnative/native/android/src/main/java/com/pythonnative/runtime/views/PNAccessibilityDelegate.kt +48 -0
  132. pythonnative/native/android/src/main/java/com/pythonnative/runtime/views/PNBorderDrawable.kt +76 -0
  133. pythonnative/native/android/src/main/java/com/pythonnative/runtime/views/PNEditText.kt +18 -0
  134. pythonnative/native/android/src/main/java/com/pythonnative/runtime/views/PNFrameLayout.kt +49 -0
  135. pythonnative/native/android/src/test/java/com/pythonnative/runtime/AnimationSpecsTest.kt +75 -0
  136. pythonnative/native/android/src/test/java/com/pythonnative/runtime/GestureArbiterTest.kt +197 -0
  137. pythonnative/native/android/src/test/java/com/pythonnative/runtime/PNColorTest.kt +47 -0
  138. pythonnative/native/android/src/test/java/com/pythonnative/runtime/PNTransactionTest.kt +78 -0
  139. pythonnative/native/android/src/test/java/com/pythonnative/runtime/PromiseTest.kt +89 -0
  140. pythonnative/native/ios/Package.swift +23 -0
  141. pythonnative/native/ios/Sources/PythonNativeKit/Animation/PNAnimationGraph.swift +199 -0
  142. pythonnative/native/ios/Sources/PythonNativeKit/Animation/PNAnimator.swift +312 -0
  143. pythonnative/native/ios/Sources/PythonNativeKit/Bridge/PNBridge.swift +255 -0
  144. pythonnative/native/ios/Sources/PythonNativeKit/Bridge/PNCommit.swift +104 -0
  145. pythonnative/native/ios/Sources/PythonNativeKit/Bridge/PNRegistry.swift +142 -0
  146. pythonnative/native/ios/Sources/PythonNativeKit/Bridge/PNTransaction.swift +166 -0
  147. pythonnative/native/ios/Sources/PythonNativeKit/Bridge/PNViewRegistry.swift +53 -0
  148. pythonnative/native/ios/Sources/PythonNativeKit/Components/PNButtonManagers.swift +207 -0
  149. pythonnative/native/ios/Sources/PythonNativeKit/Components/PNColor.swift +173 -0
  150. pythonnative/native/ios/Sources/PythonNativeKit/Components/PNComponentManager.swift +183 -0
  151. pythonnative/native/ios/Sources/PythonNativeKit/Components/PNContainerView.swift +56 -0
  152. pythonnative/native/ios/Sources/PythonNativeKit/Components/PNControlManagers.swift +281 -0
  153. pythonnative/native/ios/Sources/PythonNativeKit/Components/PNImageManager.swift +222 -0
  154. pythonnative/native/ios/Sources/PythonNativeKit/Components/PNOverlayManagers.swift +243 -0
  155. pythonnative/native/ios/Sources/PythonNativeKit/Components/PNPressableManager.swift +114 -0
  156. pythonnative/native/ios/Sources/PythonNativeKit/Components/PNScreenStackManager.swift +107 -0
  157. pythonnative/native/ios/Sources/PythonNativeKit/Components/PNScrollViewManager.swift +197 -0
  158. pythonnative/native/ios/Sources/PythonNativeKit/Components/PNTabBarManager.swift +106 -0
  159. pythonnative/native/ios/Sources/PythonNativeKit/Components/PNTextInputManager.swift +297 -0
  160. pythonnative/native/ios/Sources/PythonNativeKit/Components/PNTextManager.swift +230 -0
  161. pythonnative/native/ios/Sources/PythonNativeKit/Components/PNTransform.swift +82 -0
  162. pythonnative/native/ios/Sources/PythonNativeKit/Components/PNViewManager.swift +86 -0
  163. pythonnative/native/ios/Sources/PythonNativeKit/Components/PNViewState.swift +87 -0
  164. pythonnative/native/ios/Sources/PythonNativeKit/Components/PNViewStyler.swift +340 -0
  165. pythonnative/native/ios/Sources/PythonNativeKit/Components/PNVirtualListManager.swift +155 -0
  166. pythonnative/native/ios/Sources/PythonNativeKit/Components/PNWebViewManager.swift +124 -0
  167. pythonnative/native/ios/Sources/PythonNativeKit/Generated/NativeModules.swift +1 -0
  168. pythonnative/native/ios/Sources/PythonNativeKit/Generated/NativeProps.swift +3775 -0
  169. pythonnative/native/ios/Sources/PythonNativeKit/Generated/PNContracts.swift +46 -0
  170. pythonnative/native/ios/Sources/PythonNativeKit/Gestures/PNGestureCoordinator.swift +260 -0
  171. pythonnative/native/ios/Sources/PythonNativeKit/Layout/PNLayout.swift +173 -0
  172. pythonnative/native/ios/Sources/PythonNativeKit/Modules/AlertModule.swift +92 -0
  173. pythonnative/native/ios/Sources/PythonNativeKit/Modules/HostModule.swift +80 -0
  174. pythonnative/native/ios/Sources/PythonNativeKit/Modules/LifecycleModules.swift +174 -0
  175. pythonnative/native/ios/Sources/PythonNativeKit/Modules/MediaModules.swift +177 -0
  176. pythonnative/native/ios/Sources/PythonNativeKit/Modules/PNNativeModule.swift +168 -0
  177. pythonnative/native/ios/Sources/PythonNativeKit/Modules/PermissionModules.swift +266 -0
  178. pythonnative/native/ios/Sources/PythonNativeKit/Modules/SystemModules.swift +251 -0
  179. pythonnative/native/ios/Sources/PythonNativeKit/Plugins/PNPluginRegistration.swift +8 -0
  180. pythonnative/native/ios/Sources/PythonNativeKit/Screens/PNScreenRegistry.swift +46 -0
  181. pythonnative/native/ios/Sources/PythonNativeKit/Screens/PNViewController.swift +237 -0
  182. pythonnative/native/ios/Sources/PythonNativeKit/Support/PNCompat.swift +46 -0
  183. pythonnative/native/ios/Sources/PythonNativeKit/Support/PNJSON.swift +173 -0
  184. pythonnative/native/ios/Sources/PythonNativeKit/Support/PNLog.swift +47 -0
  185. pythonnative/native/ios/Sources/PythonNativeKit/Support/PNWindow.swift +51 -0
  186. pythonnative/native/ios/Tests/PythonNativeKitTests/PNAnimationGraphTests.swift +26 -0
  187. pythonnative/native/ios/Tests/PythonNativeKitTests/PNColorTests.swift +50 -0
  188. pythonnative/native/ios/Tests/PythonNativeKitTests/PNCommitTests.swift +86 -0
  189. pythonnative/native/ios/Tests/PythonNativeKitTests/PNGestureTests.swift +101 -0
  190. pythonnative/native/ios/Tests/PythonNativeKitTests/PNManagerTests.swift +126 -0
  191. pythonnative/native/ios/Tests/PythonNativeKitTests/PNModuleTests.swift +111 -0
  192. pythonnative/native/ios/Tests/PythonNativeKitTests/PNTransactionTests.swift +91 -0
  193. pythonnative/native/yoga/LICENSE +21 -0
  194. pythonnative/native/yoga/Package.swift +9 -0
  195. pythonnative/native/yoga/VENDORED.md +2 -0
  196. pythonnative/native/yoga/include/PNStyle.h +10 -0
  197. pythonnative/native/yoga/include/module.modulemap +5 -0
  198. pythonnative/native/yoga/include/yoga/YGConfig.h +158 -0
  199. pythonnative/native/yoga/include/yoga/YGEnums.h +142 -0
  200. pythonnative/native/yoga/include/yoga/YGMacros.h +99 -0
  201. pythonnative/native/yoga/include/yoga/YGNode.h +304 -0
  202. pythonnative/native/yoga/include/yoga/YGNodeLayout.h +35 -0
  203. pythonnative/native/yoga/include/yoga/YGNodeStyle.h +130 -0
  204. pythonnative/native/yoga/include/yoga/YGPixelGrid.h +29 -0
  205. pythonnative/native/yoga/include/yoga/YGValue.h +84 -0
  206. pythonnative/native/yoga/include/yoga/Yoga.h +21 -0
  207. pythonnative/native/yoga/python.cpp +16 -0
  208. pythonnative/native/yoga/style.cpp +272 -0
  209. pythonnative/native/yoga/yoga/CMakeLists.txt +41 -0
  210. pythonnative/native/yoga/yoga/YGConfig.cpp +92 -0
  211. pythonnative/native/yoga/yoga/YGConfig.h +158 -0
  212. pythonnative/native/yoga/yoga/YGEnums.cpp +262 -0
  213. pythonnative/native/yoga/yoga/YGEnums.h +142 -0
  214. pythonnative/native/yoga/yoga/YGMacros.h +99 -0
  215. pythonnative/native/yoga/yoga/YGNode.cpp +366 -0
  216. pythonnative/native/yoga/yoga/YGNode.h +304 -0
  217. pythonnative/native/yoga/yoga/YGNodeLayout.cpp +92 -0
  218. pythonnative/native/yoga/yoga/YGNodeLayout.h +35 -0
  219. pythonnative/native/yoga/yoga/YGNodeStyle.cpp +405 -0
  220. pythonnative/native/yoga/yoga/YGNodeStyle.h +130 -0
  221. pythonnative/native/yoga/yoga/YGPixelGrid.cpp +22 -0
  222. pythonnative/native/yoga/yoga/YGPixelGrid.h +29 -0
  223. pythonnative/native/yoga/yoga/YGValue.cpp +20 -0
  224. pythonnative/native/yoga/yoga/YGValue.h +84 -0
  225. pythonnative/native/yoga/yoga/Yoga.h +21 -0
  226. pythonnative/native/yoga/yoga/algorithm/AbsoluteLayout.cpp +563 -0
  227. pythonnative/native/yoga/yoga/algorithm/AbsoluteLayout.h +41 -0
  228. pythonnative/native/yoga/yoga/algorithm/Align.h +72 -0
  229. pythonnative/native/yoga/yoga/algorithm/Baseline.cpp +78 -0
  230. pythonnative/native/yoga/yoga/algorithm/Baseline.h +21 -0
  231. pythonnative/native/yoga/yoga/algorithm/BoundAxis.h +79 -0
  232. pythonnative/native/yoga/yoga/algorithm/Cache.cpp +121 -0
  233. pythonnative/native/yoga/yoga/algorithm/Cache.h +30 -0
  234. pythonnative/native/yoga/yoga/algorithm/CalculateLayout.cpp +2428 -0
  235. pythonnative/native/yoga/yoga/algorithm/CalculateLayout.h +38 -0
  236. pythonnative/native/yoga/yoga/algorithm/FlexDirection.h +120 -0
  237. pythonnative/native/yoga/yoga/algorithm/FlexLine.cpp +124 -0
  238. pythonnative/native/yoga/yoga/algorithm/FlexLine.h +75 -0
  239. pythonnative/native/yoga/yoga/algorithm/PixelGrid.cpp +132 -0
  240. pythonnative/native/yoga/yoga/algorithm/PixelGrid.h +29 -0
  241. pythonnative/native/yoga/yoga/algorithm/SizingMode.h +73 -0
  242. pythonnative/native/yoga/yoga/algorithm/TrailingPosition.h +44 -0
  243. pythonnative/native/yoga/yoga/config/Config.cpp +135 -0
  244. pythonnative/native/yoga/yoga/config/Config.h +92 -0
  245. pythonnative/native/yoga/yoga/debug/AssertFatal.cpp +53 -0
  246. pythonnative/native/yoga/yoga/debug/AssertFatal.h +29 -0
  247. pythonnative/native/yoga/yoga/debug/Log.cpp +107 -0
  248. pythonnative/native/yoga/yoga/debug/Log.h +34 -0
  249. pythonnative/native/yoga/yoga/enums/Align.h +47 -0
  250. pythonnative/native/yoga/yoga/enums/BoxSizing.h +40 -0
  251. pythonnative/native/yoga/yoga/enums/Dimension.h +40 -0
  252. pythonnative/native/yoga/yoga/enums/Direction.h +41 -0
  253. pythonnative/native/yoga/yoga/enums/Display.h +41 -0
  254. pythonnative/native/yoga/yoga/enums/Edge.h +47 -0
  255. pythonnative/native/yoga/yoga/enums/Errata.h +41 -0
  256. pythonnative/native/yoga/yoga/enums/ExperimentalFeature.h +39 -0
  257. pythonnative/native/yoga/yoga/enums/FlexDirection.h +42 -0
  258. pythonnative/native/yoga/yoga/enums/Gutter.h +41 -0
  259. pythonnative/native/yoga/yoga/enums/Justify.h +44 -0
  260. pythonnative/native/yoga/yoga/enums/LogLevel.h +44 -0
  261. pythonnative/native/yoga/yoga/enums/MeasureMode.h +41 -0
  262. pythonnative/native/yoga/yoga/enums/NodeType.h +40 -0
  263. pythonnative/native/yoga/yoga/enums/Overflow.h +41 -0
  264. pythonnative/native/yoga/yoga/enums/PhysicalEdge.h +21 -0
  265. pythonnative/native/yoga/yoga/enums/PositionType.h +41 -0
  266. pythonnative/native/yoga/yoga/enums/Unit.h +42 -0
  267. pythonnative/native/yoga/yoga/enums/Wrap.h +41 -0
  268. pythonnative/native/yoga/yoga/enums/YogaEnums.h +85 -0
  269. pythonnative/native/yoga/yoga/event/event.cpp +87 -0
  270. pythonnative/native/yoga/yoga/event/event.h +130 -0
  271. pythonnative/native/yoga/yoga/module.modulemap +21 -0
  272. pythonnative/native/yoga/yoga/node/CachedMeasurement.h +53 -0
  273. pythonnative/native/yoga/yoga/node/LayoutResults.cpp +48 -0
  274. pythonnative/native/yoga/yoga/node/LayoutResults.h +122 -0
  275. pythonnative/native/yoga/yoga/node/LayoutableChildren.h +148 -0
  276. pythonnative/native/yoga/yoga/node/Node.cpp +443 -0
  277. pythonnative/native/yoga/yoga/node/Node.h +337 -0
  278. pythonnative/native/yoga/yoga/numeric/Comparison.h +81 -0
  279. pythonnative/native/yoga/yoga/numeric/FloatOptional.h +93 -0
  280. pythonnative/native/yoga/yoga/style/SmallValueBuffer.h +133 -0
  281. pythonnative/native/yoga/yoga/style/Style.h +757 -0
  282. pythonnative/native/yoga/yoga/style/StyleLength.h +107 -0
  283. pythonnative/native/yoga/yoga/style/StyleValueHandle.h +98 -0
  284. pythonnative/native/yoga/yoga/style/StyleValuePool.h +127 -0
  285. pythonnative/native_modules/__init__.py +124 -0
  286. pythonnative/native_modules/app_state.py +99 -0
  287. pythonnative/native_modules/battery.py +75 -0
  288. pythonnative/native_modules/biometrics.py +42 -0
  289. pythonnative/native_modules/camera.py +65 -0
  290. pythonnative/native_modules/clipboard.py +46 -0
  291. pythonnative/native_modules/fallback.py +324 -0
  292. pythonnative/native_modules/file_system.py +145 -0
  293. pythonnative/native_modules/haptics.py +75 -0
  294. pythonnative/native_modules/linking.py +123 -0
  295. pythonnative/native_modules/location.py +75 -0
  296. pythonnative/native_modules/net_info.py +112 -0
  297. pythonnative/native_modules/notifications.py +129 -0
  298. pythonnative/native_modules/permissions.py +108 -0
  299. pythonnative/native_modules/registry.py +526 -0
  300. pythonnative/native_modules/secure_store.py +52 -0
  301. pythonnative/native_modules/share.py +51 -0
  302. pythonnative/native_views/__init__.py +375 -0
  303. pythonnative/native_views/base.py +316 -0
  304. pythonnative/native_views/bridge_backend.py +277 -0
  305. pythonnative/navigation/__init__.py +103 -0
  306. pythonnative/navigation/container.py +154 -0
  307. pythonnative/navigation/handle.py +540 -0
  308. pythonnative/navigation/hooks.py +133 -0
  309. pythonnative/navigation/host.py +58 -0
  310. pythonnative/navigation/linking.py +200 -0
  311. pythonnative/navigation/navigators.py +659 -0
  312. pythonnative/navigation/screen.py +149 -0
  313. pythonnative/navigation/state.py +269 -0
  314. pythonnative/net.py +248 -0
  315. pythonnative/platform.py +166 -0
  316. pythonnative/platform_metrics.py +252 -0
  317. pythonnative/preview.py +287 -0
  318. pythonnative/profiling.py +101 -0
  319. pythonnative/project/__init__.py +68 -0
  320. pythonnative/project/android.py +557 -0
  321. pythonnative/project/builder.py +817 -0
  322. pythonnative/project/config.py +773 -0
  323. pythonnative/project/deps.py +719 -0
  324. pythonnative/project/devices.py +304 -0
  325. pythonnative/project/doctor.py +283 -0
  326. pythonnative/project/fingerprint.py +171 -0
  327. pythonnative/project/icons.py +247 -0
  328. pythonnative/project/ios.py +325 -0
  329. pythonnative/project/lockfile.py +100 -0
  330. pythonnative/project/permissions.py +361 -0
  331. pythonnative/project/plugins.py +519 -0
  332. pythonnative/project/runtime_assets.py +183 -0
  333. pythonnative/py.typed +0 -0
  334. pythonnative/query.py +153 -0
  335. pythonnative/reconciler/__init__.py +29 -0
  336. pythonnative/reconciler/boundaries.py +375 -0
  337. pythonnative/reconciler/children.py +88 -0
  338. pythonnative/reconciler/core.py +1165 -0
  339. pythonnative/reconciler/layout_pass.py +393 -0
  340. pythonnative/reconciler/vnode.py +266 -0
  341. pythonnative/refresh.py +55 -0
  342. pythonnative/runtime.py +306 -0
  343. pythonnative/scheduler.py +159 -0
  344. pythonnative/sdk/__init__.py +153 -0
  345. pythonnative/sdk/_components.py +427 -0
  346. pythonnative/sdk/builtins.py +91 -0
  347. pythonnative/sdk/codegen.py +149 -0
  348. pythonnative/sdk/module_codegen.py +184 -0
  349. pythonnative/sdk/schema.py +224 -0
  350. pythonnative/sdk/templates/contracts.kt +46 -0
  351. pythonnative/sdk/templates/contracts.swift +46 -0
  352. pythonnative/storage.py +184 -0
  353. pythonnative/style.py +841 -0
  354. pythonnative/suspense.py +183 -0
  355. pythonnative/templates/android_template/app/build.gradle +75 -0
  356. pythonnative/templates/android_template/app/proguard-rules.pro +21 -0
  357. pythonnative/templates/android_template/app/src/androidTest/java/com/pythonnative/android_template/ExampleInstrumentedTest.kt +24 -0
  358. pythonnative/templates/android_template/app/src/debug/AndroidManifest.xml +7 -0
  359. pythonnative/templates/android_template/app/src/main/AndroidManifest.xml +32 -0
  360. pythonnative/templates/android_template/app/src/main/java/com/pythonnative/android_template/MainActivity.kt +130 -0
  361. pythonnative/templates/android_template/app/src/main/java/com/pythonnative/android_template/ScreenFragment.kt +13 -0
  362. pythonnative/templates/android_template/app/src/main/res/drawable/ic_launcher_background.xml +170 -0
  363. pythonnative/templates/android_template/app/src/main/res/drawable-v24/ic_launcher_foreground.xml +30 -0
  364. pythonnative/templates/android_template/app/src/main/res/layout/activity_main.xml +10 -0
  365. pythonnative/templates/android_template/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +6 -0
  366. pythonnative/templates/android_template/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +6 -0
  367. pythonnative/templates/android_template/app/src/main/res/mipmap-hdpi/ic_launcher.webp +0 -0
  368. pythonnative/templates/android_template/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp +0 -0
  369. pythonnative/templates/android_template/app/src/main/res/mipmap-mdpi/ic_launcher.webp +0 -0
  370. pythonnative/templates/android_template/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp +0 -0
  371. pythonnative/templates/android_template/app/src/main/res/mipmap-xhdpi/ic_launcher.webp +0 -0
  372. pythonnative/templates/android_template/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp +0 -0
  373. pythonnative/templates/android_template/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp +0 -0
  374. pythonnative/templates/android_template/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp +0 -0
  375. pythonnative/templates/android_template/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp +0 -0
  376. pythonnative/templates/android_template/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp +0 -0
  377. pythonnative/templates/android_template/app/src/main/res/navigation/nav_graph.xml +22 -0
  378. pythonnative/templates/android_template/app/src/main/res/values/colors.xml +5 -0
  379. pythonnative/templates/android_template/app/src/main/res/values/strings.xml +5 -0
  380. pythonnative/templates/android_template/app/src/main/res/values/themes.xml +9 -0
  381. pythonnative/templates/android_template/app/src/main/res/values-night/themes.xml +7 -0
  382. pythonnative/templates/android_template/app/src/main/res/xml/backup_rules.xml +13 -0
  383. pythonnative/templates/android_template/app/src/main/res/xml/data_extraction_rules.xml +19 -0
  384. pythonnative/templates/android_template/app/src/test/java/com/pythonnative/android_template/ExampleUnitTest.kt +17 -0
  385. pythonnative/templates/android_template/build.gradle +10 -0
  386. pythonnative/templates/android_template/gradle/wrapper/gradle-wrapper.jar +0 -0
  387. pythonnative/templates/android_template/gradle/wrapper/gradle-wrapper.properties +6 -0
  388. pythonnative/templates/android_template/gradle.properties +23 -0
  389. pythonnative/templates/android_template/gradlew +185 -0
  390. pythonnative/templates/android_template/gradlew.bat +89 -0
  391. pythonnative/templates/android_template/settings.gradle +17 -0
  392. pythonnative/templates/ios_template/ios_template/AppDelegate.swift +51 -0
  393. pythonnative/templates/ios_template/ios_template/Assets.xcassets/AccentColor.colorset/Contents.json +11 -0
  394. pythonnative/templates/ios_template/ios_template/Assets.xcassets/AppIcon.appiconset/Contents.json +13 -0
  395. pythonnative/templates/ios_template/ios_template/Assets.xcassets/Contents.json +6 -0
  396. pythonnative/templates/ios_template/ios_template/Base.lproj/LaunchScreen.storyboard +25 -0
  397. pythonnative/templates/ios_template/ios_template/BridgingHeader.h +14 -0
  398. pythonnative/templates/ios_template/ios_template/Info.plist +28 -0
  399. pythonnative/templates/ios_template/ios_template/PythonRuntime.swift +390 -0
  400. pythonnative/templates/ios_template/ios_template/SceneDelegate.swift +61 -0
  401. pythonnative/templates/ios_template/ios_template/ViewController.swift +23 -0
  402. pythonnative/templates/ios_template/ios_template.xcodeproj/project.pbxproj +745 -0
  403. pythonnative/templates/ios_template/ios_template.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  404. pythonnative/templates/ios_template/ios_templateTests/ios_templateTests.swift +36 -0
  405. pythonnative/templates/ios_template/ios_templateUITests/ios_templateUITests.swift +41 -0
  406. pythonnative/templates/ios_template/ios_templateUITests/ios_templateUITestsLaunchTests.swift +32 -0
  407. pythonnative/testing/__init__.py +53 -0
  408. pythonnative/testing/backend.py +276 -0
  409. pythonnative/testing/harness.py +369 -0
  410. pythonnative/utils.py +145 -0
  411. pythonnative-0.40.0.dist-info/DELVEWHEEL +2 -0
  412. pythonnative-0.40.0.dist-info/METADATA +150 -0
  413. pythonnative-0.40.0.dist-info/RECORD +418 -0
  414. pythonnative-0.40.0.dist-info/WHEEL +5 -0
  415. pythonnative-0.40.0.dist-info/entry_points.txt +2 -0
  416. pythonnative-0.40.0.dist-info/licenses/LICENSE +21 -0
  417. pythonnative-0.40.0.dist-info/top_level.txt +1 -0
  418. 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