| /* | |
| * X events handling functions | |
| * | |
| * Copyright 1993 Alexandre Julliard | |
| * | |
| */ | |
| #include "message.h" | |
| /**********************************************************************/ | |
| EVENT_DRIVER *EVENT_Driver = NULL; | |
| /*********************************************************************** | |
| * EVENT_Init | |
| * | |
| * Initialize network IO. | |
| */ | |
| BOOL EVENT_Init(void) | |
| { | |
| return EVENT_Driver->pInit(); | |
| } | |
| /*********************************************************************** | |
| * EVENT_AddIO | |
| */ | |
| void EVENT_AddIO(int fd, unsigned io_type) | |
| { | |
| EVENT_Driver->pAddIO(fd, io_type); | |
| } | |
| /*********************************************************************** | |
| * EVENT_DeleteIO | |
| */ | |
| void EVENT_DeleteIO(int fd, unsigned io_type) | |
| { | |
| EVENT_Driver->pDeleteIO(fd, io_type); | |
| } | |
| /*********************************************************************** | |
| * EVENT_WaitNetEvent | |
| * | |
| * Wait for a network event, optionally sleeping until one arrives. | |
| * Return TRUE if an event is pending, FALSE on timeout or error | |
| * (for instance lost connection with the server). | |
| */ | |
| BOOL EVENT_WaitNetEvent(BOOL sleep, BOOL peek) | |
| { | |
| return EVENT_Driver->pWaitNetEvent(sleep, peek); | |
| } | |
| /*********************************************************************** | |
| * EVENT_Synchronize | |
| * | |
| * Synchronize with the X server. Should not be used too often. | |
| */ | |
| void EVENT_Synchronize(void) | |
| { | |
| EVENT_Driver->pSynchronize(); | |
| } | |
| /********************************************************************** | |
| * EVENT_CheckFocus | |
| */ | |
| BOOL EVENT_CheckFocus(void) | |
| { | |
| return EVENT_Driver->pCheckFocus(); | |
| } | |
| /*********************************************************************** | |
| * EVENT_QueryPointer | |
| */ | |
| BOOL EVENT_QueryPointer(DWORD *posX, DWORD *posY, DWORD *state) | |
| { | |
| return EVENT_Driver->pQueryPointer(posX, posY, state); | |
| } | |
| /*********************************************************************** | |
| * EVENT_DummyMotionNotify | |
| * | |
| * Generate a dummy MotionNotify event. Used to force a WM_SETCURSOR message. | |
| */ | |
| void EVENT_DummyMotionNotify(void) | |
| { | |
| EVENT_Driver->pDummyMotionNotify(); | |
| } | |
| /********************************************************************** | |
| * EVENT_Pending | |
| */ | |
| BOOL EVENT_Pending() | |
| { | |
| return EVENT_Driver->pPending(); | |
| } | |
| /*********************************************************************** | |
| * IsUserIdle (USER.333) | |
| * | |
| * Check if we have pending X events. | |
| */ | |
| BOOL16 WINAPI IsUserIdle16(void) | |
| { | |
| return EVENT_Driver->pIsUserIdle(); | |
| } | |
| /*********************************************************************** | |
| * EVENT_WakeUp | |
| * | |
| * Wake up the scheduler (EVENT_WaitNetEvent). Use by 32 bit thread | |
| * when thew want signaled an event to a 16 bit task. This function | |
| * will become obsolete when an Asynchronous thread will be implemented | |
| */ | |
| void EVENT_WakeUp(void) | |
| { | |
| EVENT_Driver->pWakeUp(); | |
| } |