openshot-audio  0.1.2
juce_StretchableObjectResizer.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_STRETCHABLEOBJECTRESIZER_H_INCLUDED
26 #define JUCE_STRETCHABLEOBJECTRESIZER_H_INCLUDED
27 
28 
29 //==============================================================================
45 {
46 public:
47  //==============================================================================
50 
53 
54  //==============================================================================
62  void addItem (double currentSize,
63  double minSize,
64  double maxSize,
65  int order = 0);
66 
76  void resizeToFit (double targetSize);
77 
79  int getNumItems() const noexcept { return items.size(); }
80 
82  double getItemSize (int index) const noexcept;
83 
84 
85 private:
86  //==============================================================================
87  struct Item
88  {
89  double size;
90  double minSize;
91  double maxSize;
92  int order;
93  };
94 
95  Array<Item> items;
96 
98 };
99 
100 
101 #endif // JUCE_STRETCHABLEOBJECTRESIZER_H_INCLUDED
Definition: juce_StretchableObjectResizer.h:44
#define noexcept
Definition: juce_CompilerSupport.h:141
#define const
~StretchableObjectResizer()
Definition: juce_StretchableObjectResizer.cpp:26
int getNumItems() const noexcept
Definition: juce_StretchableObjectResizer.h:79
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
Definition: juce_PlatformDefs.h:198
void addItem(double currentSize, double minSize, double maxSize, int order=0)
Definition: juce_StretchableObjectResizer.cpp:28
double getItemSize(int index) const noexcept
Definition: juce_StretchableObjectResizer.cpp:44
int size() const noexcept
Definition: juce_Array.h:221
StretchableObjectResizer()
Definition: juce_StretchableObjectResizer.cpp:25
void resizeToFit(double targetSize)
Definition: juce_StretchableObjectResizer.cpp:50