/*
- * Sixth 3D engine. Copyright ©2012-2017, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 3 of the GNU Lesser General Public License
- * or later as published by the Free Software Foundation.
- *
+ * Sixth 3D engine. Author: Svjatoslav Agejenko.
+ * This project is released under Creative Commons Zero (CC0) license.
*/
-
package eu.svjatoslav.sixth.e3d.gui.humaninput;
+/**
+ * Interface that allows to handle mouse events.
+ */
public interface MouseInteractionController {
/**
- * Called when mouse is clicked on component
+ * Called when mouse is clicked on component.
+ *
+ * @return <code>true</code> if view update is needed as a consequence of this mouse click.
*/
- void mouseClicked();
+ boolean mouseClicked(int button);
/**
* Called when mouse gets over given component.
+ *
+ * @return <code>true</code> if view update is needed as a consequence of this mouse enter.
*/
- void mouseEntered();
+ boolean mouseEntered();
/**
* Called when mouse leaves screen area occupied by component.
+ *
+ * @return <code>true</code> if view update is needed as a consequence of this mouse exit.
*/
- void mouseExited();
+ boolean mouseExited();
}