Skip to content

Commit

Permalink
Toggling resizing as well
Browse files Browse the repository at this point in the history
  • Loading branch information
dikadk committed Apr 16, 2024
1 parent f4138be commit 4fe27ab
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 17 deletions.
19 changes: 12 additions & 7 deletions melatonin/components/overlay.h
Original file line number Diff line number Diff line change
Expand Up @@ -190,15 +190,17 @@ namespace melatonin
selectedComponent = component;
resizable = std::make_unique<juce::ResizableBorderComponent> (component, &constrainer);
resizable->setBorderThickness (juce::BorderSize<int> (6));
addAndMakeVisible (*resizable);
addChildComponent(*resizable);
setSelectedAndResizeableBounds (component);
repaint();

resizable->setVisible(isDragAndResizeEnabled);

if (selectedComponent)
{
constrainer.setMinimumOnscreenAmounts (selectedComponent->getHeight(), selectedComponent->getWidth(), selectedComponent->getHeight(), selectedComponent->getWidth());
// reset previous selection and update mouse cursor
if(isDraggingEnabled)
if(isDragAndResizeEnabled)
selectedComponent->setMouseCursor (juce::MouseCursor::DraggingHandCursor);
}
}
Expand Down Expand Up @@ -236,7 +238,7 @@ namespace melatonin

void mouseEnter (const juce::MouseEvent&) override
{
if (!selectedComponent || !isDraggingEnabled)
if (!selectedComponent || !isDragAndResizeEnabled)
return;

selectedComponent->setMouseCursor (juce::MouseCursor::DraggingHandCursor);
Expand All @@ -245,7 +247,7 @@ namespace melatonin

void mouseMove (const juce::MouseEvent&) override
{
if (!selectedComponent || !isDraggingEnabled)
if (!selectedComponent || !isDragAndResizeEnabled)
return;
selectedComponent->setMouseCursor (juce::MouseCursor::DraggingHandCursor);
repaint();
Expand Down Expand Up @@ -273,9 +275,11 @@ namespace melatonin
}
}

void enableDragging (bool enableDragging)
void enableDragAndResize (bool enableDragAndResize)
{
isDraggingEnabled = enableDragging;
isDragAndResizeEnabled = enableDragAndResize;
if(resizable)
resizable->setVisible(isDragAndResizeEnabled);
}

private:
Expand All @@ -284,7 +288,7 @@ namespace melatonin
juce::Rectangle<int> outlinedBounds;

bool isDragging = false;
bool isDraggingEnabled = false;
bool isDragAndResizeEnabled = false;
juce::ComponentDragger componentDragger;
juce::ComponentBoundsConstrainer boundsConstrainer;

Expand Down Expand Up @@ -371,6 +375,7 @@ namespace melatonin
drawDimensionsLabel();
calculateLinesToParent();
resizable->setBounds (selectedBounds);
resizable->setVisible(isDragAndResizeEnabled);
repaint();
}

Expand Down
12 changes: 6 additions & 6 deletions melatonin/helpers/overlay_mouse_listener.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,9 @@ namespace melatonin
}
}

void enableDragging (bool enable)
void enableDragAndResize (bool enable)
{
dragEnabled = enable;
dragAndResizeEnabled = enable;
}

void enableSelection (bool enableSelection)
Expand All @@ -71,7 +71,7 @@ namespace melatonin

void mouseMove (const juce::MouseEvent& event) override
{
if(!selectionEnabled || !dragEnabled)
if(!selectionEnabled || !dragAndResizeEnabled)
return;

if (outlineDistanceCallback && event.mods.isAltDown())
Expand All @@ -91,7 +91,7 @@ namespace melatonin

void mouseDown (const juce::MouseEvent& event) override
{
if(!dragEnabled)
if(!dragAndResizeEnabled)
return;

if (event.mods.isLeftButtonDown() && event.originalComponent->isMouseOverOrDragging())
Expand All @@ -102,7 +102,7 @@ namespace melatonin

void mouseDrag (const juce::MouseEvent& event) override
{
if(!dragEnabled)
if(!dragAndResizeEnabled)
return;

// takes care of small mouse position drift on selection
Expand Down Expand Up @@ -139,6 +139,6 @@ namespace melatonin
juce::Component* root = nullptr;
bool enabled = false;
bool isDragging { false };
bool dragEnabled { false }, selectionEnabled { false };
bool dragAndResizeEnabled { false }, selectionEnabled { false };
};
}
8 changes: 4 additions & 4 deletions melatonin_inspector.h
Original file line number Diff line number Diff line change
Expand Up @@ -68,10 +68,10 @@ namespace melatonin

void restoreMenuState ()
{
overlayMouseListener.enableDragging (settings->props->getBoolValue ("enableDragging", false));
overlayMouseListener.enableDragAndResize(settings->props->getBoolValue ("enableDragging", false));
overlayMouseListener.enableSelection (settings->props->getBoolValue ("enableSelection", false));

overlay.enableDragging(settings->props->getBoolValue ("enableDragging", false));
overlay.enableDragAndResize(settings->props->getBoolValue ("enableDragging", false));
}

explicit Inspector (juce::Component& rootComponent, bool inspectorEnabledAtStart = true)
Expand Down Expand Up @@ -470,8 +470,8 @@ namespace melatonin


inspectorComponent.toggleMoveCallback = [this] (bool enable) {
overlayMouseListener.enableDragging (enable);
overlay.enableDragging (enable);
overlayMouseListener.enableDragAndResize(enable);
overlay.enableDragAndResize(enable);
};

inspectorComponent.toggleIgnoreCallback = [this] (bool enable) {
Expand Down

0 comments on commit 4fe27ab

Please sign in to comment.