package com.uwsoft.editor.view.ui.followers;
import com.badlogic.gdx.scenes.scene2d.Actor;
import com.badlogic.gdx.scenes.scene2d.InputEvent;
/**
* Created by CyberJoe on 6/15/2015.
*/
public class LabelAnchorListener extends AnchorListener {
protected FollowerTransformationListener listenerTransform = new EmptyTransformationListener();
protected FollowerTransformationListener listenerResize = new EmptyTransformationListener();
public LabelAnchorListener(NormalSelectionFollower follower, FollowerTransformationListener listenerResize, int anchorId) {
super(follower, anchorId);
this.listenerResize = listenerResize;
}
public void setListenerTransform(FollowerTransformationListener listener) {
listenerTransform = listenerTransform;
}
@Override
public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) {
super.touchDown(event, x, y, pointer, button);
if(follower.getMode() == NormalSelectionFollower.SelectionMode.normal) {
listenerResize.anchorDown(follower, anchorId, event.getStageX(), event.getStageY());
}
if(follower.getMode() == NormalSelectionFollower.SelectionMode.transform) {
if(listenerTransform != null) listenerTransform.anchorDown(follower, anchorId, event.getStageX(), event.getStageY());
}
return true;
}
@Override
public void touchDragged (InputEvent event, float x, float y, int pointer) {
if(follower.getMode() == NormalSelectionFollower.SelectionMode.normal) {
listenerResize.anchorDragged(follower, anchorId, event.getStageX(), event.getStageY());
}
if(follower.getMode() == NormalSelectionFollower.SelectionMode.transform) {
if(listenerTransform != null) listenerTransform.anchorDragged(follower, anchorId, event.getStageX(), event.getStageY());
}
}
@Override
public void touchUp (InputEvent event, float x, float y, int pointer, int button) {
if(follower.getMode() == NormalSelectionFollower.SelectionMode.normal) {
listenerResize.anchorUp(follower, anchorId, event.getStageX(), event.getStageY());
}
if(follower.getMode() == NormalSelectionFollower.SelectionMode.transform) {
if(listenerTransform != null) listenerTransform.anchorUp(follower, anchorId, event.getStageX(), event.getStageY());
}
}
@Override
public void enter (InputEvent event, float x, float y, int pointer, Actor fromActor) {
super.enter(event, x, y, pointer, fromActor);
if(follower.getMode() == NormalSelectionFollower.SelectionMode.normal) {
listenerResize.anchorMouseEnter(follower, anchorId, event.getStageX(), event.getStageY());
}
if(follower.getMode() == NormalSelectionFollower.SelectionMode.transform) {
if(listenerTransform != null) listenerTransform.anchorMouseEnter(follower, anchorId, event.getStageX(), event.getStageY());
}
}
@Override
public void exit (InputEvent event, float x, float y, int pointer, Actor toActor) {
super.exit(event, x, y, pointer, toActor);
if(follower.getMode() == NormalSelectionFollower.SelectionMode.normal) {
listenerResize.anchorMouseExit(follower, anchorId, event.getStageX(), event.getStageY());
}
if(follower.getMode() == NormalSelectionFollower.SelectionMode.transform) {
if(listenerTransform != null) listenerTransform.anchorMouseExit(follower, anchorId, event.getStageX(), event.getStageY());
}
}
}