| @@ -234,12 +234,8 @@ void IIRFilter::copyCoefficientsFrom (const IIRFilter& other) throw() | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| void IIRFilter::setCoefficients (double c1, | |||||
| double c2, | |||||
| double c3, | |||||
| double c4, | |||||
| double c5, | |||||
| double c6) throw() | |||||
| void IIRFilter::setCoefficients (double c1, double c2, double c3, | |||||
| double c4, double c5, double c6) throw() | |||||
| { | { | ||||
| const double a = 1.0 / c4; | const double a = 1.0 / c4; | ||||
| @@ -262,5 +258,4 @@ void IIRFilter::setCoefficients (double c1, | |||||
| } | } | ||||
| END_JUCE_NAMESPACE | END_JUCE_NAMESPACE | ||||
| @@ -705,7 +705,8 @@ OSStatus AudioUnitPluginInstance::renderGetInput (AudioUnitRenderActionFlags* io | |||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| zeromem (ioData->mBuffers[i].mData, sizeof (float) * inNumberFrames); | |||||
| zeromem (ioData->mBuffers[i].mData, | |||||
| sizeof (float) * inNumberFrames); | |||||
| } | } | ||||
| } | } | ||||
| } | } | ||||
| @@ -32,7 +32,7 @@ | |||||
| Macros that will be set here are: | Macros that will be set here are: | ||||
| - One of JUCE_WINDOWS, JUCE_MAC or JUCE_LINUX. | |||||
| - One of JUCE_WINDOWS, JUCE_MAC JUCE_LINUX, JUCE_IOS, JUCE_ANDROID, etc. | |||||
| - Either JUCE_32BIT or JUCE_64BIT, depending on the architecture. | - Either JUCE_32BIT or JUCE_64BIT, depending on the architecture. | ||||
| - Either JUCE_LITTLE_ENDIAN or JUCE_BIG_ENDIAN. | - Either JUCE_LITTLE_ENDIAN or JUCE_BIG_ENDIAN. | ||||
| - Either JUCE_INTEL or JUCE_PPC | - Either JUCE_INTEL or JUCE_PPC | ||||
| @@ -219,7 +219,7 @@ private: | |||||
| //============================================================================== | //============================================================================== | ||||
| void addTimer (Timer* const t) throw() | void addTimer (Timer* const t) throw() | ||||
| { | { | ||||
| #if JUCE_DEBUG | |||||
| #if JUCE_DEBUG | |||||
| Timer* tt = firstTimer; | Timer* tt = firstTimer; | ||||
| while (tt != 0) | while (tt != 0) | ||||
| @@ -232,7 +232,7 @@ private: | |||||
| } | } | ||||
| jassert (t->previous == 0 && t->next == 0); | jassert (t->previous == 0 && t->next == 0); | ||||
| #endif | |||||
| #endif | |||||
| Timer* i = firstTimer; | Timer* i = firstTimer; | ||||
| @@ -264,7 +264,7 @@ private: | |||||
| void removeTimer (Timer* const t) throw() | void removeTimer (Timer* const t) throw() | ||||
| { | { | ||||
| #if JUCE_DEBUG | |||||
| #if JUCE_DEBUG | |||||
| Timer* tt = firstTimer; | Timer* tt = firstTimer; | ||||
| bool found = false; | bool found = false; | ||||
| @@ -282,7 +282,7 @@ private: | |||||
| // trying to remove a timer that's not here - shouldn't get to this point, | // trying to remove a timer that's not here - shouldn't get to this point, | ||||
| // so if you get this assertion, let me know! | // so if you get this assertion, let me know! | ||||
| jassert (found); | jassert (found); | ||||
| #endif | |||||
| #endif | |||||
| if (t->previous != 0) | if (t->previous != 0) | ||||
| { | { | ||||
| @@ -339,9 +339,9 @@ Timer::Timer() throw() | |||||
| previous (0), | previous (0), | ||||
| next (0) | next (0) | ||||
| { | { | ||||
| #if JUCE_DEBUG | |||||
| #if JUCE_DEBUG | |||||
| activeTimers.add (this); | activeTimers.add (this); | ||||
| #endif | |||||
| #endif | |||||
| } | } | ||||
| Timer::Timer (const Timer&) throw() | Timer::Timer (const Timer&) throw() | ||||
| @@ -350,28 +350,28 @@ Timer::Timer (const Timer&) throw() | |||||
| previous (0), | previous (0), | ||||
| next (0) | next (0) | ||||
| { | { | ||||
| #if JUCE_DEBUG | |||||
| #if JUCE_DEBUG | |||||
| activeTimers.add (this); | activeTimers.add (this); | ||||
| #endif | |||||
| #endif | |||||
| } | } | ||||
| Timer::~Timer() | Timer::~Timer() | ||||
| { | { | ||||
| stopTimer(); | stopTimer(); | ||||
| #if JUCE_DEBUG | |||||
| #if JUCE_DEBUG | |||||
| activeTimers.removeValue (this); | activeTimers.removeValue (this); | ||||
| #endif | |||||
| #endif | |||||
| } | } | ||||
| void Timer::startTimer (const int interval) throw() | void Timer::startTimer (const int interval) throw() | ||||
| { | { | ||||
| const ScopedLock sl (InternalTimerThread::lock); | const ScopedLock sl (InternalTimerThread::lock); | ||||
| #if JUCE_DEBUG | |||||
| #if JUCE_DEBUG | |||||
| // this isn't a valid object! Your timer might be a dangling pointer or something.. | // this isn't a valid object! Your timer might be a dangling pointer or something.. | ||||
| jassert (activeTimers.contains (this)); | jassert (activeTimers.contains (this)); | ||||
| #endif | |||||
| #endif | |||||
| if (periodMs == 0) | if (periodMs == 0) | ||||
| { | { | ||||
| @@ -389,10 +389,10 @@ void Timer::stopTimer() throw() | |||||
| { | { | ||||
| const ScopedLock sl (InternalTimerThread::lock); | const ScopedLock sl (InternalTimerThread::lock); | ||||
| #if JUCE_DEBUG | |||||
| #if JUCE_DEBUG | |||||
| // this isn't a valid object! Your timer might be a dangling pointer or something.. | // this isn't a valid object! Your timer might be a dangling pointer or something.. | ||||
| jassert (activeTimers.contains (this)); | jassert (activeTimers.contains (this)); | ||||
| #endif | |||||
| #endif | |||||
| if (periodMs > 0) | if (periodMs > 0) | ||||
| { | { | ||||
| @@ -37,11 +37,13 @@ class ComponentBoundsConstrainer; | |||||
| //============================================================================== | //============================================================================== | ||||
| /** | /** | ||||
| The base class for window objects that wrap a component as a real operating | |||||
| system object. | |||||
| The Component class uses a ComponentPeer internally to create and manage a real | |||||
| operating-system window. | |||||
| This is an abstract base class - the platform specific code contains default | |||||
| implementations of it that create and manage windows. | |||||
| This is an abstract base class - the platform specific code contains implementations of | |||||
| it for the various platforms. | |||||
| User-code should very rarely need to have any involvement with this class. | |||||
| @see Component::createNewPeer | @see Component::createNewPeer | ||||
| */ | */ | ||||
| @@ -57,16 +57,13 @@ public: | |||||
| const Path& pathToAdd, | const Path& pathToAdd, | ||||
| const AffineTransform& transform); | const AffineTransform& transform); | ||||
| /** Creates an edge table containing a rectangle. | |||||
| */ | |||||
| /** Creates an edge table containing a rectangle. */ | |||||
| EdgeTable (const Rectangle<int>& rectangleToAdd); | EdgeTable (const Rectangle<int>& rectangleToAdd); | ||||
| /** Creates an edge table containing a rectangle list. | |||||
| */ | |||||
| /** Creates an edge table containing a rectangle list. */ | |||||
| EdgeTable (const RectangleList& rectanglesToAdd); | EdgeTable (const RectangleList& rectanglesToAdd); | ||||
| /** Creates an edge table containing a rectangle. | |||||
| */ | |||||
| /** Creates an edge table containing a rectangle. */ | |||||
| EdgeTable (const Rectangle<float>& rectangleToAdd); | EdgeTable (const Rectangle<float>& rectangleToAdd); | ||||
| /** Creates a copy of another edge table. */ | /** Creates a copy of another edge table. */ | ||||
| @@ -43,6 +43,7 @@ | |||||
| class JUCE_API FillType | class JUCE_API FillType | ||||
| { | { | ||||
| public: | public: | ||||
| //============================================================================== | |||||
| /** Creates a default fill type, of solid black. */ | /** Creates a default fill type, of solid black. */ | ||||
| FillType() throw(); | FillType() throw(); | ||||
| @@ -71,6 +72,7 @@ public: | |||||
| /** Destructor. */ | /** Destructor. */ | ||||
| ~FillType() throw(); | ~FillType() throw(); | ||||
| //============================================================================== | |||||
| /** Returns true if this is a solid colour fill, and not a gradient or image. */ | /** Returns true if this is a solid colour fill, and not a gradient or image. */ | ||||
| bool isColour() const throw() { return gradient == 0 && image.isNull(); } | bool isColour() const throw() { return gradient == 0 && image.isNull(); } | ||||
| @@ -106,9 +108,7 @@ public: | |||||
| /** Returns true if this fill type is completely transparent. */ | /** Returns true if this fill type is completely transparent. */ | ||||
| bool isInvisible() const throw(); | bool isInvisible() const throw(); | ||||
| bool operator== (const FillType& other) const; | |||||
| bool operator!= (const FillType& other) const; | |||||
| //============================================================================== | |||||
| /** The solid colour being used. | /** The solid colour being used. | ||||
| If the fill type is not a solid colour, the alpha channel of this colour indicates | If the fill type is not a solid colour, the alpha channel of this colour indicates | ||||
| @@ -129,10 +129,13 @@ public: | |||||
| */ | */ | ||||
| Image image; | Image image; | ||||
| /** The transform that should be applied to the image or gradient that's being drawn. | |||||
| */ | |||||
| /** The transform that should be applied to the image or gradient that's being drawn. */ | |||||
| AffineTransform transform; | AffineTransform transform; | ||||
| //============================================================================== | |||||
| bool operator== (const FillType& other) const; | |||||
| bool operator!= (const FillType& other) const; | |||||
| private: | private: | ||||
| JUCE_LEAK_DETECTOR (FillType); | JUCE_LEAK_DETECTOR (FillType); | ||||
| }; | }; | ||||
| @@ -135,55 +135,46 @@ public: | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Indicates that the item should be centred vertically and horizontally. | /** Indicates that the item should be centred vertically and horizontally. | ||||
| This is equivalent to (horizontallyCentred | verticallyCentred) | This is equivalent to (horizontallyCentred | verticallyCentred) | ||||
| */ | */ | ||||
| centred = 36, | centred = 36, | ||||
| /** Indicates that the item should be centred vertically but placed on the left hand side. | /** Indicates that the item should be centred vertically but placed on the left hand side. | ||||
| This is equivalent to (left | verticallyCentred) | This is equivalent to (left | verticallyCentred) | ||||
| */ | */ | ||||
| centredLeft = 33, | centredLeft = 33, | ||||
| /** Indicates that the item should be centred vertically but placed on the right hand side. | /** Indicates that the item should be centred vertically but placed on the right hand side. | ||||
| This is equivalent to (right | verticallyCentred) | This is equivalent to (right | verticallyCentred) | ||||
| */ | */ | ||||
| centredRight = 34, | centredRight = 34, | ||||
| /** Indicates that the item should be centred horizontally and placed at the top. | /** Indicates that the item should be centred horizontally and placed at the top. | ||||
| This is equivalent to (horizontallyCentred | top) | This is equivalent to (horizontallyCentred | top) | ||||
| */ | */ | ||||
| centredTop = 12, | centredTop = 12, | ||||
| /** Indicates that the item should be centred horizontally and placed at the bottom. | /** Indicates that the item should be centred horizontally and placed at the bottom. | ||||
| This is equivalent to (horizontallyCentred | bottom) | This is equivalent to (horizontallyCentred | bottom) | ||||
| */ | */ | ||||
| centredBottom = 20, | centredBottom = 20, | ||||
| /** Indicates that the item should be placed in the top-left corner. | /** Indicates that the item should be placed in the top-left corner. | ||||
| This is equivalent to (left | top) | This is equivalent to (left | top) | ||||
| */ | */ | ||||
| topLeft = 9, | topLeft = 9, | ||||
| /** Indicates that the item should be placed in the top-right corner. | /** Indicates that the item should be placed in the top-right corner. | ||||
| This is equivalent to (right | top) | This is equivalent to (right | top) | ||||
| */ | */ | ||||
| topRight = 10, | topRight = 10, | ||||
| /** Indicates that the item should be placed in the bottom-left corner. | /** Indicates that the item should be placed in the bottom-left corner. | ||||
| This is equivalent to (left | bottom) | This is equivalent to (left | bottom) | ||||
| */ | */ | ||||
| bottomLeft = 17, | bottomLeft = 17, | ||||
| /** Indicates that the item should be placed in the bottom-left corner. | /** Indicates that the item should be placed in the bottom-left corner. | ||||
| This is equivalent to (right | bottom) | This is equivalent to (right | bottom) | ||||
| */ | */ | ||||
| bottomRight = 18 | bottomRight = 18 | ||||
| @@ -190,8 +190,10 @@ private: | |||||
| class LinearGradientPixelGenerator | class LinearGradientPixelGenerator | ||||
| { | { | ||||
| public: | public: | ||||
| LinearGradientPixelGenerator (const ColourGradient& gradient, const AffineTransform& transform, const PixelARGB* const lookupTable_, const int numEntries_) | |||||
| : lookupTable (lookupTable_), numEntries (numEntries_) | |||||
| LinearGradientPixelGenerator (const ColourGradient& gradient, const AffineTransform& transform, | |||||
| const PixelARGB* const lookupTable_, const int numEntries_) | |||||
| : lookupTable (lookupTable_), | |||||
| numEntries (numEntries_) | |||||
| { | { | ||||
| jassert (numEntries_ >= 0); | jassert (numEntries_ >= 0); | ||||
| Point<float> p1 (gradient.point1); | Point<float> p1 (gradient.point1); | ||||
| @@ -890,16 +890,11 @@ private: | |||||
| const juce_wchar n1 = s [len - 2]; | const juce_wchar n1 = s [len - 2]; | ||||
| const juce_wchar n2 = s [len - 1]; | const juce_wchar n2 = s [len - 1]; | ||||
| if (n1 == 'i' && n2 == 'n') | |||||
| n *= dpi; | |||||
| else if (n1 == 'm' && n2 == 'm') | |||||
| n *= dpi / 25.4f; | |||||
| else if (n1 == 'c' && n2 == 'm') | |||||
| n *= dpi / 2.54f; | |||||
| else if (n1 == 'p' && n2 == 'c') | |||||
| n *= 15.0f; | |||||
| else if (n2 == '%') | |||||
| n *= 0.01f * sizeForProportions; | |||||
| if (n1 == 'i' && n2 == 'n') n *= dpi; | |||||
| else if (n1 == 'm' && n2 == 'm') n *= dpi / 25.4f; | |||||
| else if (n1 == 'c' && n2 == 'm') n *= dpi / 2.54f; | |||||
| else if (n1 == 'p' && n2 == 'c') n *= 15.0f; | |||||
| else if (n2 == '%') n *= 0.01f * sizeForProportions; | |||||
| } | } | ||||
| return n; | return n; | ||||
| @@ -102,7 +102,7 @@ public: | |||||
| void setBottom (ValueType newBottomGap) throw() { bottom = newBottomGap; } | void setBottom (ValueType newBottomGap) throw() { bottom = newBottomGap; } | ||||
| /** Changes the right gap. */ | /** Changes the right gap. */ | ||||
| void setRight (ValueType newRightGap) throw() { right = newRightGap; } | |||||
| void setRight (ValueType newRightGap) throw() { right = newRightGap; } | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Returns a rectangle with these borders removed from it. */ | /** Returns a rectangle with these borders removed from it. */ | ||||
| @@ -31,7 +31,12 @@ | |||||
| //============================================================================== | //============================================================================== | ||||
| /** | /** | ||||
| A simple pseudo-random number generator. | |||||
| A random number generator. | |||||
| You can create a Random object and use it to generate a sequence of random numbers. | |||||
| As a handy shortcut to avoid having to create and seed one yourself, you can call | |||||
| Random::getSystemRandom() to return a global RNG that is seeded randomly when the | |||||
| app launches. | |||||
| */ | */ | ||||
| class JUCE_API Random | class JUCE_API Random | ||||
| { | { | ||||