From 4bccafb7c3a337a6028d7fc6b6b3c21fc3793c10 Mon Sep 17 00:00:00 2001 From: MiChinao Date: Wed, 11 Nov 2020 12:23:00 +0100 Subject: [PATCH] Pan scene with scroll gesture --- assets/plugins/plugin-tiled-0.0.3.jar | Bin 53112 -> 53130 bytes hyperlap2d-common-api | 2 +- .../plugin/tiled/tools/DeleteTileTool.java | 4 ++-- .../plugin/tiled/tools/DrawTileTool.java | 4 ++-- .../editor/view/stage/SandboxMediator.java | 13 +++++++------ .../view/stage/input/InputListener.java | 16 ++++++++-------- .../editor/view/stage/tools/PanTool.java | 4 ++-- .../view/stage/tools/SelectionTool.java | 4 +++- 8 files changed, 25 insertions(+), 22 deletions(-) diff --git a/assets/plugins/plugin-tiled-0.0.3.jar b/assets/plugins/plugin-tiled-0.0.3.jar index 5a15f97f078a2e2d50e5e9c762e068594565afc0..c3937fc8a7be4ca1d7ae7ef462921686a6ff6bba 100644 GIT binary patch delta 6859 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 VfaW+DvpK8^a2#jA8SB0T{U6NKsnGxc diff --git a/hyperlap2d-common-api b/hyperlap2d-common-api index 7813a24a..da97d4e9 160000 --- a/hyperlap2d-common-api +++ b/hyperlap2d-common-api @@ -1 +1 @@ -Subproject commit 7813a24acff90aa0f0ced155cd82a719573e0228 +Subproject commit da97d4e9d5c2270cd319de59ed903ea33903148e diff --git a/plugin-tiled/src/main/java/games/rednblack/editor/plugin/tiled/tools/DeleteTileTool.java b/plugin-tiled/src/main/java/games/rednblack/editor/plugin/tiled/tools/DeleteTileTool.java index 967004bb..7b284a7d 100644 --- a/plugin-tiled/src/main/java/games/rednblack/editor/plugin/tiled/tools/DeleteTileTool.java +++ b/plugin-tiled/src/main/java/games/rednblack/editor/plugin/tiled/tools/DeleteTileTool.java @@ -56,8 +56,8 @@ public class DeleteTileTool implements Tool { } @Override - public void stageMouseScrolled(float amountX, float amountY) { - + public boolean stageMouseScrolled(float amountX, float amountY) { + return false; } @Override diff --git a/plugin-tiled/src/main/java/games/rednblack/editor/plugin/tiled/tools/DrawTileTool.java b/plugin-tiled/src/main/java/games/rednblack/editor/plugin/tiled/tools/DrawTileTool.java index 5c1ce28c..7799c848 100644 --- a/plugin-tiled/src/main/java/games/rednblack/editor/plugin/tiled/tools/DrawTileTool.java +++ b/plugin-tiled/src/main/java/games/rednblack/editor/plugin/tiled/tools/DrawTileTool.java @@ -67,8 +67,8 @@ public class DrawTileTool implements Tool { } @Override - public void stageMouseScrolled(float amountX, float amountY) { - + public boolean stageMouseScrolled(float amountX, float amountY) { + return false; } @Override diff --git a/src/main/java/games/rednblack/editor/view/stage/SandboxMediator.java b/src/main/java/games/rednblack/editor/view/stage/SandboxMediator.java index 3273fd16..55969ef7 100644 --- a/src/main/java/games/rednblack/editor/view/stage/SandboxMediator.java +++ b/src/main/java/games/rednblack/editor/view/stage/SandboxMediator.java @@ -431,19 +431,20 @@ public class SandboxMediator extends Mediator { public boolean scrolled(Entity entity, float amountX, float amountY) { Sandbox sandbox = Sandbox.getInstance(); // well, duh - if (amountX == 0) return false; + if (amountX == 0 && amountY == 0) return false; // Control pressed as well if (isControlPressed()) { float zoomPercent = sandbox.getZoomPercent(); - zoomPercent-= amountX *4f; + zoomPercent-= amountY * 4f; if(zoomPercent < 5 ) zoomPercent = 5; sandbox.setZoomPercent(zoomPercent, true); - } - - if (currentSelectedTool != null) { - currentSelectedTool.stageMouseScrolled(amountX, amountY); + } else { + if (currentSelectedTool != null + && !currentSelectedTool.stageMouseScrolled(amountX, amountY)) { + viewComponent.panSceneBy(amountX * 10f, -amountY * 10f); + } } return false; diff --git a/src/main/java/games/rednblack/editor/view/stage/input/InputListener.java b/src/main/java/games/rednblack/editor/view/stage/input/InputListener.java index ba7750b6..196d726e 100644 --- a/src/main/java/games/rednblack/editor/view/stage/input/InputListener.java +++ b/src/main/java/games/rednblack/editor/view/stage/input/InputListener.java @@ -4,20 +4,20 @@ import com.badlogic.ashley.core.Entity; public interface InputListener { - public boolean keyDown(Entity entity, int keycode); + boolean keyDown(Entity entity, int keycode); - public boolean keyUp(Entity entity, int keycode); + boolean keyUp(Entity entity, int keycode); - public boolean keyTyped(Entity entity, char character); + boolean keyTyped(Entity entity, char character); - public boolean touchDown(Entity entity, float screenX, float screenY, int pointer, int button); + boolean touchDown(Entity entity, float screenX, float screenY, int pointer, int button); - public void touchUp(Entity entity, float screenX, float screenY, int pointer, int button); + void touchUp(Entity entity, float screenX, float screenY, int pointer, int button); - public void touchDragged(Entity entity, float screenX, float screenY, int pointer); + void touchDragged(Entity entity, float screenX, float screenY, int pointer); - public boolean mouseMoved(Entity entity, float screenX, float screenY); + boolean mouseMoved(Entity entity, float screenX, float screenY); - public boolean scrolled(Entity entity, float amountX, float amountY); + boolean scrolled(Entity entity, float amountX, float amountY); } diff --git a/src/main/java/games/rednblack/editor/view/stage/tools/PanTool.java b/src/main/java/games/rednblack/editor/view/stage/tools/PanTool.java index 375ac7aa..dfea2b3e 100644 --- a/src/main/java/games/rednblack/editor/view/stage/tools/PanTool.java +++ b/src/main/java/games/rednblack/editor/view/stage/tools/PanTool.java @@ -61,8 +61,8 @@ public class PanTool extends SimpleTool { } @Override - public void stageMouseScrolled(float amountX, float amountY) { - + public boolean stageMouseScrolled(float amountX, float amountY) { + return false; } @Override diff --git a/src/main/java/games/rednblack/editor/view/stage/tools/SelectionTool.java b/src/main/java/games/rednblack/editor/view/stage/tools/SelectionTool.java index ab074bf1..5a916077 100644 --- a/src/main/java/games/rednblack/editor/view/stage/tools/SelectionTool.java +++ b/src/main/java/games/rednblack/editor/view/stage/tools/SelectionTool.java @@ -276,7 +276,7 @@ public class SelectionTool extends SimpleTool { } @Override - public void stageMouseScrolled(float amountX, float amountY) { + public boolean stageMouseScrolled(float amountX, float amountY) { if (isItemDown) { for (Entity itemInstance : sandbox.getSelector().getCurrentSelection()) { transformComponent = ComponentRetriever.get(itemInstance, TransformComponent.class); @@ -293,6 +293,8 @@ public class SelectionTool extends SimpleTool { HyperLap2DFacade.getInstance().sendNotification(MsgAPI.ITEM_DATA_UPDATED, itemInstance); } } + + return isItemDown; } @Override