This commit is contained in:
David Sanders 2016-04-14 17:18:46 +00:00
commit 87deb6fe92
2 changed files with 22 additions and 6 deletions

View File

@ -146,6 +146,8 @@ public class ControlP5 extends ControlP5Base {
protected boolean isAnnotation;
boolean isAndroid = false;
public boolean isTouch = false;
/**
* Create a new instance of controlP5.
*

View File

@ -440,18 +440,32 @@ public final class ControlWindow {
*/
public void mouseEvent( MouseEvent theMouseEvent ) {
if ( isMouse ) {
final int action = theMouseEvent.getAction();
if ( cp5.isTouch ) {
// Ignore certain events when touch-enabled
if ( action == MouseEvent.CLICK || action == MouseEvent.MOVE ) {
return;
}
}
mouseX = theMouseEvent.getX( ) - cp5.pgx - cp5.ox;
mouseY = theMouseEvent.getY( ) - cp5.pgy - cp5.oy;
if ( theMouseEvent.getAction( ) == MouseEvent.PRESS ) {
if ( cp5.isTouch && ( action == MouseEvent.PRESS || action == MouseEvent.RELEASE ) ) {
// Use 'Android Mode' which is really just touchscreen support
mouseEvent( theMouseEvent.getX( ), theMouseEvent.getY( ), action == MouseEvent.PRESS );
return;
}
if ( action == MouseEvent.PRESS ) {
mousePressedEvent( );
}
if ( theMouseEvent.getAction( ) == MouseEvent.RELEASE ) {
if ( action == MouseEvent.RELEASE ) {
mouseReleasedEvent( );
}
if ( theMouseEvent.getAction( ) == MouseEvent.WHEEL ) {
if ( action == MouseEvent.WHEEL ) {
setMouseWheelRotation( theMouseEvent.getCount( ) );
}
}
}
@ -520,7 +534,7 @@ public final class ControlWindow {
if ( cp5.blockDraw == false ) {
if ( cp5.isAndroid ) {
mouseEvent( cp5.papplet.mouseX , cp5.papplet.mouseY , cp5.papplet.mousePressed );
} else {
} else if ( !cp5.isTouch ) {
updateEvents( );
}
if ( isVisible ) {