Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/xwt.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSandy Armstrong <sandy@xamarin.com>2022-10-08 22:29:22 +0300
committerGitHub <noreply@github.com>2022-10-08 22:29:22 +0300
commitb8f230dfa2c95c4bc88facc99097a778a020c27e (patch)
tree0ec535fb214fca5ce3966f60bcd1622011581f9a
parentf2a8d483bce179404be4f2165390605c9618a4ec (diff)
parent0f934c45e6fb0f306c209949732572bb5e3c0399 (diff)
Merge pull request #1106 from mono/dev/sandy/nsfont-extensionHEADmain
Mac: Add extensions for converting from NSFont
-rw-r--r--Xwt.XamMac/Xwt.Mac/FontBackendHandler.cs17
1 files changed, 17 insertions, 0 deletions
diff --git a/Xwt.XamMac/Xwt.Mac/FontBackendHandler.cs b/Xwt.XamMac/Xwt.Mac/FontBackendHandler.cs
index c0dd9a74..8d9fc8ef 100644
--- a/Xwt.XamMac/Xwt.Mac/FontBackendHandler.cs
+++ b/Xwt.XamMac/Xwt.Mac/FontBackendHandler.cs
@@ -34,6 +34,23 @@ using Foundation;
using Xwt.Backends;
using Xwt.Drawing;
+namespace Xwt
+{
+ public static class FontExtensions
+ {
+ static bool IsSystemFont(this NSFont font)
+ => !font.FontDescriptor.FontAttributes.TryGetValue(NSFont.NameAttribute, out var nsoName)
+ || nsoName is not NSString name
+ || name.Length == 0
+ || name[0] == '.';
+
+ public static Font ToXwt(this NSFont font)
+ => font.IsSystemFont()
+ ? Font.SystemFont.WithSize(font.PointSize)
+ : Font.FromName(font.DisplayName).WithSize(font.PointSize);
+ }
+}
+
namespace Xwt.Mac
{
public class MacFontBackendHandler: FontBackendHandler