org.lwjgl.util.yoga.package-info Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of org.lwjgl.yoga Show documentation
Show all versions of org.lwjgl.yoga Show documentation
LWJGL OSGi bundle (Yoga bindings)
The newest version!
/*
* Copyright LWJGL. All rights reserved.
* License terms: https://www.lwjgl.org/license
* MACHINE GENERATED FILE, DO NOT EDIT
*/
/**
* Contains bindings to Yoga.
*
* 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.
*
*
* - Do you already know Flexbox? Then you already know Yoga.
* - Write code in a language familiar to you - Java, C#, Objective-C, C.
* - C under the hood so your code moves fast.
* - Battle tested in popular frameworks like React Native.
*
*
* LWJGL implementation
*
* Unlike the official Yoga Java bindings, the LWJGL bindings directly expose the native C API. {@code 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 {@link org.lwjgl.util.yoga.Yoga#YGNodeCalculateLayout 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);
*/
@org.lwjgl.system.NonnullDefault
package org.lwjgl.util.yoga;