package org.lemsml.jlems.viz.plot; final class TurntableHandler extends BaseMouseHandler { private int xc; private int yc; // private boolean continuous; final static int NORMAL = 0; final static int SIMPLE = 1; int actionMode = NORMAL; public void init(Mouse m) { xc = m.getX(); yc = m.getY(); if (actionMode == SIMPLE) { if (m.leftButton()) { setClaimIn(); } else { setClaimOut(); } } else { setClaimOut(); // needs logic for claiming in multifunction mode } } public void activate() { actionMode = NORMAL; super.activate(); } public void simpleActivate() { activate(); actionMode = SIMPLE; } public void advance(Mouse m) { // could work out of we're in the running to take control; } public void applyOnDown(Mouse m) { m.initializeRotation(m.getX(), m.getY()); } public void applyOnDrag(Mouse m) { int x = m.getX(); int y = m.getY(); m.dragZRotate(x - xc, y - yc); setFullRepaint(); } public void applyOnRelease(Mouse m) { m.restoreAA(); // m.permanentPan(xc, yc, x, y); } }