diff --git a/build/linux/platform_specific_code/juce_linux_Windowing.cpp b/build/linux/platform_specific_code/juce_linux_Windowing.cpp index 5b2bfe3a6d..cce2f000c3 100644 --- a/build/linux/platform_specific_code/juce_linux_Windowing.cpp +++ b/build/linux/platform_specific_code/juce_linux_Windowing.cpp @@ -92,7 +92,6 @@ BEGIN_JUCE_NAMESPACE #include "../../../src/juce_core/io/network/juce_URL.h" #include "../../../src/juce_core/misc/juce_PlatformUtilities.h" - //============================================================================== #define TAKE_FOCUS 0 #define DELETE_WINDOW 1 @@ -633,10 +632,10 @@ public: // blit results to screen. #if JUCE_USE_XSHM if (usingXShm) - XShmPutImage (display, (Drawable) window, gc, xImage, sx, sy, dx, dy, dw, dh, False); + XShmPutImage (display, (::Drawable) window, gc, xImage, sx, sy, dx, dy, dw, dh, False); else #endif - XPutImage (display, (Drawable) window, gc, xImage, sx, sy, dx, dy, dw, dh); + XPutImage (display, (::Drawable) window, gc, xImage, sx, sy, dx, dy, dw, dh); } //============================================================================== @@ -969,7 +968,7 @@ public: unsigned int bw, depth; int wx, wy, w, h; - if (! XGetGeometry (display, (Drawable) windowH, &root, + if (! XGetGeometry (display, (::Drawable) windowH, &root, &wx, &wy, (unsigned int*) &w, (unsigned int*) &h, &bw, &depth)) { @@ -1812,7 +1811,7 @@ private: unsigned long flags; unsigned long functions; unsigned long decorations; - INT32 input_mode; + ::INT32 input_mode; unsigned long status; } MotifWmHints; @@ -1873,7 +1872,7 @@ private: unsigned long flags; unsigned long functions; unsigned long decorations; - INT32 input_mode; + ::INT32 input_mode; unsigned long status; } MotifWmHints; @@ -2207,7 +2206,7 @@ private: Window root, child; unsigned int bw, depth; - if (! XGetGeometry (display, (Drawable) windowH, &root, + if (! XGetGeometry (display, (::Drawable) windowH, &root, &wx, &wy, (unsigned int*) &ww, (unsigned int*) &wh, &bw, &depth)) { diff --git a/build/macosx/platform_specific_code/juce_mac_SystemStats.cpp b/build/macosx/platform_specific_code/juce_mac_SystemStats.cpp index c6953908f8..4bac1270c8 100644 --- a/build/macosx/platform_specific_code/juce_mac_SystemStats.cpp +++ b/build/macosx/platform_specific_code/juce_mac_SystemStats.cpp @@ -162,7 +162,7 @@ void SystemStats::initialiseStats() throw() highResTimerFrequency = (int64) AudioGetHostClockFrequency(); -#if ! ONLY_INCLUDE_JUCE_CORE_HEADERS +#if ! JUCE_ONLY_BUILD_CORE_LIBRARY if (JUCEApplication::getInstance() != 0) RegisterAppearanceClient(); #endif diff --git a/build/win32/platform_specific_code/juce_win32_AutoLinkLibraries.h b/build/win32/platform_specific_code/juce_win32_AutoLinkLibraries.h new file mode 100644 index 0000000000..662663391f --- /dev/null +++ b/build/win32/platform_specific_code/juce_win32_AutoLinkLibraries.h @@ -0,0 +1,23 @@ + +// Auto-links to various win32 libs that are needed by library calls.. +#pragma comment(lib, "kernel32.lib") +#pragma comment(lib, "user32.lib") +#pragma comment(lib, "shell32.lib") +#pragma comment(lib, "gdi32.lib") +#pragma comment(lib, "vfw32.lib") +#pragma comment(lib, "comdlg32.lib") +#pragma comment(lib, "winmm.lib") +#pragma comment(lib, "wininet.lib") +#pragma comment(lib, "ole32.lib") +#pragma comment(lib, "advapi32.lib") +#pragma comment(lib, "ws2_32.lib") +#pragma comment(lib, "comsupp.lib") + +#if JUCE_OPENGL + #pragma comment(lib, "OpenGL32.Lib") + #pragma comment(lib, "GlU32.Lib") +#endif + +#if JUCE_QUICKTIME + #pragma comment (lib, "QTMLClient.lib") +#endif diff --git a/build/win32/platform_specific_code/juce_win32_Misc.cpp b/build/win32/platform_specific_code/juce_win32_Misc.cpp index ef7303e37e..91d4779068 100644 --- a/build/win32/platform_specific_code/juce_win32_Misc.cpp +++ b/build/win32/platform_specific_code/juce_win32_Misc.cpp @@ -41,7 +41,7 @@ BEGIN_JUCE_NAMESPACE //============================================================================== -#if ! ONLY_INCLUDE_JUCE_CORE_HEADERS +#if ! JUCE_ONLY_BUILD_CORE_LIBRARY bool AlertWindow::showNativeDialogBox (const String& title, const String& bodyText, bool isOkCancel) @@ -65,7 +65,7 @@ void PlatformUtilities::beep() #pragma warning (disable : 4127) // "Conditional expression is constant" warning #endif -#if ! ONLY_INCLUDE_JUCE_CORE_HEADERS +#if ! JUCE_ONLY_BUILD_CORE_LIBRARY void SystemClipboard::copyTextToClipboard (const String& text) throw() { diff --git a/build/win32/platform_specific_code/juce_win32_SystemStats.cpp b/build/win32/platform_specific_code/juce_win32_SystemStats.cpp index 8e4374544e..e5fcfa0d82 100644 --- a/build/win32/platform_specific_code/juce_win32_SystemStats.cpp +++ b/build/win32/platform_specific_code/juce_win32_SystemStats.cpp @@ -36,27 +36,7 @@ //============================================================================== // Auto-link the other win32 libs that are needed by library calls.. #if defined (JUCE_DLL_BUILD) && JUCE_MSVC - - #pragma comment(lib, "kernel32.lib") - #pragma comment(lib, "user32.lib") - #pragma comment(lib, "shell32.lib") - #pragma comment(lib, "gdi32.lib") - #pragma comment(lib, "vfw32.lib") - #pragma comment(lib, "comdlg32.lib") - #pragma comment(lib, "winmm.lib") - #pragma comment(lib, "wininet.lib") - #pragma comment(lib, "ole32.lib") - #pragma comment(lib, "advapi32.lib") - #pragma comment(lib, "ws2_32.lib") - - #if JUCE_OPENGL - #pragma comment(lib, "OpenGL32.Lib") - #pragma comment(lib, "GlU32.Lib") - #endif - - #if JUCE_QUICKTIME - #pragma comment(lib, "QTMLClient.lib") - #endif + #include "juce_win32_AutoLinkLibraries.h" #endif diff --git a/build/win32/platform_specific_code/juce_win32_Threads.cpp b/build/win32/platform_specific_code/juce_win32_Threads.cpp index 8e7352df17..56a79fbc16 100644 --- a/build/win32/platform_specific_code/juce_win32_Threads.cpp +++ b/build/win32/platform_specific_code/juce_win32_Threads.cpp @@ -49,7 +49,7 @@ BEGIN_JUCE_NAMESPACE #include "../../../src/juce_core/threads/juce_Process.h" #include "../../../src/juce_core/threads/juce_InterProcessLock.h" -#if ! ONLY_INCLUDE_JUCE_CORE_HEADERS +#if ! JUCE_ONLY_BUILD_CORE_LIBRARY extern HWND juce_messageWindowHandle; #endif @@ -122,7 +122,7 @@ void JUCE_API juce_threadEntryPoint (void*); static unsigned int __stdcall threadEntryProc (void* userData) throw() { -#if ! ONLY_INCLUDE_JUCE_CORE_HEADERS +#if ! JUCE_ONLY_BUILD_CORE_LIBRARY AttachThreadInput (GetWindowThreadProcessId (juce_messageWindowHandle, 0), GetCurrentThreadId(), TRUE); #endif diff --git a/juce.h b/juce.h index f596b72fee..be87f31561 100644 --- a/juce.h +++ b/juce.h @@ -62,7 +62,7 @@ BEGIN_JUCE_NAMESPACE // if you're compiling a command-line app, you might want to just include the core headers, // so you can set this macro before including juce.h -#ifndef ONLY_INCLUDE_JUCE_CORE_HEADERS +#if ! JUCE_ONLY_BUILD_CORE_LIBRARY #include "src/juce_app_includes.h" #endif @@ -158,30 +158,9 @@ END_JUCE_NAMESPACE // Auto-link the other win32 libs that are needed by library calls.. #if ! (defined (DONT_AUTOLINK_TO_WIN32_LIBRARIES) || defined (JUCE_DLL)) - #pragma comment(lib, "kernel32.lib") - #pragma comment(lib, "user32.lib") - #pragma comment(lib, "shell32.lib") - #pragma comment(lib, "gdi32.lib") - #pragma comment(lib, "vfw32.lib") - #pragma comment(lib, "comdlg32.lib") - #pragma comment(lib, "winmm.lib") - #pragma comment(lib, "wininet.lib") - #pragma comment(lib, "ole32.lib") - #pragma comment(lib, "advapi32.lib") - #pragma comment(lib, "ws2_32.lib") - #pragma comment(lib, "SetupAPI.Lib") - //#pragma comment(lib, "gdiplus.lib") - - #if JUCE_OPENGL - #pragma comment(lib, "OpenGL32.Lib") - #pragma comment(lib, "GlU32.Lib") - #endif - - #if JUCE_QUICKTIME - #pragma comment (lib, "QTMLClient.lib") - #endif - + #include "build/win32/platform_specific_code/juce_win32_AutoLinkLibraries.h" #endif + #endif #endif diff --git a/juce_Config.h b/juce_Config.h index a7de770663..8ece855976 100644 --- a/juce_Config.h +++ b/juce_Config.h @@ -87,9 +87,9 @@ //============================================================================= /** Comment out this macro if you don't want to enable QuickTime or if you don't - have the SDK installed. - - If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat + have the SDK installed. + + If this flag is not enabled, the QuickTimeMovieComponent and QuickTimeAudioFormat classes will be unavailable. On Windows, if you enable this, you'll need to have the QuickTime SDK @@ -127,7 +127,7 @@ /** This flag lets you enable support for CD-burning. You might want to disable it to build without the MS SDK under windows. */ -#ifndef JUCE_USE_CDBURNER +#if (! defined (JUCE_USE_CDBURNER)) && ! (defined (_WIN32) && ! defined (_MSC_VER)) #define JUCE_USE_CDBURNER 1 #endif diff --git a/src/juce_amalgamated_template.cpp b/src/juce_amalgamated_template.cpp new file mode 100644 index 0000000000..e51daf1220 --- /dev/null +++ b/src/juce_amalgamated_template.cpp @@ -0,0 +1,430 @@ +/* + ============================================================================== + + This file is part of the JUCE library - "Jules' Utility Class Extensions" + Copyright 2004-7 by Raw Material Software ltd. + + ------------------------------------------------------------------------------ + + JUCE can be redistributed and/or modified under the terms of the + GNU General Public License, as published by the Free Software Foundation; + either version 2 of the License, or (at your option) any later version. + + JUCE is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with JUCE; if not, visit www.gnu.org/licenses or write to the + Free Software Foundation, Inc., 59 Temple Place, Suite 330, + Boston, MA 02111-1307 USA + + ------------------------------------------------------------------------------ + + If you'd like to release a closed-source product which uses JUCE, commercial + licenses are also available: visit www.rawmaterialsoftware.com/juce for + more information. + + ============================================================================== +*/ + +/* + This monolithic file contains the entire Juce source tree! + + To build an app which uses Juce, all you need to do is to add this + file to your project, and include juce.h in your own cpp files. + +*/ + +#include "../juce_Config.h" + +//============================================================================== +#ifdef _WIN32 + #include "../build/win32/platform_specific_code/win32_headers.h" + #include + #include + #include + + #if JUCE_QUICKTIME + #include + #include + #include + #include + #include + #undef TARGET_OS_MAC // quicktime sets these, but they confuse some of the 3rd party libs + #undef MACOS + #endif + +#elif defined (LINUX) + #include "../build/linux/platform_specific_code/linuxincludes.h" + #include + #include FT_FREETYPE_H + +#else + #include + #include + #define __Point__ + #include + #include + #include + #include + #include + #include + #include + #include + + #include + #include + #include + #include +#endif + +//============================================================================== +#define DONT_SET_USING_JUCE_NAMESPACE 1 + +#include "../juce_amalgamated.h" + +#define NO_DUMMY_DECL + +#if (defined(_MSC_VER) && (_MSC_VER <= 1200)) + #pragma warning (disable: 4309 4305) +#endif + +//============================================================================== +#include "juce_core/basics/juce_FileLogger.cpp" +#include "juce_core/basics/juce_Logger.cpp" +#include "juce_core/basics/juce_Random.cpp" +#include "juce_core/basics/juce_RelativeTime.cpp" +#include "juce_core/basics/juce_SystemStats.cpp" +#include "juce_core/basics/juce_Time.cpp" +#include "juce_core/containers/juce_BitArray.cpp" +#include "juce_core/containers/juce_MemoryBlock.cpp" +#include "juce_core/containers/juce_PropertySet.cpp" +#include "juce_core/cryptography/juce_BlowFish.cpp" +#include "juce_core/cryptography/juce_MD5.cpp" +#include "juce_core/cryptography/juce_Primes.cpp" +#include "juce_core/cryptography/juce_RSAKey.cpp" +#include "juce_core/io/juce_InputStream.cpp" +#include "juce_core/io/juce_OutputStream.cpp" +#include "juce_core/io/files/juce_DirectoryIterator.cpp" +#include "juce_core/io/files/juce_File.cpp" +#include "juce_core/io/files/juce_FileInputStream.cpp" +#include "juce_core/io/files/juce_FileOutputStream.cpp" +#include "juce_core/io/files/juce_FileSearchPath.cpp" +#include "juce_core/io/files/juce_NamedPipe.cpp" +#include "juce_core/io/network/juce_Socket.cpp" +#include "juce_core/io/network/juce_URL.cpp" +#include "juce_core/io/streams/juce_BufferedInputStream.cpp" +#include "juce_core/io/streams/juce_FileInputSource.cpp" +#include "juce_core/io/streams/juce_MemoryInputStream.cpp" +#include "juce_core/io/streams/juce_MemoryOutputStream.cpp" +#include "juce_core/io/streams/juce_SubregionStream.cpp" +#include "juce_core/misc/juce_PerformanceCounter.cpp" +#include "juce_core/misc/juce_Uuid.cpp" +#include "juce_core/misc/juce_ZipFile.cpp" +#include "juce_core/text/juce_CharacterFunctions.cpp" +#include "juce_core/text/juce_LocalisedStrings.cpp" +#include "juce_core/text/juce_String.cpp" +#include "juce_core/text/juce_StringArray.cpp" +#include "juce_core/text/juce_StringPairArray.cpp" +#include "juce_core/text/juce_XmlDocument.cpp" +#include "juce_core/text/juce_XmlElement.cpp" +#include "juce_core/threads/juce_InterProcessLock.cpp" +#include "juce_core/threads/juce_ReadWriteLock.cpp" +#include "juce_core/threads/juce_Thread.cpp" +#include "juce_core/threads/juce_ThreadPool.cpp" +#include "juce_core/threads/juce_TimeSliceThread.cpp" + +#if ! JUCE_ONLY_BUILD_CORE_LIBRARY + +#include "juce_appframework/application/juce_Application.cpp" +#include "juce_appframework/application/juce_ApplicationCommandInfo.cpp" +#include "juce_appframework/application/juce_ApplicationCommandManager.cpp" +#include "juce_appframework/application/juce_ApplicationCommandTarget.cpp" +#include "juce_appframework/application/juce_ApplicationProperties.cpp" +#include "juce_appframework/application/juce_DeletedAtShutdown.cpp" +#include "juce_appframework/application/juce_PropertiesFile.cpp" +#include "juce_appframework/audio/audio_file_formats/juce_AiffAudioFormat.cpp" +#include "juce_appframework/audio/audio_file_formats/juce_AudioCDReader.cpp" +#include "juce_appframework/audio/audio_file_formats/juce_AudioFormat.cpp" +#include "juce_appframework/audio/audio_file_formats/juce_AudioFormatManager.cpp" +#include "juce_appframework/audio/audio_file_formats/juce_AudioSubsectionReader.cpp" +#include "juce_appframework/audio/audio_file_formats/juce_AudioThumbnail.cpp" +#include "juce_appframework/audio/audio_file_formats/juce_AudioThumbnailCache.cpp" +#include "juce_appframework/audio/audio_file_formats/juce_QuickTimeAudioFormat.cpp" +#include "juce_appframework/audio/audio_file_formats/juce_WavAudioFormat.cpp" +#include "juce_appframework/audio/audio_sources/juce_AudioFormatReaderSource.cpp" +#include "juce_appframework/audio/audio_sources/juce_AudioSourcePlayer.cpp" +#include "juce_appframework/audio/audio_sources/juce_AudioTransportSource.cpp" +#include "juce_appframework/audio/audio_sources/juce_BufferingAudioSource.cpp" +#include "juce_appframework/audio/audio_sources/juce_ChannelRemappingAudioSource.cpp" +#include "juce_appframework/audio/audio_sources/juce_IIRFilterAudioSource.cpp" +#include "juce_appframework/audio/audio_sources/juce_MixerAudioSource.cpp" +#include "juce_appframework/audio/audio_sources/juce_ResamplingAudioSource.cpp" +#include "juce_appframework/audio/audio_sources/juce_ToneGeneratorAudioSource.cpp" +#include "juce_appframework/audio/devices/juce_AudioDeviceManager.cpp" +#include "juce_appframework/audio/devices/juce_AudioIODevice.cpp" +#include "juce_appframework/audio/devices/juce_AudioIODeviceType.cpp" +#include "juce_appframework/audio/devices/juce_MidiOutput.cpp" +#include "juce_appframework/audio/dsp/juce_AudioDataConverters.cpp" +#include "juce_appframework/audio/dsp/juce_AudioSampleBuffer.cpp" +#include "juce_appframework/audio/dsp/juce_IIRFilter.cpp" +#include "juce_appframework/audio/midi/juce_MidiBuffer.cpp" +#include "juce_appframework/audio/midi/juce_MidiFile.cpp" +#include "juce_appframework/audio/midi/juce_MidiKeyboardState.cpp" +#include "juce_appframework/audio/midi/juce_MidiMessage.cpp" +#include "juce_appframework/audio/midi/juce_MidiMessageCollector.cpp" +#include "juce_appframework/audio/midi/juce_MidiMessageSequence.cpp" +#include "juce_appframework/audio/plugins/juce_AudioPluginFormat.cpp" +#include "juce_appframework/audio/plugins/juce_AudioPluginFormatManager.cpp" +#include "juce_appframework/audio/plugins/juce_AudioPluginInstance.cpp" +#include "juce_appframework/audio/plugins/juce_KnownPluginList.cpp" +#include "juce_appframework/audio/plugins/juce_PluginDescription.cpp" +#include "juce_appframework/audio/plugins/juce_PluginDirectoryScanner.cpp" +#include "juce_appframework/audio/plugins/juce_PluginListComponent.cpp" +#include "juce_appframework/audio/plugins/formats/juce_AudioUnitPluginFormat.cpp" +#include "juce_appframework/audio/plugins/formats/juce_VSTPluginFormat.cpp" +#include "juce_appframework/audio/processors/juce_AudioProcessor.cpp" +#include "juce_appframework/audio/processors/juce_AudioProcessorEditor.cpp" +#include "juce_appframework/audio/processors/juce_AudioProcessorGraph.cpp" +#include "juce_appframework/audio/processors/juce_AudioProcessorPlayer.cpp" +#include "juce_appframework/audio/processors/juce_GenericAudioProcessorEditor.cpp" +#include "juce_appframework/audio/synthesisers/juce_Sampler.cpp" +#include "juce_appframework/audio/synthesisers/juce_Synthesiser.cpp" +#include "juce_appframework/documents/juce_FileBasedDocument.cpp" +#include "juce_appframework/documents/juce_RecentlyOpenedFilesList.cpp" +#include "juce_appframework/documents/juce_UndoManager.cpp" +#include "juce_appframework/events/juce_ActionBroadcaster.cpp" +#include "juce_appframework/events/juce_ActionListenerList.cpp" +#include "juce_appframework/events/juce_AsyncUpdater.cpp" +#include "juce_appframework/events/juce_ChangeBroadcaster.cpp" +#include "juce_appframework/events/juce_ChangeListenerList.cpp" +#include "juce_appframework/events/juce_InterprocessConnection.cpp" +#include "juce_appframework/events/juce_InterprocessConnectionServer.cpp" +#include "juce_appframework/events/juce_Message.cpp" +#include "juce_appframework/events/juce_MessageListener.cpp" +#include "juce_appframework/events/juce_MessageManager.cpp" +#include "juce_appframework/events/juce_MultiTimer.cpp" +#include "juce_appframework/events/juce_Timer.cpp" +#include "juce_appframework/gui/components/juce_Component.cpp" +#include "juce_appframework/gui/components/juce_ComponentListener.cpp" +#include "juce_appframework/gui/components/juce_Desktop.cpp" +#include "juce_appframework/gui/components/buttons/juce_ArrowButton.cpp" +#include "juce_appframework/gui/components/buttons/juce_Button.cpp" +#include "juce_appframework/gui/components/buttons/juce_DrawableButton.cpp" +#include "juce_appframework/gui/components/buttons/juce_HyperlinkButton.cpp" +#include "juce_appframework/gui/components/buttons/juce_ImageButton.cpp" +#include "juce_appframework/gui/components/buttons/juce_ShapeButton.cpp" +#include "juce_appframework/gui/components/buttons/juce_TextButton.cpp" +#include "juce_appframework/gui/components/buttons/juce_ToggleButton.cpp" +#include "juce_appframework/gui/components/buttons/juce_ToolbarButton.cpp" +#include "juce_appframework/gui/components/controls/juce_ComboBox.cpp" +#include "juce_appframework/gui/components/controls/juce_Label.cpp" +#include "juce_appframework/gui/components/controls/juce_ListBox.cpp" +#include "juce_appframework/gui/components/controls/juce_ProgressBar.cpp" +#include "juce_appframework/gui/components/controls/juce_Slider.cpp" +#include "juce_appframework/gui/components/controls/juce_TableHeaderComponent.cpp" +#include "juce_appframework/gui/components/controls/juce_TableListBox.cpp" +#include "juce_appframework/gui/components/controls/juce_TextEditor.cpp" +#include "juce_appframework/gui/components/controls/juce_Toolbar.cpp" +#include "juce_appframework/gui/components/controls/juce_ToolbarItemComponent.cpp" +#include "juce_appframework/gui/components/controls/juce_ToolbarItemPalette.cpp" +#include "juce_appframework/gui/components/controls/juce_TreeView.cpp" +#include "juce_appframework/gui/components/filebrowser/juce_DirectoryContentsDisplayComponent.cpp" +#include "juce_appframework/gui/components/filebrowser/juce_DirectoryContentsList.cpp" +#include "juce_appframework/gui/components/filebrowser/juce_FileBrowserComponent.cpp" +#include "juce_appframework/gui/components/filebrowser/juce_FileChooser.cpp" +#include "juce_appframework/gui/components/filebrowser/juce_FileChooserDialogBox.cpp" +#include "juce_appframework/gui/components/filebrowser/juce_FileFilter.cpp" +#include "juce_appframework/gui/components/filebrowser/juce_FileListComponent.cpp" +#include "juce_appframework/gui/components/filebrowser/juce_FilenameComponent.cpp" +#include "juce_appframework/gui/components/filebrowser/juce_FileSearchPathListComponent.cpp" +#include "juce_appframework/gui/components/filebrowser/juce_FileTreeComponent.cpp" +#include "juce_appframework/gui/components/filebrowser/juce_ImagePreviewComponent.cpp" +#include "juce_appframework/gui/components/filebrowser/juce_WildcardFileFilter.cpp" +#include "juce_appframework/gui/components/keyboard/juce_KeyboardFocusTraverser.cpp" +#include "juce_appframework/gui/components/keyboard/juce_KeyListener.cpp" +#include "juce_appframework/gui/components/keyboard/juce_KeyMappingEditorComponent.cpp" +#include "juce_appframework/gui/components/keyboard/juce_KeyPress.cpp" +#include "juce_appframework/gui/components/keyboard/juce_KeyPressMappingSet.cpp" +#include "juce_appframework/gui/components/keyboard/juce_ModifierKeys.cpp" +#include "juce_appframework/gui/components/layout/juce_ComponentAnimator.cpp" +#include "juce_appframework/gui/components/layout/juce_ComponentBoundsConstrainer.cpp" +#include "juce_appframework/gui/components/layout/juce_ComponentMovementWatcher.cpp" +#include "juce_appframework/gui/components/layout/juce_GroupComponent.cpp" +#include "juce_appframework/gui/components/layout/juce_MultiDocumentPanel.cpp" +#include "juce_appframework/gui/components/layout/juce_ResizableBorderComponent.cpp" +#include "juce_appframework/gui/components/layout/juce_ResizableCornerComponent.cpp" +#include "juce_appframework/gui/components/layout/juce_ScrollBar.cpp" +#include "juce_appframework/gui/components/layout/juce_StretchableLayoutManager.cpp" +#include "juce_appframework/gui/components/layout/juce_StretchableLayoutResizerBar.cpp" +#include "juce_appframework/gui/components/layout/juce_StretchableObjectResizer.cpp" +#include "juce_appframework/gui/components/layout/juce_TabbedButtonBar.cpp" +#include "juce_appframework/gui/components/layout/juce_TabbedComponent.cpp" +#include "juce_appframework/gui/components/layout/juce_Viewport.cpp" +#include "juce_appframework/gui/components/lookandfeel/juce_LookAndFeel.cpp" +#include "juce_appframework/gui/components/lookandfeel/juce_OldSchoolLookAndFeel.cpp" +#include "juce_appframework/gui/components/menus/juce_MenuBarComponent.cpp" +#include "juce_appframework/gui/components/menus/juce_MenuBarModel.cpp" +#include "juce_appframework/gui/components/menus/juce_PopupMenu.cpp" +#include "juce_appframework/gui/components/mouse/juce_ComponentDragger.cpp" +#include "juce_appframework/gui/components/mouse/juce_DragAndDropContainer.cpp" +#include "juce_appframework/gui/components/mouse/juce_MouseCursor.cpp" +#include "juce_appframework/gui/components/mouse/juce_MouseEvent.cpp" +#include "juce_appframework/gui/components/mouse/juce_MouseHoverDetector.cpp" +#include "juce_appframework/gui/components/mouse/juce_MouseListener.cpp" +#include "juce_appframework/gui/components/properties/juce_BooleanPropertyComponent.cpp" +#include "juce_appframework/gui/components/properties/juce_ButtonPropertyComponent.cpp" +#include "juce_appframework/gui/components/properties/juce_ChoicePropertyComponent.cpp" +#include "juce_appframework/gui/components/properties/juce_PropertyComponent.cpp" +#include "juce_appframework/gui/components/properties/juce_PropertyPanel.cpp" +#include "juce_appframework/gui/components/properties/juce_SliderPropertyComponent.cpp" +#include "juce_appframework/gui/components/properties/juce_TextPropertyComponent.cpp" +#include "juce_appframework/gui/components/special/juce_AudioDeviceSelectorComponent.cpp" +#include "juce_appframework/gui/components/special/juce_BubbleComponent.cpp" +#include "juce_appframework/gui/components/special/juce_BubbleMessageComponent.cpp" +#include "juce_appframework/gui/components/special/juce_ColourSelector.cpp" +#include "juce_appframework/gui/components/special/juce_DropShadower.cpp" +#include "juce_appframework/gui/components/special/juce_MagnifierComponent.cpp" +#include "juce_appframework/gui/components/special/juce_MidiKeyboardComponent.cpp" +#include "juce_appframework/gui/components/special/juce_OpenGLComponent.cpp" +#include "juce_appframework/gui/components/special/juce_PreferencesPanel.cpp" +#include "juce_appframework/gui/components/special/juce_QuickTimeMovieComponent.cpp" +#include "juce_appframework/gui/components/special/juce_SystemTrayIconComponent.cpp" +#include "juce_appframework/gui/components/windows/juce_AlertWindow.cpp" +#include "juce_appframework/gui/components/windows/juce_ComponentPeer.cpp" +#include "juce_appframework/gui/components/windows/juce_DialogWindow.cpp" +#include "juce_appframework/gui/components/windows/juce_DocumentWindow.cpp" +#include "juce_appframework/gui/components/windows/juce_ResizableWindow.cpp" +#include "juce_appframework/gui/components/windows/juce_SplashScreen.cpp" +#include "juce_appframework/gui/components/windows/juce_ThreadWithProgressWindow.cpp" +#include "juce_appframework/gui/components/windows/juce_TooltipWindow.cpp" +#include "juce_appframework/gui/components/windows/juce_TopLevelWindow.cpp" +#include "juce_appframework/gui/graphics/brushes/juce_Brush.cpp" +#include "juce_appframework/gui/graphics/brushes/juce_GradientBrush.cpp" +#include "juce_appframework/gui/graphics/brushes/juce_ImageBrush.cpp" +#include "juce_appframework/gui/graphics/brushes/juce_SolidColourBrush.cpp" +#include "juce_appframework/gui/graphics/colour/juce_Colour.cpp" +#include "juce_appframework/gui/graphics/colour/juce_ColourGradient.cpp" +#include "juce_appframework/gui/graphics/colour/juce_Colours.cpp" +#include "juce_appframework/gui/graphics/contexts/juce_EdgeTable.cpp" +#include "juce_appframework/gui/graphics/contexts/juce_Graphics.cpp" +#include "juce_appframework/gui/graphics/contexts/juce_Justification.cpp" +#include "juce_appframework/gui/graphics/contexts/juce_LowLevelGraphicsPostScriptRenderer.cpp" +#include "juce_appframework/gui/graphics/contexts/juce_LowLevelGraphicsSoftwareRenderer.cpp" +#include "juce_appframework/gui/graphics/contexts/juce_RectanglePlacement.cpp" +#include "juce_appframework/gui/graphics/drawables/juce_Drawable.cpp" +#include "juce_appframework/gui/graphics/drawables/juce_DrawableComposite.cpp" +#include "juce_appframework/gui/graphics/drawables/juce_DrawableImage.cpp" +#include "juce_appframework/gui/graphics/drawables/juce_DrawablePath.cpp" +#include "juce_appframework/gui/graphics/drawables/juce_DrawableText.cpp" +#include "juce_appframework/gui/graphics/drawables/juce_SVGParser.cpp" +#include "juce_appframework/gui/graphics/effects/juce_DropShadowEffect.cpp" +#include "juce_appframework/gui/graphics/effects/juce_GlowEffect.cpp" +#include "juce_appframework/gui/graphics/effects/juce_ReduceOpacityEffect.cpp" +#include "juce_appframework/gui/graphics/fonts/juce_Font.cpp" +#include "juce_appframework/gui/graphics/fonts/juce_GlyphArrangement.cpp" +#include "juce_appframework/gui/graphics/fonts/juce_TextLayout.cpp" +#include "juce_appframework/gui/graphics/fonts/juce_Typeface.cpp" +#include "juce_appframework/gui/graphics/geometry/juce_AffineTransform.cpp" +#include "juce_appframework/gui/graphics/geometry/juce_BorderSize.cpp" +#include "juce_appframework/gui/graphics/geometry/juce_Line.cpp" +#include "juce_appframework/gui/graphics/geometry/juce_Path.cpp" +#include "juce_appframework/gui/graphics/geometry/juce_PathIterator.cpp" +#include "juce_appframework/gui/graphics/geometry/juce_PathStrokeType.cpp" +#include "juce_appframework/gui/graphics/geometry/juce_Point.cpp" +#include "juce_appframework/gui/graphics/geometry/juce_PositionedRectangle.cpp" +#include "juce_appframework/gui/graphics/geometry/juce_Rectangle.cpp" +#include "juce_appframework/gui/graphics/geometry/juce_RectangleList.cpp" +#include "juce_appframework/gui/graphics/imaging/juce_Image.cpp" +#include "juce_appframework/gui/graphics/imaging/juce_ImageCache.cpp" +#include "juce_appframework/gui/graphics/imaging/juce_ImageConvolutionKernel.cpp" +#include "juce_appframework/gui/graphics/imaging/juce_ImageFileFormat.cpp" +#include "juce_appframework/gui/graphics/imaging/image_file_formats/juce_GIFLoader.cpp" + +#endif + +//============================================================================== +// some files include lots of library code, so leave them to the end to avoid cluttering +// up the build for the clean files. +#include "juce_core/io/streams/juce_GZIPCompressorOutputStream.cpp" +#include "juce_core/io/streams/juce_GZIPDecompressorInputStream.cpp" + +#if ! JUCE_ONLY_BUILD_CORE_LIBRARY +#include "juce_appframework/audio/audio_file_formats/juce_FlacAudioFormat.cpp" +#include "juce_appframework/audio/audio_file_formats/juce_OggVorbisAudioFormat.cpp" +#include "juce_appframework/gui/graphics/imaging/image_file_formats/juce_JPEGLoader.cpp" +#include "juce_appframework/gui/graphics/imaging/image_file_formats/juce_PNGLoader.cpp" +#endif + +//============================================================================== +#if JUCE_WIN32 + +#include "../build/win32/platform_specific_code/juce_win32_Files.cpp" +#include "../build/win32/platform_specific_code/juce_win32_Network.cpp" +#include "../build/win32/platform_specific_code/juce_win32_Misc.cpp" +#include "../build/win32/platform_specific_code/juce_win32_PlatformUtils.cpp" +#include "../build/win32/platform_specific_code/juce_win32_SystemStats.cpp" +#include "../build/win32/platform_specific_code/juce_win32_Threads.cpp" +#include "../build/win32/platform_specific_code/juce_win32_DynamicLibraryLoader.cpp" + +#if ! JUCE_ONLY_BUILD_CORE_LIBRARY + #include "../build/win32/platform_specific_code/juce_win32_ASIO.cpp" + #include "../build/win32/platform_specific_code/juce_win32_AudioCDReader.cpp" + #include "../build/win32/platform_specific_code/juce_win32_DirectSound.cpp" + #include "../build/win32/platform_specific_code/juce_win32_FileChooser.cpp" + #include "../build/win32/platform_specific_code/juce_win32_Fonts.cpp" + #include "../build/win32/platform_specific_code/juce_win32_Messaging.cpp" + #include "../build/win32/platform_specific_code/juce_win32_Midi.cpp" + #include "../build/win32/platform_specific_code/juce_win32_WebBrowserComponent.cpp" + #include "../build/win32/platform_specific_code/juce_win32_Windowing.cpp" +#endif + +#include "../build/win32/platform_specific_code/juce_win32_AutoLinkLibraries.h" + +#endif + +//============================================================================== +#if JUCE_LINUX + +#include "../build/linux/platform_specific_code/juce_linux_Files.cpp" +#include "../build/linux/platform_specific_code/juce_linux_NamedPipe.cpp" +#include "../build/linux/platform_specific_code/juce_linux_Network.cpp" +#include "../build/linux/platform_specific_code/juce_linux_SystemStats.cpp" +#include "../build/linux/platform_specific_code/juce_linux_Threads.cpp" + +#if ! JUCE_ONLY_BUILD_CORE_LIBRARY + #include "../build/linux/platform_specific_code/juce_linux_Audio.cpp" + #include "../build/linux/platform_specific_code/juce_linux_AudioCDReader.cpp" + #include "../build/linux/platform_specific_code/juce_linux_FileChooser.cpp" + #include "../build/linux/platform_specific_code/juce_linux_Fonts.cpp" + #include "../build/linux/platform_specific_code/juce_linux_Messaging.cpp" + #include "../build/linux/platform_specific_code/juce_linux_Midi.cpp" + #include "../build/linux/platform_specific_code/juce_linux_WebBrowserComponent.cpp" + #include "../build/linux/platform_specific_code/juce_linux_Windowing.cpp" +#endif + +#endif + +//============================================================================== +#if JUCE_MAC + +#include "../build/macosx/platform_specific_code/juce_mac_Files.cpp" +#include "../build/macosx/platform_specific_code/juce_mac_NamedPipe.cpp" +#include "../build/macosx/platform_specific_code/juce_mac_SystemStats.cpp" +#include "../build/macosx/platform_specific_code/juce_mac_Threads.cpp" +#include "../build/macosx/platform_specific_code/juce_mac_Network.mm" + +#if ! JUCE_ONLY_BUILD_CORE_LIBRARY + #include "../build/macosx/platform_specific_code/juce_mac_AudioCDBurner.mm" + #include "../build/macosx/platform_specific_code/juce_mac_CoreAudio.cpp" + #include "../build/macosx/platform_specific_code/juce_mac_CoreMidi.cpp" + #include "../build/macosx/platform_specific_code/juce_mac_FileChooser.cpp" + #include "../build/macosx/platform_specific_code/juce_mac_Fonts.cpp" + #include "../build/macosx/platform_specific_code/juce_mac_Messaging.cpp" + #include "../build/macosx/platform_specific_code/juce_mac_WebBrowserComponent.mm" + #include "../build/macosx/platform_specific_code/juce_mac_Windowing.cpp" +#endif + +#endif diff --git a/src/juce_amalgamated_template.h b/src/juce_amalgamated_template.h new file mode 100644 index 0000000000..69b0e155e6 --- /dev/null +++ b/src/juce_amalgamated_template.h @@ -0,0 +1,53 @@ +/* + ============================================================================== + + This file is part of the JUCE library - "Jules' Utility Class Extensions" + Copyright 2004-7 by Raw Material Software ltd. + + ------------------------------------------------------------------------------ + + JUCE can be redistributed and/or modified under the terms of the + GNU General Public License, as published by the Free Software Foundation; + either version 2 of the License, or (at your option) any later version. + + JUCE is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with JUCE; if not, visit www.gnu.org/licenses or write to the + Free Software Foundation, Inc., 59 Temple Place, Suite 330, + Boston, MA 02111-1307 USA + + ------------------------------------------------------------------------------ + + If you'd like to release a closed-source product which uses JUCE, commercial + licenses are also available: visit www.rawmaterialsoftware.com/juce for + more information. + + ============================================================================== +*/ + + +/* + ============================================================================== + + This header contains the entire Juce source tree, and can be #included in + all your source files. + + As well as including this in your files, you should also add juce_inline.cpp + to your project (or juce_inline.mm on the Mac). + + + ============================================================================== +*/ + +#ifndef __ALL_JUCE_HEADERS_H__ +#define __ALL_JUCE_HEADERS_H__ + +#define DONT_AUTOLINK_TO_JUCE_LIBRARY 1 + +#include "../juce.h" + +#endif diff --git a/src/juce_appframework/gui/graphics/imaging/image_file_formats/juce_PNGLoader.cpp b/src/juce_appframework/gui/graphics/imaging/image_file_formats/juce_PNGLoader.cpp index 9845aeebae..623258c983 100644 --- a/src/juce_appframework/gui/graphics/imaging/image_file_formats/juce_PNGLoader.cpp +++ b/src/juce_appframework/gui/graphics/imaging/image_file_formats/juce_PNGLoader.cpp @@ -33,7 +33,7 @@ #ifdef _MSC_VER #pragma warning (push) - #pragma warning (disable: 4390) + #pragma warning (disable: 4390 4611) #endif namespace zlibNamespace @@ -55,6 +55,7 @@ namespace pnglibNamespace using ::abs; #define PNG_INTERNAL #define NO_DUMMY_DECL + #define PNG_SETJMP_NOT_SUPPORTED #include "pnglib/png.h" #include "pnglib/pngconf.h" @@ -264,8 +265,7 @@ bool juce_writePNGImageToStream (const Image& image, OutputStream& out) throw() png_infop pngInfoStruct = png_create_info_struct (pngWriteStruct); - if ((pngInfoStruct == 0) - || setjmp (pngWriteStruct->jmpbuf)) + if (pngInfoStruct == 0) { png_destroy_write_struct (&pngWriteStruct, (png_infopp) 0); return false;