openshot-audio  0.1.4
juce_ProgressBar.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_PROGRESSBAR_H_INCLUDED
26 #define JUCE_PROGRESSBAR_H_INCLUDED
27 
28 
29 //==============================================================================
43  public SettableTooltipClient,
44  private Timer
45 {
46 public:
47  //==============================================================================
57  explicit ProgressBar (double& progress);
58 
60  ~ProgressBar();
61 
62  //==============================================================================
68  void setPercentageDisplay (bool shouldDisplayPercentage);
69 
75  void setTextToDisplay (const String& text);
76 
77 
78  //==============================================================================
86  enum ColourIds
87  {
88  backgroundColourId = 0x1001900,
89  foregroundColourId = 0x1001a00,
91  };
92 
93  //==============================================================================
96  {
97  virtual ~LookAndFeelMethods() {}
98 
107  virtual void drawProgressBar (Graphics&, ProgressBar&, int width, int height,
108  double progress, const String& textToShow) = 0;
109  };
110 
111 protected:
112  //==============================================================================
114  void paint (Graphics&) override;
116  void lookAndFeelChanged() override;
118  void visibilityChanged() override;
120  void colourChanged() override;
121 
122 private:
123  double& progress;
124  double currentValue;
125  bool displayPercentage;
126  String displayedMessage, currentMessage;
127  uint32 lastCallbackTime;
128 
129  void timerCallback() override;
130 
132 };
133 
134 
135 #endif // JUCE_PROGRESSBAR_H_INCLUDED
Definition: juce_ProgressBar.h:95
ColourIds
Definition: juce_ProgressBar.h:86
Definition: juce_String.h:43
#define JUCE_API
Definition: juce_StandardHeader.h:139
Definition: juce_TooltipClient.h:63
unsigned int uint32
Definition: juce_MathsFunctions.h:51
Definition: juce_Component.h:33
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
Definition: juce_PlatformDefs.h:198
Definition: juce_GraphicsContext.h:42
virtual ~LookAndFeelMethods()
Definition: juce_ProgressBar.h:97
Definition: juce_Timer.h:52
Definition: juce_ProgressBar.h:42