From ffb8b0a60efaf90dd1fd2090c1a80d9812b2df2f Mon Sep 17 00:00:00 2001 From: Cristian Luis Duarte 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;