Example usage for com.badlogic.gdx.scenes.scene2d Stage addCaptureListener

List of usage examples for com.badlogic.gdx.scenes.scene2d Stage addCaptureListener

Introduction

In this page you can find the example usage for com.badlogic.gdx.scenes.scene2d Stage addCaptureListener.

Prototype

public boolean addCaptureListener(EventListener listener) 

Source Link

Document

Adds a capture listener to the root.

Usage

From source file:com.vlaaad.common.tutorial.RestrictKeyPresses.java

License:Open Source License

@Override
public void start(Callback callback) {
    EventListener listener = new InputListener() {
        @Override/*from  w  w  w.  j  a  v  a2  s  . c  o  m*/
        public boolean keyDown(InputEvent event, int keycode) {
            if (Arrays.binarySearch(keyCodes, keycode) >= 0) {
                event.cancel();
                return true;
            }
            return super.keyDown(event, keycode);
        }

        @Override
        public boolean keyUp(InputEvent event, int keycode) {
            if (Arrays.binarySearch(keyCodes, keycode) >= 0) {
                event.cancel();
                return true;
            }
            return super.keyUp(event, keycode);
        }
    };
    Stage stage = resources.get("stage");
    stage.addCaptureListener(listener);
    for (int keyCode : keyCodes) {
        resources.put("restrictKeyPress" + keyCode, listener);
    }
    callback.taskEnded();
}

From source file:com.vlaaad.common.tutorial.tasks.AllowCloseWindows.java

License:Open Source License

@Override
public void start(Callback callback) {
    Stage stage = resources.get("stage");
    EventListener listener = resources.getIfExists("restrictCloseWindowsListener");
    if (listener != null) {
        stage.removeCaptureListener(listener);
    }/*from   ww w . ja v  a 2  s . c  o m*/
    if (windowClass == null) {
        callback.taskEnded();
        return;
    }
    listener = new WindowListener() {
        @Override
        protected void hide(WindowEvent event) {
            if (!windowClass.isInstance(event.getWindow())) {
                event.cancel();
            }
        }
    };
    stage.addCaptureListener(listener);
    resources.put("restrictCloseWindowsListener", listener);
    callback.taskEnded();
}

From source file:com.vlaaad.common.tutorial.tasks.ArrowForceClick.java

License:Open Source License

protected void addListener(final Stage stage, final Actor target, final Image arrow, final Table message,
        final Callback callback) {
    stage.addCaptureListener(new InputListener() {
        @Override//from   w  w w  .  j  a va2 s.  co  m
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            Actor result = stage.hit(event.getStageX(), event.getStageY(), true);
            if (!result.isDescendantOf(target)) {
                event.cancel();
                return false;
            }
            return true;
        }

        @Override
        public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
            Actor result = stage.hit(event.getStageX(), event.getStageY(), true);
            if (!result.isDescendantOf(target)) {
                event.cancel();
                return;
            }
            stage.removeCaptureListener(this);
            arrow.remove();
            message.remove();
            callback.taskEnded();
        }
    });
}

From source file:com.vlaaad.common.tutorial.tasks.ArrowMessage.java

License:Open Source License

@Override
protected void addListener(final Stage stage, final Actor target, final Image arrow, final Table message,
        final Callback callback) {
    stage.addCaptureListener(new InputListener() {
        @Override/* www. j a  v  a  2s.  c  om*/
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            event.cancel();
            return true;
        }

        @Override
        public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
            event.cancel();
            stage.removeCaptureListener(this);
            arrow.remove();
            message.remove();
            callback.taskEnded();
            event.cancel();
        }
    });
}

From source file:com.vlaaad.common.tutorial.tasks.ForceClickRectangle.java

License:Open Source License

