Add YogaNodeProperties implementation with ByteBuffer based setters

Summary:
@public
Adds an implementation of `YogaNodeProperties` that sets style properties using a `ByteBuffer` rather than JNI calls.
We hope for a speed improvement.

Reviewed By: pasqualeanatriello

Differential Revision: D9042225

fbshipit-source-id: c7f2b24eaeddd1190755bec85a5034079bd2f492
This commit is contained in:
David Aurelio
2018-07-30 09:30:54 -07:00
committed by Facebook Github Bot
parent 3499e2e0ef
commit 78d6988461
5 changed files with 347 additions and 38 deletions

View File

@@ -12,43 +12,59 @@ import java.util.Arrays;
public class TestParametrization {
public static Iterable<NodeFactory> nodeFactories() {
return Arrays.asList(
new NodeFactory() {
@Override
public YogaNode create() {
return new YogaNode();
}
new NodeFactory() {
@Override
public YogaNode create() {
return new YogaNode();
}
@Override
public YogaNode create(YogaConfig config) {
return new YogaNode(config);
}
@Override
public YogaNode create(YogaConfig config) {
return new YogaNode(config);
}
@Override
public String toString() {
return "JNI";
}
},
new NodeFactory() {
@Override
public YogaNode create() {
return new YogaNode(true);
}
@Override
public String toString() {
return "JNI";
}
},
new NodeFactory() {
@Override
public YogaNode create() {
return new YogaNode(YogaNode.BYTE_BUFFER);
}
@Override
public YogaNode create(YogaConfig config) {
return new YogaNode(true, config);
}
@Override
public YogaNode create(YogaConfig config) {
return new YogaNode(YogaNode.BYTE_BUFFER, config);
}
@Override
public String toString() {
return "ByteBuffer";
}
});
@Override
public String toString() {
return "ByteBuffer";
}
},
new NodeFactory() {
@Override
public YogaNode create() {
return new YogaNode(YogaNode.HYBRID);
}
@Override
public YogaNode create(YogaConfig config) {
return new YogaNode(YogaNode.HYBRID, config);
}
@Override
public String toString() {
return "Hybrid";
}
});
}
public interface NodeFactory {
YogaNode create();
YogaNode create(YogaConfig config);
}
}