Krotos Modules 3
Loading...
Searching...
No Matches
TriggerButton.h
Go to the documentation of this file.
1#pragma once
2namespace krotos
3{
4 //==============================================================================
11 class TriggerButton : public TextButton
12 {
13 public:
16
17 // Set callbacks to the Buttons different states
18 std::function<void()> buttonPressed{nullptr};
19 std::function<void()> buttonReleased{nullptr};
20
21 private:
26 struct Layout
27 {
28 public:
29 const float m_padding{5.0f};
30 const Colour colourCircleMouseOver{Colour::fromRGBA(255, 255, 255, 15)};
31 const Colour colourCircleMouseDown{Colour::fromRGBA(255, 255, 255, 30)};
32 const Colour colourCircleDefault{Colour::fromRGBA(255, 255, 255, 30)};
34
36 void mouseDown(const MouseEvent&) override;
37 void mouseUp(const MouseEvent&) override;
38 void mouseMove(const MouseEvent&) override;
39
40 void paint(Graphics& g) override;
41
42 void resized() override;
43
44 Rectangle<float> m_bounds;
45 Point<float> m_center;
46
47 float m_radius{0.0f};
48 bool m_insideCircle{false};
49 bool m_clicked{false};
50 };
51
52 //==============================================================================
60 {
61 public:
62 TriggerButtonParameterAttachment(RangedAudioParameter& onClickParam, TriggerButton& button,
63 UndoManager* undoManager = nullptr);
64
66
67 void sendInitialUpdate();
68
69 private:
71 ParameterAttachment m_clickAttachment;
72 };
73} // namespace krotos
A circular TriggerButton UI component.
Definition TriggerButton.h:12
void mouseUp(const MouseEvent &) override
Definition TriggerButton.cpp:83
void paint(Graphics &g) override
Definition TriggerButton.cpp:17
void mouseDown(const MouseEvent &) override
Definition TriggerButton.cpp:70
bool m_insideCircle
Definition TriggerButton.h:48
bool m_clicked
Definition TriggerButton.h:49
struct krotos::TriggerButton::Layout layout
std::function< void()> buttonPressed
Definition TriggerButton.h:18
TriggerButton()
Definition TriggerButton.cpp:8
float m_radius
Definition TriggerButton.h:47
std::function< void()> buttonReleased
Definition TriggerButton.h:19
Point< float > m_center
Definition TriggerButton.h:45
Rectangle< float > m_bounds
Definition TriggerButton.h:44
~TriggerButton()
Definition TriggerButton.cpp:51
void mouseMove(const MouseEvent &) override
Definition TriggerButton.cpp:53
void resized() override
Definition TriggerButton.cpp:10
A custom TriggerButton attachment class.
Definition TriggerButton.h:60
~TriggerButtonParameterAttachment()
Definition TriggerButton.cpp:110
TriggerButtonParameterAttachment(RangedAudioParameter &onClickParam, TriggerButton &button, UndoManager *undoManager=nullptr)
Definition TriggerButton.cpp:98
TriggerButton & m_triggerButton
Definition TriggerButton.h:70
ParameterAttachment m_clickAttachment
Definition TriggerButton.h:71
void sendInitialUpdate()
Definition TriggerButton.cpp:116
Definition AirAbsorptionFilter.cpp:2
Definition TriggerButton.h:27
const float m_padding
Definition TriggerButton.h:29
const Colour colourCircleMouseDown
Definition TriggerButton.h:31
const Colour colourCircleDefault
Definition TriggerButton.h:32
const Colour colourCircleMouseOver
Definition TriggerButton.h:30