Loading...
Searching...
No Matches
juce_PlatformDefs.h File Reference

## Namespaces

namespace | juce

## Macros

#define | JUCE_CALLTYPE
| This macro defines the C calling convention used as the standard for JUCE calls.
#define | JUCE_CDECL
#define | JUCE_LOG_CURRENT_ASSERTION
#define | JUCE_BREAK_IN_DEBUGGER { ::kill (0, SIGTRAP); }
| This will try to break into the debugger if the app is currently being debugged.
#define | JUCE_ANALYZER_NORETURN
#define | JUCE_FALLTHROUGH
| Used to silence Wimplicit-fallthrough on Clang and GCC where available as there are a few places in the codebase where we need to do this deliberately and want to ignore the warning.
#define | JUCE_BLOCK_WITH_FORCED_SEMICOLON(x)
| This is the good old C++ trick for creating a macro that forces the user to put a semicolon after it when they use it.
#define | DBG(textToWrite)
| Writes a string to the standard error stream.
#define | jassertfalse JUCE_BLOCK_WITH_FORCED_SEMICOLON (JUCE_LOG_CURRENT_ASSERTION; if (juce::juce_isRunningUnderDebugger()) JUCE_BREAK_IN_DEBUGGER; JUCE_ANALYZER_NORETURN)
| This will always cause an assertion failure.
#define | jassert(expression)
| Platform-independent assertion macro.
#define | jassertquiet(expression)
| Platform-independent assertion macro which suppresses ignored-variable warnings in all build modes.
#define | JUCE_ASSERTIONS_ENABLED 1
#define | JUCE_ASSERTIONS_ENABLED_OR_LOGGED JUCE_ASSERTIONS_ENABLED || JUCE_LOG_ASSERTIONS
#define | JUCE_JOIN_MACRO(item1, item2)
| A good old-fashioned C macro concatenation helper.
#define | JUCE_STRINGIFY(item)
| A handy C macro for stringifying any symbol, rather than just a macro parameter.
#define | JUCE_DECLARE_NON_COPYABLE(className)
| This is a shorthand macro for deleting a class's copy constructor and copy assignment operator.
#define | JUCE_DECLARE_NON_MOVEABLE(className)
| This is a shorthand macro for deleting a class's move constructor and move assignment operator.
#define | JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
| This is a shorthand way of writing both a JUCE_DECLARE_NON_COPYABLE and JUCE_LEAK_DETECTOR macro for a class.
#define | JUCE_PREVENT_HEAP_ALLOCATION
| This macro can be added to class definitions to disable the use of new/delete to allocate the object on the heap, forcing it to only be used as a stack or member variable.
#define | JUCE_COMPILER_WARNING(msg)
| This macro allows you to emit a custom compiler warning message.
#define | forcedinline inline
| A platform-independent way of forcing an inline function.
#define | JUCE_ALIGN(bytes)
| This can be placed before a stack or member variable declaration to tell the compiler to align it to the specified number of bytes.
#define | JUCE_NO_ASSOCIATIVE_MATH_OPTIMISATIONS __attribute__ ((__optimize__ ("no-associative-math")))
| This can be appended to a function declaration to tell gcc to disable associative math optimisations which break some floating point algorithms.

## Macro Definition Documentation

## JUCE_CALLTYPE

#define JUCE_CALLTYPE

This macro defines the C calling convention used as the standard for JUCE calls.

