public static NSFont LightSystemFontOfSize(nfloat fontSize) { IntPtr selectorHandle; if (RespondsToSelector(classPtrNSFont, sel__lightSystemFontOfSize_)) { // _lightSystemFontOfSize: is AppKit internal as of 10.14 but is used by Spotlight and Xcode selectorHandle = sel__lightSystemFontOfSize_; } else if (RespondsToSelector(classPtrNSFont, sel_lightSystemFontOfSize_)) { // lightSystemFontOfSize: does not exist, but may in a future macOS... try it next selectorHandle = sel_lightSystemFontOfSize_; } else { // systemFontOfSize: has always existed, fall back to it selectorHandle = sel_systemFontOfSize_; } return(WrappedNSFont.Wrap(IntPtr_objc_msgSend_nfloat( classPtrNSFont, selectorHandle, fontSize))); }
/// <summary> /// Workaround for https://github.com/xamarin/xamarin-macios/pull/5423 /// </summary> public static NSFont FromFontName(string fontName, nfloat fontSize) { var fontNamePtr = NSString.CreateNative(fontName); try { return(WrappedNSFont.Wrap(IntPtr_objc_msgSend_IntPtr_nfloat( classPtrNSFont, selFontWithName_Size, fontNamePtr, fontSize))); } finally { NSString.ReleaseNative(fontNamePtr); } }
public static NSFont SystemFontOfSize(nfloat fontSize) => WrappedNSFont.Wrap(IntPtr_objc_msgSend_nfloat( classPtrNSFont, sel_systemFontOfSize_, fontSize));
public static NSFont UserFontOfSize(nfloat fontSize) => WrappedNSFont.Wrap(IntPtr_objc_msgSend_nfloat( classPtrNSFont, selUserFontOfSize, fontSize));