Example #1
0
        public static string GetNSFontString(NativeControlVariant controlVariant, FigmaText text, bool withWeight = true)
        {
            var fontWeight = ViewHelper.GetNSFontWeight(text);

            if (controlVariant == NativeControlVariant.Regular)
            {
                // The system default Medium is slightly different, so let Cocoa handle that
                if (fontWeight == NSFontWeight.Medium || !withWeight)
                {
                    return($"{ typeof(NSFont) }.{ nameof(NSFont.SystemFontOfSize) }({ GetNSFontSizeString(controlVariant) })");
                }
            }

            if (controlVariant == NativeControlVariant.Small)
            {
                // The system default Medium is slightly different, so let Cocoa handle that
                if (fontWeight == NSFontWeight.Medium || !withWeight)
                {
                    return($"{ typeof(NSFont) }.{ nameof(NSFont.SystemFontOfSize) }({ GetNSFontSizeString(controlVariant) })");
                }
                else
                {
                    return($"{ typeof(NSFont) }.{ nameof(NSFont.SystemFontOfSize) }({ GetNSFontSizeString(controlVariant) }, { GetNSFontWeightString(text) })");
                }
            }

            if (withWeight)
            {
                return($"{ typeof(NSFont) }.{ nameof(NSFont.SystemFontOfSize) }({ GetNSFontSizeString(controlVariant) }, { GetNSFontWeightString(text) })");
            }
            else
            {
                return($"{ typeof(NSFont) }.{ nameof(NSFont.SystemFontOfSize) }({ GetNSFontSizeString(controlVariant) })");
            }
        }
Example #2
0
        public static NSFont GetNSFont(NativeControlVariant controlVariant, FigmaText text)
        {
            var fontWeight = GetNSFontWeight(text);

            if (controlVariant == NativeControlVariant.Regular)
            {
                // The system default Medium is slightly different, so let Cocoa handle that
                if (fontWeight == NSFontWeight.Medium)
                {
                    return(NSFont.SystemFontOfSize(NSFont.SystemFontSize));
                }
            }

            if (controlVariant == NativeControlVariant.Small)
            {
                // The system default Medium is slightly different, so let Cocoa handle that
                if (fontWeight == NSFontWeight.Medium)
                {
                    return(NSFont.SystemFontOfSize(NSFont.SmallSystemFontSize));
                }
                else
                {
                    return(NSFont.SystemFontOfSize(NSFont.SmallSystemFontSize, fontWeight));
                }
            }

            return(NSFont.SystemFontOfSize(GetNSFontSize(controlVariant), fontWeight));
        }
Example #3
0
        public static string GetNSFontString(NativeControlVariant controlVariant)
        {
            if (controlVariant == NativeControlVariant.Small)
            {
                return($"{ typeof(NSFont) }.{ nameof(NSFont.SystemFontOfSize) }({ GetNSFontSizeString(controlVariant) })");
            }

            return($"{ typeof(NSFont) }.{ nameof(NSFont.SystemFontOfSize) }({ GetNSFontSizeString(controlVariant) })");
        }
Example #4
0
        public static NSFont GetNSFont(NativeControlVariant controlVariant)
        {
            if (controlVariant == NativeControlVariant.Small)
            {
                return(NSFont.SystemFontOfSize(NSFont.SmallSystemFontSize));
            }

            return(NSFont.SystemFontOfSize(NSFont.SystemFontSize));
        }
Example #5
0
        public static NSControlSize GetNSControlSize(NativeControlVariant controlVariant)
        {
            if (controlVariant == NativeControlVariant.Small)
            {
                return(NSControlSize.Small);
            }

            return(NSControlSize.Regular);
        }
Example #6
0
        public static bool TryGetNativeControlVariant(this FigmaNode node, out NativeControlVariant nativeControlVariant)
        {
            nativeControlVariant = NativeControlVariant.NotDefined;
            if (node is FigmaComponentEntity)
            {
                nativeControlVariant = GetNativeControlVariant(node.name);
                return(nativeControlVariant != NativeControlVariant.NotDefined);
            }

            if (node is FigmaInstance figmaInstance && figmaInstance.Component != null)
            {
                nativeControlVariant = figmaInstance.Component.ToNativeControlVariant();
                return(nativeControlVariant != NativeControlVariant.NotDefined);
            }

            return(false);
        }