Referenced by juce::FloatVectorOperationsBase< FloatType, CountType >::abs(), juce::FloatVectorOperationsBase< FloatType, CountType >::add(), juce::FloatVectorOperationsBase< FloatType, CountType >::add(), juce::FloatVectorOperationsBase< FloatType, CountType >::add(), juce::FloatVectorOperationsBase< FloatType, CountType >::add(), juce::FloatVectorOperationsBase< FloatType, CountType >::addWithMultiply(), juce::FloatVectorOperationsBase< FloatType, CountType >::addWithMultiply(), juce::AudioChannelSet::ambisonic(), juce::FloatVectorOperations::areDenormalsDisabled(), juce::Component::beginDragAutoRepeat(), juce::Timer::callAfterDelay(), juce::Timer::callPendingTimersSynchronously(), juce::AudioChannelSet::canonicalChannelSet(), juce::AudioChannelSet::channelSetsWithNumberOfChannels(), juce::AudioChannelSet::channelSetWithChannels(), juce::FloatVectorOperationsBase< FloatType, CountType >::clear(), juce::FloatVectorOperationsBase< FloatType, CountType >::clip(), juce::FloatVectorOperations::convertFixedToFloat(), juce::FloatVectorOperations::convertFixedToFloat(), juce::FloatVectorOperationsBase< FloatType, CountType >::copy(), juce::FloatVectorOperationsBase< FloatType, CountType >::copyWithMultiply(), juce::AudioChannelSet::create5point0(), juce::AudioChannelSet::create5point0point2(), juce::AudioChannelSet::create5point0point4(), juce::AudioChannelSet::create5point1(), juce::AudioChannelSet::create5point1point2(), juce::AudioChannelSet::create5point1point4(), juce::AudioChannelSet::create6point0(), juce::AudioChannelSet::create6point0Music(), juce::AudioChannelSet::create6point1(), juce::AudioChannelSet::create6point1Music(), juce::AudioChannelSet::create7point0(), juce::AudioChannelSet::create7point0point2(), juce::AudioChannelSet::create7point0point4(), juce::AudioChannelSet::create7point0point6(), juce::AudioChannelSet::create7point0SDDS(), juce::AudioChannelSet::create7point1(), juce::AudioChannelSet::create7point1point2(), juce::AudioChannelSet::create7point1point4(), juce::AudioChannelSet::create7point1point6(), juce::AudioChannelSet::create7point1SDDS(), juce::AudioChannelSet::create9point0point4(), juce::AudioChannelSet::create9point0point4ITU(), juce::AudioChannelSet::create9point0point6(), juce::AudioChannelSet::create9point0point6ITU(), juce::AudioChannelSet::create9point1point4(), juce::AudioChannelSet::create9point1point4ITU(), juce::AudioChannelSet::create9point1point6(), juce::AudioChannelSet::create9point1point6ITU(), juce::AudioChannelSet::createLCR(), juce::AudioChannelSet::createLCRS(), juce::AudioChannelSet::createLRS(), createPluginFilter(), juce::WindowsRegistry::deleteKey(), juce::WindowsRegistry::deleteValue(), juce::AudioChannelSet::disabled(), juce::FloatVectorOperations::disableDenormalisedNumberSupport(), juce::AudioChannelSet::discreteChannels(), juce::PopupMenu::dismissAllActiveMenus(), juce::VSTPluginFormatHeadless::dispatcher(), juce::FloatVectorOperations::enableFlushToZeroMode(), juce::FloatVectorOperationsBase< FloatType, CountType >::fill(), juce::FloatVectorOperationsBase< FloatType, CountType >::findMaximum(), juce::FloatVectorOperationsBase< FloatType, CountType >::findMinAndMax(), juce::FloatVectorOperationsBase< FloatType, CountType >::findMinimum(), juce::AudioChannelSet::fromWaveChannelMask(), juce::KeyGeneration::generateExpiringKeyFile(), juce::KeyGeneration::generateKeyFile(), juce::AudioChannelSet::getAbbreviatedChannelTypeName(), juce::Component::getApproximateScaleFactorForComponent(), juce::WindowsRegistry::getBinaryValue(), juce::AudioChannelSet::getChannelTypeFromAbbreviation(), juce::AudioChannelSet::getChannelTypeName(), juce::JUCEApplicationBase::getCommandLineParameterArray(), juce::JUCEApplicationBase::getCommandLineParameters(), juce::Logger::getCurrentLogger(), juce::Component::getCurrentlyFocusedComponent(), juce::Component::getCurrentlyModalComponent(), juce::Process::getCurrentModuleInstanceHandle(), juce::Thread::getCurrentThread(), juce::Thread::getCurrentThreadId(), juce::Time::getCurrentTime(), juce::SystemAudioVolume::getGain(), juce::Desktop::getInstance(), juce::JUCEApplication::getInstance(), juce::Component::getNumCurrentlyModalComponents(), juce::File::getSpecialLocation(), juce::WindowsRegistry::getValue(), juce::AudioChannelSet::hexagonal(), juce::Process::hide(), juce::initialiseJuce_GUI(), juce::Process::isForegroundProcess(), juce::Component::isMouseButtonDownAnywhere(), juce::SystemAudioVolume::isMuted(), juce::Process::isRunningUnderDebugger(), juce::juce_isRunningUnderDebugger(), juce::WindowsRegistry::keyExists(), juce::logAssertion(), juce::Process::lowerPrivilege(), juce::Process::makeForegroundProcess(), juce::FloatVectorOperationsBase< FloatType, CountType >::max(), juce::FloatVectorOperationsBase< FloatType, CountType >::max(), juce::FloatVectorOperationsBase< FloatType, CountType >::min(), juce::FloatVectorOperationsBase< FloatType, CountType >::min(), juce::AudioChannelSet::mono(), juce::FloatVectorOperationsBase< FloatType, CountType >::multiply(), juce::FloatVectorOperationsBase< FloatType, CountType >::multiply(), juce::FloatVectorOperationsBase< FloatType, CountType >::multiply(), juce::FloatVectorOperationsBase< FloatType, CountType >::multiply(), juce::AudioChannelSet::namedChannelSet(), juce::FloatVectorOperationsBase< FloatType, CountType >::negate(), juce::AudioChannelSet::octagonal(), juce::Process::openDocument(), juce::Process::openEmailWithAttachments(), juce::operator!=(), juce::operator!=(), juce::operator!=(), juce::operator!=(), juce::operator!=(), juce::operator!=(), juce::operator!=(), juce::operator!=(), juce::operator+(), juce::operator+(), juce::operator+(), juce::operator+(), juce::operator+(), juce::operator+(), juce::operator+(), juce::operator+(), juce::operator+(), juce::operator+(), juce::operator+(), juce::operator-(), juce::operator<(), juce::operator<(), juce::operator<<(), juce::operator<<(), juce::operator<<(), juce::operator<<(), juce::operator<<(), juce::operator<<(), juce::operator<<(), juce::operator<<(), juce::operator<<(), juce::operator<<(), juce::operator<<(), juce::operator<<(), juce::operator<<(), juce::operator<<(), juce::operator<<(), juce::operator<<(), juce::operator<<(), juce::operator<<(), juce::operator<<(), juce::operator<<(), juce::operator<<(), juce::operator<<(), juce::operator<<(), juce::operator<<(), juce::operator<<(), juce::operator<<(), juce::operator<<(), juce::operator<<(), juce::operator<<(), juce::operator<<(), juce::operator<<(), juce::operator<<(), juce::operator<<(), juce::operator<=(), juce::operator<=(), juce::operator==(), juce::operator==(), juce::operator==(), juce::operator==(), juce::operator==(), juce::operator==(), juce::operator==(), juce::operator==(), juce::operator>(), juce::operator>(), juce::operator>=(), juce::operator>=(), juce::Logger::outputDebugString(), juce::AudioChannelSet::pentagonal(), juce::AudioChannelSet::quadraphonic(), juce::Process::raisePrivilege(), juce::WindowsRegistry::registerFileAssociation(), juce::Logger::setCurrentLogger(), juce::Process::setCurrentModuleInstanceHandle(), juce::Thread::setCurrentThreadAffinityMask(), juce::Thread::setCurrentThreadName(), juce::SystemAudioVolume::setGain(), juce::SystemAudioVolume::setMuted(), juce::Process::setPriority(), juce::AudioProcessor::setTypeOfNextNewPlugin(), juce::WindowsRegistry::setValue(), juce::WindowsRegistry::setValue(), juce::WindowsRegistry::setValue(), juce::WindowsRegistry::setValue(), juce::AlertWindow::show(), juce::NativeMessageBox::show(), juce::AlertWindow::showAsync(), juce::AlertWindow::showAsync(), juce::NativeMessageBox::showAsync(), juce::NativeMessageBox::showAsync(), juce::AlertWindow::showMessageBox(), juce::NativeMessageBox::showMessageBox(), juce::AlertWindow::showMessageBoxAsync(), juce::NativeMessageBox::showMessageBoxAsync(), juce::AlertWindow::showOkCancelBox(), juce::NativeMessageBox::showOkCancelBox(), juce::AlertWindow::showScopedAsync(), juce::NativeMessageBox::showYesNoBox(), juce::AlertWindow::showYesNoCancelBox(), juce::NativeMessageBox::showYesNoCancelBox(), juce::shutdownJuce_GUI(), juce::Thread::sleep(), juce::AudioChannelSet::stereo(), juce::FloatVectorOperationsBase< FloatType, CountType >::subtract(), juce::FloatVectorOperationsBase< FloatType, CountType >::subtract(), juce::FloatVectorOperationsBase< FloatType, CountType >::subtractWithMultiply(), juce::FloatVectorOperationsBase< FloatType, CountType >::subtractWithMultiply(), juce::Process::terminate(), juce::Component::unfocusAllComponents(), juce::WindowsRegistry::valueExists(), juce::Logger::writeToLog(), and juce::Thread::yield().

