mirror of
https://github.com/overte-org/overte.git
synced 2025-08-06 18:50:00 +02:00
Hide jump button while moving. Fix jump button right alignment in pixel
This commit is contained in:
parent
aaaa17be7b
commit
bd4a7ce4fa
4 changed files with 31 additions and 20 deletions
|
@ -2626,6 +2626,9 @@ void Application::initializeUi() {
|
||||||
offscreenUi->resume();
|
offscreenUi->resume();
|
||||||
connect(_window, &MainWindow::windowGeometryChanged, [this](const QRect& r){
|
connect(_window, &MainWindow::windowGeometryChanged, [this](const QRect& r){
|
||||||
resizeGL();
|
resizeGL();
|
||||||
|
if (_touchscreenVirtualPadDevice) {
|
||||||
|
_touchscreenVirtualPadDevice->resize();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// This will set up the input plugins UI
|
// This will set up the input plugins UI
|
||||||
|
|
|
@ -147,20 +147,21 @@ void Basic2DWindowOpenGLDisplayPlugin::compositeExtra() {
|
||||||
batch.setViewportTransform(ivec4(uvec2(0), getRecommendedRenderSize()));
|
batch.setViewportTransform(ivec4(uvec2(0), getRecommendedRenderSize()));
|
||||||
batch.draw(gpu::TRIANGLE_STRIP, 4);
|
batch.draw(gpu::TRIANGLE_STRIP, 4);
|
||||||
});
|
});
|
||||||
|
if (!virtualPadManager.getLeftVirtualPad()->isBeingTouched()) {
|
||||||
// render stick head
|
// render stick head
|
||||||
auto jumpTransform = DependencyManager::get<CompositorHelper>()->getPoint2DTransform(virtualPadManager.getJumpButtonPosition(),
|
auto jumpTransform = DependencyManager::get<CompositorHelper>()->getPoint2DTransform(virtualPadManager.getJumpButtonPosition(),
|
||||||
_virtualPadJumpBtnPixelSize, _virtualPadJumpBtnPixelSize);
|
_virtualPadJumpBtnPixelSize, _virtualPadJumpBtnPixelSize);
|
||||||
render([&](gpu::Batch& batch) {
|
render([&](gpu::Batch& batch) {
|
||||||
batch.enableStereo(false);
|
batch.enableStereo(false);
|
||||||
batch.setProjectionTransform(mat4());
|
batch.setProjectionTransform(mat4());
|
||||||
batch.setPipeline(_cursorPipeline);
|
batch.setPipeline(_cursorPipeline);
|
||||||
batch.setResourceTexture(0, _virtualPadJumpBtnTexture);
|
batch.setResourceTexture(0, _virtualPadJumpBtnTexture);
|
||||||
batch.resetViewTransform();
|
batch.resetViewTransform();
|
||||||
batch.setModelTransform(jumpTransform);
|
batch.setModelTransform(jumpTransform);
|
||||||
batch.setViewportTransform(ivec4(uvec2(0), getRecommendedRenderSize()));
|
batch.setViewportTransform(ivec4(uvec2(0), getRecommendedRenderSize()));
|
||||||
batch.draw(gpu::TRIANGLE_STRIP, 4);
|
batch.draw(gpu::TRIANGLE_STRIP, 4);
|
||||||
});
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
Parent::compositeExtra();
|
Parent::compositeExtra();
|
||||||
|
|
|
@ -43,6 +43,18 @@ void TouchscreenVirtualPadDevice::init() {
|
||||||
_fixedPosition = true; // This should be config
|
_fixedPosition = true; // This should be config
|
||||||
_viewTouchUpdateCount = 0;
|
_viewTouchUpdateCount = 0;
|
||||||
|
|
||||||
|
resize();
|
||||||
|
|
||||||
|
auto& virtualPadManager = VirtualPad::Manager::instance();
|
||||||
|
|
||||||
|
if (_fixedPosition) {
|
||||||
|
virtualPadManager.getLeftVirtualPad()->setShown(virtualPadManager.isEnabled() && !virtualPadManager.isHidden()); // Show whenever it's enabled
|
||||||
|
}
|
||||||
|
|
||||||
|
KeyboardMouseDevice::enableTouch(false); // Touch for view controls is managed by this plugin
|
||||||
|
}
|
||||||
|
|
||||||
|
void TouchscreenVirtualPadDevice::resize() {
|
||||||
QScreen* eventScreen = qApp->primaryScreen();
|
QScreen* eventScreen = qApp->primaryScreen();
|
||||||
if (_screenDPIProvided != eventScreen->physicalDotsPerInch()) {
|
if (_screenDPIProvided != eventScreen->physicalDotsPerInch()) {
|
||||||
_screenWidthCenter = eventScreen->size().width() / 2;
|
_screenWidthCenter = eventScreen->size().width() / 2;
|
||||||
|
@ -59,12 +71,6 @@ void TouchscreenVirtualPadDevice::init() {
|
||||||
|
|
||||||
auto& virtualPadManager = VirtualPad::Manager::instance();
|
auto& virtualPadManager = VirtualPad::Manager::instance();
|
||||||
setupControlsPositions(virtualPadManager, true);
|
setupControlsPositions(virtualPadManager, true);
|
||||||
|
|
||||||
if (_fixedPosition) {
|
|
||||||
virtualPadManager.getLeftVirtualPad()->setShown(virtualPadManager.isEnabled() && !virtualPadManager.isHidden()); // Show whenever it's enabled
|
|
||||||
}
|
|
||||||
|
|
||||||
KeyboardMouseDevice::enableTouch(false); // Touch for view controls is managed by this plugin
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TouchscreenVirtualPadDevice::setupControlsPositions(VirtualPad::Manager& virtualPadManager, bool force) {
|
void TouchscreenVirtualPadDevice::setupControlsPositions(VirtualPad::Manager& virtualPadManager, bool force) {
|
||||||
|
|
|
@ -26,6 +26,7 @@ public:
|
||||||
|
|
||||||
// Plugin functions
|
// Plugin functions
|
||||||
virtual void init() override;
|
virtual void init() override;
|
||||||
|
virtual void resize();
|
||||||
virtual bool isSupported() const override;
|
virtual bool isSupported() const override;
|
||||||
virtual const QString getName() const override { return NAME; }
|
virtual const QString getName() const override { return NAME; }
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue