CPF/CPF.Mac/Mac/AppKit/AppKitSynchronizationContext.cs
2023-11-21 23:05:03 +08:00

30 lines
559 B
C#

using CPF.Mac.Foundation;
using System.Threading;
namespace CPF.Mac.AppKit
{
internal class AppKitSynchronizationContext : SynchronizationContext
{
public override SynchronizationContext CreateCopy()
{
return new AppKitSynchronizationContext();
}
public override void Post(SendOrPostCallback d, object state)
{
NSRunLoop.Main.BeginInvokeOnMainThread(delegate
{
d(state);
});
}
public override void Send(SendOrPostCallback d, object state)
{
NSRunLoop.Main.InvokeOnMainThread(delegate
{
d(state);
});
}
}
}