## JUCE_CDECL

#define JUCE_CDECL

## JUCE_LOG_CURRENT_ASSERTION

#define JUCE_LOG_CURRENT_ASSERTION

## JUCE_BREAK_IN_DEBUGGER

#define JUCE_BREAK_IN_DEBUGGER { ::kill (0, SIGTRAP); }

This will try to break into the debugger if the app is currently being debugged.

If called by an app that's not being debugged, the behaviour isn't defined - it may crash or not, depending on the platform.

See also
  jassert()

## JUCE_ANALYZER_NORETURN

#define JUCE_ANALYZER_NORETURN

## JUCE_FALLTHROUGH

#define JUCE_FALLTHROUGH

Used to silence Wimplicit-fallthrough on Clang and GCC where available as there are a few places in the codebase where we need to do this deliberately and want to ignore the warning.

Referenced by juce::CharacterFunctions::readDoubleValue(), and juce::CppTokeniserFunctions::writeEscapeChars().

## JUCE_BLOCK_WITH_FORCED_SEMICOLON

#define JUCE_BLOCK_WITH_FORCED_SEMICOLON | ( |  | x | ) |

Value:
do { x } while (false)
x
float x
Definition juce_UnityPluginInterface.h:197

This is the good old C++ trick for creating a macro that forces the user to put a semicolon after it when they use it.

