/** * Rotate the selected Content suitably to the specified MouseEvent. * * @param e */ public void rotate(final MouseEvent e) { rotate(e.getX(), e.getY()); }
/** * Translate the selected Content suitably to the specified MouseEvent. * * @param e */ public void translate(final MouseEvent e) { translate(e.getX(), e.getY()); }
final Content c = univ.getSelected(); if (id == MouseEvent.MOUSE_PRESSED) { if (c != null && !c.isLocked()) contentTransformer.init(c, e.getX(), e .getY()); else viewTransformer.init(e); if (c != null && !c.isLocked()) contentTransformer.translate(e); else viewTransformer.translate(e); e.consume(); !c.isLocked() && (InputEvent.BUTTON1_DOWN_MASK == (mask & InputEvent.BUTTON1_DOWN_MASK))) contentTransformer .rotate(e); else viewTransformer.rotate(e); e.consume();
void translate(final int xNew, final int yNew) { if (content == null || content.isLocked()) return; final int dx = xNew - xLast; final int dy = yNew - yLast; translateTG.getTransform(translateOld); v1.scale(dx, translationPerDx); v2.scale(-dy, translationPerDy); translation.add(v1, v2); translateNew.set(translation); translateNew.mul(translateOld); translateTG.setTransform(translateNew); transformChanged(BehaviorCallback.TRANSLATE, translateNew); xLast = xNew; yLast = yNew; }
contentTransformer = new ContentTransformer(this, this); picker = new Picker(this); setInteractiveBehavior(new InteractiveBehavior(this));
if (c != null && !c.isLocked()) contentTransformer.init(c, 0, 0); switch (code) { case KeyEvent.VK_RIGHT: if (c != null && !c.isLocked()) contentTransformer.translate(2, 0); else viewTransformer.translateXY(2, 0); return; case KeyEvent.VK_LEFT: if (c != null && !c.isLocked()) contentTransformer.translate(-2, 0); else viewTransformer.translateXY(-2, 0); return; case KeyEvent.VK_UP: if (c != null && !c.isLocked()) contentTransformer.translate(0, -2); else viewTransformer.translateXY(0, -2); return; case KeyEvent.VK_DOWN: if (c != null && !c.isLocked()) contentTransformer.translate(0, 2); else viewTransformer.translateXY(0, 2); return; if (c != null && !c.isLocked()) contentTransformer.init(c, 0, 0); switch (code) { case KeyEvent.VK_RIGHT: if (c != null && !c.isLocked()) contentTransformer.rotate(5, 0); else viewTransformer.rotateY(-TWO_RAD); return; case KeyEvent.VK_LEFT: if (c != null && !c.isLocked()) contentTransformer.rotate(-5, 0); else viewTransformer.rotateY(TWO_RAD); return;
void rotate(final int xNew, final int yNew) { if (content == null || content.isLocked()) return; final int dx = xNew - xLast; final int dy = yNew - yLast; aaX.set(axisPerDx, dx * anglePerPix); aaY.set(axisPerDy, dy * anglePerPix); transX.set(aaX); transY.set(aaY); rotateTG.getTransform(rotateOld); rotateNew.set(transl_inv); rotateNew.mul(transY); rotateNew.mul(transX); rotateNew.mul(transl); rotateNew.mul(rotateOld); rotateTG.setTransform(rotateNew); xLast = xNew; yLast = yNew; transformChanged(BehaviorCallback.ROTATE, rotateNew); }