Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "AltClick.h"
- using namespace juce;
- AltClick::AltClick()
- {
- coveredComponent_ = nullptr;
- isAltClickEvent_ = false;
- }
- AltClick::AltClick (juce::Component* component, std::function<bool(juce::ModifierKeys)> func)
- {
- attach (component, func);
- isAltClickEvent_ = false;
- }
- void AltClick::attach (Component* component, std::function<bool(ModifierKeys)> func)
- {
- coveredComponent_ = component;
- func_ = func;
- component->addAndMakeVisible (this);
- parentSizeChanged();
- }
- void AltClick::parentSizeChanged()
- {
- jassert (coveredComponent_ != nullptr);
- setBounds (coveredComponent_->getLocalBounds());
- }
- void AltClick::mouseDown (const MouseEvent& event)
- {
- jassert (coveredComponent_ != nullptr);
- isAltClickEvent_ = event.mods.isAnyModifierKeyDown() && func_ (event.mods);
- if (! isAltClickEvent_)
- coveredComponent_->mouseDown (event);
- }
- void AltClick::mouseUp (const MouseEvent& event)
- {
- jassert (coveredComponent_ != nullptr);
- if (! isAltClickEvent_)
- coveredComponent_->mouseUp (event);
- }
- void AltClick::mouseDrag (const MouseEvent& event)
- {
- jassert (coveredComponent_ != nullptr);
- if (! isAltClickEvent_)
- coveredComponent_->mouseDrag (event);
- }
Add Comment
Please, Sign In to add comment