Exemple #1
0
        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;
            }
        }
Exemple #2
0
        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
            }
        }
Exemple #3
0
        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);
            }
        }
Exemple #4
0
 public static extern bool YGConfigIsExperimentalFeatureEnabled(
     YGConfigHandle config,
     YogaExperimentalFeature feature);
Exemple #5
0
 public static extern void YGConfigSetExperimentalFeatureEnabled(
     YGConfigHandle config,
     YogaExperimentalFeature feature,
     bool enabled);
Exemple #6
0
 public static extern YGNodeHandle YGNodeNewWithConfig(YGConfigHandle config);
Exemple #7
0
 public static extern void YGConfigSetPointScaleFactor(
     YGConfigHandle config,
     float pixelsInPoint);
Exemple #8
0
 public static extern bool YGConfigGetUseWebDefaults(YGConfigHandle config);
Exemple #9
0
 public static extern void YGConfigSetUseWebDefaults(
     YGConfigHandle config,
     bool useWebDefaults);
Exemple #10
0
 public static extern bool YGConfigGetUseLegacyStretchBehaviour(YGConfigHandle config);
Exemple #11
0
 public static extern void YGConfigSetUseLegacyStretchBehaviour(
     YGConfigHandle config,
     bool useLegacyStretchBehavior);