//go:build windows package osthread import ( "syscall" "github.com/ebitengine/purego" ) func onmainthread() bool { return mainThreadId == getCurrentThreadId() } var ( mainThreadId int32 getCurrentThreadId func() int32 ) func init() { kernel32 := syscall.NewLazyDLL("kernel.dll").Handle() purego.RegisterLibFunc(&getCurrentThreadId, kernel32, "GetCurrentThreadId") mainThreadId = getCurrentThreadId() }