Author: allain.lalonde Date: Mon Jul 20 08:02:56 2009 New Revision: 524 Modified: piccolo2d.java/trunk/core/src/main/java/edu/umd/cs/piccolo/PCanvas.java
Log: Refactored mousePressed and mouseReleased so that code common to each is now in a helper method. Net result is a much lower cyclomatic complexity for each. Modified: piccolo2d.java/trunk/core/src/main/java/edu/umd/cs/piccolo/PCanvas.java ============================================================================== --- piccolo2d.java/trunk/core/src/main/java/edu/umd/cs/piccolo/PCanvas.java (original) +++ piccolo2d.java/trunk/core/src/main/java/edu/umd/cs/piccolo/PCanvas.java Mon Jul 20 08:02:56 2009 @@ -424,28 +424,12 @@ sendInputEventToInputManager(e, MouseEvent.MOUSE_EXITED); } - public void mousePressed(MouseEvent e) { + public void mousePressed(MouseEvent rawEvent) { requestFocus(); boolean shouldBalanceEvent = false; - if (e.getButton() == MouseEvent.NOBUTTON) { - if ((e.getModifiers() & MouseEvent.BUTTON1_MASK) == MouseEvent.BUTTON1_MASK) { - e = new MouseEvent((Component) e.getSource(), MouseEvent.MOUSE_PRESSED, e.getWhen(), e - .getModifiers(), e.getX(), e.getY(), e.getClickCount(), e.isPopupTrigger(), - MouseEvent.BUTTON1); - } - else if ((e.getModifiers() & MouseEvent.BUTTON2_MASK) == MouseEvent.BUTTON2_MASK) { - e = new MouseEvent((Component) e.getSource(), MouseEvent.MOUSE_PRESSED, e.getWhen(), e - .getModifiers(), e.getX(), e.getY(), e.getClickCount(), e.isPopupTrigger(), - MouseEvent.BUTTON2); - } - else if ((e.getModifiers() & MouseEvent.BUTTON3_MASK) == MouseEvent.BUTTON3_MASK) { - e = new MouseEvent((Component) e.getSource(), MouseEvent.MOUSE_PRESSED, e.getWhen(), e - .getModifiers(), e.getX(), e.getY(), e.getClickCount(), e.isPopupTrigger(), - MouseEvent.BUTTON3); - } - } + MouseEvent e = copyButtonsFromModifiers(rawEvent, MouseEvent.MOUSE_PRESSED); switch (e.getButton()) { case MouseEvent.BUTTON1: @@ -479,27 +463,11 @@ sendInputEventToInputManager(e, MouseEvent.MOUSE_PRESSED); } - - public void mouseReleased(MouseEvent e) { + + public void mouseReleased(MouseEvent rawEvent) { boolean shouldBalanceEvent = false; - if (e.getButton() == MouseEvent.NOBUTTON) { - if ((e.getModifiers() & MouseEvent.BUTTON1_MASK) == MouseEvent.BUTTON1_MASK) { - e = new MouseEvent((Component) e.getSource(), MouseEvent.MOUSE_RELEASED, e.getWhen(), e - .getModifiers(), e.getX(), e.getY(), e.getClickCount(), e.isPopupTrigger(), - MouseEvent.BUTTON1); - } - else if ((e.getModifiers() & MouseEvent.BUTTON2_MASK) == MouseEvent.BUTTON2_MASK) { - e = new MouseEvent((Component) e.getSource(), MouseEvent.MOUSE_RELEASED, e.getWhen(), e - .getModifiers(), e.getX(), e.getY(), e.getClickCount(), e.isPopupTrigger(), - MouseEvent.BUTTON2); - } - else if ((e.getModifiers() & MouseEvent.BUTTON3_MASK) == MouseEvent.BUTTON3_MASK) { - e = new MouseEvent((Component) e.getSource(), MouseEvent.MOUSE_RELEASED, e.getWhen(), e - .getModifiers(), e.getX(), e.getY(), e.getClickCount(), e.isPopupTrigger(), - MouseEvent.BUTTON3); - } - } + MouseEvent e = copyButtonsFromModifiers(rawEvent, MouseEvent.MOUSE_RELEASED); switch (e.getButton()) { case MouseEvent.BUTTON1: @@ -533,6 +501,29 @@ sendInputEventToInputManager(e, MouseEvent.MOUSE_RELEASED); } + + private MouseEvent copyButtonsFromModifiers(final MouseEvent rawEvent, int eventType) { + if (rawEvent.getButton() != MouseEvent.NOBUTTON) { + if ((rawEvent.getModifiers() & MouseEvent.BUTTON1_MASK) == MouseEvent.BUTTON1_MASK) { + return new MouseEvent((Component) rawEvent.getSource(), eventType, rawEvent.getWhen(), rawEvent + .getModifiers(), rawEvent.getX(), rawEvent.getY(), rawEvent.getClickCount(), rawEvent.isPopupTrigger(), + MouseEvent.BUTTON1); + } + else if ((rawEvent.getModifiers() & MouseEvent.BUTTON2_MASK) == MouseEvent.BUTTON2_MASK) { + return new MouseEvent((Component) rawEvent.getSource(), eventType, rawEvent.getWhen(), rawEvent + .getModifiers(), rawEvent.getX(), rawEvent.getY(), rawEvent.getClickCount(), rawEvent.isPopupTrigger(), + MouseEvent.BUTTON2); + } + else if ((rawEvent.getModifiers() & MouseEvent.BUTTON3_MASK) == MouseEvent.BUTTON3_MASK) { + return new MouseEvent((Component) rawEvent.getSource(), eventType, rawEvent.getWhen(), rawEvent + .getModifiers(), rawEvent.getX(), rawEvent.getY(), rawEvent.getClickCount(), rawEvent.isPopupTrigger(), + MouseEvent.BUTTON3); + } + } + + return rawEvent; + } + }; addMouseListener(mouseListener); } --~--~---------~--~----~------------~-------~--~----~ Piccolo2D Developers Group: http://groups.google.com/group/piccolo2d-dev?hl=en -~----------~----~----~----~------~----~------~--~---