diff --git a/modules/skybrowser/include/pair.h b/modules/skybrowser/include/pair.h index 8bc5a795e5..6fffd23e22 100644 --- a/modules/skybrowser/include/pair.h +++ b/modules/skybrowser/include/pair.h @@ -62,7 +62,6 @@ public: bool isTargetSelected(); void fineTuneTarget(const glm::vec2& start, const glm::vec2& translation); void translateSelected(const glm::vec2& start, const glm::vec2& translation); - void resizeBrowser(const glm::vec2& start, const glm::vec2& translation); // Browser void sendIdToBrowser(); @@ -75,7 +74,6 @@ public: // Boolean functions bool hasFinishedFading(float goalState) const; - bool isOnResizeArea(glm::vec2 mouseScreenSpaceCoords); bool isEnabled() const; bool isLocked() const; diff --git a/modules/skybrowser/include/screenspaceskybrowser.h b/modules/skybrowser/include/screenspaceskybrowser.h index efd4e82304..62855fd4a5 100644 --- a/modules/skybrowser/include/screenspaceskybrowser.h +++ b/modules/skybrowser/include/screenspaceskybrowser.h @@ -46,11 +46,6 @@ namespace openspace { void setCallbackBorderColor(std::function function); void setCallbackEnabled(std::function function); - // Interaction. Resize - void saveResizeStartSize(); - bool isOnResizeArea(glm::vec2 screenSpaceCoord); - void resize(const glm::vec2& start, const glm::vec2& mouseDrag); - glm::dvec2 fineTuneVector(glm::dvec2 drag); void setIdInBrowser(); @@ -71,13 +66,6 @@ namespace openspace { // Animation of fieldOfView float _endVfov{ 0.f }; - // Resizing - float _originalScale; - float _resizeAreaPercentage{ 0.1f }; - glm::vec2 _originalDimensions; - glm::vec2 _originalScreenSpaceSize; - glm::ivec2 _resizeDirection; - // Time variables // For capping the calls onchange properties from scrolling constexpr static const std::chrono::milliseconds _timeUpdateInterval{ 10 }; diff --git a/modules/skybrowser/skybrowsermodule.cpp b/modules/skybrowser/skybrowsermodule.cpp index c89861600f..eb8e1ae9d2 100644 --- a/modules/skybrowser/skybrowsermodule.cpp +++ b/modules/skybrowser/skybrowsermodule.cpp @@ -285,11 +285,7 @@ SkyBrowserModule::SkyBrowserModule() } else if (_interactionMode != MouseInteraction::Hover && action == MouseAction::Release) { - // Update browser size if it has been resized - if (_interactionMode == MouseInteraction::Resize) { - _mouseOnPair->updateBrowserSize(); - } - + _interactionMode = MouseInteraction::Hover; return true; } @@ -315,10 +311,6 @@ SkyBrowserModule::SkyBrowserModule() setSelectedObject(); break; - case MouseInteraction::Resize: - _mouseOnPair->resizeBrowser(_startDragPosition, translation); - break; - case MouseInteraction::Drag: _mouseOnPair->translateSelected(_startDragPosition, translation); break; @@ -625,19 +617,8 @@ void SkyBrowserModule::handleMouseClick(const MouseButton& button) _startMousePosition = _mousePosition; _startDragPosition = _mouseOnPair->selectedScreenSpacePosition(); - // If current object is browser, check for resizing - bool shouldResize = _mouseOnPair->isBrowserSelected() && - _mouseOnPair->isOnResizeArea(_mousePosition); - - if (shouldResize) { - _mouseOnPair->getBrowser()->saveResizeStartSize(); - _interactionMode = MouseInteraction::Resize; - return; - } - else { - // If it's not resize mode, it's drag mode - _interactionMode = MouseInteraction::Drag; - } + // If it's not resize mode, it's drag mode + _interactionMode = MouseInteraction::Drag; // If target is clicked, it should unlock if (_mouseOnPair->isTargetSelected()) { diff --git a/modules/skybrowser/skybrowsermodule.h b/modules/skybrowser/skybrowsermodule.h index 0bf2f9db0b..81ca6183b1 100644 --- a/modules/skybrowser/skybrowsermodule.h +++ b/modules/skybrowser/skybrowsermodule.h @@ -48,7 +48,6 @@ enum class Transparency { enum class MouseInteraction { Hover, - Resize, Drag, FineTune, }; diff --git a/modules/skybrowser/src/pair.cpp b/modules/skybrowser/src/pair.cpp index f207916b97..9b1bcc6c1d 100644 --- a/modules/skybrowser/src/pair.cpp +++ b/modules/skybrowser/src/pair.cpp @@ -172,11 +172,6 @@ namespace openspace { _selected->translate(translation, start); } - void Pair::resizeBrowser(const glm::vec2& start, const glm::vec2& translation) - { - _browser->resize(start, translation); - } - void Pair::setEnabled(bool enable) { _browser->setEnabled(enable); @@ -323,11 +318,6 @@ namespace openspace { return isTargetFadeFinished(goalState) && isBrowserFadeFinished(goalState); } - bool Pair::isOnResizeArea(glm::vec2 mouseScreenSpaceCoords) - { - return _browser->isOnResizeArea(mouseScreenSpaceCoords); - } - ScreenSpaceSkyTarget* Pair::getTarget() { return _target; } diff --git a/modules/skybrowser/src/screenspaceskybrowser.cpp b/modules/skybrowser/src/screenspaceskybrowser.cpp index bfb4e646c6..aab1129940 100644 --- a/modules/skybrowser/src/screenspaceskybrowser.cpp +++ b/modules/skybrowser/src/screenspaceskybrowser.cpp @@ -244,57 +244,6 @@ namespace openspace { _texture->bind(); } - // Mouse interaction with the browser. Returns 1 or -1 at the coordinate in - // image if the mouse is on a side of the browser - // __1__ - // y| -1 |_____|1 - // |__x -1 - bool ScreenSpaceSkyBrowser::isOnResizeArea(glm::vec2 coord) { - glm::ivec2 resizePosition = glm::ivec2{ 0 }; - // Make sure coordinate is on browser - if (!intersection(coord)) return false; - - // TO DO: turn this into a vector and use prettier vector arithmetic - float resizeAreaY = screenSpaceDimensions().y * _resizeAreaPercentage; - float resizeAreaX = screenSpaceDimensions().x * _resizeAreaPercentage; - - const bool isOnTop = coord.y > upperRightCornerScreenSpace().y - resizeAreaY; - const bool isOnBottom = coord.y < lowerLeftCornerScreenSpace().y + resizeAreaY; - const bool isOnRight = coord.x > upperRightCornerScreenSpace().x - resizeAreaX; - const bool isOnLeft = coord.x < lowerLeftCornerScreenSpace().x + resizeAreaX; - - resizePosition.x = isOnRight ? 1 : isOnLeft ? -1 : 0; - resizePosition.y = isOnTop ? 1 : isOnBottom ? -1 : 0; - - _resizeDirection = resizePosition; - - return isOnRight || isOnLeft || isOnTop || isOnBottom; - } - - void ScreenSpaceSkyBrowser::resize(const glm::vec2& start, const glm::vec2& mouseDrag) - { - glm::vec2 scaling = mouseDrag * glm::vec2(_resizeDirection); - glm::vec2 newSizeRelToOld = (_originalScreenSpaceSize + (scaling)) / - _originalScreenSpaceSize; - - _scale = _originalScale * abs(newSizeRelToOld.y); - // Resize the dimensions of the texture on the x axis - glm::vec2 newDimensions = abs(newSizeRelToOld) * _originalDimensions; - // Scale the browser - // Scale on the y axis, this is to ensure that _scale = 1 is - // equal to the height of the window - _texture->setDimensions(glm::ivec3(newDimensions, 1)); - _objectSize = _texture->dimensions(); - - // For dragging functionality, translate so it looks like the - // browser isn't moving. Make sure the browser doesn't move in - // directions it's not supposed to - glm::vec2 translation = 0.5f * mouseDrag * abs( - glm::vec2(_resizeDirection) - ); - translate(translation, start); - } - glm::mat4 ScreenSpaceSkyBrowser::scaleMatrix() { // To ensure the plane has the right ratio // The _scale tells us how much of the windows height the @@ -308,12 +257,6 @@ namespace openspace { return scale; } - void ScreenSpaceSkyBrowser::saveResizeStartSize() { - _originalScreenSpaceSize = screenSpaceDimensions(); - _originalDimensions = _browserPixeldimensions; - _originalScale = _scale; - } - void ScreenSpaceSkyBrowser::setCallbackEquatorialAim( std::function function) {