コード例 #1
0
        public static CTFontDescriptor[] GetRegisteredFontDescriptors(CTFontManagerScope scope, bool enabled)
        {
            var p = CTFontManagerCopyRegisteredFontDescriptors(scope, enabled);

            // Copy/Create rule - we must release the CFArrayRef
            return(ArrayFromHandle <CTFontDescriptor> (p, releaseAfterUse: true));
        }
コード例 #2
0
        public static NSError [] UnregisterFontsForUrl(NSUrl [] fontUrls, CTFontManagerScope scope)
        {
            if (fontUrls == null)
            {
                throw new ArgumentNullException("fontUrls");
            }

            foreach (var furl in fontUrls)
            {
                if (furl == null)
                {
                    throw new ArgumentException("contains a null entry", "fontUrls");
                }
            }

            var arr     = NSArray.FromNSObjects(fontUrls);
            var _errors = new NSError [fontUrls.Length];

            for (int i = 0; i < fontUrls.Length; i++)
            {
                _errors [i] = new NSError(ErrorDomain, 0);
            }
            var errors = NSArray.FromNSObjects(_errors);

            if (CTFontManagerUnregisterFontsForURLs(arr.Handle, scope, errors.Handle))
            {
                return(null);
            }
            else
            {
                return(_errors);
            }
        }
コード例 #3
0
        public static NSError [] RegisterFontsForUrl(NSUrl [] fontUrls, CTFontManagerScope scope)
        {
            if (fontUrls == null)
            {
                throw new ArgumentNullException("fontUrls");
            }

            foreach (var furl in fontUrls)
            {
                if (furl == null)
                {
                    throw new ArgumentException("contains a null entry", "fontUrls");
                }
            }

            using (var arr = NSArray.FromNSObjects(fontUrls)) {
                IntPtr error_array = IntPtr.Zero;
                try {
                    if (CTFontManagerRegisterFontsForURLs(arr.Handle, scope, ref error_array))
                    {
                        return(null);
                    }
                    else
                    {
                        return(NSArray.ArrayFromHandle <NSError> (error_array));
                    }
                } finally {
                    if (error_array != IntPtr.Zero)
                    {
                        NSObject.DangerousRelease(error_array);
                    }
                }
            }
        }
コード例 #4
0
        public static NSError RegisterFontsForUrl(NSUrl fontUrl, CTFontManagerScope scope)
        {
            if (fontUrl == null)
            {
                throw new ArgumentNullException("fontUrl");
            }

            IntPtr error = IntPtr.Zero;

            try {
                if (CTFontManagerRegisterFontsForURL(fontUrl.Handle, scope, ref error))
                {
                    return(null);
                }
                else
                {
                    return(Runtime.GetNSObject <NSError> (error));
                }
            } finally {
                if (error != IntPtr.Zero)
                {
                    NSObject.DangerousRelease(error);
                }
            }
        }
コード例 #5
0
 public static NSError [] RegisterFontsForUrl(NSUrl [] fontUrls, CTFontManagerScope scope)
 {
     using (var arr = EnsureNonNullArray(fontUrls, nameof(fontUrls))) {
         IntPtr error_array = IntPtr.Zero;
         if (CTFontManagerRegisterFontsForURLs(arr.Handle, scope, ref error_array))
         {
             return(null);
         }
         return(ArrayFromHandle <NSError> (error_array, releaseAfterUse: true));
     }
 }
コード例 #6
0
		public static NSError RegisterFontsForUrl (NSUrl fontUrl, CTFontManagerScope scope)
		{
			if (fontUrl == null)
				throw new ArgumentNullException ("fontUrl");
			
			NSError e = new NSError (ErrorDomain, 0);

			if (CTFontManagerRegisterFontsForURL (fontUrl.Handle, scope, e.Handle))
				return null;
			else
				return e;
		}
コード例 #7
0
 public static void UnregisterFonts(NSUrl [] fontUrls, CTFontManagerScope scope, CTFontRegistrationHandler registrationHandler)
 {
     using (var arr = EnsureNonNullArray(fontUrls, nameof(fontUrls))) {
         if (registrationHandler == null)
         {
             CTFontManagerUnregisterFontURLs(arr.Handle, scope, IntPtr.Zero);
         }
         else
         {
             BlockLiteral block_handler = new BlockLiteral();
             block_handler.SetupBlockUnsafe(callback, registrationHandler);
             CTFontManagerUnregisterFontURLs(arr.Handle, scope, ref block_handler);
             block_handler.CleanupBlock();
         }
     }
 }