## DBG

#define DBG | ( |  | textToWrite | ) |

Value:
JUCE_BLOCK_WITH_FORCED_SEMICOLON (juce::String tempDbgBuf; tempDbgBuf << textToWrite; juce::Logger::outputDebugString (tempDbgBuf);)
juce::Logger::outputDebugString
static void JUCE_CALLTYPE outputDebugString(const String &text)
Writes a message to the standard error stream.
juce::String
The JUCE String class!
Definition juce_String.h:67
JUCE_BLOCK_WITH_FORCED_SEMICOLON
#define JUCE_BLOCK_WITH_FORCED_SEMICOLON(x)
This is the good old C++ trick for creating a macro that forces the user to put a semicolon after it ...
Definition juce_PlatformDefs.h:144

Writes a string to the standard error stream.

Note that as well as a single string, you can use this to write multiple items as a stream, e.g.

DBG ("foo = " << foo << "bar = " << bar);
DBG
#define DBG(textToWrite)
Writes a string to the standard error stream.
Definition juce_PlatformDefs.h:159

The macro is only enabled in a debug build, so be careful not to use it with expressions that have important side-effects!

See also
  Logger::outputDebugString

Referenced by juce::OSCException::OSCException(), and juce::LeakedObjectDetector< OwnerClass >::~LeakedObjectDetector().

## jassertfalse

#define jassertfalse JUCE_BLOCK_WITH_FORCED_SEMICOLON (JUCE_LOG_CURRENT_ASSERTION; if (juce::juce_isRunningUnderDebugger()) JUCE_BREAK_IN_DEBUGGER; JUCE_ANALYZER_NORETURN)

This will always cause an assertion failure.

It is only compiled in a debug build, (unless JUCE_LOG_ASSERTIONS is enabled for your build).

See also
  jassert

## jassert

#define jassert | ( |  | expression | ) |

Value:
JUCE_BLOCK_WITH_FORCED_SEMICOLON (if (! (expression)) jassertfalse;)
jassertfalse
#define jassertfalse
This will always cause an assertion failure.
Definition juce_PlatformDefs.h:167

Platform-independent assertion macro.

This macro gets turned into a no-op when you're building with debugging turned off, so be careful that the expression you pass to it doesn't perform any actions that are vital for the correct behaviour of your program!

See also
  jassertfalse

## jassertquiet

#define jassertquiet | ( |  | expression | ) |

Value:
JUCE_BLOCK_WITH_FORCED_SEMICOLON (if (! (expression)) jassertfalse;)

Platform-independent assertion macro which suppresses ignored-variable warnings in all build modes.

You should probably use a plain jassert() and [[maybe_unused]] by default.

## JUCE_ASSERTIONS_ENABLED

#define JUCE_ASSERTIONS_ENABLED 1

## JUCE_ASSERTIONS_ENABLED_OR_LOGGED

#define JUCE_ASSERTIONS_ENABLED_OR_LOGGED JUCE_ASSERTIONS_ENABLED || JUCE_LOG_ASSERTIONS

## JUCE_JOIN_MACRO

#define JUCE_JOIN_MACRO | ( |  | item1,
|  |  | item2 )

