942 lines
32 KiB
C#
942 lines
32 KiB
C#
using CPF.Mac.Foundation;
|
|
using CPF.Mac.ObjCRuntime;
|
|
using System;
|
|
using System.ComponentModel;
|
|
|
|
namespace CPF.Mac.AppKit
|
|
{
|
|
[Register("NSFontManager", true)]
|
|
public class NSFontManager : NSObject
|
|
{
|
|
private static readonly IntPtr selSharedFontManagerHandle = Selector.GetHandle("sharedFontManager");
|
|
|
|
private static readonly IntPtr selIsMultipleHandle = Selector.GetHandle("isMultiple");
|
|
|
|
private static readonly IntPtr selSelectedFontHandle = Selector.GetHandle("selectedFont");
|
|
|
|
private static readonly IntPtr selAvailableFontsHandle = Selector.GetHandle("availableFonts");
|
|
|
|
private static readonly IntPtr selAvailableFontFamiliesHandle = Selector.GetHandle("availableFontFamilies");
|
|
|
|
private static readonly IntPtr selIsEnabledHandle = Selector.GetHandle("isEnabled");
|
|
|
|
private static readonly IntPtr selSetEnabled_Handle = Selector.GetHandle("setEnabled:");
|
|
|
|
private static readonly IntPtr selActionHandle = Selector.GetHandle("action");
|
|
|
|
private static readonly IntPtr selSetAction_Handle = Selector.GetHandle("setAction:");
|
|
|
|
private static readonly IntPtr selSendActionHandle = Selector.GetHandle("sendAction");
|
|
|
|
private static readonly IntPtr selDelegateHandle = Selector.GetHandle("delegate");
|
|
|
|
private static readonly IntPtr selSetDelegate_Handle = Selector.GetHandle("setDelegate:");
|
|
|
|
private static readonly IntPtr selCollectionNamesHandle = Selector.GetHandle("collectionNames");
|
|
|
|
private static readonly IntPtr selCurrentFontActionHandle = Selector.GetHandle("currentFontAction");
|
|
|
|
private static readonly IntPtr selTargetHandle = Selector.GetHandle("target");
|
|
|
|
private static readonly IntPtr selSetTarget_Handle = Selector.GetHandle("setTarget:");
|
|
|
|
private static readonly IntPtr selSetFontPanelFactory_Handle = Selector.GetHandle("setFontPanelFactory:");
|
|
|
|
private static readonly IntPtr selSetFontManagerFactory_Handle = Selector.GetHandle("setFontManagerFactory:");
|
|
|
|
private static readonly IntPtr selSetSelectedFontIsMultiple_Handle = Selector.GetHandle("setSelectedFont:isMultiple:");
|
|
|
|
private static readonly IntPtr selSetFontMenu_Handle = Selector.GetHandle("setFontMenu:");
|
|
|
|
private static readonly IntPtr selFontMenu_Handle = Selector.GetHandle("fontMenu:");
|
|
|
|
private static readonly IntPtr selFontPanel_Handle = Selector.GetHandle("fontPanel:");
|
|
|
|
private static readonly IntPtr selFontWithFamilyTraitsWeightSize_Handle = Selector.GetHandle("fontWithFamily:traits:weight:size:");
|
|
|
|
private static readonly IntPtr selTraitsOfFont_Handle = Selector.GetHandle("traitsOfFont:");
|
|
|
|
private static readonly IntPtr selWeightOfFont_Handle = Selector.GetHandle("weightOfFont:");
|
|
|
|
private static readonly IntPtr selAvailableMembersOfFontFamily_Handle = Selector.GetHandle("availableMembersOfFontFamily:");
|
|
|
|
private static readonly IntPtr selConvertFont_Handle = Selector.GetHandle("convertFont:");
|
|
|
|
private static readonly IntPtr selConvertFontToSize_Handle = Selector.GetHandle("convertFont:toSize:");
|
|
|
|
private static readonly IntPtr selConvertFontToFace_Handle = Selector.GetHandle("convertFont:toFace:");
|
|
|
|
private static readonly IntPtr selConvertFontToFamily_Handle = Selector.GetHandle("convertFont:toFamily:");
|
|
|
|
private static readonly IntPtr selConvertFontToHaveTrait_Handle = Selector.GetHandle("convertFont:toHaveTrait:");
|
|
|
|
private static readonly IntPtr selConvertFontToNotHaveTrait_Handle = Selector.GetHandle("convertFont:toNotHaveTrait:");
|
|
|
|
private static readonly IntPtr selConvertWeightOfFont_Handle = Selector.GetHandle("convertWeight:ofFont:");
|
|
|
|
private static readonly IntPtr selLocalizedNameForFamilyFace_Handle = Selector.GetHandle("localizedNameForFamily:face:");
|
|
|
|
private static readonly IntPtr selSetSelectedAttributesIsMultiple_Handle = Selector.GetHandle("setSelectedAttributes:isMultiple:");
|
|
|
|
private static readonly IntPtr selConvertAttributes_Handle = Selector.GetHandle("convertAttributes:");
|
|
|
|
private static readonly IntPtr selAvailableFontNamesMatchingFontDescriptor_Handle = Selector.GetHandle("availableFontNamesMatchingFontDescriptor:");
|
|
|
|
private static readonly IntPtr selFontDescriptorsInCollection_Handle = Selector.GetHandle("fontDescriptorsInCollection:");
|
|
|
|
private static readonly IntPtr selAddCollectionOptions_Handle = Selector.GetHandle("addCollection:options:");
|
|
|
|
private static readonly IntPtr selRemoveCollection_Handle = Selector.GetHandle("removeCollection:");
|
|
|
|
private static readonly IntPtr selAddFontDescriptorsToCollection_Handle = Selector.GetHandle("addFontDescriptors:toCollection:");
|
|
|
|
private static readonly IntPtr selRemoveFontDescriptorFromCollection_Handle = Selector.GetHandle("removeFontDescriptor:fromCollection:");
|
|
|
|
private static readonly IntPtr selConvertFontTraits_Handle = Selector.GetHandle("convertFontTraits:");
|
|
|
|
private static readonly IntPtr selFontNamedHasTraits_Handle = Selector.GetHandle("fontNamed:hasTraits:");
|
|
|
|
private static readonly IntPtr selAvailableFontNamesWithTraits_Handle = Selector.GetHandle("availableFontNamesWithTraits:");
|
|
|
|
private static readonly IntPtr selAddFontTrait_Handle = Selector.GetHandle("addFontTrait:");
|
|
|
|
private static readonly IntPtr selRemoveFontTrait_Handle = Selector.GetHandle("removeFontTrait:");
|
|
|
|
private static readonly IntPtr selModifyFontViaPanel_Handle = Selector.GetHandle("modifyFontViaPanel:");
|
|
|
|
private static readonly IntPtr selModifyFont_Handle = Selector.GetHandle("modifyFont:");
|
|
|
|
private static readonly IntPtr selOrderFrontFontPanel_Handle = Selector.GetHandle("orderFrontFontPanel:");
|
|
|
|
private static readonly IntPtr selOrderFrontStylesPanel_Handle = Selector.GetHandle("orderFrontStylesPanel:");
|
|
|
|
private static readonly IntPtr class_ptr = Class.GetHandle("NSFontManager");
|
|
|
|
private static object __mt_SharedFontManager_var_static;
|
|
|
|
private object __mt_SelectedFont_var;
|
|
|
|
private object __mt_WeakDelegate_var;
|
|
|
|
private object __mt_Target_var;
|
|
|
|
public override IntPtr ClassHandle => class_ptr;
|
|
|
|
public static NSFontManager SharedFontManager
|
|
{
|
|
[Export("sharedFontManager")]
|
|
get
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
return (NSFontManager)(__mt_SharedFontManager_var_static = (NSFontManager)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(class_ptr, selSharedFontManagerHandle)));
|
|
}
|
|
}
|
|
|
|
public virtual bool IsMultiple
|
|
{
|
|
[Export("isMultiple")]
|
|
get
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (IsDirectBinding)
|
|
{
|
|
return Messaging.bool_objc_msgSend(base.Handle, selIsMultipleHandle);
|
|
}
|
|
return Messaging.bool_objc_msgSendSuper(base.SuperHandle, selIsMultipleHandle);
|
|
}
|
|
}
|
|
|
|
public virtual NSFont SelectedFont
|
|
{
|
|
[Export("selectedFont")]
|
|
get
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
return (NSFont)(__mt_SelectedFont_var = ((!IsDirectBinding) ? ((NSFont)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selSelectedFontHandle))) : ((NSFont)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(base.Handle, selSelectedFontHandle)))));
|
|
}
|
|
}
|
|
|
|
public virtual string[] AvailableFonts
|
|
{
|
|
[Export("availableFonts")]
|
|
get
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (IsDirectBinding)
|
|
{
|
|
return NSArray.StringArrayFromHandle(Messaging.IntPtr_objc_msgSend(base.Handle, selAvailableFontsHandle));
|
|
}
|
|
return NSArray.StringArrayFromHandle(Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selAvailableFontsHandle));
|
|
}
|
|
}
|
|
|
|
public virtual string[] AvailableFontFamilies
|
|
{
|
|
[Export("availableFontFamilies")]
|
|
get
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (IsDirectBinding)
|
|
{
|
|
return NSArray.StringArrayFromHandle(Messaging.IntPtr_objc_msgSend(base.Handle, selAvailableFontFamiliesHandle));
|
|
}
|
|
return NSArray.StringArrayFromHandle(Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selAvailableFontFamiliesHandle));
|
|
}
|
|
}
|
|
|
|
public virtual bool Enabled
|
|
{
|
|
[Export("isEnabled")]
|
|
get
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (IsDirectBinding)
|
|
{
|
|
return Messaging.bool_objc_msgSend(base.Handle, selIsEnabledHandle);
|
|
}
|
|
return Messaging.bool_objc_msgSendSuper(base.SuperHandle, selIsEnabledHandle);
|
|
}
|
|
[Export("setEnabled:")]
|
|
set
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (IsDirectBinding)
|
|
{
|
|
Messaging.void_objc_msgSend_bool(base.Handle, selSetEnabled_Handle, value);
|
|
}
|
|
else
|
|
{
|
|
Messaging.void_objc_msgSendSuper_bool(base.SuperHandle, selSetEnabled_Handle, value);
|
|
}
|
|
}
|
|
}
|
|
|
|
public virtual Selector Action
|
|
{
|
|
[Export("action")]
|
|
get
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (IsDirectBinding)
|
|
{
|
|
return Selector.FromHandle(Messaging.IntPtr_objc_msgSend(base.Handle, selActionHandle));
|
|
}
|
|
return Selector.FromHandle(Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selActionHandle));
|
|
}
|
|
[Export("setAction:")]
|
|
set
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (IsDirectBinding)
|
|
{
|
|
Messaging.void_objc_msgSend_IntPtr(base.Handle, selSetAction_Handle, (value == null) ? IntPtr.Zero : value.Handle);
|
|
}
|
|
else
|
|
{
|
|
Messaging.void_objc_msgSendSuper_IntPtr(base.SuperHandle, selSetAction_Handle, (value == null) ? IntPtr.Zero : value.Handle);
|
|
}
|
|
}
|
|
}
|
|
|
|
public virtual bool SendAction
|
|
{
|
|
[Export("sendAction")]
|
|
get
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (IsDirectBinding)
|
|
{
|
|
return Messaging.bool_objc_msgSend(base.Handle, selSendActionHandle);
|
|
}
|
|
return Messaging.bool_objc_msgSendSuper(base.SuperHandle, selSendActionHandle);
|
|
}
|
|
}
|
|
|
|
public virtual NSObject WeakDelegate
|
|
{
|
|
[Export("delegate")]
|
|
get
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
return (NSObject)(__mt_WeakDelegate_var = ((!IsDirectBinding) ? Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selDelegateHandle)) : Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(base.Handle, selDelegateHandle))));
|
|
}
|
|
[Export("setDelegate:")]
|
|
set
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (value == null)
|
|
{
|
|
throw new ArgumentNullException("value");
|
|
}
|
|
if (IsDirectBinding)
|
|
{
|
|
Messaging.void_objc_msgSend_IntPtr(base.Handle, selSetDelegate_Handle, value.Handle);
|
|
}
|
|
else
|
|
{
|
|
Messaging.void_objc_msgSendSuper_IntPtr(base.SuperHandle, selSetDelegate_Handle, value.Handle);
|
|
}
|
|
__mt_WeakDelegate_var = value;
|
|
}
|
|
}
|
|
|
|
public virtual string[] CollectionNames
|
|
{
|
|
[Export("collectionNames")]
|
|
get
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (IsDirectBinding)
|
|
{
|
|
return NSArray.StringArrayFromHandle(Messaging.IntPtr_objc_msgSend(base.Handle, selCollectionNamesHandle));
|
|
}
|
|
return NSArray.StringArrayFromHandle(Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selCollectionNamesHandle));
|
|
}
|
|
}
|
|
|
|
public virtual long CurrentFontAction
|
|
{
|
|
[Export("currentFontAction")]
|
|
get
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (IsDirectBinding)
|
|
{
|
|
return Messaging.Int64_objc_msgSend(base.Handle, selCurrentFontActionHandle);
|
|
}
|
|
return Messaging.Int64_objc_msgSendSuper(base.SuperHandle, selCurrentFontActionHandle);
|
|
}
|
|
}
|
|
|
|
public virtual NSObject Target
|
|
{
|
|
[Export("target")]
|
|
get
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
return (NSObject)(__mt_Target_var = ((!IsDirectBinding) ? Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, selTargetHandle)) : Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend(base.Handle, selTargetHandle))));
|
|
}
|
|
[Export("setTarget:")]
|
|
set
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (IsDirectBinding)
|
|
{
|
|
Messaging.void_objc_msgSend_IntPtr(base.Handle, selSetTarget_Handle, value?.Handle ?? IntPtr.Zero);
|
|
}
|
|
else
|
|
{
|
|
Messaging.void_objc_msgSendSuper_IntPtr(base.SuperHandle, selSetTarget_Handle, value?.Handle ?? IntPtr.Zero);
|
|
}
|
|
__mt_Target_var = value;
|
|
}
|
|
}
|
|
|
|
[EditorBrowsable(EditorBrowsableState.Advanced)]
|
|
[Export("init")]
|
|
public NSFontManager()
|
|
: base(NSObjectFlag.Empty)
|
|
{
|
|
if (IsDirectBinding)
|
|
{
|
|
base.Handle = Messaging.IntPtr_objc_msgSend(base.Handle, Selector.Init);
|
|
}
|
|
else
|
|
{
|
|
base.Handle = Messaging.IntPtr_objc_msgSendSuper(base.SuperHandle, Selector.Init);
|
|
}
|
|
}
|
|
|
|
[EditorBrowsable(EditorBrowsableState.Advanced)]
|
|
[Export("initWithCoder:")]
|
|
public NSFontManager(NSCoder coder)
|
|
: base(NSObjectFlag.Empty)
|
|
{
|
|
if (IsDirectBinding)
|
|
{
|
|
base.Handle = Messaging.IntPtr_objc_msgSend_IntPtr(base.Handle, Selector.InitWithCoder, coder.Handle);
|
|
}
|
|
else
|
|
{
|
|
base.Handle = Messaging.IntPtr_objc_msgSendSuper_IntPtr(base.SuperHandle, Selector.InitWithCoder, coder.Handle);
|
|
}
|
|
}
|
|
|
|
[EditorBrowsable(EditorBrowsableState.Advanced)]
|
|
public NSFontManager(NSObjectFlag t)
|
|
: base(t)
|
|
{
|
|
}
|
|
|
|
[EditorBrowsable(EditorBrowsableState.Advanced)]
|
|
public NSFontManager(IntPtr handle)
|
|
: base(handle)
|
|
{
|
|
}
|
|
|
|
[Export("setFontPanelFactory:")]
|
|
public static void SetFontPanelFactory(Class factoryId)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (factoryId == null)
|
|
{
|
|
throw new ArgumentNullException("factoryId");
|
|
}
|
|
Messaging.void_objc_msgSend_IntPtr(class_ptr, selSetFontPanelFactory_Handle, factoryId.Handle);
|
|
}
|
|
|
|
[Export("setFontManagerFactory:")]
|
|
public static void SetFontManagerFactory(Class factoryId)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (factoryId == null)
|
|
{
|
|
throw new ArgumentNullException("factoryId");
|
|
}
|
|
Messaging.void_objc_msgSend_IntPtr(class_ptr, selSetFontManagerFactory_Handle, factoryId.Handle);
|
|
}
|
|
|
|
[Export("setSelectedFont:isMultiple:")]
|
|
public virtual void SetSelectedFont(NSFont fontObj, bool isMultiple)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (fontObj == null)
|
|
{
|
|
throw new ArgumentNullException("fontObj");
|
|
}
|
|
if (IsDirectBinding)
|
|
{
|
|
Messaging.void_objc_msgSend_IntPtr_bool(base.Handle, selSetSelectedFontIsMultiple_Handle, fontObj.Handle, isMultiple);
|
|
}
|
|
else
|
|
{
|
|
Messaging.void_objc_msgSendSuper_IntPtr_bool(base.SuperHandle, selSetSelectedFontIsMultiple_Handle, fontObj.Handle, isMultiple);
|
|
}
|
|
}
|
|
|
|
[Export("setFontMenu:")]
|
|
public virtual void SetFontMenu(NSMenu newMenu)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (newMenu == null)
|
|
{
|
|
throw new ArgumentNullException("newMenu");
|
|
}
|
|
if (IsDirectBinding)
|
|
{
|
|
Messaging.void_objc_msgSend_IntPtr(base.Handle, selSetFontMenu_Handle, newMenu.Handle);
|
|
}
|
|
else
|
|
{
|
|
Messaging.void_objc_msgSendSuper_IntPtr(base.SuperHandle, selSetFontMenu_Handle, newMenu.Handle);
|
|
}
|
|
}
|
|
|
|
[Export("fontMenu:")]
|
|
public virtual NSMenu FontMenu(bool create)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (IsDirectBinding)
|
|
{
|
|
return (NSMenu)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_bool(base.Handle, selFontMenu_Handle, create));
|
|
}
|
|
return (NSMenu)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper_bool(base.SuperHandle, selFontMenu_Handle, create));
|
|
}
|
|
|
|
[Export("fontPanel:")]
|
|
public virtual NSFontPanel FontPanel(bool create)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (IsDirectBinding)
|
|
{
|
|
return (NSFontPanel)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_bool(base.Handle, selFontPanel_Handle, create));
|
|
}
|
|
return (NSFontPanel)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper_bool(base.SuperHandle, selFontPanel_Handle, create));
|
|
}
|
|
|
|
[Export("fontWithFamily:traits:weight:size:")]
|
|
public virtual NSFont FontWithFamily(string family, NSFontTraitMask traits, long weight, double size)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (family == null)
|
|
{
|
|
throw new ArgumentNullException("family");
|
|
}
|
|
IntPtr intPtr = NSString.CreateNative(family);
|
|
NSFont result = (!IsDirectBinding) ? ((NSFont)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper_IntPtr_UInt64_Int64_Double(base.SuperHandle, selFontWithFamilyTraitsWeightSize_Handle, intPtr, (ulong)traits, weight, size))) : ((NSFont)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_IntPtr_UInt64_Int64_Double(base.Handle, selFontWithFamilyTraitsWeightSize_Handle, intPtr, (ulong)traits, weight, size)));
|
|
NSString.ReleaseNative(intPtr);
|
|
return result;
|
|
}
|
|
|
|
[Export("traitsOfFont:")]
|
|
public virtual NSFontTraitMask TraitsOfFont(NSFont fontObj)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (fontObj == null)
|
|
{
|
|
throw new ArgumentNullException("fontObj");
|
|
}
|
|
if (IsDirectBinding)
|
|
{
|
|
return (NSFontTraitMask)Messaging.UInt64_objc_msgSend_IntPtr(base.Handle, selTraitsOfFont_Handle, fontObj.Handle);
|
|
}
|
|
return (NSFontTraitMask)Messaging.UInt64_objc_msgSendSuper_IntPtr(base.SuperHandle, selTraitsOfFont_Handle, fontObj.Handle);
|
|
}
|
|
|
|
[Export("weightOfFont:")]
|
|
public virtual long WeightOfFont(NSFont fontObj)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (fontObj == null)
|
|
{
|
|
throw new ArgumentNullException("fontObj");
|
|
}
|
|
if (IsDirectBinding)
|
|
{
|
|
return Messaging.Int64_objc_msgSend_IntPtr(base.Handle, selWeightOfFont_Handle, fontObj.Handle);
|
|
}
|
|
return Messaging.Int64_objc_msgSendSuper_IntPtr(base.SuperHandle, selWeightOfFont_Handle, fontObj.Handle);
|
|
}
|
|
|
|
[Export("availableMembersOfFontFamily:")]
|
|
public virtual NSArray[] AvailableMembersOfFontFamily(string fam)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (fam == null)
|
|
{
|
|
throw new ArgumentNullException("fam");
|
|
}
|
|
IntPtr intPtr = NSString.CreateNative(fam);
|
|
NSArray[] result = (!IsDirectBinding) ? NSArray.ArrayFromHandle<NSArray>(Messaging.IntPtr_objc_msgSendSuper_IntPtr(base.SuperHandle, selAvailableMembersOfFontFamily_Handle, intPtr)) : NSArray.ArrayFromHandle<NSArray>(Messaging.IntPtr_objc_msgSend_IntPtr(base.Handle, selAvailableMembersOfFontFamily_Handle, intPtr));
|
|
NSString.ReleaseNative(intPtr);
|
|
return result;
|
|
}
|
|
|
|
[Export("convertFont:")]
|
|
public virtual NSFont ConvertFont(NSFont fontObj)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (fontObj == null)
|
|
{
|
|
throw new ArgumentNullException("fontObj");
|
|
}
|
|
if (IsDirectBinding)
|
|
{
|
|
return (NSFont)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_IntPtr(base.Handle, selConvertFont_Handle, fontObj.Handle));
|
|
}
|
|
return (NSFont)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper_IntPtr(base.SuperHandle, selConvertFont_Handle, fontObj.Handle));
|
|
}
|
|
|
|
[Export("convertFont:toSize:")]
|
|
public virtual NSFont ConvertFont(NSFont fontObj, double size)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (fontObj == null)
|
|
{
|
|
throw new ArgumentNullException("fontObj");
|
|
}
|
|
if (IsDirectBinding)
|
|
{
|
|
return (NSFont)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_IntPtr_Double(base.Handle, selConvertFontToSize_Handle, fontObj.Handle, size));
|
|
}
|
|
return (NSFont)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper_IntPtr_Double(base.SuperHandle, selConvertFontToSize_Handle, fontObj.Handle, size));
|
|
}
|
|
|
|
[Export("convertFont:toFace:")]
|
|
public virtual NSFont ConvertFont(NSFont fontObj, string typeface)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (fontObj == null)
|
|
{
|
|
throw new ArgumentNullException("fontObj");
|
|
}
|
|
if (typeface == null)
|
|
{
|
|
throw new ArgumentNullException("typeface");
|
|
}
|
|
IntPtr intPtr = NSString.CreateNative(typeface);
|
|
NSFont result = (!IsDirectBinding) ? ((NSFont)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper_IntPtr_IntPtr(base.SuperHandle, selConvertFontToFace_Handle, fontObj.Handle, intPtr))) : ((NSFont)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_IntPtr_IntPtr(base.Handle, selConvertFontToFace_Handle, fontObj.Handle, intPtr)));
|
|
NSString.ReleaseNative(intPtr);
|
|
return result;
|
|
}
|
|
|
|
[Export("convertFont:toFamily:")]
|
|
public virtual NSFont ConvertFontToFamily(NSFont fontObj, string family)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (fontObj == null)
|
|
{
|
|
throw new ArgumentNullException("fontObj");
|
|
}
|
|
if (family == null)
|
|
{
|
|
throw new ArgumentNullException("family");
|
|
}
|
|
IntPtr intPtr = NSString.CreateNative(family);
|
|
NSFont result = (!IsDirectBinding) ? ((NSFont)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper_IntPtr_IntPtr(base.SuperHandle, selConvertFontToFamily_Handle, fontObj.Handle, intPtr))) : ((NSFont)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_IntPtr_IntPtr(base.Handle, selConvertFontToFamily_Handle, fontObj.Handle, intPtr)));
|
|
NSString.ReleaseNative(intPtr);
|
|
return result;
|
|
}
|
|
|
|
[Export("convertFont:toHaveTrait:")]
|
|
public virtual NSFont ConvertFont(NSFont fontObj, NSFontTraitMask trait)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (fontObj == null)
|
|
{
|
|
throw new ArgumentNullException("fontObj");
|
|
}
|
|
if (IsDirectBinding)
|
|
{
|
|
return (NSFont)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_IntPtr_UInt64(base.Handle, selConvertFontToHaveTrait_Handle, fontObj.Handle, (ulong)trait));
|
|
}
|
|
return (NSFont)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper_IntPtr_UInt64(base.SuperHandle, selConvertFontToHaveTrait_Handle, fontObj.Handle, (ulong)trait));
|
|
}
|
|
|
|
[Export("convertFont:toNotHaveTrait:")]
|
|
public virtual NSFont ConvertFontToNotHaveTrait(NSFont fontObj, NSFontTraitMask trait)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (fontObj == null)
|
|
{
|
|
throw new ArgumentNullException("fontObj");
|
|
}
|
|
if (IsDirectBinding)
|
|
{
|
|
return (NSFont)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_IntPtr_UInt64(base.Handle, selConvertFontToNotHaveTrait_Handle, fontObj.Handle, (ulong)trait));
|
|
}
|
|
return (NSFont)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper_IntPtr_UInt64(base.SuperHandle, selConvertFontToNotHaveTrait_Handle, fontObj.Handle, (ulong)trait));
|
|
}
|
|
|
|
[Export("convertWeight:ofFont:")]
|
|
public virtual NSFont ConvertWeight(bool increaseWeight, NSFont fontObj)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (fontObj == null)
|
|
{
|
|
throw new ArgumentNullException("fontObj");
|
|
}
|
|
if (IsDirectBinding)
|
|
{
|
|
return (NSFont)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_bool_IntPtr(base.Handle, selConvertWeightOfFont_Handle, increaseWeight, fontObj.Handle));
|
|
}
|
|
return (NSFont)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper_bool_IntPtr(base.SuperHandle, selConvertWeightOfFont_Handle, increaseWeight, fontObj.Handle));
|
|
}
|
|
|
|
[Export("localizedNameForFamily:face:")]
|
|
public virtual string LocalizedNameForFamily(string family, string faceKey)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (family == null)
|
|
{
|
|
throw new ArgumentNullException("family");
|
|
}
|
|
if (faceKey == null)
|
|
{
|
|
throw new ArgumentNullException("faceKey");
|
|
}
|
|
IntPtr intPtr = NSString.CreateNative(family);
|
|
IntPtr intPtr2 = NSString.CreateNative(faceKey);
|
|
string result = (!IsDirectBinding) ? NSString.FromHandle(Messaging.IntPtr_objc_msgSendSuper_IntPtr_IntPtr(base.SuperHandle, selLocalizedNameForFamilyFace_Handle, intPtr, intPtr2)) : NSString.FromHandle(Messaging.IntPtr_objc_msgSend_IntPtr_IntPtr(base.Handle, selLocalizedNameForFamilyFace_Handle, intPtr, intPtr2));
|
|
NSString.ReleaseNative(intPtr);
|
|
NSString.ReleaseNative(intPtr2);
|
|
return result;
|
|
}
|
|
|
|
[Export("setSelectedAttributes:isMultiple:")]
|
|
public virtual void SetSelectedAttributes(NSDictionary attributes, bool isMultiple)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (attributes == null)
|
|
{
|
|
throw new ArgumentNullException("attributes");
|
|
}
|
|
if (IsDirectBinding)
|
|
{
|
|
Messaging.void_objc_msgSend_IntPtr_bool(base.Handle, selSetSelectedAttributesIsMultiple_Handle, attributes.Handle, isMultiple);
|
|
}
|
|
else
|
|
{
|
|
Messaging.void_objc_msgSendSuper_IntPtr_bool(base.SuperHandle, selSetSelectedAttributesIsMultiple_Handle, attributes.Handle, isMultiple);
|
|
}
|
|
}
|
|
|
|
[Export("convertAttributes:")]
|
|
public virtual NSDictionary ConvertAttributes(NSDictionary attributes)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (attributes == null)
|
|
{
|
|
throw new ArgumentNullException("attributes");
|
|
}
|
|
if (IsDirectBinding)
|
|
{
|
|
return (NSDictionary)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_IntPtr(base.Handle, selConvertAttributes_Handle, attributes.Handle));
|
|
}
|
|
return (NSDictionary)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper_IntPtr(base.SuperHandle, selConvertAttributes_Handle, attributes.Handle));
|
|
}
|
|
|
|
[Export("availableFontNamesMatchingFontDescriptor:")]
|
|
public virtual string[] AvailableFontNamesMatchingFontDescriptor(NSFontDescriptor descriptor)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (descriptor == null)
|
|
{
|
|
throw new ArgumentNullException("descriptor");
|
|
}
|
|
if (IsDirectBinding)
|
|
{
|
|
return NSArray.StringArrayFromHandle(Messaging.IntPtr_objc_msgSend_IntPtr(base.Handle, selAvailableFontNamesMatchingFontDescriptor_Handle, descriptor.Handle));
|
|
}
|
|
return NSArray.StringArrayFromHandle(Messaging.IntPtr_objc_msgSendSuper_IntPtr(base.SuperHandle, selAvailableFontNamesMatchingFontDescriptor_Handle, descriptor.Handle));
|
|
}
|
|
|
|
[Export("fontDescriptorsInCollection:")]
|
|
public virtual NSArray FontDescriptorsInCollection(string collectionNames)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (collectionNames == null)
|
|
{
|
|
throw new ArgumentNullException("collectionNames");
|
|
}
|
|
IntPtr intPtr = NSString.CreateNative(collectionNames);
|
|
NSArray result = (!IsDirectBinding) ? ((NSArray)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSendSuper_IntPtr(base.SuperHandle, selFontDescriptorsInCollection_Handle, intPtr))) : ((NSArray)Runtime.GetNSObject(Messaging.IntPtr_objc_msgSend_IntPtr(base.Handle, selFontDescriptorsInCollection_Handle, intPtr)));
|
|
NSString.ReleaseNative(intPtr);
|
|
return result;
|
|
}
|
|
|
|
[Export("addCollection:options:")]
|
|
public virtual bool AddCollection(string collectionName, NSFontCollectionOptions collectionOptions)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (collectionName == null)
|
|
{
|
|
throw new ArgumentNullException("collectionName");
|
|
}
|
|
IntPtr intPtr = NSString.CreateNative(collectionName);
|
|
bool result = (!IsDirectBinding) ? Messaging.bool_objc_msgSendSuper_IntPtr_UInt64(base.SuperHandle, selAddCollectionOptions_Handle, intPtr, (ulong)collectionOptions) : Messaging.bool_objc_msgSend_IntPtr_UInt64(base.Handle, selAddCollectionOptions_Handle, intPtr, (ulong)collectionOptions);
|
|
NSString.ReleaseNative(intPtr);
|
|
return result;
|
|
}
|
|
|
|
[Export("removeCollection:")]
|
|
public virtual bool RemoveCollection(string collectionName)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (collectionName == null)
|
|
{
|
|
throw new ArgumentNullException("collectionName");
|
|
}
|
|
IntPtr intPtr = NSString.CreateNative(collectionName);
|
|
bool result = (!IsDirectBinding) ? Messaging.bool_objc_msgSendSuper_IntPtr(base.SuperHandle, selRemoveCollection_Handle, intPtr) : Messaging.bool_objc_msgSend_IntPtr(base.Handle, selRemoveCollection_Handle, intPtr);
|
|
NSString.ReleaseNative(intPtr);
|
|
return result;
|
|
}
|
|
|
|
[Export("addFontDescriptors:toCollection:")]
|
|
public virtual void AddFontDescriptors(NSFontDescriptor[] descriptors, string collectionName)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (descriptors == null)
|
|
{
|
|
throw new ArgumentNullException("descriptors");
|
|
}
|
|
if (collectionName == null)
|
|
{
|
|
throw new ArgumentNullException("collectionName");
|
|
}
|
|
NSArray nSArray = NSArray.FromNSObjects(descriptors);
|
|
IntPtr intPtr = NSString.CreateNative(collectionName);
|
|
if (IsDirectBinding)
|
|
{
|
|
Messaging.void_objc_msgSend_IntPtr_IntPtr(base.Handle, selAddFontDescriptorsToCollection_Handle, nSArray.Handle, intPtr);
|
|
}
|
|
else
|
|
{
|
|
Messaging.void_objc_msgSendSuper_IntPtr_IntPtr(base.SuperHandle, selAddFontDescriptorsToCollection_Handle, nSArray.Handle, intPtr);
|
|
}
|
|
nSArray.Dispose();
|
|
NSString.ReleaseNative(intPtr);
|
|
}
|
|
|
|
[Export("removeFontDescriptor:fromCollection:")]
|
|
public virtual void RemoveFontDescriptor(NSFontDescriptor descriptor, string collection)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (descriptor == null)
|
|
{
|
|
throw new ArgumentNullException("descriptor");
|
|
}
|
|
if (collection == null)
|
|
{
|
|
throw new ArgumentNullException("collection");
|
|
}
|
|
IntPtr intPtr = NSString.CreateNative(collection);
|
|
if (IsDirectBinding)
|
|
{
|
|
Messaging.void_objc_msgSend_IntPtr_IntPtr(base.Handle, selRemoveFontDescriptorFromCollection_Handle, descriptor.Handle, intPtr);
|
|
}
|
|
else
|
|
{
|
|
Messaging.void_objc_msgSendSuper_IntPtr_IntPtr(base.SuperHandle, selRemoveFontDescriptorFromCollection_Handle, descriptor.Handle, intPtr);
|
|
}
|
|
NSString.ReleaseNative(intPtr);
|
|
}
|
|
|
|
[Export("convertFontTraits:")]
|
|
public virtual NSFontTraitMask ConvertFontTraits(NSFontTraitMask traits)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (IsDirectBinding)
|
|
{
|
|
return (NSFontTraitMask)Messaging.UInt64_objc_msgSend_UInt64(base.Handle, selConvertFontTraits_Handle, (ulong)traits);
|
|
}
|
|
return (NSFontTraitMask)Messaging.UInt64_objc_msgSendSuper_UInt64(base.SuperHandle, selConvertFontTraits_Handle, (ulong)traits);
|
|
}
|
|
|
|
[Export("fontNamed:hasTraits:")]
|
|
public virtual bool FontNamedHasTraits(string fName, NSFontTraitMask someTraits)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (fName == null)
|
|
{
|
|
throw new ArgumentNullException("fName");
|
|
}
|
|
IntPtr intPtr = NSString.CreateNative(fName);
|
|
bool result = (!IsDirectBinding) ? Messaging.bool_objc_msgSendSuper_IntPtr_UInt64(base.SuperHandle, selFontNamedHasTraits_Handle, intPtr, (ulong)someTraits) : Messaging.bool_objc_msgSend_IntPtr_UInt64(base.Handle, selFontNamedHasTraits_Handle, intPtr, (ulong)someTraits);
|
|
NSString.ReleaseNative(intPtr);
|
|
return result;
|
|
}
|
|
|
|
[Export("availableFontNamesWithTraits:")]
|
|
public virtual string[] AvailableFontNamesWithTraits(NSFontTraitMask someTraits)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (IsDirectBinding)
|
|
{
|
|
return NSArray.StringArrayFromHandle(Messaging.IntPtr_objc_msgSend_UInt64(base.Handle, selAvailableFontNamesWithTraits_Handle, (ulong)someTraits));
|
|
}
|
|
return NSArray.StringArrayFromHandle(Messaging.IntPtr_objc_msgSendSuper_UInt64(base.SuperHandle, selAvailableFontNamesWithTraits_Handle, (ulong)someTraits));
|
|
}
|
|
|
|
[Export("addFontTrait:")]
|
|
public virtual void AddFontTrait(NSObject sender)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (sender == null)
|
|
{
|
|
throw new ArgumentNullException("sender");
|
|
}
|
|
if (IsDirectBinding)
|
|
{
|
|
Messaging.void_objc_msgSend_IntPtr(base.Handle, selAddFontTrait_Handle, sender.Handle);
|
|
}
|
|
else
|
|
{
|
|
Messaging.void_objc_msgSendSuper_IntPtr(base.SuperHandle, selAddFontTrait_Handle, sender.Handle);
|
|
}
|
|
}
|
|
|
|
[Export("removeFontTrait:")]
|
|
public virtual void RemoveFontTrait(NSObject sender)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (sender == null)
|
|
{
|
|
throw new ArgumentNullException("sender");
|
|
}
|
|
if (IsDirectBinding)
|
|
{
|
|
Messaging.void_objc_msgSend_IntPtr(base.Handle, selRemoveFontTrait_Handle, sender.Handle);
|
|
}
|
|
else
|
|
{
|
|
Messaging.void_objc_msgSendSuper_IntPtr(base.SuperHandle, selRemoveFontTrait_Handle, sender.Handle);
|
|
}
|
|
}
|
|
|
|
[Export("modifyFontViaPanel:")]
|
|
public virtual void ModifyFontViaPanel(NSObject sender)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (sender == null)
|
|
{
|
|
throw new ArgumentNullException("sender");
|
|
}
|
|
if (IsDirectBinding)
|
|
{
|
|
Messaging.void_objc_msgSend_IntPtr(base.Handle, selModifyFontViaPanel_Handle, sender.Handle);
|
|
}
|
|
else
|
|
{
|
|
Messaging.void_objc_msgSendSuper_IntPtr(base.SuperHandle, selModifyFontViaPanel_Handle, sender.Handle);
|
|
}
|
|
}
|
|
|
|
[Export("modifyFont:")]
|
|
public virtual void ModifyFont(NSObject sender)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (sender == null)
|
|
{
|
|
throw new ArgumentNullException("sender");
|
|
}
|
|
if (IsDirectBinding)
|
|
{
|
|
Messaging.void_objc_msgSend_IntPtr(base.Handle, selModifyFont_Handle, sender.Handle);
|
|
}
|
|
else
|
|
{
|
|
Messaging.void_objc_msgSendSuper_IntPtr(base.SuperHandle, selModifyFont_Handle, sender.Handle);
|
|
}
|
|
}
|
|
|
|
[Export("orderFrontFontPanel:")]
|
|
public virtual void OrderFrontFontPanel(NSObject sender)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (sender == null)
|
|
{
|
|
throw new ArgumentNullException("sender");
|
|
}
|
|
if (IsDirectBinding)
|
|
{
|
|
Messaging.void_objc_msgSend_IntPtr(base.Handle, selOrderFrontFontPanel_Handle, sender.Handle);
|
|
}
|
|
else
|
|
{
|
|
Messaging.void_objc_msgSendSuper_IntPtr(base.SuperHandle, selOrderFrontFontPanel_Handle, sender.Handle);
|
|
}
|
|
}
|
|
|
|
[Export("orderFrontStylesPanel:")]
|
|
public virtual void OrderFrontStylesPanel(NSObject sender)
|
|
{
|
|
NSApplication.EnsureUIThread();
|
|
if (sender == null)
|
|
{
|
|
throw new ArgumentNullException("sender");
|
|
}
|
|
if (IsDirectBinding)
|
|
{
|
|
Messaging.void_objc_msgSend_IntPtr(base.Handle, selOrderFrontStylesPanel_Handle, sender.Handle);
|
|
}
|
|
else
|
|
{
|
|
Messaging.void_objc_msgSendSuper_IntPtr(base.SuperHandle, selOrderFrontStylesPanel_Handle, sender.Handle);
|
|
}
|
|
}
|
|
|
|
protected override void Dispose(bool disposing)
|
|
{
|
|
base.Dispose(disposing);
|
|
if (base.Handle == IntPtr.Zero)
|
|
{
|
|
__mt_SelectedFont_var = null;
|
|
__mt_WeakDelegate_var = null;
|
|
__mt_Target_var = null;
|
|
}
|
|
}
|
|
}
|
|
}
|