@@ -192,6 +192,11 @@ | |||||
#define juce_ThreadLocal __thread | #define juce_ThreadLocal __thread | ||||
#endif | #endif | ||||
//============================================================================== | |||||
#if JUCE_MINGW | |||||
/** This allocator is not defined in mingw gcc. */ | |||||
#define alloca __builtin_alloca | |||||
#endif | |||||
//============================================================================== | //============================================================================== | ||||
/** Clears a block of memory. */ | /** Clears a block of memory. */ | ||||
@@ -70,6 +70,10 @@ | |||||
#ifdef _DEBUG | #ifdef _DEBUG | ||||
#define JUCE_DEBUG 1 | #define JUCE_DEBUG 1 | ||||
#endif | #endif | ||||
#ifdef __MINGW32__ | |||||
#define JUCE_MINGW 1 | |||||
#endif | |||||
/** If defined, this indicates that the processor is little-endian. */ | /** If defined, this indicates that the processor is little-endian. */ | ||||
#define JUCE_LITTLE_ENDIAN 1 | #define JUCE_LITTLE_ENDIAN 1 | ||||
@@ -33,7 +33,7 @@ BEGIN_JUCE_NAMESPACE | |||||
#include "../graphics/geometry/juce_RectangleList.h" | #include "../graphics/geometry/juce_RectangleList.h" | ||||
extern void juce_updateMultiMonitorInfo (Array <Rectangle>& monitorCoords, | extern void juce_updateMultiMonitorInfo (Array <Rectangle>& monitorCoords, | ||||
const bool clipToWorkArea) throw(); | |||||
const bool clipToWorkArea); | |||||
//============================================================================== | //============================================================================== | ||||
@@ -135,7 +135,7 @@ private: | |||||
juce_ImplementSingleton_SingleThreaded (TopLevelWindowManager) | juce_ImplementSingleton_SingleThreaded (TopLevelWindowManager) | ||||
void juce_CheckCurrentlyFocusedTopLevelWindow() throw() | |||||
void juce_CheckCurrentlyFocusedTopLevelWindow() | |||||
{ | { | ||||
if (TopLevelWindowManager::getInstanceWithoutCreating() != 0) | if (TopLevelWindowManager::getInstanceWithoutCreating() != 0) | ||||
TopLevelWindowManager::getInstanceWithoutCreating()->startTimer (20); | TopLevelWindowManager::getInstanceWithoutCreating()->startTimer (20); | ||||
@@ -32,6 +32,9 @@ | |||||
namespace jpeglibNamespace | namespace jpeglibNamespace | ||||
{ | { | ||||
#if JUCE_INCLUDE_JPEGLIB_CODE | #if JUCE_INCLUDE_JPEGLIB_CODE | ||||
#if JUCE_MINGW | |||||
typedef unsigned char boolean; | |||||
#endif | |||||
extern "C" | extern "C" | ||||
{ | { | ||||
#define JPEG_INTERNALS | #define JPEG_INTERNALS | ||||
@@ -2563,7 +2563,7 @@ void juce_windowMessageReceive (XEvent* event) | |||||
} | } | ||||
//============================================================================== | //============================================================================== | ||||
void juce_updateMultiMonitorInfo (Array <Rectangle>& monitorCoords, const bool /*clipToWorkArea*/) throw() | |||||
void juce_updateMultiMonitorInfo (Array <Rectangle>& monitorCoords, const bool /*clipToWorkArea*/) | |||||
{ | { | ||||
if (display == 0) | if (display == 0) | ||||
return; | return; | ||||
@@ -181,7 +181,7 @@ bool Desktop::isScreenSaverEnabled() throw() | |||||
//============================================================================== | //============================================================================== | ||||
void juce_updateMultiMonitorInfo (Array <Rectangle>& monitorCoords, const bool clipToWorkArea) throw() | |||||
void juce_updateMultiMonitorInfo (Array <Rectangle>& monitorCoords, const bool clipToWorkArea) | |||||
{ | { | ||||
const ScopedAutoReleasePool pool; | const ScopedAutoReleasePool pool; | ||||
monitorCoords.clear(); | monitorCoords.clear(); | ||||
@@ -239,7 +239,7 @@ bool Desktop::isScreenSaverEnabled() throw() | |||||
#endif | #endif | ||||
//============================================================================== | //============================================================================== | ||||
void juce_updateMultiMonitorInfo (Array <Rectangle>& monitorCoords, const bool clipToWorkArea) throw() | |||||
void juce_updateMultiMonitorInfo (Array <Rectangle>& monitorCoords, const bool clipToWorkArea) | |||||
{ | { | ||||
const ScopedAutoReleasePool pool; | const ScopedAutoReleasePool pool; | ||||
monitorCoords.clear(); | monitorCoords.clear(); | ||||
@@ -102,7 +102,7 @@ const StringArray Font::findAllTypefaceNames() throw() | |||||
return results; | return results; | ||||
} | } | ||||
extern bool juce_IsRunningInWine() throw(); | |||||
extern bool juce_IsRunningInWine(); | |||||
void Font::getPlatformDefaultFontNames (String& defaultSans, String& defaultSerif, String& defaultFixed) throw() | void Font::getPlatformDefaultFontNames (String& defaultSans, String& defaultSerif, String& defaultFixed) throw() | ||||
{ | { | ||||
@@ -32,12 +32,16 @@ | |||||
static const unsigned int specialId = WM_APP + 0x4400; | static const unsigned int specialId = WM_APP + 0x4400; | ||||
static const unsigned int broadcastId = WM_APP + 0x4403; | static const unsigned int broadcastId = WM_APP + 0x4403; | ||||
static const unsigned int specialCallbackId = WM_APP + 0x4402; | static const unsigned int specialCallbackId = WM_APP + 0x4402; | ||||
static const TCHAR* const messageWindowName = _T("JUCEWindow"); | static const TCHAR* const messageWindowName = _T("JUCEWindow"); | ||||
HWND juce_messageWindowHandle = 0; | HWND juce_messageWindowHandle = 0; | ||||
extern long improbableWindowNumber; // defined in windowing.cpp | extern long improbableWindowNumber; // defined in windowing.cpp | ||||
#ifndef WM_APPCOMMAND | |||||
#define WM_APPCOMMAND 0x0319 | |||||
#endif | |||||
//============================================================================== | //============================================================================== | ||||
@@ -65,13 +65,16 @@ | |||||
#include <iphlpapi.h> | #include <iphlpapi.h> | ||||
#include <mapi.h> | #include <mapi.h> | ||||
#include <float.h> | #include <float.h> | ||||
#include <crtdbg.h> | |||||
#include <process.h> | #include <process.h> | ||||
#include <comutil.h> | |||||
#include <Exdisp.h> | #include <Exdisp.h> | ||||
#include <exdispid.h> | #include <exdispid.h> | ||||
#include <shlobj.h> | #include <shlobj.h> | ||||
#if ! JUCE_MINGW | |||||
#include <crtdbg.h> | |||||
#include <comutil.h> | |||||
#endif | |||||
#if JUCE_OPENGL | #if JUCE_OPENGL | ||||
#include <gl/gl.h> | #include <gl/gl.h> | ||||
#endif | #endif | ||||
@@ -27,8 +27,7 @@ | |||||
// compiled on its own). | // compiled on its own). | ||||
#if JUCE_INCLUDED_FILE | #if JUCE_INCLUDED_FILE | ||||
extern void juce_updateMultiMonitorInfo() throw(); | |||||
extern void juce_initialiseThreadEvents() throw(); | |||||
extern void juce_initialiseThreadEvents(); | |||||
//============================================================================== | //============================================================================== | ||||
@@ -42,9 +42,9 @@ | |||||
#define WM_APPCOMMAND 0x0319 | #define WM_APPCOMMAND 0x0319 | ||||
#endif | #endif | ||||
extern void juce_repeatLastProcessPriority() throw(); // in juce_win32_Threads.cpp | |||||
extern void juce_CheckCurrentlyFocusedTopLevelWindow() throw(); // in juce_TopLevelWindow.cpp | |||||
extern bool juce_IsRunningInWine() throw(); | |||||
extern void juce_repeatLastProcessPriority(); // in juce_win32_Threads.cpp | |||||
extern void juce_CheckCurrentlyFocusedTopLevelWindow(); // in juce_TopLevelWindow.cpp | |||||
extern bool juce_IsRunningInWine(); | |||||
#ifndef ULW_ALPHA | #ifndef ULW_ALPHA | ||||
#define ULW_ALPHA 0x00000002 | #define ULW_ALPHA 0x00000002 | ||||
@@ -2428,7 +2428,7 @@ static BOOL CALLBACK enumMonitorsProc (HMONITOR, HDC, LPRECT r, LPARAM userInfo) | |||||
return TRUE; | return TRUE; | ||||
} | } | ||||
void juce_updateMultiMonitorInfo (Array <Rectangle>& monitorCoords, const bool clipToWorkArea) throw() | |||||
void juce_updateMultiMonitorInfo (Array <Rectangle>& monitorCoords, const bool clipToWorkArea) | |||||
{ | { | ||||
EnumDisplayMonitors (0, 0, &enumMonitorsProc, (LPARAM) &monitorCoords); | EnumDisplayMonitors (0, 0, &enumMonitorsProc, (LPARAM) &monitorCoords); | ||||