本文整理汇总了Python中pyglet.event.EventDispatcher.dispatch_event方法的典型用法代码示例。如果您正苦于以下问题:Python EventDispatcher.dispatch_event方法的具体用法?Python EventDispatcher.dispatch_event怎么用?Python EventDispatcher.dispatch_event使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pyglet.event.EventDispatcher
的用法示例。
在下文中一共展示了EventDispatcher.dispatch_event方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: dispatch_events
# 需要导入模块: from pyglet.event import EventDispatcher [as 别名]
# 或者: from pyglet.event.EventDispatcher import dispatch_event [as 别名]
def dispatch_events(self):
self._allow_dispatch_event = True
while self._event_queue:
EventDispatcher.dispatch_event(self, *self._event_queue.pop(0))
e = EventRef()
result = carbon.ReceiveNextEvent(0, c_void_p(), 0, True, byref(e))
while result == noErr:
carbon.SendEventToEventTarget(e, self._event_dispatcher)
carbon.ReleaseEvent(e)
if self._recreate_deferred:
self._recreate_immediate()
result = carbon.ReceiveNextEvent(0, c_void_p(), 0, True, byref(e))
self._allow_dispatch_event = False
# Return value from ReceiveNextEvent can be ignored if not
# noErr; we check here only to look for new bugs.
# eventLoopQuitErr: the inner event loop was quit, see
# http://lists.apple.com/archives/Carbon-dev/2006/Jun/msg00850.html
# Can occur when mixing with other toolkits, e.g. Tk.
# Fixes issue 180.
if result not in (eventLoopTimedOutErr, eventLoopQuitErr):
raise 'Error %d' % result
示例2: dispatch_pending_events
# 需要导入模块: from pyglet.event import EventDispatcher [as 别名]
# 或者: from pyglet.event.EventDispatcher import dispatch_event [as 别名]
def dispatch_pending_events(self):
while self._event_queue:
event = self._event_queue.pop(0)
if type(event[0]) is str:
# pyglet event
EventDispatcher.dispatch_event(self, *event)
else:
# win32 event
event[0](*event[1:])
示例3: dispatch_events
# 需要导入模块: from pyglet.event import EventDispatcher [as 别名]
# 或者: from pyglet.event.EventDispatcher import dispatch_event [as 别名]
def dispatch_events(self):
self._allow_dispatch_event = True
while self._event_queue:
event = self._event_queue.pop(0)
if type(event[0]) is str:
# pyglet event
EventDispatcher.dispatch_event(self, *event)
else:
# win32 event
event[0](*event[1:])
msg = MSG()
while _user32.PeekMessageW(byref(msg), self._hwnd, 0, 0, PM_REMOVE):
_user32.TranslateMessage(byref(msg))
_user32.DispatchMessageW(byref(msg))
self._allow_dispatch_event = False
示例4: dispatch_pending_events
# 需要导入模块: from pyglet.event import EventDispatcher [as 别名]
# 或者: from pyglet.event.EventDispatcher import dispatch_event [as 别名]
def dispatch_pending_events(self):
while self._event_queue:
EventDispatcher.dispatch_event(self, *self._event_queue.pop(0))
# Dispatch any context-related events
if self._lost_context:
self._lost_context = False
EventDispatcher.dispatch_event(self, 'on_context_lost')
if self._lost_context_state:
self._lost_context_state = False
EventDispatcher.dispatch_event(self, 'on_context_state_lost')
示例5: dispatch_events
# 需要导入模块: from pyglet.event import EventDispatcher [as 别名]
# 或者: from pyglet.event.EventDispatcher import dispatch_event [as 别名]
def dispatch_events(self):
while self._event_queue:
EventDispatcher.dispatch_event(self, *self._event_queue.pop(0))
# Dispatch any context-related events
if self._lost_context:
self._lost_context = False
EventDispatcher.dispatch_event(self, 'on_context_lost')
if self._lost_context_state:
self._lost_context_state = False
EventDispatcher.dispatch_event(self, 'on_context_state_lost')
self._allow_dispatch_event = True
e = xlib.XEvent()
# Cache these in case window is closed from an event handler
_x_display = self._x_display
_window = self._window
# Check for the events specific to this window
while xlib.XCheckWindowEvent(_x_display, _window,
0x1ffffff, byref(e)):
if xlib.XFilterEvent(e, 0):
continue
event_handler = self._event_handlers.get(e.type)
if event_handler:
event_handler(e)
# Generic events for this window (the window close event).
while xlib.XCheckTypedWindowEvent(_x_display, _window,
xlib.ClientMessage, byref(e)):
event_handler = self._event_handlers.get(e.type)
if event_handler:
event_handler(e)
self._allow_dispatch_event = False
示例6: dispatch_pending_events
# 需要导入模块: from pyglet.event import EventDispatcher [as 别名]
# 或者: from pyglet.event.EventDispatcher import dispatch_event [as 别名]
def dispatch_pending_events(self):
while self._event_queue:
event = self._event_queue.pop(0)
EventDispatcher.dispatch_event(self, *event)
示例7: dispatch_pending_events
# 需要导入模块: from pyglet.event import EventDispatcher [as 别名]
# 或者: from pyglet.event.EventDispatcher import dispatch_event [as 别名]
def dispatch_pending_events(self):
while self._event_queue:
EventDispatcher.dispatch_event(self, *self._event_queue.pop(0))
if self._recreate_deferred:
self._recreate_immediate()