From ffb8b0a60efaf90dd1fd2090c1a80d9812b2df2f Mon Sep 17 00:00:00 2001
From: Cristian Luis Duarte <cristian.duarte.mb@gmail.com>
Date: Wed, 4 Apr 2018 18:19:01 -0300
Subject: [PATCH] Android fly - Use new asset and screen position

---
 interface/resources/images/fly.png              | Bin 0 -> 11088 bytes
 .../Basic2DWindowOpenGLDisplayPlugin.cpp        |   3 ++-
 .../input-plugins/TouchscreenVirtualPadDevice.h |   3 +--
 libraries/ui/src/VirtualPadManager.cpp          |   7 ++++---
 libraries/ui/src/VirtualPadManager.h            |   3 ++-
 5 files changed, 9 insertions(+), 7 deletions(-)
 create mode 100644 interface/resources/images/fly.png

diff --git a/interface/resources/images/fly.png b/interface/resources/images/fly.png
new file mode 100644
index 0000000000000000000000000000000000000000..0edfcab21bbe3f78c684a004a00d5c7ce7c5a3fe
GIT binary patch
literal 11088
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

literal 0
HcmV?d00001

diff --git a/libraries/display-plugins/src/display-plugins/Basic2DWindowOpenGLDisplayPlugin.cpp b/libraries/display-plugins/src/display-plugins/Basic2DWindowOpenGLDisplayPlugin.cpp
index 577330a724..f33af1b580 100644
--- a/libraries/display-plugins/src/display-plugins/Basic2DWindowOpenGLDisplayPlugin.cpp
+++ b/libraries/display-plugins/src/display-plugins/Basic2DWindowOpenGLDisplayPlugin.cpp
@@ -71,13 +71,14 @@ void Basic2DWindowOpenGLDisplayPlugin::customizeContext() {
     }
 
     _virtualPadJumpBtnPixelSize = dpi * VirtualPad::Manager::JUMP_BTN_FULL_PIXELS / VirtualPad::Manager::DPI;
-    iconPath = PathUtils::resourcesPath() + "images/analog_stick.png";
+    iconPath = PathUtils::resourcesPath() + "images/fly.png";
     image = QImage(iconPath);
     if (image.format() != QImage::Format_ARGB32) {
         image = image.convertToFormat(QImage::Format_ARGB32);
     }
     if ((image.width() > 0) && (image.height() > 0)) {
         image = image.scaled(_virtualPadJumpBtnPixelSize, _virtualPadJumpBtnPixelSize, Qt::KeepAspectRatio);
+        image = image.mirrored();
 
         _virtualPadJumpBtnTexture = gpu::Texture::createStrict(
                 gpu::Element(gpu::VEC4, gpu::NUINT8, gpu::RGBA),
diff --git a/libraries/input-plugins/src/input-plugins/TouchscreenVirtualPadDevice.h b/libraries/input-plugins/src/input-plugins/TouchscreenVirtualPadDevice.h
index 010feaf1bb..1e63d61db3 100644
--- a/libraries/input-plugins/src/input-plugins/TouchscreenVirtualPadDevice.h
+++ b/libraries/input-plugins/src/input-plugins/TouchscreenVirtualPadDevice.h
@@ -132,8 +132,7 @@ protected:
     void jumpTouchEnd();
     bool jumpTouchBeginIsValid(glm::vec2 touchPoint);
 
-    void setupFixedCenter(VirtualPad::Manager& virtualPadManager, bool force = false);
-    void setupJumpButton(VirtualPad::Manager& virtualPadManager);
+    void setupControlsPositions(VirtualPad::Manager& virtualPadManager, bool force = false);
 
     void processInputDeviceForMove(VirtualPad::Manager& virtualPadManager);
     glm::vec2 clippedPointInCircle(float radius, glm::vec2 origin, glm::vec2 touchPoint);
diff --git a/libraries/ui/src/VirtualPadManager.cpp b/libraries/ui/src/VirtualPadManager.cpp
index d62a3b076c..c786110bdf 100644
--- a/libraries/ui/src/VirtualPadManager.cpp
+++ b/libraries/ui/src/VirtualPadManager.cpp
@@ -38,9 +38,10 @@ namespace VirtualPad {
     const float Manager::BASE_DIAMETER_PIXELS = 512.0f;
     const float Manager::BASE_MARGIN_PIXELS = 59.0f;
     const float Manager::STICK_RADIUS_PIXELS = 105.0f;
-    const float Manager::JUMP_BTN_TOP_MARGIN_PIXELS = 59.0f;
-    const float Manager::JUMP_BTN_TRIMMED_RADIUS_PIXELS = 105.0f;
-    const float Manager::JUMP_BTN_FULL_PIXELS = 512.0f;
+    const float Manager::JUMP_BTN_TRIMMED_RADIUS_PIXELS = 67.0f;
+    const float Manager::JUMP_BTN_FULL_PIXELS = 134.0f;
+    const float Manager::JUMP_BTN_BOTTOM_MARGIN_PIXELS = 67.0f;
+    const float Manager::JUMP_BTN_LEFT_MARGIN_PIXELS = 547.0f;
 
     Manager::Manager() {
 
diff --git a/libraries/ui/src/VirtualPadManager.h b/libraries/ui/src/VirtualPadManager.h
index b613f6b42e..68b3d4f10f 100644
--- a/libraries/ui/src/VirtualPadManager.h
+++ b/libraries/ui/src/VirtualPadManager.h
@@ -51,9 +51,10 @@ namespace VirtualPad {
         static const float BASE_DIAMETER_PIXELS;
         static const float BASE_MARGIN_PIXELS;
         static const float STICK_RADIUS_PIXELS;
-        static const float JUMP_BTN_TOP_MARGIN_PIXELS;
         static const float JUMP_BTN_TRIMMED_RADIUS_PIXELS;
         static const float JUMP_BTN_FULL_PIXELS;
+        static const float JUMP_BTN_BOTTOM_MARGIN_PIXELS;
+        static const float JUMP_BTN_LEFT_MARGIN_PIXELS;
 
     private:
         Instance _leftVPadInstance;