LMMS
Loading...
Searching...
No Matches
juce_DrawableButton.h
Go to the documentation of this file.
1/*
2 ==============================================================================
3
4 This file is part of the JUCE library.
5 Copyright (c) 2022 - Raw Material Software Limited
6
7 JUCE is an open source library subject to commercial or open-source
8 licensing.
9
10 By using JUCE, you agree to the terms of both the JUCE 7 End-User License
11 Agreement and JUCE Privacy Policy.
12
13 End User License Agreement: www.juce.com/juce-7-licence
14 Privacy Policy: www.juce.com/juce-privacy-policy
15
16 Or: You may also use this code under the terms of the GPL v3 (see
17 www.gnu.org/licenses).
18
19 JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
20 EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
21 DISCLAIMED.
22
23 ==============================================================================
24*/
25
26namespace juce
27{
28
29//==============================================================================
41{
42public:
43 //==============================================================================
57
58 //==============================================================================
68 DrawableButton (const String& buttonName,
69 ButtonStyle buttonStyle);
70
72 ~DrawableButton() override;
73
74 //==============================================================================
103 void setImages (const Drawable* normalImage,
104 const Drawable* overImage = nullptr,
105 const Drawable* downImage = nullptr,
106 const Drawable* disabledImage = nullptr,
107 const Drawable* normalImageOn = nullptr,
108 const Drawable* overImageOn = nullptr,
109 const Drawable* downImageOn = nullptr,
110 const Drawable* disabledImageOn = nullptr);
111
112
113 //==============================================================================
117 void setButtonStyle (ButtonStyle newStyle);
118
121
122 //==============================================================================
126 void setEdgeIndent (int numPixelsIndent);
127
130
131 //==============================================================================
133 Drawable* getCurrentImage() const noexcept;
134
136 Drawable* getNormalImage() const noexcept;
138 Drawable* getOverImage() const noexcept;
140 Drawable* getDownImage() const noexcept;
141
143 virtual Rectangle<float> getImageBounds() const;
144
145 //==============================================================================
157 {
158 textColourId = 0x1004010,
159 textColourOnId = 0x1004013,
160
161 backgroundColourId = 0x1004011,
169 };
170
171 //==============================================================================
173 void paintButton (Graphics&, bool, bool) override;
175 void buttonStateChanged() override;
177 void resized() override;
179 void enablementChanged() override;
181 void colourChanged() override;
182
183private:
184 //==============================================================================
186
187 //==============================================================================
189 std::unique_ptr<Drawable> normalImage, overImage, downImage, disabledImage,
192 int edgeIndent = 3;
193
195};
196
197} // namespace juce
#define noexcept
Definition DistrhoDefines.h:72
Button(const String &buttonName)
Definition juce_Button.cpp:76
Definition juce_DrawableButton.h:41
Drawable * currentImage
Definition juce_DrawableButton.h:191
DrawableButton(const String &buttonName, ButtonStyle buttonStyle)
Definition juce_DrawableButton.cpp:29
bool shouldDrawButtonBackground() const
Definition juce_DrawableButton.h:185
ButtonStyle style
Definition juce_DrawableButton.h:188
ButtonStyle
Definition juce_DrawableButton.h:45
@ ImageOnButtonBackgroundOriginalSize
Definition juce_DrawableButton.h:54
@ ImageFitted
Definition juce_DrawableButton.h:46
@ ImageAboveTextLabel
Definition juce_DrawableButton.h:49
@ ImageStretched
Definition juce_DrawableButton.h:55
@ ImageOnButtonBackground
Definition juce_DrawableButton.h:50
@ ImageRaw
Definition juce_DrawableButton.h:47
std::unique_ptr< Drawable > downImageOn
Definition juce_DrawableButton.h:190
std::unique_ptr< Drawable > disabledImageOn
Definition juce_DrawableButton.h:190
std::unique_ptr< Drawable > downImage
Definition juce_DrawableButton.h:189
std::unique_ptr< Drawable > normalImage
Definition juce_DrawableButton.h:189
ButtonStyle getStyle() const noexcept
Definition juce_DrawableButton.h:120
std::unique_ptr< Drawable > overImage
Definition juce_DrawableButton.h:189
int edgeIndent
Definition juce_DrawableButton.h:192
std::unique_ptr< Drawable > disabledImage
Definition juce_DrawableButton.h:189
std::unique_ptr< Drawable > overImageOn
Definition juce_DrawableButton.h:190
ColourIds
Definition juce_DrawableButton.h:157
@ textColourOnId
Definition juce_DrawableButton.h:159
@ textColourId
Definition juce_DrawableButton.h:158
@ backgroundColourId
Definition juce_DrawableButton.h:161
@ backgroundOnColourId
Definition juce_DrawableButton.h:165
std::unique_ptr< Drawable > normalImageOn
Definition juce_DrawableButton.h:190
int getEdgeIndent() const noexcept
Definition juce_DrawableButton.h:129
Definition juce_Drawable.h:38
Definition juce_GraphicsContext.h:45
Definition juce_Rectangle.h:67
Definition juce_String.h:53
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
#define JUCE_API
Definition juce_StandardHeader.h:152
Definition carla_juce.cpp:31
#define const
Definition zconf.h:137