/******************************************************************************* * Copyright (c) 2016 Weasis Team and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Nicolas Roduit - initial API and implementation *******************************************************************************/ package org.weasis.core.api.gui.util; import java.awt.event.InputEvent; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener; import java.awt.event.MouseWheelEvent; import java.awt.event.MouseWheelListener; public abstract class MouseActionAdapter implements MouseListener, MouseWheelListener, MouseMotionListener { // Define in java.awt.event.InputEvent, could change if extra modifier bits are added static final int JDK_1_3_MODIFIERS = (1 << 6) - 1; static final int HIGH_MODIFIERS = ~((1 << 14) - 1); protected int buttonMaskEx = 0; protected int lastPosition = 0; private boolean inverse = false; private boolean moveOnX = false; private double mouseSensivity = 1.0; protected double dragAccumulator = Double.MAX_VALUE; @Override public void mouseClicked(MouseEvent e) { } @Override public void mousePressed(MouseEvent e) { } @Override public void mouseReleased(MouseEvent e) { } @Override public void mouseEntered(MouseEvent e) { } @Override public void mouseExited(MouseEvent e) { } @Override public void mouseWheelMoved(MouseWheelEvent e) { } @Override public void mouseDragged(MouseEvent e) { } @Override public void mouseMoved(MouseEvent e) { } public double getMouseSensivity() { return mouseSensivity; } public void setMouseSensivity(double mouseSensivity) { this.mouseSensivity = mouseSensivity; } public int getButtonMaskEx() { return buttonMaskEx; } public int getButtonMask() { int buttonMask = (buttonMaskEx & InputEvent.BUTTON1_DOWN_MASK) != 0 ? InputEvent.BUTTON1_MASK : 0; if ((buttonMaskEx & InputEvent.BUTTON2_DOWN_MASK) != 0) { buttonMask |= InputEvent.BUTTON2_MASK; } if ((buttonMaskEx & InputEvent.BUTTON3_DOWN_MASK) != 0) { buttonMask |= InputEvent.BUTTON3_MASK; } return buttonMask; } public void setButtonMaskEx(int buttonMask) { this.buttonMaskEx = buttonMask; // Zero is used to disable the mouse adapter if (buttonMask == 0) { // assign an invalid value to the accumulator. dragAccumulator = Double.MAX_VALUE; } } public boolean isMoveOnX() { return moveOnX; } public void setMoveOnX(boolean moveOnX) { this.moveOnX = moveOnX; } public boolean isInverse() { return inverse; } public void setInverse(boolean inverse) { this.inverse = inverse; } }