@Override public UIPoint getPanCenter() { UIPoint real = (this.baseEvent).getPanCenter(); return new UIPoint(real.getX() - this.displacement.getX(), real.getY() - this.displacement.getY()); }
@Override public void handleEvent(GOEvent event) { if (event instanceof GOPanEvent) { UIPoint center = ((GOPanEvent) event).getPanCenter(); if (center == null || !controls.containsPoint(center)) { event.setHandler(new PanHandler(this.context.getScreen())); } } else if (event instanceof GOCommandEvent) { GOCommandEvent commandEvent = (GOCommandEvent) event; Action action = getActionForCommand(commandEvent); // also set when action was null, to abort drawing. fireActionEvent(event, action); } else if (event instanceof GOKeyEvent) { Action actionForKeyboard = getActionForKeyboard(((GOKeyEvent) event).getKeyCode()); if (actionForKeyboard != null) { fireActionEvent(event, actionForKeyboard); } } else if (event instanceof GODrawEvent) { GODrawEvent drawEvent = (GODrawEvent) event; if (!controls.handleDrawEvent(drawEvent)) { handleDraw(drawEvent); } } else if (event instanceof GOHoverEvent) { GOHoverEvent hoverEvent = (GOHoverEvent) event; handleHover(hoverEvent); } else if (event instanceof GOZoomEvent) { GOZoomEvent zoomEvent = (GOZoomEvent) event; handleZoom(zoomEvent); } }