def process_keys_down(self, evt): """Takes care of transfer to nebula the keys down input""" if self.GetActiveChild() != self.render_window: return False iserver = servers.get_input_server() keycode = evt.GetKeyCode() iserver.newevent(nebula.INPUT_KEY_DOWN, nebula.IDEV_KEYBOARD, nebula.translateKeys(keycode)) return True
def process_mouse(self, evt): """Takes care of transfer to nebula mouse input""" if self.GetActiveChild() != self.render_window: return False iserver = servers.get_input_server() pos = evt.GetPosition() mousebuttons = evt.GetButton() sizewindow = self.render_window.panel.GetSize() if mousebuttons == 0: iserver.neweventmotion( nebula.INPUT_MOUSE_MOVE, nebula.IDEV_MOUSE, pos.x, pos.y, float(sizewindow.x), float(sizewindow.y) ) return True # Type of event if evt.ButtonDown() == True: typeevent = nebula.INPUT_BUTTON_DOWN elif evt.ButtonUp() == True: typeevent = nebula.INPUT_BUTTON_UP elif evt.ButtonDClick() == True: if evt.ButtonUp(mousebuttons): typeevent = nebula.INPUT_BUTTON_UP else: typeevent = nebula.INPUT_BUTTON_DOWN else: return True if mousebuttons == 1: # Left button button = nebula.LEFT_BUTTON elif mousebuttons == 2: # Middle button button = nebula.MIDDLE_BUTTON elif mousebuttons == 3: # Right button button = nebula.RIGHT_BUTTON else: return True iserver.neweventbutton( typeevent, nebula.IDEV_MOUSE, pos.x, pos.y, float(sizewindow.x), float(sizewindow.y), button ) return True
def process_keys_down(self, evt): """Takes care of transfer to nebula the keys down input""" if self.GetActiveChild() != self.render_window: return False iserver = servers.get_input_server() keycode = evt.GetKeyCode() iserver.newevent( nebula.INPUT_KEY_DOWN, nebula.IDEV_KEYBOARD, nebula.translateKeys(keycode) ) return True
def process_mouse(self, evt): """Takes care of transfer to nebula mouse input""" if self.GetActiveChild() != self.render_window: return False iserver = servers.get_input_server() pos = evt.GetPosition() mousebuttons = evt.GetButton() sizewindow = self.render_window.panel.GetSize() if mousebuttons == 0: iserver.neweventmotion(nebula.INPUT_MOUSE_MOVE, nebula.IDEV_MOUSE, pos.x, pos.y, float(sizewindow.x), float(sizewindow.y)) return True # Type of event if evt.ButtonDown() == True: typeevent = nebula.INPUT_BUTTON_DOWN elif evt.ButtonUp() == True: typeevent = nebula.INPUT_BUTTON_UP elif evt.ButtonDClick() == True: if evt.ButtonUp(mousebuttons): typeevent = nebula.INPUT_BUTTON_UP else: typeevent = nebula.INPUT_BUTTON_DOWN else: return True if mousebuttons == 1: # Left button button = nebula.LEFT_BUTTON elif mousebuttons == 2: # Middle button button = nebula.MIDDLE_BUTTON elif mousebuttons == 3: # Right button button = nebula.RIGHT_BUTTON else: return True iserver.neweventbutton(typeevent, nebula.IDEV_MOUSE, pos.x, pos.y, float(sizewindow.x), float(sizewindow.y), button) return True