Rename package to StaticLink.Avalonia

This commit is contained in:
geruipu committed 2026-06-21 10:03:22 +08:00
1 parent f685b52496
commit aa0118a4e3
12 files changed
+266 -412

No files matched your search

@@ -0,0 +1,50 @@
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
namespace StaticLink.Avalonia;
internal static class MacOSFontWarmup
{
[ModuleInitializer]
internal static void Initialize()
{
if (!OperatingSystem.IsMacOS())
{
return;
}
try
{
var nsApplication = objc_getClass("NSApplication");
var sharedApplication = sel_registerName("sharedApplication");
_ = objc_msgSend(nsApplication, sharedApplication);
var nsFont = objc_getClass("NSFont");
var systemFontOfSize = sel_registerName("systemFontOfSize:");
var systemFontOfSizeWidth = sel_registerName("systemFontOfSize:width:");
_ = objc_msgSend(nsFont, systemFontOfSize, 13.0);
_ = objc_msgSend(nsFont, systemFontOfSizeWidth, 13.0, 0.0);
}
catch
{
// Never fail application startup from the defensive macOS font-cache warmup.
}
}
[DllImport("/usr/lib/libobjc.A.dylib", EntryPoint = "objc_getClass")]
private static extern IntPtr objc_getClass([MarshalAs(UnmanagedType.LPUTF8Str)] string name);
[DllImport("/usr/lib/libobjc.A.dylib", EntryPoint = "sel_registerName")]
private static extern IntPtr sel_registerName([MarshalAs(UnmanagedType.LPUTF8Str)] string name);
[DllImport("/usr/lib/libobjc.A.dylib", EntryPoint = "objc_msgSend")]
private static extern IntPtr objc_msgSend(IntPtr receiver, IntPtr selector);
[DllImport("/usr/lib/libobjc.A.dylib", EntryPoint = "objc_msgSend")]
private static extern IntPtr objc_msgSend(IntPtr receiver, IntPtr selector, double value);
[DllImport("/usr/lib/libobjc.A.dylib", EntryPoint = "objc_msgSend")]
private static extern IntPtr objc_msgSend(IntPtr receiver, IntPtr selector, double value, double width);
}