Value:
JUCE_JOIN_MACRO_HELPER (item1, item2)

A good old-fashioned C macro concatenation helper.

This combines two items (which may themselves be macros) into a single string, avoiding the pitfalls of the ## macro operator.

## JUCE_STRINGIFY

#define JUCE_STRINGIFY | ( |  | item | ) |

Value:
JUCE_STRINGIFY_MACRO_HELPER (item)

A handy C macro for stringifying any symbol, rather than just a macro parameter.

## JUCE_DECLARE_NON_COPYABLE

#define JUCE_DECLARE_NON_COPYABLE | ( |  | className | ) |

Value:
className (const className&) = delete;\
className& operator= (const className&) = delete;

This is a shorthand macro for deleting a class's copy constructor and copy assignment operator.

For example, instead of

class MyClass
{
etc.
private:
MyClass (const MyClass&);
MyClass& operator= (const MyClass&);
};

...you can just write:

class MyClass
{
etc.
private:
JUCE_DECLARE_NON_COPYABLE (MyClass)
};
JUCE_DECLARE_NON_COPYABLE
#define JUCE_DECLARE_NON_COPYABLE(className)
This is a shorthand macro for deleting a class's copy constructor and copy assignment operator.
Definition juce_PlatformDefs.h:249

Referenced by juce::StringPool::getGlobalPool(), juce::Message::MessageListener, juce::midi_ci::Device::operator=(), juce::midi_ci::InitiatorPropertyExchangeCache::operator=(), juce::midi_ci::ResponderPropertyExchangeCache::operator=(), juce::ErasedScopeGuard::release(), juce::Component::BailOutChecker::shouldBailOut(), and juce::UnitTestRunner::UnitTest.

## JUCE_DECLARE_NON_MOVEABLE

#define JUCE_DECLARE_NON_MOVEABLE | ( |  | className | ) |

Value:
className (className&&) = delete;\
className& operator= (className&&) = delete;

This is a shorthand macro for deleting a class's move constructor and move assignment operator.

Referenced by juce::JavascriptEngine::getRootObjectProperties().

## JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR

#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR | ( |  | className | ) |

Value:
JUCE_DECLARE_NON_COPYABLE(className) \
JUCE_LEAK_DETECTOR(className)

This is a shorthand way of writing both a JUCE_DECLARE_NON_COPYABLE and JUCE_LEAK_DETECTOR macro for a class.

Referenced by juce::ComponentBoundsConstrainer::applyBoundsToComponent(), juce::MultiDocumentPanelWindow::broughtToFront(), juce::AudioDeviceSelectorComponent::childBoundsChanged(), juce::ScopedMessageBox::close(), juce::ComponentBuilder::TypeHandler::ComponentBuilder, juce::CallOutBox::createAccessibilityHandler(), juce::MenuBarComponent::createAccessibilityHandler(), juce::InterprocessConnectionServer::createConnectionObject(), juce::AudioProcessorARAExtension::didBindToARA(), juce::Desktop::Displays, juce::dsp::Convolution::getLatency(), juce::AnimatedAppComponent::getMillisecondsSinceLastUpdate(), juce::OpenGLShaderProgram::getProgramID(), juce::JavascriptEngine::getRootObjectProperties(), juce::PerformanceCounter::getStatisticsAndReset(), juce::HighResolutionTimer::getTimerInterval(), juce::dsp::WindowingFunction< FloatType >::getWindowingMethodName(), juce::AsyncUpdater::handleAsyncUpdate(), juce::Synthesiser::handleMidiEvent(), juce::ComponentAnimator::isAnimating(), juce::LockingAsyncUpdater::isUpdatePending(), juce::ResizableEdgeComponent::mouseUp(), juce::MPESynthesiserVoice::MPESynthesiser, juce::PreferencesPanel::paint(), juce::FileBrowserComponent::resetRecentPaths(), juce::TopLevelWindow::ResizableWindow, juce::AudioProcessorGraph::AudioGraphIOProcessor::setParentGraph(), juce::ThreadPool::ThreadPoolJob, and juce::TreeViewItem::TreeView.

## JUCE_PREVENT_HEAP_ALLOCATION

#define JUCE_PREVENT_HEAP_ALLOCATION

Value:
private: \
static void* operator new (size_t) = delete; \
static void operator delete (void*) = delete;

This macro can be added to class definitions to disable the use of new/delete to allocate the object on the heap, forcing it to only be used as a stack or member variable.

