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