コード例 #8
0
 public static void RegisterFonts(string[] assetNames, CFBundle bundle, CTFontManagerScope scope, bool enabled, CTFontRegistrationHandler registrationHandler)
 {
     using (var arr = EnsureNonNullArray(assetNames, nameof(assetNames))) {
         if (registrationHandler == null)
         {
             CTFontManagerRegisterFontsWithAssetNames(arr.Handle, bundle.GetHandle(), scope, enabled, IntPtr.Zero);
         }
         else
         {
             BlockLiteral block_handler = new BlockLiteral();
             block_handler.SetupBlockUnsafe(callback, registrationHandler);
             CTFontManagerRegisterFontsWithAssetNames(arr.Handle, bundle.GetHandle(), scope, enabled, ref block_handler);
             block_handler.CleanupBlock();
         }
     }
 }
コード例 #9
0
        public static NSError RegisterFontsForUrl(NSUrl fontUrl, CTFontManagerScope scope)
        {
            if (fontUrl == null)
            {
                throw new ArgumentNullException("fontUrl");
            }

            NSError e = new NSError(ErrorDomain, 0);

            if (CTFontManagerRegisterFontsForURL(fontUrl.Handle, scope, e.Handle))
            {
                return(null);
            }
            else
            {
                return(e);
            }
        }
コード例 #10
0
ファイル: CTFontManager.cs プロジェクト: elmarchu/maccore
        public static NSError UnregisterFontsForUrl(NSUrl fontUrl, CTFontManagerScope scope)
        {
            if (fontUrl == null)
                throw new ArgumentNullException ("fontUrl");
            if (scope == null)
                throw new ArgumentNullException ("scope");

            var e = new NSError ();
            if (CTFontManagerUnregisterFontsForURLs (fontUrl.Handle, scope, e.Handle))
                return null;
            else
                return e;
        }
コード例 #11
0
 static extern /* CFArrayRef */ IntPtr CTFontManagerCopyRegisteredFontDescriptors(CTFontManagerScope scope, [MarshalAs(UnmanagedType.I1)] bool enabled);
コード例 #12
0
ファイル: CTFontManager.cs プロジェクト: roblillack/maccore
 static extern bool CTFontManagerUnregisterFontsForURLs(IntPtr arrayRef, CTFontManagerScope scope, IntPtr error);
コード例 #13
0
 static extern bool CTFontManagerRegisterFontsForURL(IntPtr fontUrl, CTFontManagerScope scope, ref IntPtr error);
コード例 #14
0
 static extern bool CTFontManagerRegisterFontsForURL(IntPtr fontUrl, CTFontManagerScope scope, ref IntPtr error);
コード例 #15
0
 static extern bool CTFontManagerUnregisterFontsForURL(IntPtr fotUrl, CTFontManagerScope scope, IntPtr error);
コード例 #16
0
 static extern void CTFontManagerRegisterFontURLs(/* CFArrayRef */ IntPtr fontUrls, CTFontManagerScope scope, [MarshalAs(UnmanagedType.I1)] bool enabled, IntPtr registrationHandler);
コード例 #17
0
ファイル: CTFontManager.cs プロジェクト: roblillack/maccore
        public static NSError[] UnregisterFontsForUrl(NSUrl [] fontUrls, CTFontManagerScope scope)
        {
            if (fontUrls == null)
                throw new ArgumentNullException ("fontUrls");

            foreach (var furl in fontUrls)
                if (furl == null)
                    throw new ArgumentException ("contains a null entry", "fontUrls");

            var arr = NSArray.FromNSObjects (fontUrls);
            var _errors = new NSError [fontUrls.Length];
            for (int i = 0; i < fontUrls.Length; i++)
                _errors [i] = new NSError (ErrorDomain, 0);
            var errors = NSArray.FromNSObjects (_errors);

            if (CTFontManagerUnregisterFontsForURLs (arr.Handle, scope, errors.Handle))
                return null;
            else
                return _errors;
        }
コード例 #18
0
 static extern unsafe void CTFontManagerRegisterFontsWithAssetNames(/* CFArrayRef */ IntPtr fontAssetNames, /* CFBundleRef _Nullable */ IntPtr bundle, CTFontManagerScope scope, bool enabled, IntPtr registrationHandler);
コード例 #19
0
 static extern /* CFArrayRef */ IntPtr CTFontManagerCopyRegisteredFontDescriptors(CTFontManagerScope scope, bool enabled);
