internal bool PostMessage(SDL_EventType msg, IntPtr wParam, IntPtr lParam) { if (_threadId > 0 && _thread.IsAlive) { bool result = Native.PostThreadMessage(_threadId, WM_(msg), wParam, lParam); if (!result) { Debug.WriteLine($"向{_threadId}线程发送消息失败:{Native.GetLastError()}"); } return(result); } Debug.WriteLine($"无法向{_threadId}线程发送消息,目标线程当前状态为{_thread.ThreadState}"); return(false); }
static uint WM_(SDL_EventType msg) => Native.WM_USER + (uint)msg;
internal bool PostMessage(SDL_EventType msg) => PostMessage(msg, IntPtr.Zero, IntPtr.Zero);
/* Get the state of an event */ public static byte SDL_GetEventState(SDL_EventType type) { return SDL_EventState(type, SDL_QUERY); }
public static extern byte SDL_EventState(SDL_EventType type, int state);
public static extern void SDL_FlushEvent(SDL_EventType type);
public static extern SDL_bool SDL_HasEvent(SDL_EventType type);