package com.horstmann.violet.framework.util;
import java.awt.event.InputEvent;
import java.awt.event.MouseEvent;
/**
* Utility class for convenient checking of modifier keys (Ctrl, Shift, Alt,
* Meta) during mouse events.
*
* @author Viigoo
*
*/
public class KeyModifierUtil {
/**
* Checks if CTRL key is pressed during mouse event.
*
* @param event MouseEvent to be checked
* @return true if pressed, false otherwise
*/
public static boolean isCtrl(MouseEvent event) {
return isEventModifierMask(event, InputEvent.CTRL_DOWN_MASK);
}
/**
* Checks if SHIFT key is pressed during mouse event.
*
* @param event MouseEvent to be checked
* @return true if pressed, false otherwise
*/
public static boolean isShift(MouseEvent event) {
return isEventModifierMask(event, InputEvent.SHIFT_DOWN_MASK);
}
/**
* Checks if ALT key is pressed during mouse event.
*
* @param event MouseEvent to be checked
* @return true if pressed, false otherwise
*/
public static boolean isAlt(MouseEvent event) {
return isEventModifierMask(event, InputEvent.ALT_DOWN_MASK);
}
/**
* Checks if META key is pressed during mouse event.
*
* @param event MouseEvent to be checked
* @return true if pressed, false otherwise
*/
public static boolean isMeta(MouseEvent event) {
return isEventModifierMask(event, InputEvent.META_DOWN_MASK);
}
private static boolean isEventModifierMask(MouseEvent event, int modifierMask) {
return (event.getModifiersEx() & modifierMask) != 0;
}
}