All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.lwjgl.util.yoga.package-info Maven / Gradle / Ivy

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;




© 2015 - 2024 Weber Informatics LLC | Privacy Policy