@Override
public void start(final Callback callback) {
    final Rectangle target = getTarget();
    final Stage stage = resources.get("stage");
    listener = new InputListener() {
        @Override//  w ww  .  j a v  a  2s  .c  o m
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            if (resources.get(PauseListeners.KEY, Boolean.FALSE))
                return false;
            if (!target.contains(event.getStageX(), event.getStageY())) {
                event.cancel();
                return false;
            }
            return true;
        }

        @Override
        public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
            if (event.isCancelled() || resources.get(PauseListeners.KEY, Boolean.FALSE))
                return;
            if (target.contains(event.getStageX(), event.getStageY())) {
                stage.removeCaptureListener(this);
                callback.taskEnded();
                return;
            }
            event.cancel();
        }
    };
    stage.addCaptureListener(listener);
}

From source file:com.vlaaad.common.tutorial.tasks.ForceClickStage.java

License:Open Source License

@Override
public void start(final Callback callback) {
    final Stage stage = resources.get("stage");
    stage.addCaptureListener(new InputListener() {
        @Override/*from   w  ww . j  a  v  a 2 s .  c  o  m*/
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            event.cancel();
            return true;
        }

        @Override
        public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
            event.cancel();
            stage.removeCaptureListener(this);
            callback.taskEnded();
        }
    });
}

From source file:com.vlaaad.common.tutorial.tasks.ForceDragActor.java

License:Open Source License

@Override
public final void start(final Callback callback) {
    final Actor actor = getActor();
    final Rectangle[] targets = getTargets();
    final Stage stage = actor.getStage();
    if (actor.getStage() == null)
        throw new IllegalStateException("actor is not on stage!");
    stage.addCaptureListener(new InputListener() {
        @Override//from www .  j  ava 2 s  .c o  m
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            if (!event.getTarget().isDescendantOf(actor)) {
                event.cancel();
                return false;
            }
            return true;
        }

        @Override
        public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
            for (Rectangle target : targets) {
                if (target.contains(event.getStageX(), event.getStageY())) {
                    stage.removeCaptureListener(this);
                    callback.taskEnded();
                    return;
                }
            }
            event.cancel();
        }
    });
}

From source file:com.vlaaad.common.tutorial.tasks.RestrictBackButton.java

License:Open Source License

@Override
public void start(Callback callback) {
    Stage stage = resources.get("stage");
    InputListener listener = new InputListener() {
        @Override// w  w w  .  jav  a2s  .  co  m
        public boolean keyUp(InputEvent event, int keycode) {
            if (keycode == Input.Keys.BACK || keycode == Input.Keys.ESCAPE) {
                event.cancel();
                return true;
            }
            return super.keyDown(event, keycode);
        }
    };

    stage.addCaptureListener(listener);
    resources.put("restrictBackButton", listener);
    callback.taskEnded();
}

From source file:com.vlaaad.common.tutorial.tasks.RestrictCloseWindows.java

License:Open Source License

@Override
public void start(Callback callback) {
    Stage stage = resources.get("stage");
    EventListener listener = resources.getIfExists("restrictCloseWindowsListener");
    if (listener != null) {
        stage.removeCaptureListener(listener);
    }//from  w w w  .j a v  a2 s.c  o m
    listener = new WindowListener() {
        @Override
        protected void hide(WindowEvent event) {
            event.cancel();
        }
    };
    stage.addCaptureListener(listener);
    resources.put("restrictCloseWindowsListener", listener);
    callback.taskEnded();
}

From source file:com.vlaaad.common.tutorial.tasks.RestrictMenuButton.java

License:Open Source License

@Override
public void start(Callback callback) {
    Stage stage = resources.get("stage");
    InputListener listener = new InputListener() {
        @Override/*from   w w w .  ja  va  2s.com*/
        public boolean keyUp(InputEvent event, int keycode) {
            if (keycode == Input.Keys.MENU) {
                event.cancel();
                return true;
            }
            return super.keyDown(event, keycode);
        }
    };
    stage.addCaptureListener(listener);
    resources.put("restrictMenuButton", listener);
    callback.taskEnded();
}