Example usage for com.badlogic.gdx.scenes.scene2d InputEvent getStageY

List of usage examples for com.badlogic.gdx.scenes.scene2d InputEvent getStageY

Introduction

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

Prototype

public float getStageY() 

Source Link

Document

The stage x coordinate where the event occurred.

Usage

From source file:com.blastedstudios.gdxworld.util.ui.Scene2DUtils.java

License:Apache License

/** @see #copy(Event, Event)  */
public static void copy(InputEvent c, InputEvent e) {
    copy((Event) c, e);/*from   ww w  . j a v a 2 s .co m*/
    c.setStageX(e.getStageX());
    c.setStageY(e.getStageY());
    c.setButton(e.getButton());
    c.setCharacter(e.getCharacter());
    c.setKeyCode(e.getKeyCode());
    c.setPointer(e.getPointer());
    c.setType(e.getType());
    c.setRelatedActor(e.getRelatedActor());
    c.setScrollAmount(e.getScrollAmount());
}

From source file:com.kotcrab.vis.editor.module.scene.entitymanipulator.EntityManipulatorModule.java

License:Apache License

@Override
public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
    if (scene.getActiveLayer().locked)
        return;/*from   w  w  w.  jav  a2  s . c  o  m*/
    currentTool.touchUp(event, x, y, pointer, button);

    if (button == Buttons.RIGHT && mouseDragged == false) {
        if (entitiesSelection.size() > 0) {
            menuX = camera.getInputX();
            menuY = camera.getInputY();

            buildSelectedEntitiesPopupMenu();
            entityPopupMenu.showMenu(event.getStage(), event.getStageX(), event.getStageY());
        } else
            generalPopupMenu.showMenu(event.getStage(), event.getStageX(), event.getStageY());
    }

    mouseDragged = false;
}

From source file:com.kotcrab.vis.editor.module.scene.EntityManipulatorModule.java

License:Apache License

@Override
public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
    x = camera.getInputX();// w w w  . ja  va2 s.  c  o  m
    y = camera.getInputY();

    if (button == Buttons.LEFT && dragged == false && mouseInsideSelected == false) {
        EditorObject result = findEntityWithSmallestSurfaceArea(x, y);
        if (result != null)
            selectedEntities.removeValue(result, true);

        entityProperties.selectedEntitiesChanged();
    }

    if (button == Buttons.RIGHT && cameraDragged == false) {
        if (isMouseInsideSelectedEntities(x, y) == false)
            if (Gdx.input.isKeyPressed(Keys.CONTROL_LEFT) == false)
                selectedEntities.clear();

        EditorObject result = findEntityWithSmallestSurfaceArea(x, y);
        if (result != null && selectedEntities.contains(result, true) == false)
            selectedEntities.add(result);

        entityProperties.selectedEntitiesChanged();
        mouseInsideSelected = true;

        if (selectedEntities.size > 0) {
            menuX = x;
            menuY = y;

            entityPopupMenu.showMenu(event.getStage(), event.getStageX(), event.getStageY());
        } else
            generalPopupMenu.showMenu(event.getStage(), event.getStageX(), event.getStageY());
    }

    if (dragged) {
        for (int i = 0; i < selectedEntities.size; i++)
            moveActions.get(i).newData.saveFrom(selectedEntities.get(i));

        UndoableActionGroup group = new UndoableActionGroup();

        for (MoveAction action : moveActions)
            group.add(action);

        group.finalizeGroup();

        undoModule.add(group);
    }

    rectangularSelection.touchUp();

    lastTouchX = 0;
    lastTouchY = 0;
    mouseInsideSelected = false;
    dragging = false;
    dragged = false;
    cameraDragged = false;
}

From source file:com.kotcrab.vis.editor.ui.scene.entityproperties.ComponentSelectDialog.java

License:Apache License

