Nick Gerleman
a713a598c8
Fix modulemap typo ( #1474 )
...
Summary:
X-link: https://github.com/facebook/react-native/pull/41564
Pull Request resolved: https://github.com/facebook/yoga/pull/1474
Fixes https://github.com/facebook/yoga/issues/1468
We build with Swift, but don't build something consuming Yoga module, and don't use modulemap and CocoaPods. This is a gap in validation we should figure out, but in the meantime, we should fix the typo.
Reviewed By: christophpurrer
Differential Revision: D51472493
fbshipit-source-id: 60e05cc49969f51d5fc4856cf25ce2afede72f36
2023-11-20 14:10:56 -08:00
Nick Gerleman
c46ea9c6f5
Modularize and document public API ( #1449 )
...
Summary:
X-link: https://github.com/facebook/react-native/pull/41317
Pull Request resolved: https://github.com/facebook/yoga/pull/1449
This aims to clean up the public Yoga C API, by:
1. Documenting public YGNode, YGValue, YGConfig APIs
2. Splitting APIs for specific objects into different header files (because Yoga.h was big enough without documentation)
3. Reordering headers and definitions for consistent grouping
Changelog: [Internal]
Reviewed By: joevilches
Differential Revision: D50963424
fbshipit-source-id: 45124b7370256fc63aefd6d5b7641466e9a79d3b
2023-11-10 16:31:46 -08:00
Lvv.me
ef5784aca6
Add SwiftPM support ( #1339 )
...
Summary:
Using yoga in Swift
```swift
import UIKit
import yoga
let YGUndefined = Float.nan
UIGraphicsBeginImageContextWithOptions(CGSize(width: 1, height: 1), true, 0)
let scale = UIGraphicsGetCurrentContext()?.ctm.a ?? 1
UIGraphicsEndImageContext()
let config = YGConfigNew()
YGConfigSetUseWebDefaults(config, true)
YGConfigSetPointScaleFactor(config, Float(scale))
let root = YGNodeNewWithConfig(config)
YGNodeStyleSetFlexDirection(root, YGFlexDirectionRow)
YGNodeStyleSetFlexWrap(root, YGWrapWrap)
YGNodeStyleSetWidth(root, 200)
for i in 0..<4 {
let leaf = YGNodeNewWithConfig(config)
YGNodeStyleSetAspectRatio(leaf, 1)
YGNodeStyleSetWidthPercent(leaf, 50)
YGNodeInsertChild(root, leaf, UInt32(i))
}
YGNodeCalculateLayout(root, YGUndefined, YGUndefined, YGNodeStyleGetDirection(root))
for i in 0..<4 {
let leaf = YGNodeGetChild(root, UInt32(i))
let left = YGNodeLayoutGetLeft(leaf)
let top = YGNodeLayoutGetTop(leaf)
let width = YGNodeLayoutGetWidth(leaf)
let height = YGNodeLayoutGetHeight(leaf)
print("leaf \(i): origin: \(left), \(top), size: \(width), \(height)")
}
let width = YGNodeLayoutGetWidth(root)
let height = YGNodeLayoutGetHeight(root)
print("root size: \(width), \(height)")
YGNodeFreeRecursive(root)
YGConfigFree(config)
```
Pull Request resolved: https://github.com/facebook/yoga/pull/1339
Reviewed By: cipolleschi
Differential Revision: D48166958
Pulled By: NickGerleman
fbshipit-source-id: 72fef99729d01c7ba291b11f047cf75fd39f7630
2023-08-10 17:40:10 -07:00