private YogaConfig(YGConfigHandle ygConfig) { _ygConfig = ygConfig; if (_ygConfig.IsInvalid) { throw new InvalidOperationException("Failed to allocate native memory"); } _ygConfig.SetContext(this); if (_ygConfig == YGConfigHandle.Default) { _managedLogger = LoggerInternal; } }
private YogaConfig(YGConfigHandle ygConfig) { _ygConfig = ygConfig; if (_ygConfig.IsInvalid) { throw new InvalidOperationException("Failed to allocate native memory"); } _ygConfig.SetContext(this); if (_ygConfig == YGConfigHandle.Default) { _managedLogger = LoggerInternal; #if (!UNITY_WEBGL && !UNITY_ANDROID) || UNITY_EDITOR Native.YGInteropSetLogger(_managedLogger); #endif } }
private static void LoggerInternal( IntPtr unmanagedConfigPtr, IntPtr unmanagedNodePtr, YogaLogLevel level, string message) { var config = YGConfigHandle.GetManaged(unmanagedConfigPtr); if (config == null || config._logger == null) { // Default logger System.Diagnostics.Debug.WriteLine(message); } else { var node = YGNodeHandle.GetManaged(unmanagedNodePtr); config._logger(config, node, level, message); } if (level == YogaLogLevel.Error || level == YogaLogLevel.Fatal) { throw new InvalidOperationException(message); } }
public static extern bool YGConfigIsExperimentalFeatureEnabled( YGConfigHandle config, YogaExperimentalFeature feature);
public static extern void YGConfigSetExperimentalFeatureEnabled( YGConfigHandle config, YogaExperimentalFeature feature, bool enabled);
public static extern YGNodeHandle YGNodeNewWithConfig(YGConfigHandle config);
public static extern void YGConfigSetPointScaleFactor( YGConfigHandle config, float pixelsInPoint);
public static extern bool YGConfigGetUseWebDefaults(YGConfigHandle config);
public static extern void YGConfigSetUseWebDefaults( YGConfigHandle config, bool useWebDefaults);
public static extern bool YGConfigGetUseLegacyStretchBehaviour(YGConfigHandle config);
public static extern void YGConfigSetUseLegacyStretchBehaviour( YGConfigHandle config, bool useLegacyStretchBehavior);