Referenced by juce::HeapBlock< char, true >::HeapBlock.

## JUCE_COMPILER_WARNING

#define JUCE_COMPILER_WARNING | ( |  | msg | ) |

Value:
_Pragma (JUCE_STRINGIFY (message (msg)))
JUCE_STRINGIFY
#define JUCE_STRINGIFY(item)
A handy C macro for stringifying any symbol, rather than just a macro parameter.
Definition juce_PlatformDefs.h:221

This macro allows you to emit a custom compiler warning message.

Very handy for marking bits of code as "to-do" items, or for shaming code written by your co-workers in a way that's hard to ignore.

GCC and Clang provide the #warning directive, but MSVC doesn't, so this macro is a cross-compiler way to get the same functionality as #warning.

Unlike the #warning directive in GCC and Clang this macro requires the argument to passed as a quoted string.

## forcedinline

#define forcedinline inline

A platform-independent way of forcing an inline function.

Use the syntax:

forcedinline void myfunction (int x)
forcedinline
#define forcedinline
A platform-independent way of forcing an inline function.
Definition juce_PlatformDefs.h:303

Referenced by juce::PixelAlpha::blend(), juce::PixelAlpha::blend(), juce::PixelARGB::blend(), juce::PixelARGB::blend(), juce::PixelARGB::blend(), juce::PixelRGB::blend(), juce::PixelRGB::blend(), juce::PixelRGB::blend(), juce::PixelAlpha::desaturate(), juce::PixelARGB::desaturate(), juce::PixelRGB::desaturate(), juce::PixelAlpha::getAlpha(), juce::PixelARGB::getAlpha(), juce::PixelRGB::getAlpha(), juce::PixelAlpha::getBlue(), juce::PixelARGB::getBlue(), juce::PixelRGB::getBlue(), juce::PixelAlpha::getEvenBytes(), juce::PixelARGB::getEvenBytes(), juce::PixelRGB::getEvenBytes(), juce::PixelAlpha::getGreen(), juce::PixelARGB::getGreen(), juce::PixelRGB::getGreen(), juce::PixelAlpha::getInARGBMaskOrder(), juce::PixelARGB::getInARGBMaskOrder(), juce::PixelRGB::getInARGBMaskOrder(), juce::PixelAlpha::getNativeARGB(), juce::PixelARGB::getNativeARGB(), juce::PixelRGB::getNativeARGB(), juce::PixelAlpha::getOddBytes(), juce::PixelARGB::getOddBytes(), juce::PixelRGB::getOddBytes(), juce::PixelAlpha::getRed(), juce::PixelARGB::getRed(), juce::PixelRGB::getRed(), juce::PixelAlpha::multiplyAlpha(), juce::PixelAlpha::multiplyAlpha(), juce::PixelARGB::multiplyAlpha(), juce::PixelARGB::multiplyAlpha(), juce::PixelRGB::multiplyAlpha(), juce::PixelRGB::multiplyAlpha(), juce::PixelAlpha::premultiply(), juce::PixelARGB::premultiply(), juce::PixelRGB::premultiply(), juce::PixelAlpha::set(), juce::PixelARGB::set(), juce::PixelRGB::set(), juce::PixelAlpha::setAlpha(), juce::PixelARGB::setAlpha(), juce::PixelRGB::setAlpha(), juce::PixelAlpha::setARGB(), juce::PixelAlpha::tween(), juce::PixelARGB::tween(), juce::PixelRGB::tween(), juce::PixelAlpha::unpremultiply(), juce::PixelARGB::unpremultiply(), and juce::PixelRGB::unpremultiply().

## JUCE_ALIGN

#define JUCE_ALIGN | ( |  | bytes | ) |

Value:
__declspec (align (bytes))

This can be placed before a stack or member variable declaration to tell the compiler to align it to the specified number of bytes.

## JUCE_NO_ASSOCIATIVE_MATH_OPTIMISATIONS

#define JUCE_NO_ASSOCIATIVE_MATH_OPTIMISATIONS __attribute__ ((__optimize__ ("no-associative-math")))

This can be appended to a function declaration to tell gcc to disable associative math optimisations which break some floating point algorithms.

### Purchase

Get JUCE

### Discover

What's New in JUCE Features

### Learn

Documentaion Tutorials Made with JUCE Resources

### Support

JUCE Forum Newsletter Archive

### About

Contact Us JUCE Legal JUCE Licensing FAQ

### Events

Audio Developer Conference
© Raw Material Software Limited