Example #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;
            }
        }
Example #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
            }
        }
Example #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);
            }
        }
Example #4
0
 public static extern bool YGConfigIsExperimentalFeatureEnabled(
     YGConfigHandle config,
     YogaExperimentalFeature feature);
Example #5
0
 public static extern void YGConfigSetExperimentalFeatureEnabled(
     YGConfigHandle config,
     YogaExperimentalFeature feature,
     bool enabled);
Example #6
0
 public static extern YGNodeHandle YGNodeNewWithConfig(YGConfigHandle config);
Example #7
0
 public static extern void YGConfigSetPointScaleFactor(
     YGConfigHandle config,
     float pixelsInPoint);
Example #8
0
 public static extern bool YGConfigGetUseWebDefaults(YGConfigHandle config);
Example #9
0
 public static extern void YGConfigSetUseWebDefaults(
     YGConfigHandle config,
     bool useWebDefaults);
Example #10
0
File: Native.cs Project: zbwbb/yoga
 public static extern bool YGConfigGetUseLegacyStretchBehaviour(YGConfigHandle config);
Example #11
0
File: Native.cs Project: zbwbb/yoga
 public static extern void YGConfigSetUseLegacyStretchBehaviour(
     YGConfigHandle config,
     bool useLegacyStretchBehavior);