#include <CXWindowsEventQueueBuffer.h>
Inherits IEventQueueBuffer.
Inheritance diagram for CXWindowsEventQueueBuffer:
Public Member Functions | |
CXWindowsEventQueueBuffer (Display *, Window) | |
virtual | ~CXWindowsEventQueueBuffer () |
virtual void | waitForEvent (double timeout) |
Block waiting for an event. | |
virtual Type | getEvent (CEvent &event, UInt32 &dataID) |
Get the next event. | |
virtual bool | addEvent (UInt32 dataID) |
Post an event. | |
virtual bool | isEmpty () const |
Check if event queue buffer is empty. | |
virtual CEventQueueTimer * | newTimer (double duration, bool oneShot) const |
Create a timer object. | |
virtual void | deleteTimer (CEventQueueTimer *) const |
Destroy a timer object. |
Definition at line 28 of file CXWindowsEventQueueBuffer.h.
bool CXWindowsEventQueueBuffer::addEvent | ( | UInt32 | dataID | ) | [virtual] |
Post an event.
Add the given event to the end of the queue buffer. This is a user event and getEvent()
must be able to identify it as such and return dataID
. This method must cause waitForEvent()
to return at some future time if it's blocked waiting on an event.
Implements IEventQueueBuffer.
Definition at line 202 of file CXWindowsEventQueueBuffer.cpp.
void CXWindowsEventQueueBuffer::deleteTimer | ( | CEventQueueTimer * | ) | const [virtual] |
Destroy a timer object.
Destroy a timer object previously returned by newTimer()
.
Implements IEventQueueBuffer.
Definition at line 252 of file CXWindowsEventQueueBuffer.cpp.
IEventQueueBuffer::Type CXWindowsEventQueueBuffer::getEvent | ( | CEvent & | event, | |
UInt32 & | dataID | |||
) | [virtual] |
Get the next event.
Get the next event from the buffer. Return kNone if no event is available. If a system event is next, return kSystem and fill in event. The event data in a system event can point to a static buffer (because CEvent::deleteData() will not attempt to delete data in a kSystem event). Otherwise, return kUser and fill in dataID
with the value passed to addEvent()
.
Implements IEventQueueBuffer.
Definition at line 178 of file CXWindowsEventQueueBuffer.cpp.
References IEventQueue::getSystemTarget(), IEventQueueBuffer::kSystem, CEvent::kSystem, and IEventQueueBuffer::kUser.
bool CXWindowsEventQueueBuffer::isEmpty | ( | ) | const [virtual] |
Check if event queue buffer is empty.
Return true iff the event queue buffer is empty.
Implements IEventQueueBuffer.
Definition at line 239 of file CXWindowsEventQueueBuffer.cpp.
Referenced by waitForEvent().
CEventQueueTimer * CXWindowsEventQueueBuffer::newTimer | ( | double | duration, | |
bool | oneShot | |||
) | const [virtual] |
Create a timer object.
Create and return a timer object. The object is opaque and is used only by the buffer but it must be a valid object (i.e. not NULL).
Implements IEventQueueBuffer.
Definition at line 246 of file CXWindowsEventQueueBuffer.cpp.
void CXWindowsEventQueueBuffer::waitForEvent | ( | double | timeout | ) | [virtual] |
Block waiting for an event.
Wait for an event in the event queue buffer for up to timeout
seconds.
Implements IEventQueueBuffer.
Definition at line 78 of file CXWindowsEventQueueBuffer.cpp.
References isEmpty(), and CThread::testCancel().