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 lwjgl-yoga Show documentation
Show all versions of lwjgl-yoga Show documentation
An open-source, cross-platform layout library that implements Flexbox.
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.jspecify.annotations.NullMarked
package org.lwjgl.util.yoga;
© 2015 - 2025 Weber Informatics LLC | Privacy Policy