openshot-audio  0.1.5
juce_ComponentAnimator.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_COMPONENTANIMATOR_H_INCLUDED
26 #define JUCE_COMPONENTANIMATOR_H_INCLUDED
27 
28 
29 //==============================================================================
51  private Timer
52 {
53 public:
54  //==============================================================================
57 
60 
61  //==============================================================================
95  void animateComponent (Component* component,
96  const Rectangle<int>& finalBounds,
97  float finalAlpha,
98  int animationDurationMilliseconds,
99  bool useProxyComponent,
100  double startSpeed,
101  double endSpeed);
102 
108  void fadeOut (Component* component, int millisecondsToTake);
109 
113  void fadeIn (Component* component, int millisecondsToTake);
114 
121  void cancelAnimation (Component* component,
122  bool moveComponentToItsFinalPosition);
123 
130  void cancelAllAnimations (bool moveComponentsToTheirFinalPositions);
131 
140  Rectangle<int> getComponentDestination (Component* component);
141 
143  bool isAnimating (Component* component) const noexcept;
144 
146  bool isAnimating() const noexcept;
147 
148 private:
149  //==============================================================================
150  class AnimationTask;
152  uint32 lastTime;
153 
154  AnimationTask* findTaskFor (Component*) const noexcept;
155  void timerCallback();
156 
158 };
159 
160 
161 #endif // JUCE_COMPONENTANIMATOR_H_INCLUDED
#define noexcept
Definition: juce_CompilerSupport.h:141
virtual void timerCallback()=0
Definition: juce_ChangeBroadcaster.h:35
#define JUCE_API
Definition: juce_StandardHeader.h:139
Definition: juce_ComponentAnimator.h:50
Definition: juce_Rectangle.h:36
Definition: juce_ComponentAnimator.cpp:25
unsigned int uint32
Definition: juce_MathsFunctions.h:51
Definition: juce_Component.h:33
Definition: juce_OwnedArray.h:55
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
Definition: juce_PlatformDefs.h:198
Definition: juce_Timer.h:52