public ComponentSelectDialog(SceneModuleContainer sceneMC, EntityProperties properties,
        ComponentSelectDialogListener listener) {
    super(false);
    this.properties = properties;
    this.listener = listener;
    sceneMC.injectModules(this);

    setBackground(VisUI.getSkin().getDrawable("tooltip-bg"));

    reloadComponents();//from  ww  w  .  ja v  a2s.com

    buttonStyle = new VisTextButtonStyle(VisUI.getSkin().get(VisTextButtonStyle.class));

    scrollPaneTable = new VisTable(false);
    scrollPaneTable.top();

    VisScrollPane scrollPane = new VisScrollPane(scrollPaneTable);
    scrollPane.setScrollingDisabled(false, true);
    scrollPane.setFlickScroll(false);
    scrollPane.setFadeScrollBars(false);

    VisImageButton closeButton = new VisImageButton("close");

    add(new VisLabel("Select component"));
    add(closeButton).right().row();

    addSeparator().colspan(2);
    add(scrollPane).colspan(2).expand().fill().padLeft(3).padRight(3);
    setSize(220, 200);

    closeButton.addListener(new VisChangeListener((event, actor) -> remove()));

    inputListener = new InputListener() {
        @Override
        public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
            if (contains(event.getStageX(), event.getStageY()) == false) {
                remove();
                return true;
            }

            return false;
        }
    };
}

From source file:com.kotcrab.vis.editor.util.scene2d.VisDragAndDrop.java

License:Apache License

public void addSource(final Source source) {
    DragListener listener = new DragListener() {
        public void dragStart(InputEvent event, float x, float y, int pointer) {
            if (activePointer != -1) {
                event.stop();/*from  ww  w. ja va2  s . c  o m*/
                return;
            }

            activePointer = pointer;

            dragStartTime = System.currentTimeMillis();
            payload = source.dragStart(event, getTouchDownX(), getTouchDownY(), pointer);
            event.stop();

            if (cancelTouchFocus && payload != null)
                source.getActor().getStage().cancelTouchFocusExcept(this, source.getActor());
        }

        public void drag(InputEvent event, float x, float y, int pointer) {
            if (payload == null)
                return;
            if (pointer != activePointer)
                return;

            Stage stage = event.getStage();

            Touchable dragActorTouchable = null;
            if (dragActor != null) {
                dragActorTouchable = dragActor.getTouchable();
                dragActor.setTouchable(Touchable.disabled);
            }

            // Find target.
            Target newTarget = null;
            isValidTarget = false;
            float stageX = event.getStageX() + touchOffsetX, stageY = event.getStageY() + touchOffsetY;
            Actor hit = event.getStage().hit(stageX, stageY, true); // Prefer touchable actors.
            if (hit == null)
                hit = event.getStage().hit(stageX, stageY, false);
            if (hit != null) {
                for (int i = 0, n = targets.size; i < n; i++) {
                    Target target = targets.get(i);
                    if (!target.getActor().isAscendantOf(hit))
                        continue;
                    newTarget = target;
                    target.getActor().stageToLocalCoordinates(tmpVector.set(stageX, stageY));
                    break;
                }
            }
            //if over a new target, notify the former target that it's being left behind.
            if (newTarget != target) {
                if (target != null)
                    target.reset(source, payload);
                target = newTarget;
            }
            //with any reset out of the way, notify new targets of drag.
            if (newTarget != null) {
                isValidTarget = newTarget.drag(source, payload, tmpVector.x, tmpVector.y, pointer);
            }

            if (dragActor != null)
                dragActor.setTouchable(dragActorTouchable);

            // Add/remove and position the drag actor.
            Actor actor = null;
            if (target != null)
                actor = isValidTarget ? payload.getValidDragActor() : payload.getInvalidDragActor();
            if (actor == null)
                actor = payload.getDragActor();
            if (actor == null)
                return;
            if (dragActor != actor) {
                if (dragActor != null)
                    dragActor.remove();
                dragActor = actor;
                stage.addActor(actor);
            }
            float actorX = event.getStageX() + dragActorX;
            float actorY = event.getStageY() + dragActorY - actor.getHeight();
            if (keepWithinStage) {
                if (actorX < 0)
                    actorX = 0;
                if (actorY < 0)
                    actorY = 0;
                if (actorX + actor.getWidth() > stage.getWidth())
                    actorX = stage.getWidth() - actor.getWidth();
                if (actorY + actor.getHeight() > stage.getHeight())
                    actorY = stage.getHeight() - actor.getHeight();
            }

            actor.setPosition(actorX, actorY);

            if (currentSceneCamera != null && editingSettings.isSnapEnabledOrKeyPressed()) {
                float gridSize = gridSettings.config.gridSize;
                actor.setPosition(MathUtils.floor(currentSceneCamera.getInputX() / gridSize) * gridSize,
                        MathUtils.floor(currentSceneCamera.getInputY() / gridSize) * gridSize);

                Vector3 v = currentSceneCamera.project(tmpVector3.set(actor.getX(), actor.getY(), 0));
                actor.setPosition(v.x, v.y);
            }
        }

        public void dragStop(InputEvent event, float x, float y, int pointer) {
            if (pointer != activePointer)
                return;
            activePointer = -1;
            if (payload == null)
                return;

            if (System.currentTimeMillis() - dragStartTime < dragTime)
                isValidTarget = false;
            if (dragActor != null)
                dragActor.remove();
            if (isValidTarget) {
                float stageX = event.getStageX() + touchOffsetX, stageY = event.getStageY() + touchOffsetY;
                target.getActor().stageToLocalCoordinates(tmpVector.set(stageX, stageY));
                target.drop(source, payload, tmpVector.x, tmpVector.y, pointer);
            }
            source.dragStop(event, x, y, pointer, payload, isValidTarget ? target : null);
            if (target != null)
                target.reset(source, payload);
            payload = null;
            target = null;
            isValidTarget = false;
            dragActor = null;
        }
    };
    listener.setTapSquareSize(tapSquareSize);
    listener.setButton(button);
    source.getActor().addCaptureListener(listener);
    sourceListeners.put(source, listener);
}