コード例 #20
0
 static extern unsafe void CTFontManagerRegisterFontDescriptors(/* CFArrayRef */ IntPtr fontDescriptors, CTFontManagerScope scope, bool enabled, IntPtr registrationHandler);
コード例 #21
0
 static extern void CTFontManagerRegisterFontURLs(/* CFArrayRef */ IntPtr fontUrls, CTFontManagerScope scope, bool enabled, ref BlockLiteral registrationHandler);
コード例 #22
0
 static extern unsafe void CTFontManagerRegisterFontsWithAssetNames(/* CFArrayRef */ IntPtr fontAssetNames, /* CFBundleRef _Nullable */ IntPtr bundle, CTFontManagerScope scope, [MarshalAs(UnmanagedType.I1)] bool enabled, ref BlockLiteral registrationHandler);
コード例 #23
0
 static extern unsafe void CTFontManagerUnregisterFontURLs(/* CFArrayRef */ IntPtr fontUrls, CTFontManagerScope scope, IntPtr registrationHandler);
コード例 #24
0
        public static NSError[] UnregisterFontsForUrl(NSUrl [] fontUrls, CTFontManagerScope scope)
        {
            if (fontUrls == null)
                throw new ArgumentNullException ("fontUrls");

            foreach (var furl in fontUrls)
                if (furl == null)
                    throw new ArgumentException ("contains a null entry", "fontUrls");

            IntPtr error_array = IntPtr.Zero;
            using (var arr = NSArray.FromNSObjects (fontUrls)) {
                try {
                    if (CTFontManagerUnregisterFontsForURLs (arr.Handle, scope, ref error_array))
                        return null;
                    else
                        return NSArray.ArrayFromHandle<NSError> (error_array);
                } finally {
                    if (error_array != IntPtr.Zero)
                        NSObject.DangerousRelease (error_array);
                }
            }
        }
コード例 #25
0
 static extern bool CTFontManagerRegisterFontsForURLs(IntPtr arrayRef, CTFontManagerScope scope, ref IntPtr error_array);
コード例 #26
0
 static extern unsafe void CTFontManagerRegisterFontDescriptors(/* CFArrayRef */ IntPtr fontDescriptors, CTFontManagerScope scope, [MarshalAs(UnmanagedType.I1)] bool enabled, ref BlockLiteral registrationHandler);
コード例 #27
0
 static extern bool CTFontManagerRegisterFontsForURLs(IntPtr arrayRef, CTFontManagerScope scope, IntPtr error);
コード例 #28
0
 public static void RegisterFontDescriptors(CTFontDescriptor[] fontDescriptors, CTFontManagerScope scope, bool enabled, CTFontRegistrationHandler registrationHandler)
 {
     using (var arr = EnsureNonNullArray(fontDescriptors, nameof(fontDescriptors))) {
         if (registrationHandler == null)
         {
             CTFontManagerRegisterFontDescriptors(arr.Handle, scope, enabled, IntPtr.Zero);
         }
         else
         {
             BlockLiteral block_handler = new BlockLiteral();
             block_handler.SetupBlockUnsafe(callback, registrationHandler);
             CTFontManagerRegisterFontDescriptors(arr.Handle, scope, enabled, ref block_handler);
             block_handler.CleanupBlock();
         }
     }
 }
コード例 #29
0
 static extern bool CTFontManagerUnregisterFontsForURLs(IntPtr arrayRef, CTFontManagerScope scope, ref IntPtr error_array);
コード例 #30
0
 static extern unsafe void CTFontManagerUnregisterFontDescriptors(/* CFArrayRef */ IntPtr fontDescriptors, CTFontManagerScope scope, ref BlockLiteral registrationHandler);
コード例 #31
0
        public static NSError UnregisterFontsForUrl(NSUrl fontUrl, CTFontManagerScope scope)
        {
            if (fontUrl == null)
                throw new ArgumentNullException ("fontUrl");

            IntPtr error = IntPtr.Zero;

            try {
                if (CTFontManagerUnregisterFontsForURL (fontUrl.Handle, scope, ref error))
                    return null;
                else
                    return Runtime.GetNSObject<NSError> (error);
            } finally {
                if (error != IntPtr.Zero)
                    NSObject.DangerousRelease (error);
            }
        }
コード例 #32
0
ファイル: CTFontManager.cs プロジェクト: roblillack/maccore
 static extern bool CTFontManagerUnregisterFontsForURL(IntPtr fotUrl, CTFontManagerScope scope, IntPtr error);