2019-10-15 10:30:08 -07:00
|
|
|
/*
|
2021-12-30 15:08:43 -08:00
|
|
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
2019-09-18 00:36:26 -07:00
|
|
|
*
|
2019-10-15 10:30:08 -07:00
|
|
|
* This source code is licensed under the MIT license found in the
|
|
|
|
* LICENSE file in the root directory of this source tree.
|
2019-09-18 00:36:26 -07:00
|
|
|
*/
|
2019-10-15 10:30:08 -07:00
|
|
|
|
2019-09-18 00:36:26 -07:00
|
|
|
package com.facebook.yoga;
|
|
|
|
|
|
|
|
public abstract class YogaConfigJNIBase extends YogaConfig {
|
|
|
|
|
2019-09-22 13:46:35 -07:00
|
|
|
long mNativePointer;
|
2019-09-18 00:36:26 -07:00
|
|
|
private YogaLogger mLogger;
|
|
|
|
|
|
|
|
private YogaConfigJNIBase(long nativePointer) {
|
|
|
|
if (nativePointer == 0) {
|
|
|
|
throw new IllegalStateException("Failed to allocate native memory");
|
|
|
|
}
|
|
|
|
mNativePointer = nativePointer;
|
|
|
|
}
|
|
|
|
|
|
|
|
YogaConfigJNIBase() {
|
2019-11-13 15:13:02 -08:00
|
|
|
this(YogaNative.jni_YGConfigNewJNI());
|
2019-09-18 00:36:26 -07:00
|
|
|
}
|
|
|
|
|
2019-10-08 14:23:57 -07:00
|
|
|
YogaConfigJNIBase(boolean useVanillaJNI) {
|
2019-11-13 15:13:02 -08:00
|
|
|
this(YogaNative.jni_YGConfigNewJNI());
|
2019-10-08 14:23:57 -07:00
|
|
|
}
|
|
|
|
|
2019-09-18 00:36:26 -07:00
|
|
|
public void setExperimentalFeatureEnabled(YogaExperimentalFeature feature, boolean enabled) {
|
2019-11-13 15:13:02 -08:00
|
|
|
YogaNative.jni_YGConfigSetExperimentalFeatureEnabledJNI(mNativePointer, feature.intValue(), enabled);
|
2019-09-18 00:36:26 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
public void setUseWebDefaults(boolean useWebDefaults) {
|
2019-11-13 15:13:02 -08:00
|
|
|
YogaNative.jni_YGConfigSetUseWebDefaultsJNI(mNativePointer, useWebDefaults);
|
2019-09-18 00:36:26 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
public void setPointScaleFactor(float pixelsInPoint) {
|
2019-11-13 15:13:02 -08:00
|
|
|
YogaNative.jni_YGConfigSetPointScaleFactorJNI(mNativePointer, pixelsInPoint);
|
2019-09-18 00:36:26 -07:00
|
|
|
}
|
|
|
|
|
2023-04-27 06:48:04 -07:00
|
|
|
public void setErrata(YogaErrata errata) {
|
|
|
|
YogaNative.jni_YGConfigSetErrataJNI(mNativePointer, errata.intValue());
|
|
|
|
}
|
|
|
|
|
|
|
|
public YogaErrata getErrata() {
|
|
|
|
return YogaErrata.fromInt(YogaNative.jni_YGConfigGetErrataJNI(mNativePointer));
|
|
|
|
}
|
|
|
|
|
2019-09-18 00:36:26 -07:00
|
|
|
public void setLogger(YogaLogger logger) {
|
|
|
|
mLogger = logger;
|
2019-11-13 15:13:02 -08:00
|
|
|
YogaNative.jni_YGConfigSetLoggerJNI(mNativePointer, logger);
|
2019-09-18 00:36:26 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
public YogaLogger getLogger() {
|
|
|
|
return mLogger;
|
|
|
|
}
|
|
|
|
|
2023-12-05 07:14:20 -08:00
|
|
|
protected long getNativePointer() {
|
2019-09-18 00:36:26 -07:00
|
|
|
return mNativePointer;
|
|
|
|
}
|
|
|
|
}
|