openshot-audio  0.1.6
juce_HyperlinkButton.h
Go to the documentation of this file.
1 /*
2  ==============================================================================
3 
4  This file is part of the JUCE library.
5  Copyright (c) 2015 - ROLI Ltd.
6 
7  Permission is granted to use this software under the terms of either:
8  a) the GPL v2 (or any later version)
9  b) the Affero GPL v3
10 
11  Details of these licenses can be found at: www.gnu.org/licenses
12 
13  JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
14  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15  A PARTICULAR PURPOSE. See the GNU General Public License for more details.
16 
17  ------------------------------------------------------------------------------
18 
19  To release a closed-source product which uses JUCE, commercial licenses are
20  available: visit www.juce.com for more information.
21 
22  ==============================================================================
23 */
24 
25 #ifndef JUCE_HYPERLINKBUTTON_H_INCLUDED
26 #define JUCE_HYPERLINKBUTTON_H_INCLUDED
27 
28 
29 //==============================================================================
37 {
38 public:
39  //==============================================================================
47  HyperlinkButton (const String& linkText,
48  const URL& linkURL);
49 
52 
54  ~HyperlinkButton();
55 
56  //==============================================================================
62  void setFont (const Font& newFont,
63  bool resizeToMatchComponentHeight,
65 
66  //==============================================================================
74  enum ColourIds
75  {
76  textColourId = 0x1001f00,
77  };
78 
79  //==============================================================================
81  void setURL (const URL& newURL) noexcept;
82 
84  const URL& getURL() const noexcept { return url; }
85 
86  //==============================================================================
91  void changeWidthToFitText();
92 
93 protected:
94  //==============================================================================
96  void clicked() override;
98  void colourChanged() override;
100  void paintButton (Graphics&, bool isMouseOver, bool isButtonDown) override;
101 
102 private:
103  //==============================================================================
104  URL url;
105  Font font;
106  bool resizeFont;
107  Justification justification;
108 
109  Font getFontToUse() const;
110 
112 };
113 
114 #endif // JUCE_HYPERLINKBUTTON_H_INCLUDED
virtual void clicked()
Definition: juce_Button.cpp:325
Definition: juce_Font.h:39
#define noexcept
Definition: juce_CompilerSupport.h:141
const URL & getURL() const noexcept
Definition: juce_HyperlinkButton.h:84
Definition: juce_HyperlinkButton.h:36
Definition: juce_Button.h:39
Definition: juce_Justification.h:38
Definition: juce_String.h:43
#define JUCE_API
Definition: juce_StandardHeader.h:139
virtual void colourChanged()
Definition: juce_Component.cpp:2139
Definition: juce_URL.h:40
ColourIds
Definition: juce_HyperlinkButton.h:74
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
Definition: juce_PlatformDefs.h:198
Definition: juce_GraphicsContext.h:42
Definition: juce_Justification.h:117
virtual void paintButton(Graphics &g, bool isMouseOverButton, bool isButtonDown)=0