Yoga is a cross-platform layout engine enabling maximum collaboration within your team by implementing an API familiar to many designers and opening it up to developers across different platforms.
Unlike the official Yoga Java bindings, the LWJGL bindings directly expose the native C API. YGNodeRef handles do not need to be wrapped in Java
instances, so there is no memory overhead. The internal Yoga structs are also exposed, which makes it very efficient to read the current tree layout
after a call to NodeCalculateLayout:
// Public API, 4x JNI call overhead
float l = YGNodeLayoutGetLeft(node);
float t = YGNodeLayoutGetTop(node);
float w = YGNodeLayoutGetWidth(node);
float h = YGNodeLayoutGetHeight(node);
// Internal API without overhead (plain memory accesses, assuming allocations are eliminated via EA)
YGLayout layout = YGNode.create(node).layout();
float l = layout.positions(YGEdgeLeft);
float t = layout.positions(YGEdgeTop);
float w = layout.dimensions(YGDimensionWidth);
float h = layout.dimensions(YGDimensionHeight);
| Modifier and Type | Interface and Description |
|---|---|
| public interface | |
| public interface | |
| public interface | |
| public interface | |
| public interface | YGMeasureFuncI
Type
|
| public interface | |
| public interface |
| Modifier and Type | Class and Description |
|---|---|
| public class | CompactValue
Unstable/private API. |
| pack-priv class | LibYoga
Initializes the yoga shared library. |
| public abstract class | |
| public class | YGCachedMeasurement
Unstable/private API. |
| public abstract class | |
| public abstract class | |
| public class | |
| public class | YGLayout
Unstable/private API. |
| public abstract class | |
| public abstract class | YGMeasureFunc
Type
|
| public class | YGNode
Unstable/private API. |
| public abstract class | |
| public class | YGNodeFlags
Layout
|
| public abstract class | |
| public class | |
| public class | YGStyle
Unstable/private API. |
| public class | |
| public class |