private void InvalidateFont() { if (_native != null) { _native.Dispose(); _native = null; } }
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); }