Guest User

Untitled

a guest
Nov 21st, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.21 KB | None | 0 0
  1. #include "AltClick.h"
  2.  
  3. using namespace juce;
  4.  
  5. AltClick::AltClick()
  6. {
  7. coveredComponent_ = nullptr;
  8. isAltClickEvent_ = false;
  9. }
  10.  
  11. AltClick::AltClick (juce::Component* component, std::function<bool(juce::ModifierKeys)> func)
  12. {
  13. attach (component, func);
  14. isAltClickEvent_ = false;
  15. }
  16.  
  17. void AltClick::attach (Component* component, std::function<bool(ModifierKeys)> func)
  18. {
  19. coveredComponent_ = component;
  20. func_ = func;
  21. component->addAndMakeVisible (this);
  22. parentSizeChanged();
  23. }
  24.  
  25. void AltClick::parentSizeChanged()
  26. {
  27. jassert (coveredComponent_ != nullptr);
  28. setBounds (coveredComponent_->getLocalBounds());
  29. }
  30.  
  31. void AltClick::mouseDown (const MouseEvent& event)
  32. {
  33. jassert (coveredComponent_ != nullptr);
  34. isAltClickEvent_ = event.mods.isAnyModifierKeyDown() && func_ (event.mods);
  35. if (! isAltClickEvent_)
  36. coveredComponent_->mouseDown (event);
  37. }
  38.  
  39. void AltClick::mouseUp (const MouseEvent& event)
  40. {
  41. jassert (coveredComponent_ != nullptr);
  42. if (! isAltClickEvent_)
  43. coveredComponent_->mouseUp (event);
  44. }
  45.  
  46. void AltClick::mouseDrag (const MouseEvent& event)
  47. {
  48. jassert (coveredComponent_ != nullptr);
  49. if (! isAltClickEvent_)
  50. coveredComponent_->mouseDrag (event);
  51. }
Add Comment
Please, Sign In to add comment