Example #1
0
 private void InvalidateFont()
 {
     if (_native != null)
     {
         _native.Dispose();
         _native = null;
     }
 }
Example #2
0
        private PlatformFont GetFont()
        {
            if (_native == null)
            {
#if __MACOS__
                using (var descriptor = !string.IsNullOrEmpty(FontFamily)
                                        ? NSFontDescriptor.FromNameSize(FontFamily, FontSize)
                                        : new NSFontDescriptor())
                {
                    if (IsItalic)
                    {
                        using (var descriptor2 = descriptor.FontDescriptorWithSymbolicTraits(NSFontSymbolicTraits.ItalicTrait))
                        {
                            _native = NSFont.FromDescription(descriptor2, FontSize);
                        }
                    }
                    else
                    {
                        _native = NSFont.FromDescription(descriptor, FontSize);
                    }
                }
#else
                using (var descriptor = !string.IsNullOrEmpty(FontFamily)
                                        ? UIFontDescriptor.FromName(FontFamily, FontSize)
                                        : new UIFontDescriptor())
                {
                    if (IsItalic)
                    {
                        using (var descriptor2 = descriptor.CreateWithTraits(UIFontDescriptorSymbolicTraits.Italic))
                        {
                            _native = UIFont.FromDescriptor(descriptor2, FontSize);
                        }
                    }
                    else
                    {
                        _native = UIFont.FromDescriptor(descriptor, FontSize);
                    }
                }
#endif
            }
            return(_native);
        }