From source file:com.o2d.pkayjava.editor.view.ui.followers.AnchorListener.java

License:Apache License

@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
    super.touchDown(event, x, y, pointer, button);
    localTOglobal.set(event.getStageX(), event.getStageY());
    if (listener != null)
        listener.anchorDown(follower, anchorId, localTOglobal.x, localTOglobal.y);
    return true;//ww w .  j  a  v a2  s.  c  o m
}

From source file:com.o2d.pkayjava.editor.view.ui.followers.AnchorListener.java

License:Apache License

@Override
public void touchDragged(InputEvent event, float x, float y, int pointer) {
    localTOglobal.set(event.getStageX(), event.getStageY());
    if (listener != null)
        listener.anchorDragged(follower, anchorId, localTOglobal.x, localTOglobal.y);
}

From source file:com.o2d.pkayjava.editor.view.ui.followers.AnchorListener.java

License:Apache License

@Override
public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
    localTOglobal.set(event.getStageX(), event.getStageY());
    if (listener != null)
        listener.anchorUp(follower, anchorId, localTOglobal.x, localTOglobal.y);
}

From source file:com.o2d.pkayjava.editor.view.ui.followers.AnchorListener.java

License:Apache License

@Override
public void enter(InputEvent event, float x, float y, int pointer, Actor fromActor) {
    super.enter(event, x, y, pointer, fromActor);
    localTOglobal.set(event.getStageX(), event.getStageY());
    if (listener != null)
        listener.anchorMouseEnter(follower, anchorId, localTOglobal.x, localTOglobal.y);
}

From source file:com.o2d.pkayjava.editor.view.ui.followers.AnchorListener.java

License:Apache License

@Override
public void exit(InputEvent event, float x, float y, int pointer, Actor toActor) {
    super.exit(event, x, y, pointer, toActor);
    localTOglobal.set(event.getStageX(), event.getStageY());
    if (listener != null)
        listener.anchorMouseExit(follower, anchorId, localTOglobal.x, localTOglobal.y);
}