| @@ -62,7 +62,7 @@ static File executableFile; | |||||
| //============================================================================== | //============================================================================== | ||||
| bool juce_isDirectory (const String& fileName) | |||||
| bool juce_isDirectory (const String& fileName) throw() | |||||
| { | { | ||||
| if (fileName.isEmpty()) | if (fileName.isEmpty()) | ||||
| return true; | return true; | ||||
| @@ -75,7 +75,7 @@ bool juce_isDirectory (const String& fileName) | |||||
| return false; | return false; | ||||
| } | } | ||||
| bool juce_fileExists (const String& fileName, const bool dontCountDirectories) | |||||
| bool juce_fileExists (const String& fileName, const bool dontCountDirectories) throw() | |||||
| { | { | ||||
| if (fileName.isEmpty()) | if (fileName.isEmpty()) | ||||
| return false; | return false; | ||||
| @@ -88,7 +88,7 @@ bool juce_fileExists (const String& fileName, const bool dontCountDirectories) | |||||
| return exists; | return exists; | ||||
| } | } | ||||
| int64 juce_getFileSize (const String& fileName) | |||||
| int64 juce_getFileSize (const String& fileName) throw() | |||||
| { | { | ||||
| struct stat info; | struct stat info; | ||||
| const int res = stat (fileName.toUTF8(), &info); | const int res = stat (fileName.toUTF8(), &info); | ||||
| @@ -102,7 +102,7 @@ int64 juce_getFileSize (const String& fileName) | |||||
| void juce_getFileTimes (const String& fileName, | void juce_getFileTimes (const String& fileName, | ||||
| int64& modificationTime, | int64& modificationTime, | ||||
| int64& accessTime, | int64& accessTime, | ||||
| int64& creationTime) | |||||
| int64& creationTime) throw() | |||||
| { | { | ||||
| modificationTime = 0; | modificationTime = 0; | ||||
| accessTime = 0; | accessTime = 0; | ||||
| @@ -125,7 +125,7 @@ void juce_getFileTimes (const String& fileName, | |||||
| bool juce_setFileTimes (const String& fileName, | bool juce_setFileTimes (const String& fileName, | ||||
| int64 modificationTime, | int64 modificationTime, | ||||
| int64 accessTime, | int64 accessTime, | ||||
| int64 creationTime) | |||||
| int64 creationTime) throw() | |||||
| { | { | ||||
| struct utimbuf times; | struct utimbuf times; | ||||
| times.actime = (time_t) (accessTime / 1000); | times.actime = (time_t) (accessTime / 1000); | ||||
| @@ -134,12 +134,12 @@ bool juce_setFileTimes (const String& fileName, | |||||
| return utime (fileName.toUTF8(), ×) == 0; | return utime (fileName.toUTF8(), ×) == 0; | ||||
| } | } | ||||
| bool juce_canWriteToFile (const String& fileName) | |||||
| bool juce_canWriteToFile (const String& fileName) throw() | |||||
| { | { | ||||
| return access (fileName.toUTF8(), W_OK) == 0; | return access (fileName.toUTF8(), W_OK) == 0; | ||||
| } | } | ||||
| bool juce_setFileReadOnly (const String& fileName, bool isReadOnly) | |||||
| bool juce_setFileReadOnly (const String& fileName, bool isReadOnly) throw() | |||||
| { | { | ||||
| struct stat info; | struct stat info; | ||||
| const int res = stat (fileName.toUTF8(), &info); | const int res = stat (fileName.toUTF8(), &info); | ||||
| @@ -157,7 +157,7 @@ bool juce_setFileReadOnly (const String& fileName, bool isReadOnly) | |||||
| return chmod (fileName.toUTF8(), info.st_mode) == 0; | return chmod (fileName.toUTF8(), info.st_mode) == 0; | ||||
| } | } | ||||
| bool juce_deleteFile (const String& fileName) | |||||
| bool juce_deleteFile (const String& fileName) throw() | |||||
| { | { | ||||
| if (juce_isDirectory (fileName)) | if (juce_isDirectory (fileName)) | ||||
| return rmdir (fileName.toUTF8()) == 0; | return rmdir (fileName.toUTF8()) == 0; | ||||
| @@ -165,7 +165,7 @@ bool juce_deleteFile (const String& fileName) | |||||
| return remove (fileName.toUTF8()) == 0; | return remove (fileName.toUTF8()) == 0; | ||||
| } | } | ||||
| bool juce_copyFile (const String& s, const String& d) | |||||
| bool juce_copyFile (const String& s, const String& d) throw() | |||||
| { | { | ||||
| const File source (s), dest (d); | const File source (s), dest (d); | ||||
| @@ -196,7 +196,7 @@ bool juce_copyFile (const String& s, const String& d) | |||||
| return ok; | return ok; | ||||
| } | } | ||||
| bool juce_moveFile (const String& source, const String& dest) | |||||
| bool juce_moveFile (const String& source, const String& dest) throw() | |||||
| { | { | ||||
| if (rename (source.toUTF8(), dest.toUTF8()) == 0) | if (rename (source.toUTF8(), dest.toUTF8()) == 0) | ||||
| return true; | return true; | ||||
| @@ -215,12 +215,12 @@ bool juce_moveFile (const String& source, const String& dest) | |||||
| return false; | return false; | ||||
| } | } | ||||
| void juce_createDirectory (const String& fileName) | |||||
| void juce_createDirectory (const String& fileName) throw() | |||||
| { | { | ||||
| mkdir (fileName.toUTF8(), 0777); | mkdir (fileName.toUTF8(), 0777); | ||||
| } | } | ||||
| void* juce_fileOpen (const String& fileName, bool forWriting) | |||||
| void* juce_fileOpen (const String& fileName, bool forWriting) throw() | |||||
| { | { | ||||
| const char* mode = "rb"; | const char* mode = "rb"; | ||||
| @@ -243,13 +243,13 @@ void* juce_fileOpen (const String& fileName, bool forWriting) | |||||
| return (void*)fopen (fileName.toUTF8(), mode); | return (void*)fopen (fileName.toUTF8(), mode); | ||||
| } | } | ||||
| void juce_fileClose (void* handle) | |||||
| void juce_fileClose (void* handle) throw() | |||||
| { | { | ||||
| if (handle != 0) | if (handle != 0) | ||||
| fclose ((FILE*) handle); | fclose ((FILE*) handle); | ||||
| } | } | ||||
| int juce_fileRead (void* handle, void* buffer, int size) | |||||
| int juce_fileRead (void* handle, void* buffer, int size) throw() | |||||
| { | { | ||||
| if (handle != 0) | if (handle != 0) | ||||
| return fread (buffer, 1, size, (FILE*) handle); | return fread (buffer, 1, size, (FILE*) handle); | ||||
| @@ -257,7 +257,7 @@ int juce_fileRead (void* handle, void* buffer, int size) | |||||
| return 0; | return 0; | ||||
| } | } | ||||
| int juce_fileWrite (void* handle, const void* buffer, int size) | |||||
| int juce_fileWrite (void* handle, const void* buffer, int size) throw() | |||||
| { | { | ||||
| if (handle != 0) | if (handle != 0) | ||||
| return fwrite (buffer, 1, size, (FILE*) handle); | return fwrite (buffer, 1, size, (FILE*) handle); | ||||
| @@ -265,7 +265,7 @@ int juce_fileWrite (void* handle, const void* buffer, int size) | |||||
| return 0; | return 0; | ||||
| } | } | ||||
| int64 juce_fileSetPosition (void* handle, int64 pos) | |||||
| int64 juce_fileSetPosition (void* handle, int64 pos) throw() | |||||
| { | { | ||||
| if (handle != 0 && fseek ((FILE*) handle, (long) pos, SEEK_SET) == 0) | if (handle != 0 && fseek ((FILE*) handle, (long) pos, SEEK_SET) == 0) | ||||
| return pos; | return pos; | ||||
| @@ -273,7 +273,7 @@ int64 juce_fileSetPosition (void* handle, int64 pos) | |||||
| return -1; | return -1; | ||||
| } | } | ||||
| int64 juce_fileGetPosition (void* handle) | |||||
| int64 juce_fileGetPosition (void* handle) throw() | |||||
| { | { | ||||
| if (handle != 0) | if (handle != 0) | ||||
| return ftell ((FILE*) handle); | return ftell ((FILE*) handle); | ||||
| @@ -281,13 +281,13 @@ int64 juce_fileGetPosition (void* handle) | |||||
| return -1; | return -1; | ||||
| } | } | ||||
| void juce_fileFlush (void* handle) | |||||
| void juce_fileFlush (void* handle) throw() | |||||
| { | { | ||||
| if (handle != 0) | if (handle != 0) | ||||
| fflush ((FILE*) handle); | fflush ((FILE*) handle); | ||||
| } | } | ||||
| const StringArray juce_getFileSystemRoots() | |||||
| const StringArray juce_getFileSystemRoots() throw() | |||||
| { | { | ||||
| StringArray s; | StringArray s; | ||||
| s.add (T("/")); | s.add (T("/")); | ||||
| @@ -295,7 +295,7 @@ const StringArray juce_getFileSystemRoots() | |||||
| } | } | ||||
| const String juce_getVolumeLabel (const String& filenameOnVolume, | const String juce_getVolumeLabel (const String& filenameOnVolume, | ||||
| int& volumeSerialNumber) | |||||
| int& volumeSerialNumber) throw() | |||||
| { | { | ||||
| // There is no equivalent on Linux | // There is no equivalent on Linux | ||||
| volumeSerialNumber = 0; | volumeSerialNumber = 0; | ||||
| @@ -421,7 +421,7 @@ const File File::getSpecialLocation (const SpecialLocationType type) | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| void juce_setCurrentExecutableFileName (const String& filename) | |||||
| void juce_setCurrentExecutableFileName (const String& filename) throw() | |||||
| { | { | ||||
| executableFile = File::getCurrentWorkingDirectory().getChildFile (filename); | executableFile = File::getCurrentWorkingDirectory().getChildFile (filename); | ||||
| } | } | ||||
| @@ -450,7 +450,7 @@ struct FindFileStruct | |||||
| DIR* dir; | DIR* dir; | ||||
| bool getNextMatch (String& result, bool* const isDir, bool* const isHidden, int64* const fileSize, | bool getNextMatch (String& result, bool* const isDir, bool* const isHidden, int64* const fileSize, | ||||
| Time* const modTime, Time* const creationTime, bool* const isReadOnly) | |||||
| Time* const modTime, Time* const creationTime, bool* const isReadOnly) throw() | |||||
| { | { | ||||
| const char* const wildcardUTF8 = wildCard.toUTF8(); | const char* const wildcardUTF8 = wildCard.toUTF8(); | ||||
| @@ -507,7 +507,7 @@ struct FindFileStruct | |||||
| // returns 0 on failure | // returns 0 on failure | ||||
| void* juce_findFileStart (const String& directory, const String& wildCard, String& firstResultFile, | void* juce_findFileStart (const String& directory, const String& wildCard, String& firstResultFile, | ||||
| bool* isDir, bool* isHidden, int64* fileSize, Time* modTime, Time* creationTime, bool* isReadOnly) | |||||
| bool* isDir, bool* isHidden, int64* fileSize, Time* modTime, Time* creationTime, bool* isReadOnly) throw() | |||||
| { | { | ||||
| DIR* d = opendir (directory.toUTF8()); | DIR* d = opendir (directory.toUTF8()); | ||||
| @@ -543,7 +543,7 @@ void* juce_findFileStart (const String& directory, const String& wildCard, Strin | |||||
| } | } | ||||
| bool juce_findFileNext (void* handle, String& resultFile, | bool juce_findFileNext (void* handle, String& resultFile, | ||||
| bool* isDir, bool* isHidden, int64* fileSize, Time* modTime, Time* creationTime, bool* isReadOnly) | |||||
| bool* isDir, bool* isHidden, int64* fileSize, Time* modTime, Time* creationTime, bool* isReadOnly) throw() | |||||
| { | { | ||||
| FindFileStruct* const ff = (FindFileStruct*) handle; | FindFileStruct* const ff = (FindFileStruct*) handle; | ||||
| @@ -553,7 +553,7 @@ bool juce_findFileNext (void* handle, String& resultFile, | |||||
| return false; | return false; | ||||
| } | } | ||||
| void juce_findFileClose (void* handle) | |||||
| void juce_findFileClose (void* handle) throw() | |||||
| { | { | ||||
| FindFileStruct* const ff = (FindFileStruct*) handle; | FindFileStruct* const ff = (FindFileStruct*) handle; | ||||
| @@ -565,7 +565,7 @@ void juce_findFileClose (void* handle) | |||||
| } | } | ||||
| bool juce_launchFile (const String& fileName, | bool juce_launchFile (const String& fileName, | ||||
| const String& parameters) | |||||
| const String& parameters) throw() | |||||
| { | { | ||||
| String cmdString (fileName); | String cmdString (fileName); | ||||
| cmdString << " " << parameters; | cmdString << " " << parameters; | ||||
| @@ -50,7 +50,7 @@ BEGIN_JUCE_NAMESPACE | |||||
| //============================================================================== | //============================================================================== | ||||
| int SystemStats::getMACAddresses (int64* addresses, int maxNum) | |||||
| int SystemStats::getMACAddresses (int64* addresses, int maxNum) throw() | |||||
| { | { | ||||
| // xxx todo | // xxx todo | ||||
| return 0; | return 0; | ||||
| @@ -57,7 +57,7 @@ static struct _LogicalCpuInfo | |||||
| } logicalCpuInfo; | } logicalCpuInfo; | ||||
| //============================================================================== | //============================================================================== | ||||
| static juce_noinline unsigned int getCPUIDWord (int* familyModel, int* extFeatures) | |||||
| static juce_noinline unsigned int getCPUIDWord (int* familyModel, int* extFeatures) throw() | |||||
| { | { | ||||
| unsigned int cpu = 0; | unsigned int cpu = 0; | ||||
| unsigned int ext = 0; | unsigned int ext = 0; | ||||
| @@ -77,7 +77,7 @@ static juce_noinline unsigned int getCPUIDWord (int* familyModel, int* extFeatur | |||||
| return cpu; | return cpu; | ||||
| } | } | ||||
| void juce_initLogicalCpuInfo() | |||||
| void juce_initLogicalCpuInfo() throw() | |||||
| { | { | ||||
| int familyModelWord, extFeaturesWord; | int familyModelWord, extFeaturesWord; | ||||
| int featuresWord = getCPUIDWord (&familyModelWord, &extFeaturesWord); | int featuresWord = getCPUIDWord (&familyModelWord, &extFeaturesWord); | ||||
| @@ -182,13 +182,13 @@ void juce_initLogicalCpuInfo() | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| void Logger::outputDebugString (const String& text) | |||||
| void Logger::outputDebugString (const String& text) throw() | |||||
| { | { | ||||
| fprintf (stdout, text.toUTF8()); | fprintf (stdout, text.toUTF8()); | ||||
| fprintf (stdout, "\n"); | fprintf (stdout, "\n"); | ||||
| } | } | ||||
| void Logger::outputDebugPrintf (const tchar* format, ...) | |||||
| void Logger::outputDebugPrintf (const tchar* format, ...) throw() | |||||
| { | { | ||||
| String text; | String text; | ||||
| va_list args; | va_list args; | ||||
| @@ -197,17 +197,17 @@ void Logger::outputDebugPrintf (const tchar* format, ...) | |||||
| outputDebugString(text); | outputDebugString(text); | ||||
| } | } | ||||
| SystemStats::OperatingSystemType SystemStats::getOperatingSystemType() | |||||
| SystemStats::OperatingSystemType SystemStats::getOperatingSystemType() throw() | |||||
| { | { | ||||
| return Linux; | return Linux; | ||||
| } | } | ||||
| const String SystemStats::getOperatingSystemName() | |||||
| const String SystemStats::getOperatingSystemName() throw() | |||||
| { | { | ||||
| return T("Linux"); | return T("Linux"); | ||||
| } | } | ||||
| static const String getCpuInfo (const char* key, bool lastOne = false) | |||||
| static const String getCpuInfo (const char* key, bool lastOne = false) throw() | |||||
| { | { | ||||
| String info; | String info; | ||||
| char buf [256]; | char buf [256]; | ||||
| @@ -243,44 +243,44 @@ static const String getCpuInfo (const char* key, bool lastOne = false) | |||||
| return info; | return info; | ||||
| } | } | ||||
| bool SystemStats::hasMMX() | |||||
| bool SystemStats::hasMMX() throw() | |||||
| { | { | ||||
| return getCpuInfo ("flags").contains (T("mmx")); | return getCpuInfo ("flags").contains (T("mmx")); | ||||
| } | } | ||||
| bool SystemStats::hasSSE() | |||||
| bool SystemStats::hasSSE() throw() | |||||
| { | { | ||||
| return getCpuInfo ("flags").contains (T("sse")); | return getCpuInfo ("flags").contains (T("sse")); | ||||
| } | } | ||||
| bool SystemStats::hasSSE2() | |||||
| bool SystemStats::hasSSE2() throw() | |||||
| { | { | ||||
| return getCpuInfo ("flags").contains (T("sse2")); | return getCpuInfo ("flags").contains (T("sse2")); | ||||
| } | } | ||||
| bool SystemStats::has3DNow() | |||||
| bool SystemStats::has3DNow() throw() | |||||
| { | { | ||||
| return getCpuInfo ("flags").contains (T("3dnow")); | return getCpuInfo ("flags").contains (T("3dnow")); | ||||
| } | } | ||||
| const String SystemStats::getCpuVendor() | |||||
| const String SystemStats::getCpuVendor() throw() | |||||
| { | { | ||||
| return getCpuInfo ("vendor_id"); | return getCpuInfo ("vendor_id"); | ||||
| } | } | ||||
| int SystemStats::getCpuSpeedInMegaherz() | |||||
| int SystemStats::getCpuSpeedInMegaherz() throw() | |||||
| { | { | ||||
| const String speed (getCpuInfo ("cpu MHz")); | const String speed (getCpuInfo ("cpu MHz")); | ||||
| return (int) (speed.getFloatValue() + 0.5f); | return (int) (speed.getFloatValue() + 0.5f); | ||||
| } | } | ||||
| bool SystemStats::hasHyperThreading() | |||||
| bool SystemStats::hasHyperThreading() throw() | |||||
| { | { | ||||
| return logicalCpuInfo.htAvailable; | return logicalCpuInfo.htAvailable; | ||||
| } | } | ||||
| int SystemStats::getMemorySizeInMegabytes() | |||||
| int SystemStats::getMemorySizeInMegabytes() throw() | |||||
| { | { | ||||
| struct sysinfo sysi; | struct sysinfo sysi; | ||||
| @@ -336,7 +336,7 @@ int64 Time::getHighResolutionTicksPerSecond() throw() | |||||
| return 1000000; | return 1000000; | ||||
| } | } | ||||
| bool Time::setSystemTimeToThisTime() const | |||||
| bool Time::setSystemTimeToThisTime() const throw() | |||||
| { | { | ||||
| timeval t; | timeval t; | ||||
| t.tv_sec = millisSinceEpoch % 1000000; | t.tv_sec = millisSinceEpoch % 1000000; | ||||
| @@ -345,7 +345,7 @@ bool Time::setSystemTimeToThisTime() const | |||||
| return settimeofday (&t, NULL) ? false : true; | return settimeofday (&t, NULL) ? false : true; | ||||
| } | } | ||||
| int SystemStats::getPageSize() | |||||
| int SystemStats::getPageSize() throw() | |||||
| { | { | ||||
| static int systemPageSize = 0; | static int systemPageSize = 0; | ||||
| @@ -355,7 +355,7 @@ int SystemStats::getPageSize() | |||||
| return systemPageSize; | return systemPageSize; | ||||
| } | } | ||||
| int SystemStats::getNumPhysicalCpus() | |||||
| int SystemStats::getNumPhysicalCpus() throw() | |||||
| { | { | ||||
| if (logicalCpuInfo.numPackages) | if (logicalCpuInfo.numPackages) | ||||
| return logicalCpuInfo.numPackages; | return logicalCpuInfo.numPackages; | ||||
| @@ -363,14 +363,14 @@ int SystemStats::getNumPhysicalCpus() | |||||
| return getNumLogicalCpus(); | return getNumLogicalCpus(); | ||||
| } | } | ||||
| int SystemStats::getNumLogicalCpus() | |||||
| int SystemStats::getNumLogicalCpus() throw() | |||||
| { | { | ||||
| const int lastCpu = getCpuInfo ("processor", true).getIntValue(); | const int lastCpu = getCpuInfo ("processor", true).getIntValue(); | ||||
| return lastCpu + 1; | return lastCpu + 1; | ||||
| } | } | ||||
| uint32 SystemStats::getPhysicalAffinityMask() | |||||
| uint32 SystemStats::getPhysicalAffinityMask() throw() | |||||
| { | { | ||||
| #if SUPPORT_AFFINITIES | #if SUPPORT_AFFINITIES | ||||
| return logicalCpuInfo.physicalAffinityMask; | return logicalCpuInfo.physicalAffinityMask; | ||||
| @@ -385,7 +385,7 @@ uint32 SystemStats::getPhysicalAffinityMask() | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| void SystemStats::initialiseStats() | |||||
| void SystemStats::initialiseStats() throw() | |||||
| { | { | ||||
| // Process starts off as root when running suid | // Process starts off as root when running suid | ||||
| Process::lowerPrivilege(); | Process::lowerPrivilege(); | ||||
| @@ -51,7 +51,7 @@ BEGIN_JUCE_NAMESPACE | |||||
| //============================================================================== | //============================================================================== | ||||
| void JUCE_API juce_threadEntryPoint (void*); | void JUCE_API juce_threadEntryPoint (void*); | ||||
| void* threadEntryProc (void* value) | |||||
| void* threadEntryProc (void* value) throw() | |||||
| { | { | ||||
| // New threads start off as root when running suid | // New threads start off as root when running suid | ||||
| Process::lowerPrivilege(); | Process::lowerPrivilege(); | ||||
| @@ -60,7 +60,7 @@ void* threadEntryProc (void* value) | |||||
| return 0; | return 0; | ||||
| } | } | ||||
| void* juce_createThread (void* userData) | |||||
| void* juce_createThread (void* userData) throw() | |||||
| { | { | ||||
| pthread_t handle = 0; | pthread_t handle = 0; | ||||
| @@ -73,17 +73,17 @@ void* juce_createThread (void* userData) | |||||
| return 0; | return 0; | ||||
| } | } | ||||
| void juce_killThread (void* handle) | |||||
| void juce_killThread (void* handle) throw() | |||||
| { | { | ||||
| if (handle != 0) | if (handle != 0) | ||||
| pthread_cancel ((pthread_t)handle); | pthread_cancel ((pthread_t)handle); | ||||
| } | } | ||||
| void juce_setCurrentThreadName (const String& /*name*/) | |||||
| void juce_setCurrentThreadName (const String& /*name*/) throw() | |||||
| { | { | ||||
| } | } | ||||
| int Thread::getCurrentThreadId() | |||||
| int Thread::getCurrentThreadId() throw() | |||||
| { | { | ||||
| return (int) pthread_self(); | return (int) pthread_self(); | ||||
| } | } | ||||
| @@ -104,7 +104,7 @@ int Thread::getCurrentThreadId() | |||||
| // priority 1 to 10 where 5=normal, 1=low. If the handle is 0, sets the | // priority 1 to 10 where 5=normal, 1=low. If the handle is 0, sets the | ||||
| // priority of the current thread | // priority of the current thread | ||||
| void juce_setThreadPriority (void* handle, int priority) | |||||
| void juce_setThreadPriority (void* handle, int priority) throw() | |||||
| { | { | ||||
| struct sched_param param; | struct sched_param param; | ||||
| int policy, maxp, minp, pri; | int policy, maxp, minp, pri; | ||||
| @@ -162,12 +162,12 @@ void Thread::setCurrentThreadAffinityMask (const uint32 affinityMask) | |||||
| #endif | #endif | ||||
| } | } | ||||
| void Thread::yield() | |||||
| void Thread::yield() throw() | |||||
| { | { | ||||
| sched_yield(); | sched_yield(); | ||||
| } | } | ||||
| void Thread::sleep (int millisecs) | |||||
| void Thread::sleep (int millisecs) throw() | |||||
| { | { | ||||
| struct timespec time; | struct timespec time; | ||||
| time.tv_sec = millisecs / 1000; | time.tv_sec = millisecs / 1000; | ||||
| @@ -151,7 +151,7 @@ static bool untrapErrors() | |||||
| //============================================================================== | //============================================================================== | ||||
| static bool isActiveApplication = false; | static bool isActiveApplication = false; | ||||
| bool Process::isForegroundProcess() | |||||
| bool Process::isForegroundProcess() throw() | |||||
| { | { | ||||
| return isActiveApplication; | return isActiveApplication; | ||||
| } | } | ||||
| @@ -2541,7 +2541,7 @@ void Desktop::setMousePosition (int x, int y) | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| void* juce_createMouseCursorFromImage (const Image& image, int hotspotX, int hotspotY) | |||||
| void* juce_createMouseCursorFromImage (const Image& image, int hotspotX, int hotspotY) throw() | |||||
| { | { | ||||
| Window root = RootWindow (display, DefaultScreen (display)); | Window root = RootWindow (display, DefaultScreen (display)); | ||||
| const unsigned int imageW = image.getWidth(); | const unsigned int imageW = image.getWidth(); | ||||
| @@ -2609,13 +2609,13 @@ void* juce_createMouseCursorFromImage (const Image& image, int hotspotX, int hot | |||||
| return result; | return result; | ||||
| } | } | ||||
| void juce_deleteMouseCursor (void* cursorHandle, bool) | |||||
| void juce_deleteMouseCursor (void* const cursorHandle, const bool) throw() | |||||
| { | { | ||||
| if (cursorHandle != None) | if (cursorHandle != None) | ||||
| XFreeCursor (display, (Cursor)cursorHandle); | |||||
| XFreeCursor (display, (Cursor) cursorHandle); | |||||
| } | } | ||||
| void* juce_createStandardMouseCursor (MouseCursor::StandardCursorType type) | |||||
| void* juce_createStandardMouseCursor (MouseCursor::StandardCursorType type) throw() | |||||
| { | { | ||||
| unsigned int shape; | unsigned int shape; | ||||
| @@ -193,14 +193,14 @@ const String PlatformUtilities::convertToPrecomposedUnicode (const String& s) | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| static bool juce_stat (const String& fileName, struct stat& info) | |||||
| static bool juce_stat (const String& fileName, struct stat& info) throw() | |||||
| { | { | ||||
| return fileName.isNotEmpty() | return fileName.isNotEmpty() | ||||
| && (stat (fileName.toUTF8(), &info) == 0); | && (stat (fileName.toUTF8(), &info) == 0); | ||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| bool juce_isDirectory (const String& fileName) | |||||
| bool juce_isDirectory (const String& fileName) throw() | |||||
| { | { | ||||
| if (fileName.isEmpty()) | if (fileName.isEmpty()) | ||||
| return true; | return true; | ||||
| @@ -211,7 +211,7 @@ bool juce_isDirectory (const String& fileName) | |||||
| && ((info.st_mode & S_IFDIR) != 0); | && ((info.st_mode & S_IFDIR) != 0); | ||||
| } | } | ||||
| bool juce_fileExists (const String& fileName, const bool dontCountDirectories) | |||||
| bool juce_fileExists (const String& fileName, const bool dontCountDirectories) throw() | |||||
| { | { | ||||
| if (fileName.isEmpty()) | if (fileName.isEmpty()) | ||||
| return false; | return false; | ||||
| @@ -231,7 +231,7 @@ bool juce_fileExists (const String& fileName, const bool dontCountDirectories) | |||||
| return exists; | return exists; | ||||
| } | } | ||||
| int64 juce_getFileSize (const String& fileName) | |||||
| int64 juce_getFileSize (const String& fileName) throw() | |||||
| { | { | ||||
| struct stat info; | struct stat info; | ||||
| @@ -243,7 +243,7 @@ int64 juce_getFileSize (const String& fileName) | |||||
| const unsigned int macTimeToUnixTimeDiff = 0x7c25be90; | const unsigned int macTimeToUnixTimeDiff = 0x7c25be90; | ||||
| static uint64 utcDateTimeToUnixTime (const UTCDateTime& d) | |||||
| static uint64 utcDateTimeToUnixTime (const UTCDateTime& d) throw() | |||||
| { | { | ||||
| if (d.highSeconds == 0 && d.lowSeconds == 0 && d.fraction == 0) | if (d.highSeconds == 0 && d.lowSeconds == 0 && d.fraction == 0) | ||||
| return 0; | return 0; | ||||
| @@ -253,7 +253,7 @@ static uint64 utcDateTimeToUnixTime (const UTCDateTime& d) | |||||
| - 2082844800000ll; | - 2082844800000ll; | ||||
| } | } | ||||
| static void unixTimeToUtcDateTime (uint64 t, UTCDateTime& d) | |||||
| static void unixTimeToUtcDateTime (uint64 t, UTCDateTime& d) throw() | |||||
| { | { | ||||
| if (t != 0) | if (t != 0) | ||||
| t += 2082844800000ll; | t += 2082844800000ll; | ||||
| @@ -266,7 +266,7 @@ static void unixTimeToUtcDateTime (uint64 t, UTCDateTime& d) | |||||
| void juce_getFileTimes (const String& fileName, | void juce_getFileTimes (const String& fileName, | ||||
| int64& modificationTime, | int64& modificationTime, | ||||
| int64& accessTime, | int64& accessTime, | ||||
| int64& creationTime) | |||||
| int64& creationTime) throw() | |||||
| { | { | ||||
| modificationTime = 0; | modificationTime = 0; | ||||
| accessTime = 0; | accessTime = 0; | ||||
| @@ -296,7 +296,7 @@ void juce_getFileTimes (const String& fileName, | |||||
| bool juce_setFileTimes (const String& fileName, | bool juce_setFileTimes (const String& fileName, | ||||
| int64 modificationTime, | int64 modificationTime, | ||||
| int64 accessTime, | int64 accessTime, | ||||
| int64 creationTime) | |||||
| int64 creationTime) throw() | |||||
| { | { | ||||
| FSRef fileRef; | FSRef fileRef; | ||||
| if (PlatformUtilities::makeFSRefFromPath (&fileRef, fileName)) | if (PlatformUtilities::makeFSRefFromPath (&fileRef, fileName)) | ||||
| @@ -328,12 +328,12 @@ bool juce_setFileTimes (const String& fileName, | |||||
| return false; | return false; | ||||
| } | } | ||||
| bool juce_canWriteToFile (const String& fileName) | |||||
| bool juce_canWriteToFile (const String& fileName) throw() | |||||
| { | { | ||||
| return access (fileName.toUTF8(), W_OK) == 0; | return access (fileName.toUTF8(), W_OK) == 0; | ||||
| } | } | ||||
| bool juce_setFileReadOnly (const String& fileName, bool isReadOnly) | |||||
| bool juce_setFileReadOnly (const String& fileName, bool isReadOnly) throw() | |||||
| { | { | ||||
| const char* const fileNameUTF8 = fileName.toUTF8(); | const char* const fileNameUTF8 = fileName.toUTF8(); | ||||
| @@ -358,7 +358,7 @@ bool juce_setFileReadOnly (const String& fileName, bool isReadOnly) | |||||
| return ok; | return ok; | ||||
| } | } | ||||
| bool juce_deleteFile (const String& fileName) | |||||
| bool juce_deleteFile (const String& fileName) throw() | |||||
| { | { | ||||
| const char* const fileNameUTF8 = fileName.toUTF8(); | const char* const fileNameUTF8 = fileName.toUTF8(); | ||||
| @@ -368,7 +368,7 @@ bool juce_deleteFile (const String& fileName) | |||||
| return remove (fileNameUTF8) == 0; | return remove (fileNameUTF8) == 0; | ||||
| } | } | ||||
| bool juce_copyFile (const String& src, const String& dst) | |||||
| bool juce_copyFile (const String& src, const String& dst) throw() | |||||
| { | { | ||||
| const File destFile (dst); | const File destFile (dst); | ||||
| @@ -446,7 +446,7 @@ bool juce_copyFile (const String& src, const String& dst) | |||||
| return false; | return false; | ||||
| } | } | ||||
| bool juce_moveFile (const String& source, const String& dest) | |||||
| bool juce_moveFile (const String& source, const String& dest) throw() | |||||
| { | { | ||||
| if (rename (source.toUTF8(), dest.toUTF8()) == 0) | if (rename (source.toUTF8(), dest.toUTF8()) == 0) | ||||
| return true; | return true; | ||||
| @@ -463,12 +463,12 @@ bool juce_moveFile (const String& source, const String& dest) | |||||
| return false; | return false; | ||||
| } | } | ||||
| void juce_createDirectory (const String& fileName) | |||||
| void juce_createDirectory (const String& fileName) throw() | |||||
| { | { | ||||
| mkdir (fileName.toUTF8(), 0777); | mkdir (fileName.toUTF8(), 0777); | ||||
| } | } | ||||
| void* juce_fileOpen (const String& fileName, bool forWriting) | |||||
| void* juce_fileOpen (const String& fileName, bool forWriting) throw() | |||||
| { | { | ||||
| const char* const fileNameUTF8 = fileName.toUTF8(); | const char* const fileNameUTF8 = fileName.toUTF8(); | ||||
| const char* mode = "rb"; | const char* mode = "rb"; | ||||
| @@ -493,13 +493,13 @@ void* juce_fileOpen (const String& fileName, bool forWriting) | |||||
| return (void*) fopen (fileNameUTF8, mode); | return (void*) fopen (fileNameUTF8, mode); | ||||
| } | } | ||||
| void juce_fileClose (void* handle) | |||||
| void juce_fileClose (void* handle) throw() | |||||
| { | { | ||||
| if (handle != 0) | if (handle != 0) | ||||
| fclose ((FILE*) handle); | fclose ((FILE*) handle); | ||||
| } | } | ||||
| int juce_fileRead (void* handle, void* buffer, int size) | |||||
| int juce_fileRead (void* handle, void* buffer, int size) throw() | |||||
| { | { | ||||
| if (handle != 0) | if (handle != 0) | ||||
| return fread (buffer, 1, size, (FILE*) handle); | return fread (buffer, 1, size, (FILE*) handle); | ||||
| @@ -507,7 +507,7 @@ int juce_fileRead (void* handle, void* buffer, int size) | |||||
| return 0; | return 0; | ||||
| } | } | ||||
| int juce_fileWrite (void* handle, const void* buffer, int size) | |||||
| int juce_fileWrite (void* handle, const void* buffer, int size) throw() | |||||
| { | { | ||||
| if (handle != 0) | if (handle != 0) | ||||
| return fwrite (buffer, 1, size, (FILE*) handle); | return fwrite (buffer, 1, size, (FILE*) handle); | ||||
| @@ -515,7 +515,7 @@ int juce_fileWrite (void* handle, const void* buffer, int size) | |||||
| return 0; | return 0; | ||||
| } | } | ||||
| int64 juce_fileSetPosition (void* handle, int64 pos) | |||||
| int64 juce_fileSetPosition (void* handle, int64 pos) throw() | |||||
| { | { | ||||
| if (handle != 0 && fseek ((FILE*) handle, pos, SEEK_SET) == 0) | if (handle != 0 && fseek ((FILE*) handle, pos, SEEK_SET) == 0) | ||||
| return pos; | return pos; | ||||
| @@ -523,7 +523,7 @@ int64 juce_fileSetPosition (void* handle, int64 pos) | |||||
| return -1; | return -1; | ||||
| } | } | ||||
| int64 juce_fileGetPosition (void* handle) | |||||
| int64 juce_fileGetPosition (void* handle) throw() | |||||
| { | { | ||||
| if (handle != 0) | if (handle != 0) | ||||
| return ftell ((FILE*) handle); | return ftell ((FILE*) handle); | ||||
| @@ -531,27 +531,27 @@ int64 juce_fileGetPosition (void* handle) | |||||
| return -1; | return -1; | ||||
| } | } | ||||
| void juce_fileFlush (void* handle) | |||||
| void juce_fileFlush (void* handle) throw() | |||||
| { | { | ||||
| if (handle != 0) | if (handle != 0) | ||||
| fflush ((FILE*) handle); | fflush ((FILE*) handle); | ||||
| } | } | ||||
| const StringArray juce_getFileSystemRoots() | |||||
| const StringArray juce_getFileSystemRoots() throw() | |||||
| { | { | ||||
| StringArray s; | StringArray s; | ||||
| s.add (T("/")); | s.add (T("/")); | ||||
| return s; | return s; | ||||
| } | } | ||||
| const String juce_getVolumeLabel (const String& filenameOnVolume, int& volumeSerialNumber) | |||||
| const String juce_getVolumeLabel (const String& filenameOnVolume, int& volumeSerialNumber) throw() | |||||
| { | { | ||||
| volumeSerialNumber = 0; | volumeSerialNumber = 0; | ||||
| return String::empty; | return String::empty; | ||||
| } | } | ||||
| // if this file doesn't exist, find a parent of it that does.. | // if this file doesn't exist, find a parent of it that does.. | ||||
| static bool doStatFS (const File* file, struct statfs& result) | |||||
| static bool doStatFS (const File* file, struct statfs& result) throw() | |||||
| { | { | ||||
| File f (*file); | File f (*file); | ||||
| @@ -579,7 +579,7 @@ int64 File::getBytesFreeOnVolume() const throw() | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| static bool isFileOnDriveType (const File* const f, const char** types) | |||||
| static bool isFileOnDriveType (const File* const f, const char** types) throw() | |||||
| { | { | ||||
| struct statfs buf; | struct statfs buf; | ||||
| @@ -671,13 +671,13 @@ const File File::getSpecialLocation (const SpecialLocationType type) | |||||
| return File::nonexistent; | return File::nonexistent; | ||||
| } | } | ||||
| void juce_setCurrentExecutableFileName (const String& filename) | |||||
| void juce_setCurrentExecutableFileName (const String& filename) throw() | |||||
| { | { | ||||
| executableFile = File::getCurrentWorkingDirectory() | executableFile = File::getCurrentWorkingDirectory() | ||||
| .getChildFile (PlatformUtilities::convertToPrecomposedUnicode (filename)); | .getChildFile (PlatformUtilities::convertToPrecomposedUnicode (filename)); | ||||
| } | } | ||||
| void juce_setCurrentExecutableFileNameFromBundleId (const String& bundleId) | |||||
| void juce_setCurrentExecutableFileNameFromBundleId (const String& bundleId) throw() | |||||
| { | { | ||||
| CFStringRef bundleIdStringRef = PlatformUtilities::juceStringToCFString (bundleId); | CFStringRef bundleIdStringRef = PlatformUtilities::juceStringToCFString (bundleId); | ||||
| CFBundleRef bundleRef = CFBundleGetBundleWithIdentifier (bundleIdStringRef); | CFBundleRef bundleRef = CFBundleGetBundleWithIdentifier (bundleIdStringRef); | ||||
| @@ -722,7 +722,7 @@ struct FindFileStruct | |||||
| DIR* dir; | DIR* dir; | ||||
| bool getNextMatch (String& result, bool* const isDir, bool* const isHidden, int64* const fileSize, | bool getNextMatch (String& result, bool* const isDir, bool* const isHidden, int64* const fileSize, | ||||
| Time* const modTime, Time* const creationTime, bool* const isReadOnly) | |||||
| Time* const modTime, Time* const creationTime, bool* const isReadOnly) throw() | |||||
| { | { | ||||
| const char* const wildCardUTF8 = wildCard.toUTF8(); | const char* const wildCardUTF8 = wildCard.toUTF8(); | ||||
| @@ -779,7 +779,7 @@ struct FindFileStruct | |||||
| // returns 0 on failure | // returns 0 on failure | ||||
| void* juce_findFileStart (const String& directory, const String& wildCard, String& firstResultFile, | void* juce_findFileStart (const String& directory, const String& wildCard, String& firstResultFile, | ||||
| bool* isDir, bool* isHidden, int64* fileSize, Time* modTime, Time* creationTime, bool* isReadOnly) | |||||
| bool* isDir, bool* isHidden, int64* fileSize, Time* modTime, Time* creationTime, bool* isReadOnly) throw() | |||||
| { | { | ||||
| DIR* const d = opendir (directory.toUTF8()); | DIR* const d = opendir (directory.toUTF8()); | ||||
| @@ -811,7 +811,7 @@ void* juce_findFileStart (const String& directory, const String& wildCard, Strin | |||||
| } | } | ||||
| bool juce_findFileNext (void* handle, String& resultFile, | bool juce_findFileNext (void* handle, String& resultFile, | ||||
| bool* isDir, bool* isHidden, int64* fileSize, Time* modTime, Time* creationTime, bool* isReadOnly) | |||||
| bool* isDir, bool* isHidden, int64* fileSize, Time* modTime, Time* creationTime, bool* isReadOnly) throw() | |||||
| { | { | ||||
| FindFileStruct* const ff = (FindFileStruct*) handle; | FindFileStruct* const ff = (FindFileStruct*) handle; | ||||
| @@ -821,7 +821,7 @@ bool juce_findFileNext (void* handle, String& resultFile, | |||||
| return false; | return false; | ||||
| } | } | ||||
| void juce_findFileClose (void* handle) | |||||
| void juce_findFileClose (void* handle) throw() | |||||
| { | { | ||||
| FindFileStruct* const ff = (FindFileStruct*)handle; | FindFileStruct* const ff = (FindFileStruct*)handle; | ||||
| @@ -833,7 +833,7 @@ void juce_findFileClose (void* handle) | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| bool juce_launchExecutable (const String& pathAndArguments) | |||||
| bool juce_launchExecutable (const String& pathAndArguments) throw() | |||||
| { | { | ||||
| char* const argv[4] = { "/bin/sh", "-c", (char*) (const char*) pathAndArguments, 0 }; | char* const argv[4] = { "/bin/sh", "-c", (char*) (const char*) pathAndArguments, 0 }; | ||||
| @@ -855,7 +855,7 @@ bool juce_launchExecutable (const String& pathAndArguments) | |||||
| } | } | ||||
| bool juce_launchFile (const String& fileName, | bool juce_launchFile (const String& fileName, | ||||
| const String& parameters) | |||||
| const String& parameters) throw() | |||||
| { | { | ||||
| bool ok = false; | bool ok = false; | ||||
| @@ -1,138 +1,126 @@ | |||||
| /* | |||||
| ============================================================================== | |||||
| 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. | |||||
| ============================================================================== | |||||
| */ | |||||
| #include "../../../src/juce_core/basics/juce_StandardHeader.h" | |||||
| #include <IOKit/IOKitLib.h> | |||||
| #include <IOKit/network/IOEthernetInterface.h> | |||||
| #include <IOKit/network/IONetworkInterface.h> | |||||
| #include <IOKit/network/IOEthernetController.h> | |||||
| #include <Carbon/Carbon.h> | |||||
| #include <netdb.h> | |||||
| #include <arpa/inet.h> | |||||
| #include <netinet/in.h> | |||||
| #include <sys/types.h> | |||||
| #include <sys/socket.h> | |||||
| #include <sys/wait.h> | |||||
| BEGIN_JUCE_NAMESPACE | |||||
| #include "../../../src/juce_core/text/juce_String.h" | |||||
| #include "../../../src/juce_core/basics/juce_Time.h" | |||||
| #include "../../../src/juce_core/basics/juce_SystemStats.h" | |||||
| #include "../../../src/juce_core/containers/juce_MemoryBlock.h" | |||||
| #include "../../../src/juce_core/text/juce_StringArray.h" | |||||
| #include "juce_mac_HTTPStream.h" | |||||
| //============================================================================== | |||||
| static bool GetEthernetIterator (io_iterator_t* matchingServices) | |||||
| { | |||||
| mach_port_t masterPort; | |||||
| if (IOMasterPort (MACH_PORT_NULL, &masterPort) == KERN_SUCCESS) | |||||
| { | |||||
| CFMutableDictionaryRef dict = IOServiceMatching (kIOEthernetInterfaceClass); | |||||
| if (dict != 0) | |||||
| { | |||||
| CFMutableDictionaryRef propDict = CFDictionaryCreateMutable (kCFAllocatorDefault, | |||||
| 0, | |||||
| &kCFTypeDictionaryKeyCallBacks, | |||||
| &kCFTypeDictionaryValueCallBacks); | |||||
| if (propDict != 0) | |||||
| { | |||||
| CFDictionarySetValue (propDict, CFSTR (kIOPrimaryInterface), kCFBooleanTrue); | |||||
| CFDictionarySetValue (dict, CFSTR (kIOPropertyMatchKey), propDict); | |||||
| CFRelease (propDict); | |||||
| } | |||||
| } | |||||
| return IOServiceGetMatchingServices (masterPort, dict, matchingServices) == KERN_SUCCESS; | |||||
| } | |||||
| return false; | |||||
| } | |||||
| int SystemStats::getMACAddresses (int64* addresses, int maxNum) | |||||
| { | |||||
| int numResults = 0; | |||||
| io_iterator_t it; | |||||
| if (GetEthernetIterator (&it)) | |||||
| { | |||||
| io_object_t i; | |||||
| while ((i = IOIteratorNext (it)) != 0) | |||||
| { | |||||
| io_object_t controller; | |||||
| if (IORegistryEntryGetParentEntry (i, kIOServicePlane, &controller) == KERN_SUCCESS) | |||||
| { | |||||
| CFTypeRef data = IORegistryEntryCreateCFProperty (controller, | |||||
| CFSTR (kIOMACAddress), | |||||
| kCFAllocatorDefault, | |||||
| 0); | |||||
| if (data != 0) | |||||
| { | |||||
| UInt8 addr [kIOEthernetAddressSize]; | |||||
| zeromem (addr, sizeof (addr)); | |||||
| CFDataGetBytes ((CFDataRef)data, CFRangeMake (0, sizeof (addr)), addr); | |||||
| CFRelease (data); | |||||
| int64 a = 0; | |||||
| for (int i = 6; --i >= 0;) | |||||
| a = (a << 8) | addr[i]; | |||||
| if (numResults < maxNum) | |||||
| { | |||||
| *addresses++ = a; | |||||
| ++numResults; | |||||
| } | |||||
| } | |||||
| IOObjectRelease (controller); | |||||
| } | |||||
| IOObjectRelease (i); | |||||
| } | |||||
| IOObjectRelease (it); | |||||
| } | |||||
| return numResults; | |||||
| } | |||||
| END_JUCE_NAMESPACE | |||||
| /* | |||||
| ============================================================================== | |||||
| 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. | |||||
| ============================================================================== | |||||
| */ | |||||
| #include "../../../src/juce_core/basics/juce_StandardHeader.h" | |||||
| #include <IOKit/IOKitLib.h> | |||||
| #include <IOKit/network/IOEthernetInterface.h> | |||||
| #include <IOKit/network/IONetworkInterface.h> | |||||
| #include <IOKit/network/IOEthernetController.h> | |||||
| #include <Carbon/Carbon.h> | |||||
| BEGIN_JUCE_NAMESPACE | |||||
| #include "../../../src/juce_core/basics/juce_SystemStats.h" | |||||
| //============================================================================== | |||||
| static bool GetEthernetIterator (io_iterator_t* matchingServices) throw() | |||||
| { | |||||
| mach_port_t masterPort; | |||||
| if (IOMasterPort (MACH_PORT_NULL, &masterPort) == KERN_SUCCESS) | |||||
| { | |||||
| CFMutableDictionaryRef dict = IOServiceMatching (kIOEthernetInterfaceClass); | |||||
| if (dict != 0) | |||||
| { | |||||
| CFMutableDictionaryRef propDict = CFDictionaryCreateMutable (kCFAllocatorDefault, | |||||
| 0, | |||||
| &kCFTypeDictionaryKeyCallBacks, | |||||
| &kCFTypeDictionaryValueCallBacks); | |||||
| if (propDict != 0) | |||||
| { | |||||
| CFDictionarySetValue (propDict, CFSTR (kIOPrimaryInterface), kCFBooleanTrue); | |||||
| CFDictionarySetValue (dict, CFSTR (kIOPropertyMatchKey), propDict); | |||||
| CFRelease (propDict); | |||||
| } | |||||
| } | |||||
| return IOServiceGetMatchingServices (masterPort, dict, matchingServices) == KERN_SUCCESS; | |||||
| } | |||||
| return false; | |||||
| } | |||||
| int SystemStats::getMACAddresses (int64* addresses, int maxNum) throw() | |||||
| { | |||||
| int numResults = 0; | |||||
| io_iterator_t it; | |||||
| if (GetEthernetIterator (&it)) | |||||
| { | |||||
| io_object_t i; | |||||
| while ((i = IOIteratorNext (it)) != 0) | |||||
| { | |||||
| io_object_t controller; | |||||
| if (IORegistryEntryGetParentEntry (i, kIOServicePlane, &controller) == KERN_SUCCESS) | |||||
| { | |||||
| CFTypeRef data = IORegistryEntryCreateCFProperty (controller, | |||||
| CFSTR (kIOMACAddress), | |||||
| kCFAllocatorDefault, | |||||
| 0); | |||||
| if (data != 0) | |||||
| { | |||||
| UInt8 addr [kIOEthernetAddressSize]; | |||||
| zeromem (addr, sizeof (addr)); | |||||
| CFDataGetBytes ((CFDataRef) data, CFRangeMake (0, sizeof (addr)), addr); | |||||
| CFRelease (data); | |||||
| int64 a = 0; | |||||
| for (int i = 6; --i >= 0;) | |||||
| a = (a << 8) | addr[i]; | |||||
| if (numResults < maxNum) | |||||
| { | |||||
| *addresses++ = a; | |||||
| ++numResults; | |||||
| } | |||||
| } | |||||
| IOObjectRelease (controller); | |||||
| } | |||||
| IOObjectRelease (i); | |||||
| } | |||||
| IOObjectRelease (it); | |||||
| } | |||||
| return numResults; | |||||
| } | |||||
| END_JUCE_NAMESPACE | |||||
| @@ -46,7 +46,7 @@ static int64 highResTimerFrequency; | |||||
| #if JUCE_INTEL | #if JUCE_INTEL | ||||
| static void juce_getCpuVendor (char* const v) | |||||
| static void juce_getCpuVendor (char* const v) throw() | |||||
| { | { | ||||
| int vendor[4]; | int vendor[4]; | ||||
| zerostruct (vendor); | zerostruct (vendor); | ||||
| @@ -60,7 +60,7 @@ static void juce_getCpuVendor (char* const v) | |||||
| memcpy (v, vendor, 16); | memcpy (v, vendor, 16); | ||||
| } | } | ||||
| static unsigned int getCPUIDWord (unsigned int& familyModel, unsigned int& extFeatures) | |||||
| static unsigned int getCPUIDWord (unsigned int& familyModel, unsigned int& extFeatures) throw() | |||||
| { | { | ||||
| unsigned int cpu = 0; | unsigned int cpu = 0; | ||||
| unsigned int ext = 0; | unsigned int ext = 0; | ||||
| @@ -91,14 +91,14 @@ static CPUFlags cpuFlags; | |||||
| #endif | #endif | ||||
| //============================================================================== | //============================================================================== | ||||
| void Logger::outputDebugString (const String& text) | |||||
| void Logger::outputDebugString (const String& text) throw() | |||||
| { | { | ||||
| String withLineFeed (text + T("\n")); | String withLineFeed (text + T("\n")); | ||||
| const char* const utf8 = withLineFeed.toUTF8(); | const char* const utf8 = withLineFeed.toUTF8(); | ||||
| fwrite (utf8, strlen (utf8), 1, stdout); | fwrite (utf8, strlen (utf8), 1, stdout); | ||||
| } | } | ||||
| void Logger::outputDebugPrintf (const tchar* format, ...) | |||||
| void Logger::outputDebugPrintf (const tchar* format, ...) throw() | |||||
| { | { | ||||
| String text; | String text; | ||||
| va_list args; | va_list args; | ||||
| @@ -107,7 +107,7 @@ void Logger::outputDebugPrintf (const tchar* format, ...) | |||||
| outputDebugString (text); | outputDebugString (text); | ||||
| } | } | ||||
| int SystemStats::getMemorySizeInMegabytes() | |||||
| int SystemStats::getMemorySizeInMegabytes() throw() | |||||
| { | { | ||||
| long bytes; | long bytes; | ||||
| if (Gestalt (gestaltPhysicalRAMSize, &bytes) == noErr) | if (Gestalt (gestaltPhysicalRAMSize, &bytes) == noErr) | ||||
| @@ -117,18 +117,18 @@ int SystemStats::getMemorySizeInMegabytes() | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| SystemStats::OperatingSystemType SystemStats::getOperatingSystemType() | |||||
| SystemStats::OperatingSystemType SystemStats::getOperatingSystemType() throw() | |||||
| { | { | ||||
| return MacOSX; | return MacOSX; | ||||
| } | } | ||||
| const String SystemStats::getOperatingSystemName() | |||||
| const String SystemStats::getOperatingSystemName() throw() | |||||
| { | { | ||||
| return T("Mac OS X"); | return T("Mac OS X"); | ||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| void SystemStats::initialiseStats() | |||||
| void SystemStats::initialiseStats() throw() | |||||
| { | { | ||||
| static bool initialised = false; | static bool initialised = false; | ||||
| @@ -165,7 +165,7 @@ void SystemStats::initialiseStats() | |||||
| } | } | ||||
| } | } | ||||
| bool SystemStats::hasMMX() | |||||
| bool SystemStats::hasMMX() throw() | |||||
| { | { | ||||
| #if JUCE_INTEL | #if JUCE_INTEL | ||||
| return cpuFlags.hasMMX; | return cpuFlags.hasMMX; | ||||
| @@ -174,7 +174,7 @@ bool SystemStats::hasMMX() | |||||
| #endif | #endif | ||||
| } | } | ||||
| bool SystemStats::hasSSE() | |||||
| bool SystemStats::hasSSE() throw() | |||||
| { | { | ||||
| #if JUCE_INTEL | #if JUCE_INTEL | ||||
| return cpuFlags.hasSSE; | return cpuFlags.hasSSE; | ||||
| @@ -183,7 +183,7 @@ bool SystemStats::hasSSE() | |||||
| #endif | #endif | ||||
| } | } | ||||
| bool SystemStats::hasSSE2() | |||||
| bool SystemStats::hasSSE2() throw() | |||||
| { | { | ||||
| #if JUCE_INTEL | #if JUCE_INTEL | ||||
| return cpuFlags.hasSSE2; | return cpuFlags.hasSSE2; | ||||
| @@ -192,7 +192,7 @@ bool SystemStats::hasSSE2() | |||||
| #endif | #endif | ||||
| } | } | ||||
| bool SystemStats::has3DNow() | |||||
| bool SystemStats::has3DNow() throw() | |||||
| { | { | ||||
| #if JUCE_INTEL | #if JUCE_INTEL | ||||
| return cpuFlags.has3DNow; | return cpuFlags.has3DNow; | ||||
| @@ -201,7 +201,7 @@ bool SystemStats::has3DNow() | |||||
| #endif | #endif | ||||
| } | } | ||||
| bool SystemStats::hasHyperThreading() | |||||
| bool SystemStats::hasHyperThreading() throw() | |||||
| { | { | ||||
| #if JUCE_INTEL | #if JUCE_INTEL | ||||
| return cpuFlags.hasHT; | return cpuFlags.hasHT; | ||||
| @@ -210,7 +210,7 @@ bool SystemStats::hasHyperThreading() | |||||
| #endif | #endif | ||||
| } | } | ||||
| const String SystemStats::getCpuVendor() | |||||
| const String SystemStats::getCpuVendor() throw() | |||||
| { | { | ||||
| #if JUCE_INTEL | #if JUCE_INTEL | ||||
| char v [16]; | char v [16]; | ||||
| @@ -221,22 +221,22 @@ const String SystemStats::getCpuVendor() | |||||
| #endif | #endif | ||||
| } | } | ||||
| int SystemStats::getCpuSpeedInMegaherz() | |||||
| int SystemStats::getCpuSpeedInMegaherz() throw() | |||||
| { | { | ||||
| return GetCPUSpeed(); | return GetCPUSpeed(); | ||||
| } | } | ||||
| int SystemStats::getNumPhysicalCpus() | |||||
| int SystemStats::getNumPhysicalCpus() throw() | |||||
| { | { | ||||
| return MPProcessors(); | return MPProcessors(); | ||||
| } | } | ||||
| int SystemStats::getNumLogicalCpus() | |||||
| int SystemStats::getNumLogicalCpus() throw() | |||||
| { | { | ||||
| return getNumPhysicalCpus(); | return getNumPhysicalCpus(); | ||||
| } | } | ||||
| uint32 SystemStats::getPhysicalAffinityMask() | |||||
| uint32 SystemStats::getPhysicalAffinityMask() throw() | |||||
| { | { | ||||
| jassertfalse | jassertfalse | ||||
| return 0; | return 0; | ||||
| @@ -271,20 +271,20 @@ int64 Time::getHighResolutionTicksPerSecond() throw() | |||||
| return highResTimerFrequency; | return highResTimerFrequency; | ||||
| } | } | ||||
| int64 SystemStats::getClockCycleCounter() | |||||
| int64 SystemStats::getClockCycleCounter() throw() | |||||
| { | { | ||||
| jassertfalse | jassertfalse | ||||
| return 0; | return 0; | ||||
| } | } | ||||
| bool Time::setSystemTimeToThisTime() const | |||||
| bool Time::setSystemTimeToThisTime() const throw() | |||||
| { | { | ||||
| jassertfalse | jassertfalse | ||||
| return false; | return false; | ||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| int SystemStats::getPageSize() | |||||
| int SystemStats::getPageSize() throw() | |||||
| { | { | ||||
| jassertfalse | jassertfalse | ||||
| return 512; //xxx | return 512; //xxx | ||||
| @@ -156,13 +156,13 @@ void WaitableEvent::reset() const throw() | |||||
| //============================================================================== | //============================================================================== | ||||
| void JUCE_API juce_threadEntryPoint (void*); | void JUCE_API juce_threadEntryPoint (void*); | ||||
| void* threadEntryProc (void* userData) | |||||
| void* threadEntryProc (void* userData) throw() | |||||
| { | { | ||||
| juce_threadEntryPoint (userData); | juce_threadEntryPoint (userData); | ||||
| return 0; | return 0; | ||||
| } | } | ||||
| void* juce_createThread (void* userData) | |||||
| void* juce_createThread (void* userData) throw() | |||||
| { | { | ||||
| pthread_t handle = 0; | pthread_t handle = 0; | ||||
| @@ -175,22 +175,22 @@ void* juce_createThread (void* userData) | |||||
| return 0; | return 0; | ||||
| } | } | ||||
| void juce_killThread (void* handle) | |||||
| void juce_killThread (void* handle) throw() | |||||
| { | { | ||||
| if (handle != 0) | if (handle != 0) | ||||
| pthread_cancel ((pthread_t) handle); | pthread_cancel ((pthread_t) handle); | ||||
| } | } | ||||
| void juce_setCurrentThreadName (const String& /*name*/) | |||||
| void juce_setCurrentThreadName (const String& /*name*/) throw() | |||||
| { | { | ||||
| } | } | ||||
| int Thread::getCurrentThreadId() | |||||
| int Thread::getCurrentThreadId() throw() | |||||
| { | { | ||||
| return (int) pthread_self(); | return (int) pthread_self(); | ||||
| } | } | ||||
| void juce_setThreadPriority (void* handle, int priority) | |||||
| void juce_setThreadPriority (void* handle, int priority) throw() | |||||
| { | { | ||||
| if (handle == 0) | if (handle == 0) | ||||
| handle = (void*) pthread_self(); | handle = (void*) pthread_self(); | ||||
| @@ -202,7 +202,7 @@ void juce_setThreadPriority (void* handle, int priority) | |||||
| pthread_setschedparam ((pthread_t) handle, policy, ¶m); | pthread_setschedparam ((pthread_t) handle, policy, ¶m); | ||||
| } | } | ||||
| void Thread::yield() | |||||
| void Thread::yield() throw() | |||||
| { | { | ||||
| sched_yield(); | sched_yield(); | ||||
| } | } | ||||
| @@ -213,7 +213,7 @@ void Thread::setCurrentThreadAffinityMask (const uint32 affinityMask) | |||||
| jassertfalse | jassertfalse | ||||
| } | } | ||||
| void Thread::sleep (int millisecs) | |||||
| void Thread::sleep (int millisecs) throw() | |||||
| { | { | ||||
| struct timespec time; | struct timespec time; | ||||
| time.tv_sec = millisecs / 1000; | time.tv_sec = millisecs / 1000; | ||||
| @@ -2185,7 +2185,7 @@ bool DragAndDropContainer::performExternalDragDropOfText (const String& text) | |||||
| //============================================================================== | //============================================================================== | ||||
| bool Process::isForegroundProcess() | |||||
| bool Process::isForegroundProcess() throw() | |||||
| { | { | ||||
| ProcessSerialNumber psn, front; | ProcessSerialNumber psn, front; | ||||
| GetCurrentProcess (&psn); | GetCurrentProcess (&psn); | ||||
| @@ -2298,7 +2298,7 @@ struct CursorWrapper | |||||
| ThemeCursor themeCursor; | ThemeCursor themeCursor; | ||||
| }; | }; | ||||
| void* juce_createMouseCursorFromImage (const Image& image, int hotspotX, int hotspotY) | |||||
| void* juce_createMouseCursorFromImage (const Image& image, int hotspotX, int hotspotY) throw() | |||||
| { | { | ||||
| const int maxW = 16; | const int maxW = 16; | ||||
| const int maxH = 16; | const int maxH = 16; | ||||
| @@ -2360,7 +2360,7 @@ static void* cursorFromData (const unsigned char* data, const int size, int hx, | |||||
| const unsigned int kSpecialNoCursor = 'nocr'; | const unsigned int kSpecialNoCursor = 'nocr'; | ||||
| void* juce_createStandardMouseCursor (MouseCursor::StandardCursorType type) | |||||
| void* juce_createStandardMouseCursor (MouseCursor::StandardCursorType type) throw() | |||||
| { | { | ||||
| ThemeCursor id = kThemeArrowCursor; | ThemeCursor id = kThemeArrowCursor; | ||||
| @@ -2481,15 +2481,13 @@ void* juce_createStandardMouseCursor (MouseCursor::StandardCursorType type) | |||||
| return (void*) cw; | return (void*) cw; | ||||
| } | } | ||||
| void juce_deleteMouseCursor (void* cursorHandle, bool isStandard) | |||||
| void juce_deleteMouseCursor (void* const cursorHandle, const bool isStandard) throw() | |||||
| { | { | ||||
| CursorWrapper* cw = (CursorWrapper*)cursorHandle; | |||||
| CursorWrapper* const cw = (CursorWrapper*) cursorHandle; | |||||
| if (cw != 0) | if (cw != 0) | ||||
| { | { | ||||
| if (cw->cursor != 0) | |||||
| delete cw->cursor; | |||||
| delete cw->cursor; | |||||
| delete cw; | delete cw; | ||||
| } | } | ||||
| } | } | ||||
| @@ -78,7 +78,7 @@ UNICODE_FUNCTION (SetCurrentDirectoryW, BOOL, (LPCWSTR)) | |||||
| UNICODE_FUNCTION (FindFirstFileW, HANDLE, (LPCWSTR, LPWIN32_FIND_DATAW)) | UNICODE_FUNCTION (FindFirstFileW, HANDLE, (LPCWSTR, LPWIN32_FIND_DATAW)) | ||||
| UNICODE_FUNCTION (FindNextFileW, BOOL, (HANDLE, LPWIN32_FIND_DATAW)) | UNICODE_FUNCTION (FindNextFileW, BOOL, (HANDLE, LPWIN32_FIND_DATAW)) | ||||
| void juce_initialiseUnicodeFileFunctions() | |||||
| void juce_initialiseUnicodeFileFunctions() throw() | |||||
| { | { | ||||
| if ((SystemStats::getOperatingSystemType() & SystemStats::WindowsNT) != 0) | if ((SystemStats::getOperatingSystemType() & SystemStats::WindowsNT) != 0) | ||||
| { | { | ||||
| @@ -108,7 +108,7 @@ void juce_initialiseUnicodeFileFunctions() | |||||
| //============================================================================== | //============================================================================== | ||||
| bool juce_fileExists (const String& fileName, | bool juce_fileExists (const String& fileName, | ||||
| const bool dontCountDirectories) | |||||
| const bool dontCountDirectories) throw() | |||||
| { | { | ||||
| if (fileName.isEmpty()) | if (fileName.isEmpty()) | ||||
| return false; | return false; | ||||
| @@ -120,7 +120,7 @@ bool juce_fileExists (const String& fileName, | |||||
| : (attr != 0xffffffff); | : (attr != 0xffffffff); | ||||
| } | } | ||||
| bool juce_isDirectory (const String& fileName) | |||||
| bool juce_isDirectory (const String& fileName) throw() | |||||
| { | { | ||||
| const DWORD attr = (wGetFileAttributesW != 0) ? wGetFileAttributesW (fileName) | const DWORD attr = (wGetFileAttributesW != 0) ? wGetFileAttributesW (fileName) | ||||
| : GetFileAttributes (fileName); | : GetFileAttributes (fileName); | ||||
| @@ -129,7 +129,7 @@ bool juce_isDirectory (const String& fileName) | |||||
| && ((attr & FILE_ATTRIBUTE_DIRECTORY) != 0); | && ((attr & FILE_ATTRIBUTE_DIRECTORY) != 0); | ||||
| } | } | ||||
| bool juce_canWriteToFile (const String& fileName) | |||||
| bool juce_canWriteToFile (const String& fileName) throw() | |||||
| { | { | ||||
| const DWORD attr = (wGetFileAttributesW != 0) ? wGetFileAttributesW (fileName) | const DWORD attr = (wGetFileAttributesW != 0) ? wGetFileAttributesW (fileName) | ||||
| : GetFileAttributes (fileName); | : GetFileAttributes (fileName); | ||||
| @@ -161,7 +161,7 @@ bool juce_setFileReadOnly (const String& fileName, | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| bool juce_deleteFile (const String& fileName) | |||||
| bool juce_deleteFile (const String& fileName) throw() | |||||
| { | { | ||||
| if (juce_isDirectory (fileName)) | if (juce_isDirectory (fileName)) | ||||
| return (wRemoveDirectoryW != 0) ? wRemoveDirectoryW (fileName) != 0 | return (wRemoveDirectoryW != 0) ? wRemoveDirectoryW (fileName) != 0 | ||||
| @@ -171,19 +171,19 @@ bool juce_deleteFile (const String& fileName) | |||||
| : DeleteFile (fileName) != 0; | : DeleteFile (fileName) != 0; | ||||
| } | } | ||||
| bool juce_moveFile (const String& source, const String& dest) | |||||
| bool juce_moveFile (const String& source, const String& dest) throw() | |||||
| { | { | ||||
| return (wMoveFileW != 0) ? wMoveFileW (source, dest) != 0 | return (wMoveFileW != 0) ? wMoveFileW (source, dest) != 0 | ||||
| : MoveFile (source, dest) != 0; | : MoveFile (source, dest) != 0; | ||||
| } | } | ||||
| bool juce_copyFile (const String& source, const String& dest) | |||||
| bool juce_copyFile (const String& source, const String& dest) throw() | |||||
| { | { | ||||
| return (wCopyFileW != 0) ? wCopyFileW (source, dest, false) != 0 | return (wCopyFileW != 0) ? wCopyFileW (source, dest, false) != 0 | ||||
| : CopyFile (source, dest, false) != 0; | : CopyFile (source, dest, false) != 0; | ||||
| } | } | ||||
| void juce_createDirectory (const String& fileName) | |||||
| void juce_createDirectory (const String& fileName) throw() | |||||
| { | { | ||||
| if (! juce_fileExists (fileName, true)) | if (! juce_fileExists (fileName, true)) | ||||
| { | { | ||||
| @@ -196,7 +196,7 @@ void juce_createDirectory (const String& fileName) | |||||
| //============================================================================== | //============================================================================== | ||||
| // return 0 if not possible | // return 0 if not possible | ||||
| void* juce_fileOpen (const String& fileName, bool forWriting) | |||||
| void* juce_fileOpen (const String& fileName, bool forWriting) throw() | |||||
| { | { | ||||
| HANDLE h; | HANDLE h; | ||||
| @@ -230,20 +230,20 @@ void* juce_fileOpen (const String& fileName, bool forWriting) | |||||
| return (void*) h; | return (void*) h; | ||||
| } | } | ||||
| void juce_fileClose (void* handle) | |||||
| void juce_fileClose (void* handle) throw() | |||||
| { | { | ||||
| CloseHandle (handle); | CloseHandle (handle); | ||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| int juce_fileRead (void* handle, void* buffer, int size) | |||||
| int juce_fileRead (void* handle, void* buffer, int size) throw() | |||||
| { | { | ||||
| DWORD num = 0; | DWORD num = 0; | ||||
| ReadFile ((HANDLE) handle, buffer, size, &num, 0); | ReadFile ((HANDLE) handle, buffer, size, &num, 0); | ||||
| return num; | return num; | ||||
| } | } | ||||
| int juce_fileWrite (void* handle, const void* buffer, int size) | |||||
| int juce_fileWrite (void* handle, const void* buffer, int size) throw() | |||||
| { | { | ||||
| DWORD num; | DWORD num; | ||||
| @@ -254,7 +254,7 @@ int juce_fileWrite (void* handle, const void* buffer, int size) | |||||
| return num; | return num; | ||||
| } | } | ||||
| int64 juce_fileSetPosition (void* handle, int64 pos) | |||||
| int64 juce_fileSetPosition (void* handle, int64 pos) throw() | |||||
| { | { | ||||
| LARGE_INTEGER li; | LARGE_INTEGER li; | ||||
| li.QuadPart = pos; | li.QuadPart = pos; | ||||
| @@ -266,7 +266,7 @@ int64 juce_fileSetPosition (void* handle, int64 pos) | |||||
| return li.QuadPart; | return li.QuadPart; | ||||
| } | } | ||||
| int64 juce_fileGetPosition (void* handle) | |||||
| int64 juce_fileGetPosition (void* handle) throw() | |||||
| { | { | ||||
| LARGE_INTEGER li; | LARGE_INTEGER li; | ||||
| li.QuadPart = 0; | li.QuadPart = 0; | ||||
| @@ -277,12 +277,12 @@ int64 juce_fileGetPosition (void* handle) | |||||
| return jmax ((int64) 0, li.QuadPart); | return jmax ((int64) 0, li.QuadPart); | ||||
| } | } | ||||
| void juce_fileFlush (void* handle) | |||||
| void juce_fileFlush (void* handle) throw() | |||||
| { | { | ||||
| FlushFileBuffers ((HANDLE) handle); | FlushFileBuffers ((HANDLE) handle); | ||||
| } | } | ||||
| int64 juce_getFileSize (const String& fileName) | |||||
| int64 juce_getFileSize (const String& fileName) throw() | |||||
| { | { | ||||
| void* const handle = juce_fileOpen (fileName, false); | void* const handle = juce_fileOpen (fileName, false); | ||||
| @@ -324,7 +324,7 @@ static void timeToFileTime (const int64 time, FILETIME* const ft) throw() | |||||
| void juce_getFileTimes (const String& fileName, | void juce_getFileTimes (const String& fileName, | ||||
| int64& modificationTime, | int64& modificationTime, | ||||
| int64& accessTime, | int64& accessTime, | ||||
| int64& creationTime) | |||||
| int64& creationTime) throw() | |||||
| { | { | ||||
| creationTime = accessTime = modificationTime = 0; | creationTime = accessTime = modificationTime = 0; | ||||
| void* const h = juce_fileOpen (fileName, false); | void* const h = juce_fileOpen (fileName, false); | ||||
| @@ -347,7 +347,7 @@ void juce_getFileTimes (const String& fileName, | |||||
| bool juce_setFileTimes (const String& fileName, | bool juce_setFileTimes (const String& fileName, | ||||
| int64 modificationTime, | int64 modificationTime, | ||||
| int64 accessTime, | int64 accessTime, | ||||
| int64 creationTime) | |||||
| int64 creationTime) throw() | |||||
| { | { | ||||
| FILETIME m, a, c; | FILETIME m, a, c; | ||||
| @@ -377,7 +377,7 @@ bool juce_setFileTimes (const String& fileName, | |||||
| //============================================================================== | //============================================================================== | ||||
| // return '\0' separated list of strings | // return '\0' separated list of strings | ||||
| const StringArray juce_getFileSystemRoots() | |||||
| const StringArray juce_getFileSystemRoots() throw() | |||||
| { | { | ||||
| TCHAR buffer [2048]; | TCHAR buffer [2048]; | ||||
| buffer[0] = 0; | buffer[0] = 0; | ||||
| @@ -402,7 +402,7 @@ const StringArray juce_getFileSystemRoots() | |||||
| //============================================================================== | //============================================================================== | ||||
| const String juce_getVolumeLabel (const String& filenameOnVolume, | const String juce_getVolumeLabel (const String& filenameOnVolume, | ||||
| int& volumeSerialNumber) | |||||
| int& volumeSerialNumber) throw() | |||||
| { | { | ||||
| TCHAR n [4]; | TCHAR n [4]; | ||||
| n[0] = *(const TCHAR*) filenameOnVolume; | n[0] = *(const TCHAR*) filenameOnVolume; | ||||
| @@ -440,7 +440,7 @@ int64 File::getBytesFreeOnVolume() const throw() | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| static unsigned int getWindowsDriveType (const String& fileName) | |||||
| static unsigned int getWindowsDriveType (const String& fileName) throw() | |||||
| { | { | ||||
| TCHAR n[4]; | TCHAR n[4]; | ||||
| n[0] = *(const TCHAR*) fileName; | n[0] = *(const TCHAR*) fileName; | ||||
| @@ -490,7 +490,7 @@ bool File::isOnRemovableDrive() const throw() | |||||
| //============================================================================== | //============================================================================== | ||||
| #define MAX_PATH_CHARS (MAX_PATH + 256) | #define MAX_PATH_CHARS (MAX_PATH + 256) | ||||
| static const File juce_getSpecialFolderPath (int type) | |||||
| static const File juce_getSpecialFolderPath (int type) throw() | |||||
| { | { | ||||
| if (wSHGetSpecialFolderPathW != 0) | if (wSHGetSpecialFolderPathW != 0) | ||||
| { | { | ||||
| @@ -577,7 +577,7 @@ const File File::getSpecialLocation (const SpecialLocationType type) | |||||
| } | } | ||||
| void juce_setCurrentExecutableFileName (const String&) | |||||
| void juce_setCurrentExecutableFileName (const String&) throw() | |||||
| { | { | ||||
| // n/a on windows | // n/a on windows | ||||
| } | } | ||||
| @@ -612,7 +612,7 @@ template <class FindDataType> | |||||
| static void getFindFileInfo (FindDataType& findData, | static void getFindFileInfo (FindDataType& findData, | ||||
| String& filename, bool* const isDir, bool* const isHidden, | String& filename, bool* const isDir, bool* const isHidden, | ||||
| int64* const fileSize, Time* const modTime, Time* const creationTime, | int64* const fileSize, Time* const modTime, Time* const creationTime, | ||||
| bool* const isReadOnly) | |||||
| bool* const isReadOnly) throw() | |||||
| { | { | ||||
| filename = findData.cFileName; | filename = findData.cFileName; | ||||
| @@ -638,7 +638,7 @@ static void getFindFileInfo (FindDataType& findData, | |||||
| void* juce_findFileStart (const String& directory, const String& wildCard, String& firstResult, | void* juce_findFileStart (const String& directory, const String& wildCard, String& firstResult, | ||||
| bool* isDir, bool* isHidden, int64* fileSize, | bool* isDir, bool* isHidden, int64* fileSize, | ||||
| Time* modTime, Time* creationTime, bool* isReadOnly) | |||||
| Time* modTime, Time* creationTime, bool* isReadOnly) throw() | |||||
| { | { | ||||
| String wc (directory); | String wc (directory); | ||||
| @@ -676,7 +676,7 @@ void* juce_findFileStart (const String& directory, const String& wildCard, Strin | |||||
| bool juce_findFileNext (void* handle, String& resultFile, | bool juce_findFileNext (void* handle, String& resultFile, | ||||
| bool* isDir, bool* isHidden, int64* fileSize, | bool* isDir, bool* isHidden, int64* fileSize, | ||||
| Time* modTime, Time* creationTime, bool* isReadOnly) | |||||
| Time* modTime, Time* creationTime, bool* isReadOnly) throw() | |||||
| { | { | ||||
| if (wFindNextFileW != 0) | if (wFindNextFileW != 0) | ||||
| { | { | ||||
| @@ -703,14 +703,14 @@ bool juce_findFileNext (void* handle, String& resultFile, | |||||
| return false; | return false; | ||||
| } | } | ||||
| void juce_findFileClose (void* handle) | |||||
| void juce_findFileClose (void* handle) throw() | |||||
| { | { | ||||
| FindClose (handle); | FindClose (handle); | ||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| bool juce_launchFile (const String& fileName, | bool juce_launchFile (const String& fileName, | ||||
| const String& parameters) | |||||
| const String& parameters) throw() | |||||
| { | { | ||||
| HINSTANCE hInstance = 0; | HINSTANCE hInstance = 0; | ||||
| @@ -66,12 +66,12 @@ BEGIN_JUCE_NAMESPACE | |||||
| extern void juce_updateMultiMonitorInfo(); // from WindowDriver | extern void juce_updateMultiMonitorInfo(); // from WindowDriver | ||||
| //============================================================================== | //============================================================================== | ||||
| void Logger::outputDebugString (const String& text) | |||||
| void Logger::outputDebugString (const String& text) throw() | |||||
| { | { | ||||
| OutputDebugString (text + T("\n")); | OutputDebugString (text + T("\n")); | ||||
| } | } | ||||
| void Logger::outputDebugPrintf (const tchar* format, ...) | |||||
| void Logger::outputDebugPrintf (const tchar* format, ...) throw() | |||||
| { | { | ||||
| String text; | String text; | ||||
| va_list args; | va_list args; | ||||
| @@ -103,7 +103,7 @@ static struct _LogicalCpuInfo | |||||
| #pragma intrinsic (__cpuid) | #pragma intrinsic (__cpuid) | ||||
| #pragma intrinsic (__rdtsc) | #pragma intrinsic (__rdtsc) | ||||
| static unsigned int getCPUIDWord (int* familyModel = 0, int* extFeatures = 0) | |||||
| static unsigned int getCPUIDWord (int* familyModel = 0, int* extFeatures = 0) throw() | |||||
| { | { | ||||
| int info [4]; | int info [4]; | ||||
| __cpuid (info, 1); | __cpuid (info, 1); | ||||
| @@ -117,7 +117,7 @@ static unsigned int getCPUIDWord (int* familyModel = 0, int* extFeatures = 0) | |||||
| return info[3]; | return info[3]; | ||||
| } | } | ||||
| const String SystemStats::getCpuVendor() | |||||
| const String SystemStats::getCpuVendor() throw() | |||||
| { | { | ||||
| int info [4]; | int info [4]; | ||||
| __cpuid (info, 0); | __cpuid (info, 0); | ||||
| @@ -223,7 +223,7 @@ const String SystemStats::getCpuVendor() | |||||
| } | } | ||||
| #endif | #endif | ||||
| static void initLogicalCpuInfo() | |||||
| static void initLogicalCpuInfo() throw() | |||||
| { | { | ||||
| int familyModelWord, extFeaturesWord; | int familyModelWord, extFeaturesWord; | ||||
| int featuresWord = getCPUIDWord (&familyModelWord, &extFeaturesWord); | int featuresWord = getCPUIDWord (&familyModelWord, &extFeaturesWord); | ||||
| @@ -305,35 +305,35 @@ static void initLogicalCpuInfo() | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| void juce_initialiseThreadEvents(); | |||||
| void juce_initialiseUnicodeFileFunctions(); | |||||
| void juce_initialiseThreadEvents() throw(); | |||||
| void juce_initialiseUnicodeFileFunctions() throw(); | |||||
| static struct JuceCpuProps | static struct JuceCpuProps | ||||
| { | { | ||||
| bool hasMMX : 1, hasSSE : 1, hasSSE2 : 1, has3DNow : 1; | bool hasMMX : 1, hasSSE : 1, hasSSE2 : 1, has3DNow : 1; | ||||
| } juce_CpuProps; | } juce_CpuProps; | ||||
| bool SystemStats::hasMMX() | |||||
| bool SystemStats::hasMMX() throw() | |||||
| { | { | ||||
| return juce_CpuProps.hasMMX; | return juce_CpuProps.hasMMX; | ||||
| } | } | ||||
| bool SystemStats::hasSSE() | |||||
| bool SystemStats::hasSSE() throw() | |||||
| { | { | ||||
| return juce_CpuProps.hasSSE; | return juce_CpuProps.hasSSE; | ||||
| } | } | ||||
| bool SystemStats::hasSSE2() | |||||
| bool SystemStats::hasSSE2() throw() | |||||
| { | { | ||||
| return juce_CpuProps.hasSSE2; | return juce_CpuProps.hasSSE2; | ||||
| } | } | ||||
| bool SystemStats::has3DNow() | |||||
| bool SystemStats::has3DNow() throw() | |||||
| { | { | ||||
| return juce_CpuProps.has3DNow; | return juce_CpuProps.has3DNow; | ||||
| } | } | ||||
| void SystemStats::initialiseStats() | |||||
| void SystemStats::initialiseStats() throw() | |||||
| { | { | ||||
| juce_initialiseUnicodeFileFunctions(); | juce_initialiseUnicodeFileFunctions(); | ||||
| juce_initialiseThreadEvents(); | juce_initialiseThreadEvents(); | ||||
| @@ -370,7 +370,7 @@ void SystemStats::initialiseStats() | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| SystemStats::OperatingSystemType SystemStats::getOperatingSystemType() | |||||
| SystemStats::OperatingSystemType SystemStats::getOperatingSystemType() throw() | |||||
| { | { | ||||
| OSVERSIONINFO info; | OSVERSIONINFO info; | ||||
| info.dwOSVersionInfoSize = sizeof (info); | info.dwOSVersionInfoSize = sizeof (info); | ||||
| @@ -380,12 +380,6 @@ SystemStats::OperatingSystemType SystemStats::getOperatingSystemType() | |||||
| { | { | ||||
| switch (info.dwMajorVersion) | switch (info.dwMajorVersion) | ||||
| { | { | ||||
| case 3: | |||||
| return WinNT351; | |||||
| case 4: | |||||
| return WinNT40; | |||||
| case 5: | case 5: | ||||
| return (info.dwMinorVersion == 0) ? Win2000 : WinXP; | return (info.dwMinorVersion == 0) ? Win2000 : WinXP; | ||||
| @@ -393,52 +387,44 @@ SystemStats::OperatingSystemType SystemStats::getOperatingSystemType() | |||||
| return WinVista; | return WinVista; | ||||
| default: | default: | ||||
| jassertfalse // !! not a supported OS! | |||||
| break; | break; | ||||
| } | } | ||||
| } | } | ||||
| else if (info.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS) | else if (info.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS) | ||||
| { | { | ||||
| return (info.dwMinorVersion == 0) ? Win95 : Win98; | |||||
| jassert (info.dwMinorVersion != 0); // !! still running on Windows 95?? | |||||
| return Win98; | |||||
| } | } | ||||
| return UnknownOS; | return UnknownOS; | ||||
| } | } | ||||
| const String SystemStats::getOperatingSystemName() | |||||
| const String SystemStats::getOperatingSystemName() throw() | |||||
| { | { | ||||
| const tchar* name = T("Unknown OS"); | |||||
| const char* name = "Unknown OS"; | |||||
| switch (getOperatingSystemType()) | switch (getOperatingSystemType()) | ||||
| { | { | ||||
| case WinVista: | |||||
| name = "Windows Vista"; | |||||
| break; | |||||
| case WinXP: | case WinXP: | ||||
| name = T("Windows XP"); | |||||
| name = "Windows XP"; | |||||
| break; | break; | ||||
| case Win2000: | case Win2000: | ||||
| name = T("Windows 2000"); | |||||
| name = "Windows 2000"; | |||||
| break; | break; | ||||
| case Win98: | case Win98: | ||||
| name = T("Windows 98"); | |||||
| break; | |||||
| case Win95: | |||||
| name = T("Windows 95"); | |||||
| break; | |||||
| case WinNT351: | |||||
| name = T("Windows NT 3.51"); | |||||
| break; | |||||
| case WinNT40: | |||||
| name = T("Windows NT4"); | |||||
| break; | |||||
| case WinVista: | |||||
| name = T("Windows Vista"); | |||||
| name = "Windows 98"; | |||||
| break; | break; | ||||
| default: | default: | ||||
| jassertfalse // !! new type of OS? | |||||
| break; | break; | ||||
| } | } | ||||
| @@ -446,19 +432,19 @@ const String SystemStats::getOperatingSystemName() | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| int SystemStats::getMemorySizeInMegabytes() | |||||
| int SystemStats::getMemorySizeInMegabytes() throw() | |||||
| { | { | ||||
| MEMORYSTATUS mem; | MEMORYSTATUS mem; | ||||
| GlobalMemoryStatus (&mem); | GlobalMemoryStatus (&mem); | ||||
| return (int) (mem.dwTotalPhys / (1024 * 1024)) + 1; | return (int) (mem.dwTotalPhys / (1024 * 1024)) + 1; | ||||
| } | } | ||||
| bool SystemStats::hasHyperThreading() | |||||
| bool SystemStats::hasHyperThreading() throw() | |||||
| { | { | ||||
| return logicalCpuInfo.htAvailable; | return logicalCpuInfo.htAvailable; | ||||
| } | } | ||||
| int SystemStats::getNumPhysicalCpus() | |||||
| int SystemStats::getNumPhysicalCpus() throw() | |||||
| { | { | ||||
| if (logicalCpuInfo.numPackages) | if (logicalCpuInfo.numPackages) | ||||
| return logicalCpuInfo.numPackages; | return logicalCpuInfo.numPackages; | ||||
| @@ -466,12 +452,12 @@ int SystemStats::getNumPhysicalCpus() | |||||
| return getNumLogicalCpus(); | return getNumLogicalCpus(); | ||||
| } | } | ||||
| int SystemStats::getNumLogicalCpus() | |||||
| int SystemStats::getNumLogicalCpus() throw() | |||||
| { | { | ||||
| return systemInfo.dwNumberOfProcessors; | return systemInfo.dwNumberOfProcessors; | ||||
| } | } | ||||
| uint32 SystemStats::getPhysicalAffinityMask() | |||||
| uint32 SystemStats::getPhysicalAffinityMask() throw() | |||||
| { | { | ||||
| return logicalCpuInfo.physicalAffinityMask; | return logicalCpuInfo.physicalAffinityMask; | ||||
| } | } | ||||
| @@ -511,7 +497,7 @@ int64 Time::getHighResolutionTicksPerSecond() throw() | |||||
| return hiResTicksPerSecond; | return hiResTicksPerSecond; | ||||
| } | } | ||||
| int64 SystemStats::getClockCycleCounter() | |||||
| int64 SystemStats::getClockCycleCounter() throw() | |||||
| { | { | ||||
| #if JUCE_USE_INTRINSICS | #if JUCE_USE_INTRINSICS | ||||
| // MS intrinsics version... | // MS intrinsics version... | ||||
| @@ -550,7 +536,7 @@ int64 SystemStats::getClockCycleCounter() | |||||
| #endif | #endif | ||||
| } | } | ||||
| int SystemStats::getCpuSpeedInMegaherz() | |||||
| int SystemStats::getCpuSpeedInMegaherz() throw() | |||||
| { | { | ||||
| const int64 cycles = SystemStats::getClockCycleCounter(); | const int64 cycles = SystemStats::getClockCycleCounter(); | ||||
| const uint32 millis = Time::getMillisecondCounter(); | const uint32 millis = Time::getMillisecondCounter(); | ||||
| @@ -578,7 +564,7 @@ int SystemStats::getCpuSpeedInMegaherz() | |||||
| //============================================================================== | //============================================================================== | ||||
| bool Time::setSystemTimeToThisTime() const | |||||
| bool Time::setSystemTimeToThisTime() const throw() | |||||
| { | { | ||||
| SYSTEMTIME st; | SYSTEMTIME st; | ||||
| @@ -597,7 +583,7 @@ bool Time::setSystemTimeToThisTime() const | |||||
| && SetLocalTime (&st) != 0; | && SetLocalTime (&st) != 0; | ||||
| } | } | ||||
| int SystemStats::getPageSize() | |||||
| int SystemStats::getPageSize() throw() | |||||
| { | { | ||||
| return systemInfo.dwPageSize; | return systemInfo.dwPageSize; | ||||
| } | } | ||||
| @@ -118,7 +118,7 @@ void WaitableEvent::reset() const throw() | |||||
| //============================================================================== | //============================================================================== | ||||
| void JUCE_API juce_threadEntryPoint (void*); | void JUCE_API juce_threadEntryPoint (void*); | ||||
| static unsigned int __stdcall threadEntryProc (void* userData) | |||||
| static unsigned int __stdcall threadEntryProc (void* userData) throw() | |||||
| { | { | ||||
| AttachThreadInput (GetWindowThreadProcessId (juce_messageWindowHandle, 0), | AttachThreadInput (GetWindowThreadProcessId (juce_messageWindowHandle, 0), | ||||
| GetCurrentThreadId(), TRUE); | GetCurrentThreadId(), TRUE); | ||||
| @@ -129,7 +129,7 @@ static unsigned int __stdcall threadEntryProc (void* userData) | |||||
| return 0; | return 0; | ||||
| } | } | ||||
| void* juce_createThread (void* userData) | |||||
| void* juce_createThread (void* userData) throw() | |||||
| { | { | ||||
| unsigned int threadId; | unsigned int threadId; | ||||
| @@ -139,7 +139,7 @@ void* juce_createThread (void* userData) | |||||
| 0, &threadId); | 0, &threadId); | ||||
| } | } | ||||
| void juce_killThread (void* handle) | |||||
| void juce_killThread (void* handle) throw() | |||||
| { | { | ||||
| if (handle != 0) | if (handle != 0) | ||||
| { | { | ||||
| @@ -150,7 +150,7 @@ void juce_killThread (void* handle) | |||||
| } | } | ||||
| } | } | ||||
| void juce_setCurrentThreadName (const String& name) | |||||
| void juce_setCurrentThreadName (const String& name) throw() | |||||
| { | { | ||||
| #if JUCE_DEBUG && JUCE_MSVC | #if JUCE_DEBUG && JUCE_MSVC | ||||
| struct | struct | ||||
| @@ -179,13 +179,13 @@ void juce_setCurrentThreadName (const String& name) | |||||
| #endif | #endif | ||||
| } | } | ||||
| int Thread::getCurrentThreadId() | |||||
| int Thread::getCurrentThreadId() throw() | |||||
| { | { | ||||
| return (int) GetCurrentThreadId(); | return (int) GetCurrentThreadId(); | ||||
| } | } | ||||
| // priority 1 to 10 where 5=normal, 1=low | // priority 1 to 10 where 5=normal, 1=low | ||||
| void juce_setThreadPriority (void* threadHandle, int priority) | |||||
| void juce_setThreadPriority (void* threadHandle, int priority) throw() | |||||
| { | { | ||||
| int pri = THREAD_PRIORITY_TIME_CRITICAL; | int pri = THREAD_PRIORITY_TIME_CRITICAL; | ||||
| @@ -215,17 +215,17 @@ void Thread::setCurrentThreadAffinityMask (const uint32 affinityMask) | |||||
| static HANDLE sleepEvent = 0; | static HANDLE sleepEvent = 0; | ||||
| void juce_initialiseThreadEvents() | |||||
| void juce_initialiseThreadEvents() throw() | |||||
| { | { | ||||
| sleepEvent = CreateEvent (0, 0, 0, 0); | sleepEvent = CreateEvent (0, 0, 0, 0); | ||||
| } | } | ||||
| void Thread::yield() | |||||
| void Thread::yield() throw() | |||||
| { | { | ||||
| Sleep (0); | Sleep (0); | ||||
| } | } | ||||
| void Thread::sleep (int millisecs) | |||||
| void Thread::sleep (const int millisecs) throw() | |||||
| { | { | ||||
| if (millisecs >= 10) | if (millisecs >= 10) | ||||
| { | { | ||||
| @@ -110,7 +110,7 @@ static HPALETTE palette = 0; | |||||
| static bool createPaletteIfNeeded = true; | static bool createPaletteIfNeeded = true; | ||||
| static bool shouldDeactivateTitleBar = true; | static bool shouldDeactivateTitleBar = true; | ||||
| static HICON createHICONFromImage (const Image& image, const BOOL isIcon, int hotspotX, int hotspotY); | |||||
| static HICON JUCE_CALLTYPE createHICONFromImage (const Image& image, const BOOL isIcon, int hotspotX, int hotspotY); | |||||
| #define WM_TRAYNOTIFY WM_USER + 100 | #define WM_TRAYNOTIFY WM_USER + 100 | ||||
| //============================================================================== | //============================================================================== | ||||
| @@ -232,8 +232,8 @@ public: | |||||
| unsigned char* bitmapData; | unsigned char* bitmapData; | ||||
| //============================================================================== | //============================================================================== | ||||
| WindowsBitmapImage (const PixelFormat format_, | |||||
| const int w, const int h, const bool clearImage) | |||||
| JUCE_CALLTYPE WindowsBitmapImage (const PixelFormat format_, | |||||
| const int w, const int h, const bool clearImage) | |||||
| : Image (format_, w, h) | : Image (format_, w, h) | ||||
| { | { | ||||
| jassert (format_ == RGB || format_ == ARGB); | jassert (format_ == RGB || format_ == ARGB); | ||||
| @@ -292,7 +292,7 @@ public: | |||||
| imageData = bitmapData - (lineStride * (h - 1)); | imageData = bitmapData - (lineStride * (h - 1)); | ||||
| } | } | ||||
| ~WindowsBitmapImage() | |||||
| JUCE_CALLTYPE ~WindowsBitmapImage() | |||||
| { | { | ||||
| DeleteDC (hdc); | DeleteDC (hdc); | ||||
| DeleteObject (hBitmap); | DeleteObject (hBitmap); | ||||
| @@ -300,8 +300,8 @@ public: | |||||
| } | } | ||||
| void blitToWindow (HWND hwnd, HDC dc, const bool transparent, | |||||
| int x, int y, const RectangleList& maskedRegion) | |||||
| void JUCE_CALLTYPE blitToWindow (HWND hwnd, HDC dc, const bool transparent, | |||||
| int x, int y, const RectangleList& maskedRegion) throw() | |||||
| { | { | ||||
| static HDRAWDIB hdd = 0; | static HDRAWDIB hdd = 0; | ||||
| static bool needToCreateDrawDib = true; | static bool needToCreateDrawDib = true; | ||||
| @@ -424,7 +424,7 @@ long improbableWindowNumber = 0xf965aa01; // also referenced by messaging.cpp | |||||
| //============================================================================== | //============================================================================== | ||||
| static int currentModifiers = 0; | static int currentModifiers = 0; | ||||
| static void updateKeyModifiers() | |||||
| static void JUCE_CALLTYPE updateKeyModifiers() | |||||
| { | { | ||||
| currentModifiers &= ~(ModifierKeys::shiftModifier | currentModifiers &= ~(ModifierKeys::shiftModifier | ||||
| | ModifierKeys::ctrlModifier | | ModifierKeys::ctrlModifier | ||||
| @@ -489,7 +489,7 @@ const ModifierKeys ModifierKeys::getCurrentModifiersRealtime() | |||||
| return ModifierKeys (currentModifiers); | return ModifierKeys (currentModifiers); | ||||
| } | } | ||||
| static int64 getMouseEventTime() | |||||
| static int64 JUCE_CALLTYPE getMouseEventTime() | |||||
| { | { | ||||
| static int64 eventTimeOffset = 0; | static int64 eventTimeOffset = 0; | ||||
| static DWORD lastMessageTime = 0; | static DWORD lastMessageTime = 0; | ||||
| @@ -510,8 +510,8 @@ class Win32ComponentPeer : public ComponentPeer | |||||
| { | { | ||||
| public: | public: | ||||
| //============================================================================== | //============================================================================== | ||||
| Win32ComponentPeer (Component* const component, | |||||
| const int windowStyleFlags) | |||||
| JUCE_CALLTYPE Win32ComponentPeer (Component* const component, | |||||
| const int windowStyleFlags) | |||||
| : ComponentPeer (component, windowStyleFlags), | : ComponentPeer (component, windowStyleFlags), | ||||
| dontRepaint (false), | dontRepaint (false), | ||||
| fullScreen (false), | fullScreen (false), | ||||
| @@ -862,7 +862,7 @@ public: | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| static Win32ComponentPeer* getOwnerOfWindow (HWND h) | |||||
| static Win32ComponentPeer* JUCE_CALLTYPE getOwnerOfWindow (HWND h) | |||||
| { | { | ||||
| if (h != 0 && GetWindowLongPtr (h, GWLP_USERDATA) == improbableWindowNumber) | if (h != 0 && GetWindowLongPtr (h, GWLP_USERDATA) == improbableWindowNumber) | ||||
| return (Win32ComponentPeer*) GetWindowLongPtr (h, 8); | return (Win32ComponentPeer*) GetWindowLongPtr (h, 8); | ||||
| @@ -941,18 +941,18 @@ private: | |||||
| { | { | ||||
| public: | public: | ||||
| //============================================================================== | //============================================================================== | ||||
| TemporaryImage() | |||||
| JUCE_CALLTYPE TemporaryImage() | |||||
| : image (0) | : image (0) | ||||
| { | { | ||||
| } | } | ||||
| ~TemporaryImage() | |||||
| JUCE_CALLTYPE ~TemporaryImage() | |||||
| { | { | ||||
| delete image; | delete image; | ||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| WindowsBitmapImage* getImage (const bool transparent, const int w, const int h) | |||||
| WindowsBitmapImage* JUCE_CALLTYPE getImage (const bool transparent, const int w, const int h) | |||||
| { | { | ||||
| const Image::PixelFormat format = transparent ? Image::ARGB : Image::RGB; | const Image::PixelFormat format = transparent ? Image::ARGB : Image::RGB; | ||||
| @@ -992,7 +992,7 @@ private: | |||||
| class WindowClassHolder : public DeletedAtShutdown | class WindowClassHolder : public DeletedAtShutdown | ||||
| { | { | ||||
| public: | public: | ||||
| WindowClassHolder() | |||||
| JUCE_CALLTYPE WindowClassHolder() | |||||
| : windowClassName (T("JUCE_")) | : windowClassName (T("JUCE_")) | ||||
| { | { | ||||
| // this name has to be different for each app/dll instance because otherwise | // this name has to be different for each app/dll instance because otherwise | ||||
| @@ -1047,7 +1047,7 @@ private: | |||||
| } | } | ||||
| } | } | ||||
| ~WindowClassHolder() | |||||
| JUCE_CALLTYPE ~WindowClassHolder() | |||||
| { | { | ||||
| if (ComponentPeer::getNumPeers() == 0) | if (ComponentPeer::getNumPeers() == 0) | ||||
| UnregisterClass (windowClassName, (HINSTANCE) PlatformUtilities::getCurrentModuleInstanceHandle()); | UnregisterClass (windowClassName, (HINSTANCE) PlatformUtilities::getCurrentModuleInstanceHandle()); | ||||
| @@ -1056,7 +1056,7 @@ private: | |||||
| String windowClassName; | String windowClassName; | ||||
| }; | }; | ||||
| void createWindow() | |||||
| void JUCE_CALLTYPE createWindow() | |||||
| { | { | ||||
| DWORD exstyle = WS_EX_ACCEPTFILES; | DWORD exstyle = WS_EX_ACCEPTFILES; | ||||
| DWORD type = WS_CLIPSIBLINGS | WS_CLIPCHILDREN; | DWORD type = WS_CLIPSIBLINGS | WS_CLIPCHILDREN; | ||||
| @@ -1202,7 +1202,7 @@ private: | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| void handlePaintMessage() | |||||
| void JUCE_CALLTYPE handlePaintMessage() | |||||
| { | { | ||||
| #if DEBUG_REPAINT_TIMES | #if DEBUG_REPAINT_TIMES | ||||
| const double paintStart = Time::getMillisecondCounterHiRes(); | const double paintStart = Time::getMillisecondCounterHiRes(); | ||||
| @@ -1352,7 +1352,7 @@ private: | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| void doMouseMove (const int x, const int y) | |||||
| void JUCE_CALLTYPE doMouseMove (const int x, const int y) | |||||
| { | { | ||||
| static uint32 lastMouseTime = 0; | static uint32 lastMouseTime = 0; | ||||
| // this can be set to throttle the mouse-messages to less than a | // this can be set to throttle the mouse-messages to less than a | ||||
| @@ -1417,7 +1417,7 @@ private: | |||||
| } | } | ||||
| } | } | ||||
| void doMouseDown (const int x, const int y, const WPARAM wParam) | |||||
| void JUCE_CALLTYPE doMouseDown (const int x, const int y, const WPARAM wParam) | |||||
| { | { | ||||
| if (GetCapture() != hwnd) | if (GetCapture() != hwnd) | ||||
| SetCapture (hwnd); | SetCapture (hwnd); | ||||
| @@ -1441,7 +1441,7 @@ private: | |||||
| handleMouseDown (x, y, getMouseEventTime()); | handleMouseDown (x, y, getMouseEventTime()); | ||||
| } | } | ||||
| void doMouseUp (const int x, const int y, const WPARAM wParam) | |||||
| void JUCE_CALLTYPE doMouseUp (const int x, const int y, const WPARAM wParam) | |||||
| { | { | ||||
| int numButtons = 0; | int numButtons = 0; | ||||
| @@ -1479,7 +1479,7 @@ private: | |||||
| handleMouseUp (oldModifiers, x, y, getMouseEventTime()); | handleMouseUp (oldModifiers, x, y, getMouseEventTime()); | ||||
| } | } | ||||
| void doCaptureChanged() | |||||
| void JUCE_CALLTYPE doCaptureChanged() | |||||
| { | { | ||||
| if (isDragging) | if (isDragging) | ||||
| { | { | ||||
| @@ -1494,7 +1494,7 @@ private: | |||||
| } | } | ||||
| } | } | ||||
| void doMouseExit() | |||||
| void JUCE_CALLTYPE doMouseExit() | |||||
| { | { | ||||
| if (isMouseOver) | if (isMouseOver) | ||||
| { | { | ||||
| @@ -1510,7 +1510,7 @@ private: | |||||
| } | } | ||||
| } | } | ||||
| void doMouseWheel (const WPARAM wParam, const bool isVertical) | |||||
| void JUCE_CALLTYPE doMouseWheel (const WPARAM wParam, const bool isVertical) | |||||
| { | { | ||||
| updateKeyModifiers(); | updateKeyModifiers(); | ||||
| @@ -1522,7 +1522,7 @@ private: | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| void doKeyUp (const WPARAM key) | |||||
| void JUCE_CALLTYPE doKeyUp (const WPARAM key) | |||||
| { | { | ||||
| updateKeyModifiers(); | updateKeyModifiers(); | ||||
| @@ -1549,7 +1549,7 @@ private: | |||||
| handleKeyUpOrDown(); | handleKeyUpOrDown(); | ||||
| } | } | ||||
| void doKeyDown (const WPARAM key) | |||||
| void JUCE_CALLTYPE doKeyDown (const WPARAM key) | |||||
| { | { | ||||
| updateKeyModifiers(); | updateKeyModifiers(); | ||||
| @@ -1637,7 +1637,7 @@ private: | |||||
| } | } | ||||
| } | } | ||||
| void doKeyChar (int key, const LPARAM flags) | |||||
| void JUCE_CALLTYPE doKeyChar (int key, const LPARAM flags) | |||||
| { | { | ||||
| updateKeyModifiers(); | updateKeyModifiers(); | ||||
| @@ -1685,7 +1685,7 @@ private: | |||||
| handleKeyPress (key, textChar); | handleKeyPress (key, textChar); | ||||
| } | } | ||||
| bool doAppCommand (const LPARAM lParam) | |||||
| bool JUCE_CALLTYPE doAppCommand (const LPARAM lParam) | |||||
| { | { | ||||
| int key = 0; | int key = 0; | ||||
| @@ -1723,7 +1723,7 @@ private: | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| void doDroppedFiles (HDROP hdrop) | |||||
| void JUCE_CALLTYPE doDroppedFiles (HDROP hdrop) | |||||
| { | { | ||||
| POINT p; | POINT p; | ||||
| DragQueryPoint (hdrop, &p); | DragQueryPoint (hdrop, &p); | ||||
| @@ -1754,7 +1754,7 @@ private: | |||||
| handleFilesDropped (p.x, p.y, files); | handleFilesDropped (p.x, p.y, files); | ||||
| } | } | ||||
| void doSettingChange() | |||||
| void JUCE_CALLTYPE doSettingChange() | |||||
| { | { | ||||
| Desktop::getInstance().refreshMonitorSizes(); | Desktop::getInstance().refreshMonitorSizes(); | ||||
| @@ -1781,7 +1781,7 @@ public: | |||||
| } | } | ||||
| private: | private: | ||||
| LRESULT peerWindowProc (HWND h, UINT message, WPARAM wParam, LPARAM lParam) | |||||
| LRESULT JUCE_CALLTYPE peerWindowProc (HWND h, UINT message, WPARAM wParam, LPARAM lParam) | |||||
| { | { | ||||
| { | { | ||||
| const MessageManagerLock messLock; | const MessageManagerLock messLock; | ||||
| @@ -2183,7 +2183,7 @@ void juce_setWindowStyleBit (HWND h, int styleType, int feature, bool bitIsSet) | |||||
| //============================================================================== | //============================================================================== | ||||
| bool Process::isForegroundProcess() | |||||
| bool Process::isForegroundProcess() throw() | |||||
| { | { | ||||
| HWND fg = GetForegroundWindow(); | HWND fg = GetForegroundWindow(); | ||||
| @@ -2259,7 +2259,7 @@ void juce_updateMultiMonitorInfo (Array <Rectangle>& monitorCoords, const bool c | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| static Image* createImageFromHBITMAP (HBITMAP bitmap) | |||||
| static Image* JUCE_CALLTYPE createImageFromHBITMAP (HBITMAP bitmap) | |||||
| { | { | ||||
| Image* im = 0; | Image* im = 0; | ||||
| @@ -2297,7 +2297,7 @@ static Image* createImageFromHBITMAP (HBITMAP bitmap) | |||||
| return im; | return im; | ||||
| } | } | ||||
| static Image* createImageFromHICON (HICON icon) | |||||
| static Image* JUCE_CALLTYPE createImageFromHICON (HICON icon) | |||||
| { | { | ||||
| ICONINFO info; | ICONINFO info; | ||||
| @@ -2331,7 +2331,7 @@ static Image* createImageFromHICON (HICON icon) | |||||
| return 0; | return 0; | ||||
| } | } | ||||
| static HICON createHICONFromImage (const Image& image, const BOOL isIcon, int hotspotX, int hotspotY) | |||||
| static HICON JUCE_CALLTYPE createHICONFromImage (const Image& image, const BOOL isIcon, int hotspotX, int hotspotY) | |||||
| { | { | ||||
| HBITMAP mask = CreateBitmap (image.getWidth(), image.getHeight(), 1, 1, 0); | HBITMAP mask = CreateBitmap (image.getWidth(), image.getHeight(), 1, 1, 0); | ||||
| @@ -2404,7 +2404,7 @@ Image* juce_createIconForFile (const File& file) | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| void* juce_createMouseCursorFromImage (const Image& image, int hotspotX, int hotspotY) | |||||
| void* juce_createMouseCursorFromImage (const Image& image, int hotspotX, int hotspotY) throw() | |||||
| { | { | ||||
| const int maxW = GetSystemMetrics (SM_CXCURSOR); | const int maxW = GetSystemMetrics (SM_CXCURSOR); | ||||
| const int maxH = GetSystemMetrics (SM_CYCURSOR); | const int maxH = GetSystemMetrics (SM_CYCURSOR); | ||||
| @@ -2462,13 +2462,13 @@ void* juce_createMouseCursorFromImage (const Image& image, int hotspotX, int hot | |||||
| return cursorH; | return cursorH; | ||||
| } | } | ||||
| void juce_deleteMouseCursor (void* cursorHandle, bool isStandard) | |||||
| void juce_deleteMouseCursor (void* const cursorHandle, const bool isStandard) throw() | |||||
| { | { | ||||
| if (cursorHandle != 0 && ! isStandard) | if (cursorHandle != 0 && ! isStandard) | ||||
| DestroyCursor ((HCURSOR) cursorHandle); | DestroyCursor ((HCURSOR) cursorHandle); | ||||
| } | } | ||||
| void* juce_createStandardMouseCursor (MouseCursor::StandardCursorType type) | |||||
| void* juce_createStandardMouseCursor (MouseCursor::StandardCursorType type) throw() | |||||
| { | { | ||||
| LPCTSTR cursorName = IDC_ARROW; | LPCTSTR cursorName = IDC_ARROW; | ||||
| @@ -2834,7 +2834,7 @@ public: | |||||
| HRESULT __stdcall EnumDAdvise (IEnumSTATDATA __RPC_FAR *__RPC_FAR *) { return OLE_E_ADVISENOTSUPPORTED; } | HRESULT __stdcall EnumDAdvise (IEnumSTATDATA __RPC_FAR *__RPC_FAR *) { return OLE_E_ADVISENOTSUPPORTED; } | ||||
| }; | }; | ||||
| static HDROP createHDrop (const StringArray& fileNames) | |||||
| static HDROP JUCE_CALLTYPE createHDrop (const StringArray& fileNames) | |||||
| { | { | ||||
| int totalChars = 0; | int totalChars = 0; | ||||
| for (int i = fileNames.size(); --i >= 0;) | for (int i = fileNames.size(); --i >= 0;) | ||||
| @@ -2882,7 +2882,7 @@ static HDROP createHDrop (const StringArray& fileNames) | |||||
| return hDrop; | return hDrop; | ||||
| } | } | ||||
| static bool performDragDrop (FORMATETC* format, STGMEDIUM* medium, const DWORD whatToDo) | |||||
| static bool JUCE_CALLTYPE performDragDrop (FORMATETC* format, STGMEDIUM* medium, const DWORD whatToDo) | |||||
| { | { | ||||
| JuceDropSource* const source = new JuceDropSource(); | JuceDropSource* const source = new JuceDropSource(); | ||||
| JuceDataObject* const data = new JuceDataObject (source, format, medium, 1); | JuceDataObject* const data = new JuceDataObject (source, format, medium, 1); | ||||
| @@ -44,7 +44,7 @@ static const short channelConfigs[][2] = { JucePlugin_PreferredChannelConfigurat | |||||
| static const int numChannelConfigs = numElementsInArray (channelConfigs); | static const int numChannelConfigs = numElementsInArray (channelConfigs); | ||||
| BEGIN_JUCE_NAMESPACE | BEGIN_JUCE_NAMESPACE | ||||
| extern void juce_setCurrentExecutableFileNameFromBundleId (const String& bundleId); | |||||
| extern void juce_setCurrentExecutableFileNameFromBundleId (const String& bundleId) throw(); | |||||
| END_JUCE_NAMESPACE | END_JUCE_NAMESPACE | ||||
| @@ -83,6 +83,7 @@ | |||||
| AdditionalLibraryDirectories="../../../juce/bin" | AdditionalLibraryDirectories="../../../juce/bin" | ||||
| ProgramDatabaseFile=".\Release/jucer.pdb" | ProgramDatabaseFile=".\Release/jucer.pdb" | ||||
| SubSystem="2" | SubSystem="2" | ||||
| EnableCOMDATFolding="2" | |||||
| OptimizeForWindows98="1" | OptimizeForWindows98="1" | ||||
| TargetMachine="1" | TargetMachine="1" | ||||
| /> | /> | ||||
| @@ -52,8 +52,8 @@ BEGIN_JUCE_NAMESPACE | |||||
| #include "../../juce_core/threads/juce_Process.h" | #include "../../juce_core/threads/juce_Process.h" | ||||
| #include "../../juce_core/threads/juce_InterProcessLock.h" | #include "../../juce_core/threads/juce_InterProcessLock.h" | ||||
| void juce_setCurrentExecutableFileName (const String& filename); | |||||
| void juce_setCurrentThreadName (const String& name); | |||||
| void juce_setCurrentExecutableFileName (const String& filename) throw(); | |||||
| void juce_setCurrentThreadName (const String& name) throw(); | |||||
| static JUCEApplication* appInstance = 0; | static JUCEApplication* appInstance = 0; | ||||
| @@ -302,7 +302,7 @@ int JUCEApplication::main (int argc, char* argv[], | |||||
| static bool juceInitialisedGUI = false; | static bool juceInitialisedGUI = false; | ||||
| void JUCE_API initialiseJuce_GUI() | |||||
| void JUCE_PUBLIC_FUNCTION initialiseJuce_GUI() | |||||
| { | { | ||||
| if (! juceInitialisedGUI) | if (! juceInitialisedGUI) | ||||
| { | { | ||||
| @@ -335,7 +335,7 @@ void JUCE_API initialiseJuce_GUI() | |||||
| } | } | ||||
| } | } | ||||
| void JUCE_API shutdownJuce_GUI() | |||||
| void JUCE_PUBLIC_FUNCTION shutdownJuce_GUI() | |||||
| { | { | ||||
| if (juceInitialisedGUI) | if (juceInitialisedGUI) | ||||
| { | { | ||||
| @@ -37,7 +37,7 @@ BEGIN_JUCE_NAMESPACE | |||||
| //============================================================================== | //============================================================================== | ||||
| MessageListener::MessageListener() throw() | |||||
| JUCE_CALLTYPE MessageListener::MessageListener() throw() | |||||
| { | { | ||||
| // are you trying to create a messagelistener before or after juce has been intialised?? | // are you trying to create a messagelistener before or after juce has been intialised?? | ||||
| jassert (MessageManager::instance != 0); | jassert (MessageManager::instance != 0); | ||||
| @@ -46,13 +46,13 @@ MessageListener::MessageListener() throw() | |||||
| MessageManager::instance->messageListeners.add (this); | MessageManager::instance->messageListeners.add (this); | ||||
| } | } | ||||
| MessageListener::~MessageListener() | |||||
| JUCE_CALLTYPE MessageListener::~MessageListener() | |||||
| { | { | ||||
| if (MessageManager::instance != 0) | if (MessageManager::instance != 0) | ||||
| MessageManager::instance->messageListeners.removeValue (this); | MessageManager::instance->messageListeners.removeValue (this); | ||||
| } | } | ||||
| void MessageListener::postMessage (Message* const message) const throw() | |||||
| void JUCE_CALLTYPE MessageListener::postMessage (Message* const message) const throw() | |||||
| { | { | ||||
| message->messageRecipient = const_cast <MessageListener*> (this); | message->messageRecipient = const_cast <MessageListener*> (this); | ||||
| @@ -62,7 +62,7 @@ void MessageListener::postMessage (Message* const message) const throw() | |||||
| MessageManager::instance->postMessageToQueue (message); | MessageManager::instance->postMessageToQueue (message); | ||||
| } | } | ||||
| bool MessageListener::isValidMessageListener() const throw() | |||||
| bool JUCE_CALLTYPE MessageListener::isValidMessageListener() const throw() | |||||
| { | { | ||||
| return (MessageManager::instance != 0) | return (MessageManager::instance != 0) | ||||
| && MessageManager::instance->messageListeners.contains (this); | && MessageManager::instance->messageListeners.contains (this); | ||||
| @@ -46,7 +46,7 @@ class JUCE_API MessageListener | |||||
| protected: | protected: | ||||
| //============================================================================== | //============================================================================== | ||||
| /** Creates a MessageListener. */ | /** Creates a MessageListener. */ | ||||
| MessageListener() throw(); | |||||
| JUCE_CALLTYPE MessageListener() throw(); | |||||
| public: | public: | ||||
| //============================================================================== | //============================================================================== | ||||
| @@ -56,7 +56,7 @@ public: | |||||
| of registered listeners, so that the isValidMessageListener() method | of registered listeners, so that the isValidMessageListener() method | ||||
| will no longer return true. | will no longer return true. | ||||
| */ | */ | ||||
| virtual ~MessageListener(); | |||||
| virtual JUCE_CALLTYPE ~MessageListener(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** This is the callback method that receives incoming messages. | /** This is the callback method that receives incoming messages. | ||||
| @@ -78,7 +78,7 @@ public: | |||||
| references to it after calling this method. | references to it after calling this method. | ||||
| @see handleMessage | @see handleMessage | ||||
| */ | */ | ||||
| void postMessage (Message* const message) const throw(); | |||||
| void JUCE_CALLTYPE postMessage (Message* const message) const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Checks whether this MessageListener has been deleted. | /** Checks whether this MessageListener has been deleted. | ||||
| @@ -92,7 +92,7 @@ public: | |||||
| exact same memory location, but I can't think of a good way of avoiding | exact same memory location, but I can't think of a good way of avoiding | ||||
| this. | this. | ||||
| */ | */ | ||||
| bool isValidMessageListener() const throw(); | |||||
| bool JUCE_CALLTYPE isValidMessageListener() const throw(); | |||||
| }; | }; | ||||
| @@ -52,7 +52,7 @@ MessageManager* MessageManager::instance = 0; | |||||
| static const int quitMessageId = 0xfffff321; | static const int quitMessageId = 0xfffff321; | ||||
| MessageManager::MessageManager() throw() | |||||
| JUCE_CALLTYPE MessageManager::MessageManager() throw() | |||||
| : broadcastListeners (0), | : broadcastListeners (0), | ||||
| quitMessagePosted (false), | quitMessagePosted (false), | ||||
| quitMessageReceived (false), | quitMessageReceived (false), | ||||
| @@ -67,7 +67,7 @@ MessageManager::MessageManager() throw() | |||||
| currentLockingThreadId = messageThreadId = Thread::getCurrentThreadId(); | currentLockingThreadId = messageThreadId = Thread::getCurrentThreadId(); | ||||
| } | } | ||||
| MessageManager::~MessageManager() throw() | |||||
| JUCE_CALLTYPE MessageManager::~MessageManager() throw() | |||||
| { | { | ||||
| jassert (instance == this); | jassert (instance == this); | ||||
| instance = 0; | instance = 0; | ||||
| @@ -76,7 +76,7 @@ MessageManager::~MessageManager() throw() | |||||
| doPlatformSpecificShutdown(); | doPlatformSpecificShutdown(); | ||||
| } | } | ||||
| MessageManager* MessageManager::getInstance() throw() | |||||
| MessageManager* JUCE_CALLTYPE MessageManager::getInstance() throw() | |||||
| { | { | ||||
| if (instance == 0) | if (instance == 0) | ||||
| { | { | ||||
| @@ -89,7 +89,7 @@ MessageManager* MessageManager::getInstance() throw() | |||||
| return instance; | return instance; | ||||
| } | } | ||||
| void MessageManager::postMessageToQueue (Message* const message) | |||||
| void JUCE_CALLTYPE MessageManager::postMessageToQueue (Message* const message) | |||||
| { | { | ||||
| if (quitMessagePosted || ! juce_postMessageToSystemQueue (message)) | if (quitMessagePosted || ! juce_postMessageToSystemQueue (message)) | ||||
| delete message; | delete message; | ||||
| @@ -97,7 +97,7 @@ void MessageManager::postMessageToQueue (Message* const message) | |||||
| //============================================================================== | //============================================================================== | ||||
| // not for public use.. | // not for public use.. | ||||
| void MessageManager::deliverMessage (void* message) | |||||
| void JUCE_CALLTYPE MessageManager::deliverMessage (void* message) | |||||
| { | { | ||||
| const MessageManagerLock lock; | const MessageManagerLock lock; | ||||
| @@ -130,8 +130,8 @@ void MessageManager::deliverMessage (void* message) | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| bool MessageManager::dispatchNextMessage (const bool returnImmediatelyIfNoMessages, | |||||
| bool* const wasAMessageDispatched) | |||||
| bool JUCE_CALLTYPE MessageManager::dispatchNextMessage (const bool returnImmediatelyIfNoMessages, | |||||
| bool* const wasAMessageDispatched) | |||||
| { | { | ||||
| if (quitMessageReceived) | if (quitMessageReceived) | ||||
| { | { | ||||
| @@ -163,7 +163,7 @@ bool MessageManager::dispatchNextMessage (const bool returnImmediatelyIfNoMessag | |||||
| return result || ! returnImmediatelyIfNoMessages; | return result || ! returnImmediatelyIfNoMessages; | ||||
| } | } | ||||
| void MessageManager::dispatchPendingMessages (int maxNumberOfMessagesToDispatch) | |||||
| void JUCE_CALLTYPE MessageManager::dispatchPendingMessages (int maxNumberOfMessagesToDispatch) | |||||
| { | { | ||||
| jassert (isThisTheMessageThread()); // must only be called by the message thread | jassert (isThisTheMessageThread()); // must only be called by the message thread | ||||
| @@ -187,7 +187,7 @@ void MessageManager::dispatchPendingMessages (int maxNumberOfMessagesToDispatch) | |||||
| } | } | ||||
| } | } | ||||
| bool MessageManager::runDispatchLoop() | |||||
| bool JUCE_CALLTYPE MessageManager::runDispatchLoop() | |||||
| { | { | ||||
| jassert (isThisTheMessageThread()); // must only be called by the message thread | jassert (isThisTheMessageThread()); // must only be called by the message thread | ||||
| @@ -199,7 +199,7 @@ bool MessageManager::runDispatchLoop() | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| void MessageManager::postQuitMessage (const bool useMaximumForce) | |||||
| void JUCE_CALLTYPE MessageManager::postQuitMessage (const bool useMaximumForce) | |||||
| { | { | ||||
| if (! quitMessagePosted) | if (! quitMessagePosted) | ||||
| { | { | ||||
| @@ -213,13 +213,13 @@ void MessageManager::postQuitMessage (const bool useMaximumForce) | |||||
| } | } | ||||
| } | } | ||||
| bool MessageManager::hasQuitMessageBeenPosted() const | |||||
| bool JUCE_CALLTYPE MessageManager::hasQuitMessageBeenPosted() const | |||||
| { | { | ||||
| return quitMessagePosted; | return quitMessagePosted; | ||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| void MessageManager::deliverBroadcastMessage (const String& value) | |||||
| void JUCE_CALLTYPE MessageManager::deliverBroadcastMessage (const String& value) | |||||
| { | { | ||||
| if (broadcastListeners == 0) | if (broadcastListeners == 0) | ||||
| broadcastListeners = new ActionListenerList(); | broadcastListeners = new ActionListenerList(); | ||||
| @@ -227,7 +227,7 @@ void MessageManager::deliverBroadcastMessage (const String& value) | |||||
| broadcastListeners->sendActionMessage (value); | broadcastListeners->sendActionMessage (value); | ||||
| } | } | ||||
| void MessageManager::registerBroadcastListener (ActionListener* listener) | |||||
| void JUCE_CALLTYPE MessageManager::registerBroadcastListener (ActionListener* listener) | |||||
| { | { | ||||
| if (broadcastListeners == 0) | if (broadcastListeners == 0) | ||||
| broadcastListeners = new ActionListenerList(); | broadcastListeners = new ActionListenerList(); | ||||
| @@ -235,7 +235,7 @@ void MessageManager::registerBroadcastListener (ActionListener* listener) | |||||
| broadcastListeners->addActionListener (listener); | broadcastListeners->addActionListener (listener); | ||||
| } | } | ||||
| void MessageManager::deregisterBroadcastListener (ActionListener* listener) | |||||
| void JUCE_CALLTYPE MessageManager::deregisterBroadcastListener (ActionListener* listener) | |||||
| { | { | ||||
| if (broadcastListeners == 0) | if (broadcastListeners == 0) | ||||
| broadcastListeners = new ActionListenerList(); | broadcastListeners = new ActionListenerList(); | ||||
| @@ -246,13 +246,13 @@ void MessageManager::deregisterBroadcastListener (ActionListener* listener) | |||||
| //============================================================================== | //============================================================================== | ||||
| // This gets called occasionally by the timer thread (to save using an extra thread | // This gets called occasionally by the timer thread (to save using an extra thread | ||||
| // for it). | // for it). | ||||
| void MessageManager::inactivityCheckCallback() | |||||
| void JUCE_CALLTYPE MessageManager::inactivityCheckCallback() | |||||
| { | { | ||||
| if (instance != 0) | if (instance != 0) | ||||
| instance->inactivityCheckCallbackInt(); | instance->inactivityCheckCallbackInt(); | ||||
| } | } | ||||
| void MessageManager::inactivityCheckCallbackInt() | |||||
| void JUCE_CALLTYPE MessageManager::inactivityCheckCallbackInt() | |||||
| { | { | ||||
| const unsigned int now = Time::getApproximateMillisecondCounter(); | const unsigned int now = Time::getApproximateMillisecondCounter(); | ||||
| @@ -277,7 +277,7 @@ void MessageManager::inactivityCheckCallbackInt() | |||||
| } | } | ||||
| } | } | ||||
| void MessageManager::delayWaitCursor() | |||||
| void JUCE_CALLTYPE MessageManager::delayWaitCursor() | |||||
| { | { | ||||
| if (instance != 0) | if (instance != 0) | ||||
| { | { | ||||
| @@ -291,7 +291,7 @@ void MessageManager::delayWaitCursor() | |||||
| } | } | ||||
| } | } | ||||
| void MessageManager::setTimeBeforeShowingWaitCursor (const int millisecs) | |||||
| void JUCE_CALLTYPE MessageManager::setTimeBeforeShowingWaitCursor (const int millisecs) | |||||
| { | { | ||||
| // if this is a bit too small you'll get a lot of unwanted hourglass cursors.. | // if this is a bit too small you'll get a lot of unwanted hourglass cursors.. | ||||
| jassert (millisecs <= 0 || millisecs > 200); | jassert (millisecs <= 0 || millisecs > 200); | ||||
| @@ -311,28 +311,28 @@ void MessageManager::timerCallback() | |||||
| ++messageCounter; | ++messageCounter; | ||||
| } | } | ||||
| int MessageManager::getTimeBeforeShowingWaitCursor() const | |||||
| int JUCE_CALLTYPE MessageManager::getTimeBeforeShowingWaitCursor() const | |||||
| { | { | ||||
| return timeBeforeWaitCursor; | return timeBeforeWaitCursor; | ||||
| } | } | ||||
| bool MessageManager::isThisTheMessageThread() const | |||||
| bool JUCE_CALLTYPE MessageManager::isThisTheMessageThread() const | |||||
| { | { | ||||
| return Thread::getCurrentThreadId() == messageThreadId; | return Thread::getCurrentThreadId() == messageThreadId; | ||||
| } | } | ||||
| void MessageManager::setCurrentMessageThread (const int threadId) | |||||
| void JUCE_CALLTYPE MessageManager::setCurrentMessageThread (const int threadId) | |||||
| { | { | ||||
| messageThreadId = threadId; | messageThreadId = threadId; | ||||
| } | } | ||||
| bool MessageManager::currentThreadHasLockedMessageManager() const | |||||
| bool JUCE_CALLTYPE MessageManager::currentThreadHasLockedMessageManager() const | |||||
| { | { | ||||
| return Thread::getCurrentThreadId() == currentLockingThreadId; | return Thread::getCurrentThreadId() == currentLockingThreadId; | ||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| MessageManagerLock::MessageManagerLock() | |||||
| JUCE_CALLTYPE MessageManagerLock::MessageManagerLock() | |||||
| { | { | ||||
| if (MessageManager::instance != 0) | if (MessageManager::instance != 0) | ||||
| { | { | ||||
| @@ -342,7 +342,7 @@ MessageManagerLock::MessageManagerLock() | |||||
| } | } | ||||
| } | } | ||||
| MessageManagerLock::~MessageManagerLock() | |||||
| JUCE_CALLTYPE MessageManagerLock::~MessageManagerLock() | |||||
| { | { | ||||
| if (MessageManager::instance != 0) | if (MessageManager::instance != 0) | ||||
| { | { | ||||
| @@ -56,7 +56,7 @@ class JUCE_API MessageManager : private DeletedAtShutdown, | |||||
| public: | public: | ||||
| //============================================================================== | //============================================================================== | ||||
| /** Returns the global instance of the MessageManager. */ | /** Returns the global instance of the MessageManager. */ | ||||
| static MessageManager* getInstance() throw(); | |||||
| static MessageManager* JUCE_CALLTYPE getInstance() throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Synchronously dispatches up to a certain number of messages from the queue. | /** Synchronously dispatches up to a certain number of messages from the queue. | ||||
| @@ -64,7 +64,7 @@ public: | |||||
| This will return when the queue becomes empty, or when the given number of | This will return when the queue becomes empty, or when the given number of | ||||
| messages has been sent. | messages has been sent. | ||||
| */ | */ | ||||
| void dispatchPendingMessages (int maxNumberOfMessagesToDispatch = 1000); | |||||
| void JUCE_CALLTYPE dispatchPendingMessages (int maxNumberOfMessagesToDispatch = 1000); | |||||
| /** Synchronously sends the next pending message. | /** Synchronously sends the next pending message. | ||||
| @@ -79,8 +79,8 @@ public: | |||||
| @returns false if the thing that's calling it should stop calling - i.e. if the | @returns false if the thing that's calling it should stop calling - i.e. if the | ||||
| app is trying to quit. | app is trying to quit. | ||||
| */ | */ | ||||
| bool dispatchNextMessage (const bool returnImmediatelyIfNoMessages = false, | |||||
| bool* const wasAMessageDispatched = 0); | |||||
| bool JUCE_CALLTYPE dispatchNextMessage (const bool returnImmediatelyIfNoMessages = false, | |||||
| bool* const wasAMessageDispatched = 0); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Calls a function using the message-thread. | /** Calls a function using the message-thread. | ||||
| @@ -101,25 +101,25 @@ public: | |||||
| @returns the value that the callback function returns. | @returns the value that the callback function returns. | ||||
| @see MessageManagerLock | @see MessageManagerLock | ||||
| */ | */ | ||||
| void* callFunctionOnMessageThread (MessageCallbackFunction* callback, | |||||
| void* userData); | |||||
| void* JUCE_CALLTYPE callFunctionOnMessageThread (MessageCallbackFunction* callback, | |||||
| void* userData); | |||||
| /** Returns true if the caller-thread is the message thread. */ | /** Returns true if the caller-thread is the message thread. */ | ||||
| bool isThisTheMessageThread() const; | |||||
| bool JUCE_CALLTYPE isThisTheMessageThread() const; | |||||
| /** Called to tell the manager which thread is the one that's running the dispatch loop. | /** Called to tell the manager which thread is the one that's running the dispatch loop. | ||||
| (Best to ignore this method unless you really know what you're doing..) | (Best to ignore this method unless you really know what you're doing..) | ||||
| @see getCurrentMessageThread | @see getCurrentMessageThread | ||||
| */ | */ | ||||
| void setCurrentMessageThread (const int threadId); | |||||
| void JUCE_CALLTYPE setCurrentMessageThread (const int threadId); | |||||
| /** Returns the ID of the current message thread, as set by setCurrentMessageThread(). | /** Returns the ID of the current message thread, as set by setCurrentMessageThread(). | ||||
| (Best to ignore this method unless you really know what you're doing..) | (Best to ignore this method unless you really know what you're doing..) | ||||
| @see setCurrentMessageThread | @see setCurrentMessageThread | ||||
| */ | */ | ||||
| int getCurrentMessageThread() const throw() { return messageThreadId; } | |||||
| int JUCE_CALLTYPE getCurrentMessageThread() const throw() { return messageThreadId; } | |||||
| /** Returns true if the caller thread has currenltly got the message manager locked. | /** Returns true if the caller thread has currenltly got the message manager locked. | ||||
| @@ -128,7 +128,7 @@ public: | |||||
| This will be true if the caller is the message thread, because that automatically | This will be true if the caller is the message thread, because that automatically | ||||
| gains a lock while a message is being dispatched. | gains a lock while a message is being dispatched. | ||||
| */ | */ | ||||
| bool currentThreadHasLockedMessageManager() const; | |||||
| bool JUCE_CALLTYPE currentThreadHasLockedMessageManager() const; | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Sends a message to all other JUCE applications that are running. | /** Sends a message to all other JUCE applications that are running. | ||||
| @@ -137,7 +137,7 @@ public: | |||||
| method of the broadcast listeners in the other app. | method of the broadcast listeners in the other app. | ||||
| @see registerBroadcastListener, ActionListener | @see registerBroadcastListener, ActionListener | ||||
| */ | */ | ||||
| static void broadcastMessage (const String& messageText); | |||||
| static void JUCE_CALLTYPE broadcastMessage (const String& messageText); | |||||
| /** Registers a listener to get told about broadcast messages. | /** Registers a listener to get told about broadcast messages. | ||||
| @@ -146,10 +146,10 @@ public: | |||||
| @see broadcastMessage | @see broadcastMessage | ||||
| */ | */ | ||||
| void registerBroadcastListener (ActionListener* listener); | |||||
| void JUCE_CALLTYPE registerBroadcastListener (ActionListener* listener); | |||||
| /** Deregisters a broadcast listener. */ | /** Deregisters a broadcast listener. */ | ||||
| void deregisterBroadcastListener (ActionListener* listener); | |||||
| void JUCE_CALLTYPE deregisterBroadcastListener (ActionListener* listener); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Sets a time-limit for the app to be 'busy' before an hourglass cursor will be shown. | /** Sets a time-limit for the app to be 'busy' before an hourglass cursor will be shown. | ||||
| @@ -159,30 +159,30 @@ public: | |||||
| Mac the system might still decide to show it after a while). | Mac the system might still decide to show it after a while). | ||||
| @see MouseCursor::showWaitCursor | @see MouseCursor::showWaitCursor | ||||
| */ | */ | ||||
| void setTimeBeforeShowingWaitCursor (const int millisecs); | |||||
| void JUCE_CALLTYPE setTimeBeforeShowingWaitCursor (const int millisecs); | |||||
| /** Returns the time-out before the 'busy' cursor is shown when the app is busy. | /** Returns the time-out before the 'busy' cursor is shown when the app is busy. | ||||
| @see setTimeBeforeShowingWaitCursor, MouseCursor::showWaitCursor | @see setTimeBeforeShowingWaitCursor, MouseCursor::showWaitCursor | ||||
| */ | */ | ||||
| int getTimeBeforeShowingWaitCursor() const; | |||||
| int JUCE_CALLTYPE getTimeBeforeShowingWaitCursor() const; | |||||
| /** Tells the message manager that the system isn't locked-up, even if the message | /** Tells the message manager that the system isn't locked-up, even if the message | ||||
| loop isn't active. | loop isn't active. | ||||
| Used internally, this is handy when an OS enters its own modal loop. | Used internally, this is handy when an OS enters its own modal loop. | ||||
| */ | */ | ||||
| static void delayWaitCursor(); | |||||
| static void JUCE_CALLTYPE delayWaitCursor(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Returns true if JUCEApplication::quit() has been called. */ | /** Returns true if JUCEApplication::quit() has been called. */ | ||||
| bool hasQuitMessageBeenPosted() const; | |||||
| bool JUCE_CALLTYPE hasQuitMessageBeenPosted() const; | |||||
| //============================================================================== | //============================================================================== | ||||
| /** @internal */ | /** @internal */ | ||||
| void deliverMessage (void*); | |||||
| void JUCE_CALLTYPE deliverMessage (void*); | |||||
| /** @internal */ | /** @internal */ | ||||
| void deliverBroadcastMessage (const String&); | |||||
| void JUCE_CALLTYPE deliverBroadcastMessage (const String&); | |||||
| /** @internal */ | /** @internal */ | ||||
| void timerCallback(); | void timerCallback(); | ||||
| @@ -210,16 +210,16 @@ private: | |||||
| int volatile timeBeforeWaitCursor; | int volatile timeBeforeWaitCursor; | ||||
| unsigned int lastActivityCheckOkTime; | unsigned int lastActivityCheckOkTime; | ||||
| bool runDispatchLoop(); | |||||
| void postMessageToQueue (Message* const message); | |||||
| void postQuitMessage (const bool useMaximumForce); | |||||
| bool JUCE_CALLTYPE runDispatchLoop(); | |||||
| void JUCE_CALLTYPE postMessageToQueue (Message* const message); | |||||
| void JUCE_CALLTYPE postQuitMessage (const bool useMaximumForce); | |||||
| static void doPlatformSpecificInitialisation(); | static void doPlatformSpecificInitialisation(); | ||||
| static void doPlatformSpecificShutdown(); | static void doPlatformSpecificShutdown(); | ||||
| friend class InternalTimerThread; | friend class InternalTimerThread; | ||||
| static void inactivityCheckCallback(); | |||||
| void inactivityCheckCallbackInt(); | |||||
| static void JUCE_CALLTYPE inactivityCheckCallback(); | |||||
| void JUCE_CALLTYPE inactivityCheckCallbackInt(); | |||||
| friend class MessageManagerLock; | friend class MessageManagerLock; | ||||
| CriticalSection messageDispatchLock; | CriticalSection messageDispatchLock; | ||||
| @@ -274,14 +274,14 @@ public: | |||||
| If the current thread already has the lock, nothing will be done, so it's perfectly | If the current thread already has the lock, nothing will be done, so it's perfectly | ||||
| safe to create these locks recursively. | safe to create these locks recursively. | ||||
| */ | */ | ||||
| MessageManagerLock(); | |||||
| JUCE_CALLTYPE MessageManagerLock(); | |||||
| /** Releases the current thread's lock on the message manager. | /** Releases the current thread's lock on the message manager. | ||||
| Make sure this object is created and deleted by the same thread, | Make sure this object is created and deleted by the same thread, | ||||
| otherwise there are no guarantees what will happen! | otherwise there are no guarantees what will happen! | ||||
| */ | */ | ||||
| ~MessageManagerLock(); | |||||
| JUCE_CALLTYPE ~MessageManagerLock(); | |||||
| private: | private: | ||||
| int lastLockingThreadId; | int lastLockingThreadId; | ||||
| @@ -61,7 +61,7 @@ private: | |||||
| InternalTimerThread (const InternalTimerThread&); | InternalTimerThread (const InternalTimerThread&); | ||||
| const InternalTimerThread& operator= (const InternalTimerThread&); | const InternalTimerThread& operator= (const InternalTimerThread&); | ||||
| void addTimer (Timer* const t) throw() | |||||
| void JUCE_CALLTYPE addTimer (Timer* const t) throw() | |||||
| { | { | ||||
| #ifdef JUCE_DEBUG | #ifdef JUCE_DEBUG | ||||
| Timer* tt = firstTimer; | Timer* tt = firstTimer; | ||||
| @@ -106,7 +106,7 @@ private: | |||||
| notify(); | notify(); | ||||
| } | } | ||||
| void removeTimer (Timer* const t) throw() | |||||
| void JUCE_CALLTYPE removeTimer (Timer* const t) throw() | |||||
| { | { | ||||
| #ifdef JUCE_DEBUG | #ifdef JUCE_DEBUG | ||||
| Timer* tt = firstTimer; | Timer* tt = firstTimer; | ||||
| @@ -319,7 +319,7 @@ void juce_callAnyTimersSynchronously() | |||||
| static SortedSet <Timer*> activeTimers; | static SortedSet <Timer*> activeTimers; | ||||
| #endif | #endif | ||||
| Timer::Timer() throw() | |||||
| JUCE_CALLTYPE Timer::Timer() throw() | |||||
| : countdownMs (0), | : countdownMs (0), | ||||
| periodMs (0), | periodMs (0), | ||||
| previous (0), | previous (0), | ||||
| @@ -330,7 +330,7 @@ Timer::Timer() throw() | |||||
| #endif | #endif | ||||
| } | } | ||||
| Timer::Timer (const Timer&) throw() | |||||
| JUCE_CALLTYPE Timer::Timer (const Timer&) throw() | |||||
| : countdownMs (0), | : countdownMs (0), | ||||
| periodMs (0), | periodMs (0), | ||||
| previous (0), | previous (0), | ||||
| @@ -341,7 +341,7 @@ Timer::Timer (const Timer&) throw() | |||||
| #endif | #endif | ||||
| } | } | ||||
| Timer::~Timer() | |||||
| JUCE_CALLTYPE Timer::~Timer() | |||||
| { | { | ||||
| stopTimer(); | stopTimer(); | ||||
| @@ -350,7 +350,7 @@ Timer::~Timer() | |||||
| #endif | #endif | ||||
| } | } | ||||
| void Timer::startTimer (const int interval) throw() | |||||
| void JUCE_CALLTYPE Timer::startTimer (const int interval) throw() | |||||
| { | { | ||||
| const ScopedLock sl (InternalTimerThread::lock); | const ScopedLock sl (InternalTimerThread::lock); | ||||
| @@ -371,7 +371,7 @@ void Timer::startTimer (const int interval) throw() | |||||
| } | } | ||||
| } | } | ||||
| void Timer::stopTimer() throw() | |||||
| void JUCE_CALLTYPE Timer::stopTimer() throw() | |||||
| { | { | ||||
| const ScopedLock sl (InternalTimerThread::lock); | const ScopedLock sl (InternalTimerThread::lock); | ||||
| @@ -65,19 +65,19 @@ protected: | |||||
| When created, the timer is stopped, so use startTimer() to get it going. | When created, the timer is stopped, so use startTimer() to get it going. | ||||
| */ | */ | ||||
| Timer() throw(); | |||||
| JUCE_CALLTYPE Timer() throw(); | |||||
| /** Creates a copy of another timer. | /** Creates a copy of another timer. | ||||
| Note that this timer won't be started, even if the one you're copying | Note that this timer won't be started, even if the one you're copying | ||||
| is running. | is running. | ||||
| */ | */ | ||||
| Timer (const Timer& other) throw(); | |||||
| JUCE_CALLTYPE Timer (const Timer& other) throw(); | |||||
| public: | public: | ||||
| //============================================================================== | //============================================================================== | ||||
| /** Destructor. */ | /** Destructor. */ | ||||
| virtual ~Timer(); | |||||
| virtual JUCE_CALLTYPE ~Timer(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** The user-defined callback routine that actually gets called periodically. | /** The user-defined callback routine that actually gets called periodically. | ||||
| @@ -97,7 +97,7 @@ public: | |||||
| @param intervalInMilliseconds the interval to use (any values less than 1 will be | @param intervalInMilliseconds the interval to use (any values less than 1 will be | ||||
| rounded up to 1) | rounded up to 1) | ||||
| */ | */ | ||||
| void startTimer (const int intervalInMilliseconds) throw(); | |||||
| void JUCE_CALLTYPE startTimer (const int intervalInMilliseconds) throw(); | |||||
| /** Stops the timer. | /** Stops the timer. | ||||
| @@ -107,20 +107,20 @@ public: | |||||
| be currently executing may be allowed to finish before the method | be currently executing may be allowed to finish before the method | ||||
| returns. | returns. | ||||
| */ | */ | ||||
| void stopTimer() throw(); | |||||
| void JUCE_CALLTYPE stopTimer() throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Checks if the timer has been started. | /** Checks if the timer has been started. | ||||
| @returns true if the timer is running. | @returns true if the timer is running. | ||||
| */ | */ | ||||
| bool isTimerRunning() const throw() { return periodMs > 0; } | |||||
| bool JUCE_CALLTYPE isTimerRunning() const throw() { return periodMs > 0; } | |||||
| /** Returns the timer's interval. | /** Returns the timer's interval. | ||||
| @returns the timer's interval in milliseconds if it's running, or 0 if it's not. | @returns the timer's interval in milliseconds if it's running, or 0 if it's not. | ||||
| */ | */ | ||||
| int getTimerInterval() const throw() { return periodMs; } | |||||
| int JUCE_CALLTYPE getTimerInterval() const throw() { return periodMs; } | |||||
| //============================================================================== | //============================================================================== | ||||
| @@ -37,10 +37,10 @@ BEGIN_JUCE_NAMESPACE | |||||
| #include "../juce_Component.h" | #include "../juce_Component.h" | ||||
| #include "../../../../juce_core/threads/juce_ScopedLock.h" | #include "../../../../juce_core/threads/juce_ScopedLock.h" | ||||
| void* juce_createMouseCursorFromImage (const Image& image, int hotspotX, int hotspotY); | |||||
| void* juce_createStandardMouseCursor (MouseCursor::StandardCursorType type); | |||||
| void* juce_createMouseCursorFromImage (const Image& image, int hotspotX, int hotspotY) throw(); | |||||
| void* juce_createStandardMouseCursor (MouseCursor::StandardCursorType type) throw(); | |||||
| // isStandard set depending on which interface was used to create the cursor | // isStandard set depending on which interface was used to create the cursor | ||||
| void juce_deleteMouseCursor (void* cursorHandle, bool isStandard); | |||||
| void juce_deleteMouseCursor (void* const cursorHandle, const bool isStandard) throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| @@ -51,7 +51,7 @@ static VoidArray standardCursors (2); | |||||
| class RefCountedMouseCursor | class RefCountedMouseCursor | ||||
| { | { | ||||
| public: | public: | ||||
| RefCountedMouseCursor (MouseCursor::StandardCursorType t) | |||||
| RefCountedMouseCursor (const MouseCursor::StandardCursorType t) throw() | |||||
| : refCount (1), | : refCount (1), | ||||
| standardType (t), | standardType (t), | ||||
| isStandard (true) | isStandard (true) | ||||
| @@ -62,7 +62,7 @@ public: | |||||
| RefCountedMouseCursor (Image& image, | RefCountedMouseCursor (Image& image, | ||||
| const int hotSpotX, | const int hotSpotX, | ||||
| const int hotSpotY) | |||||
| const int hotSpotY) throw() | |||||
| : refCount (1), | : refCount (1), | ||||
| standardType (MouseCursor::NormalCursor), | standardType (MouseCursor::NormalCursor), | ||||
| isStandard (false) | isStandard (false) | ||||
| @@ -70,13 +70,13 @@ public: | |||||
| handle = juce_createMouseCursorFromImage (image, hotSpotX, hotSpotY); | handle = juce_createMouseCursorFromImage (image, hotSpotX, hotSpotY); | ||||
| } | } | ||||
| ~RefCountedMouseCursor() | |||||
| ~RefCountedMouseCursor() throw() | |||||
| { | { | ||||
| juce_deleteMouseCursor (handle, isStandard); | juce_deleteMouseCursor (handle, isStandard); | ||||
| standardCursors.removeValue (this); | standardCursors.removeValue (this); | ||||
| } | } | ||||
| void decRef() | |||||
| void decRef() throw() | |||||
| { | { | ||||
| if (--refCount == 0) | if (--refCount == 0) | ||||
| delete this; | delete this; | ||||
| @@ -92,7 +92,7 @@ public: | |||||
| return handle; | return handle; | ||||
| } | } | ||||
| static RefCountedMouseCursor* findInstance (MouseCursor::StandardCursorType type) | |||||
| static RefCountedMouseCursor* findInstance (MouseCursor::StandardCursorType type) throw() | |||||
| { | { | ||||
| const ScopedLock sl (mouseCursorLock); | const ScopedLock sl (mouseCursorLock); | ||||
| @@ -116,8 +116,10 @@ public: | |||||
| private: | private: | ||||
| void* handle; | void* handle; | ||||
| int refCount; | int refCount; | ||||
| MouseCursor::StandardCursorType standardType; | |||||
| bool isStandard; | |||||
| const MouseCursor::StandardCursorType standardType; | |||||
| const bool isStandard; | |||||
| const RefCountedMouseCursor& operator= (const RefCountedMouseCursor&); | |||||
| }; | }; | ||||
| @@ -134,7 +136,7 @@ MouseCursor::MouseCursor (const StandardCursorType type) throw() | |||||
| MouseCursor::MouseCursor (Image& image, | MouseCursor::MouseCursor (Image& image, | ||||
| const int hotSpotX, | const int hotSpotX, | ||||
| const int hotSpotY) | |||||
| const int hotSpotY) throw() | |||||
| { | { | ||||
| cursorHandle = new RefCountedMouseCursor (image, hotSpotX, hotSpotY); | cursorHandle = new RefCountedMouseCursor (image, hotSpotX, hotSpotY); | ||||
| } | } | ||||
| @@ -181,13 +183,13 @@ void* MouseCursor::getHandle() const throw() | |||||
| return cursorHandle->getHandle(); | return cursorHandle->getHandle(); | ||||
| } | } | ||||
| void MouseCursor::showWaitCursor() | |||||
| void MouseCursor::showWaitCursor() throw() | |||||
| { | { | ||||
| MouseCursor mc (MouseCursor::WaitCursor); | MouseCursor mc (MouseCursor::WaitCursor); | ||||
| mc.showInAllWindows(); | mc.showInAllWindows(); | ||||
| } | } | ||||
| void MouseCursor::hideWaitCursor() | |||||
| void MouseCursor::hideWaitCursor() throw() | |||||
| { | { | ||||
| if (Component::getComponentUnderMouse()->isValidComponent()) | if (Component::getComponentUnderMouse()->isValidComponent()) | ||||
| { | { | ||||
| @@ -96,7 +96,7 @@ public: | |||||
| */ | */ | ||||
| MouseCursor (Image& image, | MouseCursor (Image& image, | ||||
| const int hotSpotX, | const int hotSpotX, | ||||
| const int hotSpotY); | |||||
| const int hotSpotY) throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Creates a copy of another cursor object. */ | /** Creates a copy of another cursor object. */ | ||||
| @@ -135,7 +135,7 @@ public: | |||||
| @see MessageManager::setTimeBeforeShowingWaitCursor | @see MessageManager::setTimeBeforeShowingWaitCursor | ||||
| */ | */ | ||||
| static void showWaitCursor(); | |||||
| static void showWaitCursor() throw(); | |||||
| /** If showWaitCursor has been called, this will return the mouse to its | /** If showWaitCursor has been called, this will return the mouse to its | ||||
| normal state. | normal state. | ||||
| @@ -145,7 +145,7 @@ public: | |||||
| @see showWaitCursor | @see showWaitCursor | ||||
| */ | */ | ||||
| static void hideWaitCursor(); | |||||
| static void hideWaitCursor() throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| @@ -37,7 +37,7 @@ BEGIN_JUCE_NAMESPACE | |||||
| //============================================================================== | //============================================================================== | ||||
| static forcedinline uint8 floatAlphaToInt (const float alpha) | |||||
| static forcedinline uint8 JUCE_CALLTYPE floatAlphaToInt (const float alpha) | |||||
| { | { | ||||
| return (uint8) jlimit (0, 0xff, roundFloatToInt (alpha * 255.0f)); | return (uint8) jlimit (0, 0xff, roundFloatToInt (alpha * 255.0f)); | ||||
| } | } | ||||
| @@ -46,57 +46,57 @@ static const float oneOver255 = 1.0f / 255.0f; | |||||
| //============================================================================== | //============================================================================== | ||||
| Colour::Colour() throw() | |||||
| JUCE_CALLTYPE Colour::Colour() throw() | |||||
| : argb (0) | : argb (0) | ||||
| { | { | ||||
| } | } | ||||
| Colour::Colour (const Colour& other) throw() | |||||
| JUCE_CALLTYPE Colour::Colour (const Colour& other) throw() | |||||
| : argb (other.argb) | : argb (other.argb) | ||||
| { | { | ||||
| } | } | ||||
| const Colour& Colour::operator= (const Colour& other) throw() | |||||
| const Colour& JUCE_CALLTYPE Colour::operator= (const Colour& other) throw() | |||||
| { | { | ||||
| argb = other.argb; | argb = other.argb; | ||||
| return *this; | return *this; | ||||
| } | } | ||||
| bool Colour::operator== (const Colour& other) const throw() | |||||
| bool JUCE_CALLTYPE Colour::operator== (const Colour& other) const throw() | |||||
| { | { | ||||
| return argb.getARGB() == other.argb.getARGB(); | return argb.getARGB() == other.argb.getARGB(); | ||||
| } | } | ||||
| bool Colour::operator!= (const Colour& other) const throw() | |||||
| bool JUCE_CALLTYPE Colour::operator!= (const Colour& other) const throw() | |||||
| { | { | ||||
| return argb.getARGB() != other.argb.getARGB(); | return argb.getARGB() != other.argb.getARGB(); | ||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| Colour::Colour (const uint32 argb_) throw() | |||||
| JUCE_CALLTYPE Colour::Colour (const uint32 argb_) throw() | |||||
| : argb (argb_) | : argb (argb_) | ||||
| { | { | ||||
| } | } | ||||
| Colour::Colour (const uint8 red, | |||||
| const uint8 green, | |||||
| const uint8 blue) throw() | |||||
| JUCE_CALLTYPE Colour::Colour (const uint8 red, | |||||
| const uint8 green, | |||||
| const uint8 blue) throw() | |||||
| { | { | ||||
| argb.setARGB (0xff, red, green, blue); | argb.setARGB (0xff, red, green, blue); | ||||
| } | } | ||||
| Colour::Colour (const uint8 red, | |||||
| const uint8 green, | |||||
| const uint8 blue, | |||||
| const uint8 alpha) throw() | |||||
| JUCE_CALLTYPE Colour::Colour (const uint8 red, | |||||
| const uint8 green, | |||||
| const uint8 blue, | |||||
| const uint8 alpha) throw() | |||||
| { | { | ||||
| argb.setARGB (alpha, red, green, blue); | argb.setARGB (alpha, red, green, blue); | ||||
| } | } | ||||
| Colour::Colour (const uint8 red, | |||||
| const uint8 green, | |||||
| const uint8 blue, | |||||
| const float alpha) throw() | |||||
| JUCE_CALLTYPE Colour::Colour (const uint8 red, | |||||
| const uint8 green, | |||||
| const uint8 blue, | |||||
| const float alpha) throw() | |||||
| { | { | ||||
| argb.setARGB (floatAlphaToInt (alpha), red, green, blue); | argb.setARGB (floatAlphaToInt (alpha), red, green, blue); | ||||
| } | } | ||||
| @@ -168,10 +168,10 @@ static void convertHSBtoRGB (float h, const float s, float v, | |||||
| } | } | ||||
| } | } | ||||
| Colour::Colour (const float hue, | |||||
| const float saturation, | |||||
| const float brightness, | |||||
| const float alpha) throw() | |||||
| JUCE_CALLTYPE Colour::Colour (const float hue, | |||||
| const float saturation, | |||||
| const float brightness, | |||||
| const float alpha) throw() | |||||
| { | { | ||||
| uint8 r = getRed(), g = getGreen(), b = getBlue(); | uint8 r = getRed(), g = getGreen(), b = getBlue(); | ||||
| convertHSBtoRGB (hue, saturation, brightness, r, g, b); | convertHSBtoRGB (hue, saturation, brightness, r, g, b); | ||||
| @@ -179,10 +179,10 @@ Colour::Colour (const float hue, | |||||
| argb.setARGB (floatAlphaToInt (alpha), r, g, b); | argb.setARGB (floatAlphaToInt (alpha), r, g, b); | ||||
| } | } | ||||
| Colour::Colour (const float hue, | |||||
| const float saturation, | |||||
| const float brightness, | |||||
| const uint8 alpha) throw() | |||||
| JUCE_CALLTYPE Colour::Colour (const float hue, | |||||
| const float saturation, | |||||
| const float brightness, | |||||
| const uint8 alpha) throw() | |||||
| { | { | ||||
| uint8 r = getRed(), g = getGreen(), b = getBlue(); | uint8 r = getRed(), g = getGreen(), b = getBlue(); | ||||
| convertHSBtoRGB (hue, saturation, brightness, r, g, b); | convertHSBtoRGB (hue, saturation, brightness, r, g, b); | ||||
| @@ -190,51 +190,51 @@ Colour::Colour (const float hue, | |||||
| argb.setARGB (alpha, r, g, b); | argb.setARGB (alpha, r, g, b); | ||||
| } | } | ||||
| Colour::~Colour() throw() | |||||
| JUCE_CALLTYPE Colour::~Colour() throw() | |||||
| { | { | ||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| const PixelARGB Colour::getPixelARGB() const throw() | |||||
| const PixelARGB JUCE_CALLTYPE Colour::getPixelARGB() const throw() | |||||
| { | { | ||||
| PixelARGB p (argb); | PixelARGB p (argb); | ||||
| p.premultiply(); | p.premultiply(); | ||||
| return p; | return p; | ||||
| } | } | ||||
| uint32 Colour::getARGB() const throw() | |||||
| uint32 JUCE_CALLTYPE Colour::getARGB() const throw() | |||||
| { | { | ||||
| return argb.getARGB(); | return argb.getARGB(); | ||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| bool Colour::isTransparent() const throw() | |||||
| bool JUCE_CALLTYPE Colour::isTransparent() const throw() | |||||
| { | { | ||||
| return getAlpha() == 0; | return getAlpha() == 0; | ||||
| } | } | ||||
| bool Colour::isOpaque() const throw() | |||||
| bool JUCE_CALLTYPE Colour::isOpaque() const throw() | |||||
| { | { | ||||
| return getAlpha() == 0xff; | return getAlpha() == 0xff; | ||||
| } | } | ||||
| const Colour Colour::withAlpha (const uint8 newAlpha) const throw() | |||||
| const Colour JUCE_CALLTYPE Colour::withAlpha (const uint8 newAlpha) const throw() | |||||
| { | { | ||||
| return Colour (getRed(), getGreen(), getBlue(), newAlpha); | return Colour (getRed(), getGreen(), getBlue(), newAlpha); | ||||
| } | } | ||||
| const Colour Colour::withAlpha (const float newAlpha) const throw() | |||||
| const Colour JUCE_CALLTYPE Colour::withAlpha (const float newAlpha) const throw() | |||||
| { | { | ||||
| return withAlpha (floatAlphaToInt (newAlpha)); | return withAlpha (floatAlphaToInt (newAlpha)); | ||||
| } | } | ||||
| const Colour Colour::withMultipliedAlpha (const float alphaMultiplier) const throw() | |||||
| const Colour JUCE_CALLTYPE Colour::withMultipliedAlpha (const float alphaMultiplier) const throw() | |||||
| { | { | ||||
| return withAlpha ((uint8) jlimit (0, 0xff, roundFloatToInt (alphaMultiplier * getAlpha()))); | return withAlpha ((uint8) jlimit (0, 0xff, roundFloatToInt (alphaMultiplier * getAlpha()))); | ||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| const Colour Colour::overlaidWith (const Colour& src) const throw() | |||||
| const Colour JUCE_CALLTYPE Colour::overlaidWith (const Colour& src) const throw() | |||||
| { | { | ||||
| const int destAlpha = getAlpha(); | const int destAlpha = getAlpha(); | ||||
| @@ -262,28 +262,28 @@ const Colour Colour::overlaidWith (const Colour& src) const throw() | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| float Colour::getFloatRed() const throw() | |||||
| float JUCE_CALLTYPE Colour::getFloatRed() const throw() | |||||
| { | { | ||||
| return getRed() * oneOver255; | return getRed() * oneOver255; | ||||
| } | } | ||||
| float Colour::getFloatGreen() const throw() | |||||
| float JUCE_CALLTYPE Colour::getFloatGreen() const throw() | |||||
| { | { | ||||
| return getGreen() * oneOver255; | return getGreen() * oneOver255; | ||||
| } | } | ||||
| float Colour::getFloatBlue() const throw() | |||||
| float JUCE_CALLTYPE Colour::getFloatBlue() const throw() | |||||
| { | { | ||||
| return getBlue() * oneOver255; | return getBlue() * oneOver255; | ||||
| } | } | ||||
| float Colour::getFloatAlpha() const throw() | |||||
| float JUCE_CALLTYPE Colour::getFloatAlpha() const throw() | |||||
| { | { | ||||
| return getAlpha() * oneOver255; | return getAlpha() * oneOver255; | ||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| void Colour::getHSB (float& h, float& s, float& v) const throw() | |||||
| void JUCE_CALLTYPE Colour::getHSB (float& h, float& s, float& v) const throw() | |||||
| { | { | ||||
| const int r = getRed(); | const int r = getRed(); | ||||
| const int g = getGreen(); | const int g = getGreen(); | ||||
| @@ -331,14 +331,14 @@ void Colour::getHSB (float& h, float& s, float& v) const throw() | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| float Colour::getHue() const throw() | |||||
| float JUCE_CALLTYPE Colour::getHue() const throw() | |||||
| { | { | ||||
| float h, s, b; | float h, s, b; | ||||
| getHSB (h, s, b); | getHSB (h, s, b); | ||||
| return h; | return h; | ||||
| } | } | ||||
| const Colour Colour::withHue (const float hue) const throw() | |||||
| const Colour JUCE_CALLTYPE Colour::withHue (const float hue) const throw() | |||||
| { | { | ||||
| float h, s, b; | float h, s, b; | ||||
| getHSB (h, s, b); | getHSB (h, s, b); | ||||
| @@ -346,7 +346,7 @@ const Colour Colour::withHue (const float hue) const throw() | |||||
| return Colour (hue, s, b, getAlpha()); | return Colour (hue, s, b, getAlpha()); | ||||
| } | } | ||||
| const Colour Colour::withRotatedHue (const float amountToRotate) const throw() | |||||
| const Colour JUCE_CALLTYPE Colour::withRotatedHue (const float amountToRotate) const throw() | |||||
| { | { | ||||
| float h, s, b; | float h, s, b; | ||||
| getHSB (h, s, b); | getHSB (h, s, b); | ||||
| @@ -358,14 +358,14 @@ const Colour Colour::withRotatedHue (const float amountToRotate) const throw() | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| float Colour::getSaturation() const throw() | |||||
| float JUCE_CALLTYPE Colour::getSaturation() const throw() | |||||
| { | { | ||||
| float h, s, b; | float h, s, b; | ||||
| getHSB (h, s, b); | getHSB (h, s, b); | ||||
| return s; | return s; | ||||
| } | } | ||||
| const Colour Colour::withSaturation (const float saturation) const throw() | |||||
| const Colour JUCE_CALLTYPE Colour::withSaturation (const float saturation) const throw() | |||||
| { | { | ||||
| float h, s, b; | float h, s, b; | ||||
| getHSB (h, s, b); | getHSB (h, s, b); | ||||
| @@ -373,7 +373,7 @@ const Colour Colour::withSaturation (const float saturation) const throw() | |||||
| return Colour (h, saturation, b, getAlpha()); | return Colour (h, saturation, b, getAlpha()); | ||||
| } | } | ||||
| const Colour Colour::withMultipliedSaturation (const float amount) const throw() | |||||
| const Colour JUCE_CALLTYPE Colour::withMultipliedSaturation (const float amount) const throw() | |||||
| { | { | ||||
| float h, s, b; | float h, s, b; | ||||
| getHSB (h, s, b); | getHSB (h, s, b); | ||||
| @@ -382,14 +382,14 @@ const Colour Colour::withMultipliedSaturation (const float amount) const throw() | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| float Colour::getBrightness() const throw() | |||||
| float JUCE_CALLTYPE Colour::getBrightness() const throw() | |||||
| { | { | ||||
| float h, s, b; | float h, s, b; | ||||
| getHSB (h, s, b); | getHSB (h, s, b); | ||||
| return b; | return b; | ||||
| } | } | ||||
| const Colour Colour::withBrightness (const float brightness) const throw() | |||||
| const Colour JUCE_CALLTYPE Colour::withBrightness (const float brightness) const throw() | |||||
| { | { | ||||
| float h, s, b; | float h, s, b; | ||||
| getHSB (h, s, b); | getHSB (h, s, b); | ||||
| @@ -397,7 +397,7 @@ const Colour Colour::withBrightness (const float brightness) const throw() | |||||
| return Colour (h, s, brightness, getAlpha()); | return Colour (h, s, brightness, getAlpha()); | ||||
| } | } | ||||
| const Colour Colour::withMultipliedBrightness (const float amount) const throw() | |||||
| const Colour JUCE_CALLTYPE Colour::withMultipliedBrightness (const float amount) const throw() | |||||
| { | { | ||||
| float h, s, b; | float h, s, b; | ||||
| getHSB (h, s, b); | getHSB (h, s, b); | ||||
| @@ -411,7 +411,7 @@ const Colour Colour::withMultipliedBrightness (const float amount) const throw() | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| const Colour Colour::brighter (float amount) const throw() | |||||
| const Colour JUCE_CALLTYPE Colour::brighter (float amount) const throw() | |||||
| { | { | ||||
| amount = 1.0f / (1.0f + amount); | amount = 1.0f / (1.0f + amount); | ||||
| @@ -421,7 +421,7 @@ const Colour Colour::brighter (float amount) const throw() | |||||
| getAlpha()); | getAlpha()); | ||||
| } | } | ||||
| const Colour Colour::darker (float amount) const throw() | |||||
| const Colour JUCE_CALLTYPE Colour::darker (float amount) const throw() | |||||
| { | { | ||||
| amount = 1.0f / (1.0f + amount); | amount = 1.0f / (1.0f + amount); | ||||
| @@ -432,7 +432,7 @@ const Colour Colour::darker (float amount) const throw() | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| const Colour Colour::greyLevel (const float brightness) throw() | |||||
| const Colour JUCE_CALLTYPE Colour::greyLevel (const float brightness) throw() | |||||
| { | { | ||||
| const uint8 level | const uint8 level | ||||
| = (uint8) jlimit (0x00, 0xff, roundFloatToInt (brightness * 255.0f)); | = (uint8) jlimit (0x00, 0xff, roundFloatToInt (brightness * 255.0f)); | ||||
| @@ -441,15 +441,15 @@ const Colour Colour::greyLevel (const float brightness) throw() | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| const Colour Colour::contrasting (const float amount) const throw() | |||||
| const Colour JUCE_CALLTYPE Colour::contrasting (const float amount) const throw() | |||||
| { | { | ||||
| return overlaidWith ((((int) getRed() + (int) getGreen() + (int) getBlue() >= 3 * 128) | return overlaidWith ((((int) getRed() + (int) getGreen() + (int) getBlue() >= 3 * 128) | ||||
| ? Colours::black | ? Colours::black | ||||
| : Colours::white).withAlpha (amount)); | : Colours::white).withAlpha (amount)); | ||||
| } | } | ||||
| const Colour Colour::contrasting (const Colour& colour1, | |||||
| const Colour& colour2) throw() | |||||
| const Colour JUCE_CALLTYPE Colour::contrasting (const Colour& colour1, | |||||
| const Colour& colour2) throw() | |||||
| { | { | ||||
| const float b1 = colour1.getBrightness(); | const float b1 = colour1.getBrightness(); | ||||
| const float b2 = colour2.getBrightness(); | const float b2 = colour2.getBrightness(); | ||||
| @@ -474,12 +474,12 @@ const Colour Colour::contrasting (const Colour& colour1, | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| const String Colour::toString() const throw() | |||||
| const String JUCE_CALLTYPE Colour::toString() const throw() | |||||
| { | { | ||||
| return String::toHexString ((int) argb.getARGB()); | return String::toHexString ((int) argb.getARGB()); | ||||
| } | } | ||||
| const Colour Colour::fromString (const String& encodedColourString) | |||||
| const Colour JUCE_CALLTYPE Colour::fromString (const String& encodedColourString) | |||||
| { | { | ||||
| return Colour ((uint32) encodedColourString.getHexValue32()); | return Colour ((uint32) encodedColourString.getHexValue32()); | ||||
| } | } | ||||
| @@ -46,10 +46,10 @@ class JUCE_API Colour | |||||
| public: | public: | ||||
| //============================================================================== | //============================================================================== | ||||
| /** Creates a transparent black colour. */ | /** Creates a transparent black colour. */ | ||||
| Colour() throw(); | |||||
| JUCE_CALLTYPE Colour() throw(); | |||||
| /** Creates a copy of another Colour object. */ | /** Creates a copy of another Colour object. */ | ||||
| Colour (const Colour& other) throw(); | |||||
| JUCE_CALLTYPE Colour (const Colour& other) throw(); | |||||
| /** Creates a colour from a 32-bit ARGB value. | /** Creates a colour from a 32-bit ARGB value. | ||||
| @@ -61,28 +61,28 @@ public: | |||||
| @see getPixelARGB | @see getPixelARGB | ||||
| */ | */ | ||||
| explicit Colour (const uint32 argb) throw(); | |||||
| explicit JUCE_CALLTYPE Colour (const uint32 argb) throw(); | |||||
| /** Creates an opaque colour using 8-bit red, green and blue values */ | /** Creates an opaque colour using 8-bit red, green and blue values */ | ||||
| Colour (const uint8 red, | |||||
| const uint8 green, | |||||
| const uint8 blue) throw(); | |||||
| JUCE_CALLTYPE Colour (const uint8 red, | |||||
| const uint8 green, | |||||
| const uint8 blue) throw(); | |||||
| /** Creates a colour using 8-bit red, green, blue and alpha values. */ | /** Creates a colour using 8-bit red, green, blue and alpha values. */ | ||||
| Colour (const uint8 red, | |||||
| const uint8 green, | |||||
| const uint8 blue, | |||||
| const uint8 alpha) throw(); | |||||
| JUCE_CALLTYPE Colour (const uint8 red, | |||||
| const uint8 green, | |||||
| const uint8 blue, | |||||
| const uint8 alpha) throw(); | |||||
| /** Creates a colour from 8-bit red, green, and blue values, and a floating-point alpha. | /** Creates a colour from 8-bit red, green, and blue values, and a floating-point alpha. | ||||
| Alpha of 0.0 is transparent, alpha of 1.0f is opaque. | Alpha of 0.0 is transparent, alpha of 1.0f is opaque. | ||||
| Values outside the valid range will be clipped. | Values outside the valid range will be clipped. | ||||
| */ | */ | ||||
| Colour (const uint8 red, | |||||
| const uint8 green, | |||||
| const uint8 blue, | |||||
| const float alpha) throw(); | |||||
| JUCE_CALLTYPE Colour (const uint8 red, | |||||
| const uint8 green, | |||||
| const uint8 blue, | |||||
| const float alpha) throw(); | |||||
| /** Creates a colour using floating point hue, saturation and brightness values, and an 8-bit alpha. | /** Creates a colour using floating point hue, saturation and brightness values, and an 8-bit alpha. | ||||
| @@ -90,116 +90,116 @@ public: | |||||
| An alpha of 0x00 is completely transparent, alpha of 0xff is opaque. | An alpha of 0x00 is completely transparent, alpha of 0xff is opaque. | ||||
| Values outside the valid range will be clipped. | Values outside the valid range will be clipped. | ||||
| */ | */ | ||||
| Colour (const float hue, | |||||
| const float saturation, | |||||
| const float brightness, | |||||
| const uint8 alpha) throw(); | |||||
| JUCE_CALLTYPE Colour (const float hue, | |||||
| const float saturation, | |||||
| const float brightness, | |||||
| const uint8 alpha) throw(); | |||||
| /** Creates a colour using floating point hue, saturation, brightness and alpha values. | /** Creates a colour using floating point hue, saturation, brightness and alpha values. | ||||
| All values must be between 0.0 and 1.0. | All values must be between 0.0 and 1.0. | ||||
| Numbers outside the valid range will be clipped. | Numbers outside the valid range will be clipped. | ||||
| */ | */ | ||||
| Colour (const float hue, | |||||
| const float saturation, | |||||
| const float brightness, | |||||
| const float alpha) throw(); | |||||
| JUCE_CALLTYPE Colour (const float hue, | |||||
| const float saturation, | |||||
| const float brightness, | |||||
| const float alpha) throw(); | |||||
| /** Destructor. */ | /** Destructor. */ | ||||
| ~Colour() throw(); | |||||
| JUCE_CALLTYPE ~Colour() throw(); | |||||
| /** Copies another Colour object. */ | /** Copies another Colour object. */ | ||||
| const Colour& operator= (const Colour& other) throw(); | |||||
| const Colour& JUCE_CALLTYPE operator= (const Colour& other) throw(); | |||||
| /** Compares two colours. */ | /** Compares two colours. */ | ||||
| bool operator== (const Colour& other) const throw(); | |||||
| bool JUCE_CALLTYPE operator== (const Colour& other) const throw(); | |||||
| /** Compares two colours. */ | /** Compares two colours. */ | ||||
| bool operator!= (const Colour& other) const throw(); | |||||
| bool JUCE_CALLTYPE operator!= (const Colour& other) const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Returns the red component of this colour. | /** Returns the red component of this colour. | ||||
| @returns a value between 0x00 and 0xff. | @returns a value between 0x00 and 0xff. | ||||
| */ | */ | ||||
| uint8 getRed() const throw() { return argb.getRed(); } | |||||
| uint8 JUCE_CALLTYPE getRed() const throw() { return argb.getRed(); } | |||||
| /** Returns the green component of this colour. | /** Returns the green component of this colour. | ||||
| @returns a value between 0x00 and 0xff. | @returns a value between 0x00 and 0xff. | ||||
| */ | */ | ||||
| uint8 getGreen() const throw() { return argb.getGreen(); } | |||||
| uint8 JUCE_CALLTYPE getGreen() const throw() { return argb.getGreen(); } | |||||
| /** Returns the blue component of this colour. | /** Returns the blue component of this colour. | ||||
| @returns a value between 0x00 and 0xff. | @returns a value between 0x00 and 0xff. | ||||
| */ | */ | ||||
| uint8 getBlue() const throw() { return argb.getBlue(); } | |||||
| uint8 JUCE_CALLTYPE getBlue() const throw() { return argb.getBlue(); } | |||||
| /** Returns the red component of this colour as a floating point value. | /** Returns the red component of this colour as a floating point value. | ||||
| @returns a value between 0.0 and 1.0 | @returns a value between 0.0 and 1.0 | ||||
| */ | */ | ||||
| float getFloatRed() const throw(); | |||||
| float JUCE_CALLTYPE getFloatRed() const throw(); | |||||
| /** Returns the green component of this colour as a floating point value. | /** Returns the green component of this colour as a floating point value. | ||||
| @returns a value between 0.0 and 1.0 | @returns a value between 0.0 and 1.0 | ||||
| */ | */ | ||||
| float getFloatGreen() const throw(); | |||||
| float JUCE_CALLTYPE getFloatGreen() const throw(); | |||||
| /** Returns the blue component of this colour as a floating point value. | /** Returns the blue component of this colour as a floating point value. | ||||
| @returns a value between 0.0 and 1.0 | @returns a value between 0.0 and 1.0 | ||||
| */ | */ | ||||
| float getFloatBlue() const throw(); | |||||
| float JUCE_CALLTYPE getFloatBlue() const throw(); | |||||
| /** Returns a premultiplied ARGB pixel object that represents this colour. | /** Returns a premultiplied ARGB pixel object that represents this colour. | ||||
| */ | */ | ||||
| const PixelARGB getPixelARGB() const throw(); | |||||
| const PixelARGB JUCE_CALLTYPE getPixelARGB() const throw(); | |||||
| /** Returns a 32-bit integer that represents this colour. | /** Returns a 32-bit integer that represents this colour. | ||||
| The format of this number is: | The format of this number is: | ||||
| ((alpha << 24) | (red << 16) | (green << 16) | blue). | ((alpha << 24) | (red << 16) | (green << 16) | blue). | ||||
| */ | */ | ||||
| uint32 getARGB() const throw(); | |||||
| uint32 JUCE_CALLTYPE getARGB() const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Returns the colour's alpha (opacity). | /** Returns the colour's alpha (opacity). | ||||
| Alpha of 0x00 is completely transparent, 0xff is completely opaque. | Alpha of 0x00 is completely transparent, 0xff is completely opaque. | ||||
| */ | */ | ||||
| uint8 getAlpha() const throw() { return argb.getAlpha(); } | |||||
| uint8 JUCE_CALLTYPE getAlpha() const throw() { return argb.getAlpha(); } | |||||
| /** Returns the colour's alpha (opacity) as a floating point value. | /** Returns the colour's alpha (opacity) as a floating point value. | ||||
| Alpha of 0.0 is completely transparent, 1.0 is completely opaque. | Alpha of 0.0 is completely transparent, 1.0 is completely opaque. | ||||
| */ | */ | ||||
| float getFloatAlpha() const throw(); | |||||
| float JUCE_CALLTYPE getFloatAlpha() const throw(); | |||||
| /** Returns true if this colour is completely opaque. | /** Returns true if this colour is completely opaque. | ||||
| Equivalent to (getAlpha() == 0xff). | Equivalent to (getAlpha() == 0xff). | ||||
| */ | */ | ||||
| bool isOpaque() const throw(); | |||||
| bool JUCE_CALLTYPE isOpaque() const throw(); | |||||
| /** Returns true if this colour is completely transparent. | /** Returns true if this colour is completely transparent. | ||||
| Equivalent to (getAlpha() == 0x00). | Equivalent to (getAlpha() == 0x00). | ||||
| */ | */ | ||||
| bool isTransparent() const throw(); | |||||
| bool JUCE_CALLTYPE isTransparent() const throw(); | |||||
| /** Returns a colour that's the same colour as this one, but with a new alpha value. */ | /** Returns a colour that's the same colour as this one, but with a new alpha value. */ | ||||
| const Colour withAlpha (const uint8 newAlpha) const throw(); | |||||
| const Colour JUCE_CALLTYPE withAlpha (const uint8 newAlpha) const throw(); | |||||
| /** Returns a colour that's the same colour as this one, but with a new alpha value. */ | /** Returns a colour that's the same colour as this one, but with a new alpha value. */ | ||||
| const Colour withAlpha (const float newAlpha) const throw(); | |||||
| const Colour JUCE_CALLTYPE withAlpha (const float newAlpha) const throw(); | |||||
| /** Returns a colour that's the same colour as this one, but with a modified alpha value. | /** Returns a colour that's the same colour as this one, but with a modified alpha value. | ||||
| The new colour's alpha will be this object's alpha multiplied by the value passed-in. | The new colour's alpha will be this object's alpha multiplied by the value passed-in. | ||||
| */ | */ | ||||
| const Colour withMultipliedAlpha (const float alphaMultiplier) const throw(); | |||||
| const Colour JUCE_CALLTYPE withMultipliedAlpha (const float alphaMultiplier) const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Returns a colour that is the result of alpha-compositing a new colour over this one. | /** Returns a colour that is the result of alpha-compositing a new colour over this one. | ||||
| @@ -207,42 +207,42 @@ public: | |||||
| If the foreground colour is semi-transparent, it is blended onto this colour | If the foreground colour is semi-transparent, it is blended onto this colour | ||||
| accordingly. | accordingly. | ||||
| */ | */ | ||||
| const Colour overlaidWith (const Colour& foregroundColour) const throw(); | |||||
| const Colour JUCE_CALLTYPE overlaidWith (const Colour& foregroundColour) const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Returns the colour's hue component. | /** Returns the colour's hue component. | ||||
| The value returned is in the range 0.0 to 1.0 | The value returned is in the range 0.0 to 1.0 | ||||
| */ | */ | ||||
| float getHue() const throw(); | |||||
| float JUCE_CALLTYPE getHue() const throw(); | |||||
| /** Returns the colour's saturation component. | /** Returns the colour's saturation component. | ||||
| The value returned is in the range 0.0 to 1.0 | The value returned is in the range 0.0 to 1.0 | ||||
| */ | */ | ||||
| float getSaturation() const throw(); | |||||
| float JUCE_CALLTYPE getSaturation() const throw(); | |||||
| /** Returns the colour's brightness component. | /** Returns the colour's brightness component. | ||||
| The value returned is in the range 0.0 to 1.0 | The value returned is in the range 0.0 to 1.0 | ||||
| */ | */ | ||||
| float getBrightness() const throw(); | |||||
| float JUCE_CALLTYPE getBrightness() const throw(); | |||||
| /** Returns the colour's hue, saturation and brightness components all at once. | /** Returns the colour's hue, saturation and brightness components all at once. | ||||
| The values returned are in the range 0.0 to 1.0 | The values returned are in the range 0.0 to 1.0 | ||||
| */ | */ | ||||
| void getHSB (float& hue, | |||||
| float& saturation, | |||||
| float& brightness) const throw(); | |||||
| void JUCE_CALLTYPE getHSB (float& hue, | |||||
| float& saturation, | |||||
| float& brightness) const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Returns a copy of this colour with a different hue. */ | /** Returns a copy of this colour with a different hue. */ | ||||
| const Colour withHue (const float newHue) const throw(); | |||||
| const Colour JUCE_CALLTYPE withHue (const float newHue) const throw(); | |||||
| /** Returns a copy of this colour with a different saturation. */ | /** Returns a copy of this colour with a different saturation. */ | ||||
| const Colour withSaturation (const float newSaturation) const throw(); | |||||
| const Colour JUCE_CALLTYPE withSaturation (const float newSaturation) const throw(); | |||||
| /** Returns a copy of this colour with a different brightness. | /** Returns a copy of this colour with a different brightness. | ||||
| @see brighter, darker, withMultipliedBrightness | @see brighter, darker, withMultipliedBrightness | ||||
| */ | */ | ||||
| const Colour withBrightness (const float newBrightness) const throw(); | |||||
| const Colour JUCE_CALLTYPE withBrightness (const float newBrightness) const throw(); | |||||
| /** Returns a copy of this colour with it hue rotated. | /** Returns a copy of this colour with it hue rotated. | ||||
| @@ -250,21 +250,21 @@ public: | |||||
| @see brighter, darker, withMultipliedBrightness | @see brighter, darker, withMultipliedBrightness | ||||
| */ | */ | ||||
| const Colour withRotatedHue (const float amountToRotate) const throw(); | |||||
| const Colour JUCE_CALLTYPE withRotatedHue (const float amountToRotate) const throw(); | |||||
| /** Returns a copy of this colour with its saturation multiplied by the given value. | /** Returns a copy of this colour with its saturation multiplied by the given value. | ||||
| The new colour's saturation is (this->getSaturation() * multiplier) | The new colour's saturation is (this->getSaturation() * multiplier) | ||||
| (the result is clipped to legal limits). | (the result is clipped to legal limits). | ||||
| */ | */ | ||||
| const Colour withMultipliedSaturation (const float multiplier) const throw(); | |||||
| const Colour JUCE_CALLTYPE withMultipliedSaturation (const float multiplier) const throw(); | |||||
| /** Returns a copy of this colour with its brightness multiplied by the given value. | /** Returns a copy of this colour with its brightness multiplied by the given value. | ||||
| The new colour's saturation is (this->getBrightness() * multiplier) | The new colour's saturation is (this->getBrightness() * multiplier) | ||||
| (the result is clipped to legal limits). | (the result is clipped to legal limits). | ||||
| */ | */ | ||||
| const Colour withMultipliedBrightness (const float amount) const throw(); | |||||
| const Colour JUCE_CALLTYPE withMultipliedBrightness (const float amount) const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Returns a brighter version of this colour. | /** Returns a brighter version of this colour. | ||||
| @@ -273,7 +273,7 @@ public: | |||||
| unchanged, and higher values make it brighter | unchanged, and higher values make it brighter | ||||
| @see withMultipliedBrightness | @see withMultipliedBrightness | ||||
| */ | */ | ||||
| const Colour brighter (float amountBrighter = 0.4f) const throw(); | |||||
| const Colour JUCE_CALLTYPE brighter (float amountBrighter = 0.4f) const throw(); | |||||
| /** Returns a darker version of this colour. | /** Returns a darker version of this colour. | ||||
| @@ -281,7 +281,7 @@ public: | |||||
| unchanged, and higher values make it darker | unchanged, and higher values make it darker | ||||
| @see withMultipliedBrightness | @see withMultipliedBrightness | ||||
| */ | */ | ||||
| const Colour darker (float amountDarker = 0.4f) const throw(); | |||||
| const Colour JUCE_CALLTYPE darker (float amountDarker = 0.4f) const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Returns a colour that will be clearly visible against this colour. | /** Returns a colour that will be clearly visible against this colour. | ||||
| @@ -291,7 +291,7 @@ public: | |||||
| that's just a little bit lighter; Colours::black.contrasting (1.0f) will | that's just a little bit lighter; Colours::black.contrasting (1.0f) will | ||||
| return white; Colours::white.contrasting (1.0f) will return black, etc. | return white; Colours::white.contrasting (1.0f) will return black, etc. | ||||
| */ | */ | ||||
| const Colour contrasting (const float amount = 1.0f) const throw(); | |||||
| const Colour JUCE_CALLTYPE contrasting (const float amount = 1.0f) const throw(); | |||||
| /** Returns a colour that contrasts against two colours. | /** Returns a colour that contrasts against two colours. | ||||
| @@ -299,26 +299,26 @@ public: | |||||
| Handy for things like choosing a highlight colour in text editors, etc. | Handy for things like choosing a highlight colour in text editors, etc. | ||||
| */ | */ | ||||
| static const Colour contrasting (const Colour& colour1, | |||||
| const Colour& colour2) throw(); | |||||
| static const Colour JUCE_CALLTYPE contrasting (const Colour& colour1, | |||||
| const Colour& colour2) throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Returns an opaque shade of grey. | /** Returns an opaque shade of grey. | ||||
| @param brightness the level of grey to return - 0 is black, 1.0 is white | @param brightness the level of grey to return - 0 is black, 1.0 is white | ||||
| */ | */ | ||||
| static const Colour greyLevel (const float brightness) throw(); | |||||
| static const Colour JUCE_CALLTYPE greyLevel (const float brightness) throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Returns a stringified version of this colour. | /** Returns a stringified version of this colour. | ||||
| The string can be turned back into a colour using the fromString() method. | The string can be turned back into a colour using the fromString() method. | ||||
| */ | */ | ||||
| const String toString() const throw(); | |||||
| const String JUCE_CALLTYPE toString() const throw(); | |||||
| /** Reads the colour from a string that was created with toString(). | /** Reads the colour from a string that was created with toString(). | ||||
| */ | */ | ||||
| static const Colour fromString (const String& encodedColourString); | |||||
| static const Colour JUCE_CALLTYPE fromString (const String& encodedColourString); | |||||
| //============================================================================== | //============================================================================== | ||||
| juce_UseDebuggingNewOperator | juce_UseDebuggingNewOperator | ||||
| @@ -53,7 +53,7 @@ LowLevelGraphicsContext::~LowLevelGraphicsContext() | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| Graphics::Graphics (Image& imageToDrawOnto) | |||||
| JUCE_CALLTYPE Graphics::Graphics (Image& imageToDrawOnto) throw() | |||||
| : context (imageToDrawOnto.createLowLevelContext()), | : context (imageToDrawOnto.createLowLevelContext()), | ||||
| ownsContext (true), | ownsContext (true), | ||||
| state (new GraphicsState()), | state (new GraphicsState()), | ||||
| @@ -61,7 +61,7 @@ Graphics::Graphics (Image& imageToDrawOnto) | |||||
| { | { | ||||
| } | } | ||||
| Graphics::Graphics (LowLevelGraphicsContext* const internalContext) | |||||
| JUCE_CALLTYPE Graphics::Graphics (LowLevelGraphicsContext* const internalContext) throw() | |||||
| : context (internalContext), | : context (internalContext), | ||||
| ownsContext (false), | ownsContext (false), | ||||
| state (new GraphicsState()), | state (new GraphicsState()), | ||||
| @@ -69,7 +69,7 @@ Graphics::Graphics (LowLevelGraphicsContext* const internalContext) | |||||
| { | { | ||||
| } | } | ||||
| Graphics::~Graphics() throw() | |||||
| JUCE_CALLTYPE Graphics::~Graphics() throw() | |||||
| { | { | ||||
| delete state; | delete state; | ||||
| @@ -78,55 +78,55 @@ Graphics::~Graphics() throw() | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| void Graphics::resetToDefaultState() | |||||
| void JUCE_CALLTYPE Graphics::resetToDefaultState() throw() | |||||
| { | { | ||||
| setColour (Colours::black); | setColour (Colours::black); | ||||
| state->font.resetToDefaultState(); | state->font.resetToDefaultState(); | ||||
| state->quality = defaultQuality; | state->quality = defaultQuality; | ||||
| } | } | ||||
| bool Graphics::isVectorDevice() const | |||||
| bool JUCE_CALLTYPE Graphics::isVectorDevice() const throw() | |||||
| { | { | ||||
| return context->isVectorDevice(); | return context->isVectorDevice(); | ||||
| } | } | ||||
| bool Graphics::reduceClipRegion (const int x, const int y, | |||||
| const int w, const int h) | |||||
| bool JUCE_CALLTYPE Graphics::reduceClipRegion (const int x, const int y, | |||||
| const int w, const int h) throw() | |||||
| { | { | ||||
| saveStateIfPending(); | saveStateIfPending(); | ||||
| return context->reduceClipRegion (x, y, w, h); | return context->reduceClipRegion (x, y, w, h); | ||||
| } | } | ||||
| bool Graphics::reduceClipRegion (const RectangleList& clipRegion) | |||||
| bool JUCE_CALLTYPE Graphics::reduceClipRegion (const RectangleList& clipRegion) throw() | |||||
| { | { | ||||
| saveStateIfPending(); | saveStateIfPending(); | ||||
| return context->reduceClipRegion (clipRegion); | return context->reduceClipRegion (clipRegion); | ||||
| } | } | ||||
| void Graphics::excludeClipRegion (const int x, const int y, | |||||
| const int w, const int h) | |||||
| void JUCE_CALLTYPE Graphics::excludeClipRegion (const int x, const int y, | |||||
| const int w, const int h) throw() | |||||
| { | { | ||||
| saveStateIfPending(); | saveStateIfPending(); | ||||
| context->excludeClipRegion (x, y, w, h); | context->excludeClipRegion (x, y, w, h); | ||||
| } | } | ||||
| bool Graphics::isClipEmpty() const | |||||
| bool JUCE_CALLTYPE Graphics::isClipEmpty() const throw() | |||||
| { | { | ||||
| return context->isClipEmpty(); | return context->isClipEmpty(); | ||||
| } | } | ||||
| const Rectangle Graphics::getClipBounds() const | |||||
| const Rectangle JUCE_CALLTYPE Graphics::getClipBounds() const throw() | |||||
| { | { | ||||
| return context->getClipBounds(); | return context->getClipBounds(); | ||||
| } | } | ||||
| void Graphics::saveState() | |||||
| void JUCE_CALLTYPE Graphics::saveState() throw() | |||||
| { | { | ||||
| saveStateIfPending(); | saveStateIfPending(); | ||||
| saveStatePending = true; | saveStatePending = true; | ||||
| } | } | ||||
| void Graphics::restoreState() | |||||
| void JUCE_CALLTYPE Graphics::restoreState() throw() | |||||
| { | { | ||||
| if (saveStatePending) | if (saveStatePending) | ||||
| { | { | ||||
| @@ -154,7 +154,7 @@ void Graphics::restoreState() | |||||
| } | } | ||||
| } | } | ||||
| void Graphics::saveStateIfPending() | |||||
| void JUCE_CALLTYPE Graphics::saveStateIfPending() throw() | |||||
| { | { | ||||
| if (saveStatePending) | if (saveStatePending) | ||||
| { | { | ||||
| @@ -165,39 +165,39 @@ void Graphics::saveStateIfPending() | |||||
| } | } | ||||
| } | } | ||||
| void Graphics::setOrigin (const int newOriginX, | |||||
| const int newOriginY) | |||||
| void JUCE_CALLTYPE Graphics::setOrigin (const int newOriginX, | |||||
| const int newOriginY) throw() | |||||
| { | { | ||||
| saveStateIfPending(); | saveStateIfPending(); | ||||
| context->setOrigin (newOriginX, newOriginY); | context->setOrigin (newOriginX, newOriginY); | ||||
| } | } | ||||
| bool Graphics::clipRegionIntersects (const int x, const int y, | |||||
| const int w, const int h) const throw() | |||||
| bool JUCE_CALLTYPE Graphics::clipRegionIntersects (const int x, const int y, | |||||
| const int w, const int h) const throw() | |||||
| { | { | ||||
| return context->clipRegionIntersects (x, y, w, h); | return context->clipRegionIntersects (x, y, w, h); | ||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| void Graphics::setColour (const Colour& newColour) throw() | |||||
| void JUCE_CALLTYPE Graphics::setColour (const Colour& newColour) throw() | |||||
| { | { | ||||
| saveStateIfPending(); | saveStateIfPending(); | ||||
| state->colour = newColour; | state->colour = newColour; | ||||
| deleteAndZero (state->brush); | deleteAndZero (state->brush); | ||||
| } | } | ||||
| const Colour& Graphics::getCurrentColour() const throw() | |||||
| const Colour& JUCE_CALLTYPE Graphics::getCurrentColour() const throw() | |||||
| { | { | ||||
| return state->colour; | return state->colour; | ||||
| } | } | ||||
| void Graphics::setOpacity (const float newOpacity) throw() | |||||
| void JUCE_CALLTYPE Graphics::setOpacity (const float newOpacity) throw() | |||||
| { | { | ||||
| saveStateIfPending(); | saveStateIfPending(); | ||||
| state->colour = state->colour.withAlpha (newOpacity); | state->colour = state->colour.withAlpha (newOpacity); | ||||
| } | } | ||||
| void Graphics::setBrush (const Brush* const newBrush) | |||||
| void JUCE_CALLTYPE Graphics::setBrush (const Brush* const newBrush) throw() | |||||
| { | { | ||||
| saveStateIfPending(); | saveStateIfPending(); | ||||
| delete state->brush; | delete state->brush; | ||||
| @@ -209,14 +209,14 @@ void Graphics::setBrush (const Brush* const newBrush) | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| Graphics::GraphicsState::GraphicsState() | |||||
| JUCE_CALLTYPE Graphics::GraphicsState::GraphicsState() throw() | |||||
| : colour (Colours::black), | : colour (Colours::black), | ||||
| brush (0), | brush (0), | ||||
| quality (defaultQuality) | quality (defaultQuality) | ||||
| { | { | ||||
| } | } | ||||
| Graphics::GraphicsState::GraphicsState (const GraphicsState& other) | |||||
| JUCE_CALLTYPE Graphics::GraphicsState::GraphicsState (const GraphicsState& other) throw() | |||||
| : colour (other.colour), | : colour (other.colour), | ||||
| brush (other.brush != 0 ? other.brush->createCopy() : 0), | brush (other.brush != 0 ? other.brush->createCopy() : 0), | ||||
| font (other.font), | font (other.font), | ||||
| @@ -224,34 +224,34 @@ Graphics::GraphicsState::GraphicsState (const GraphicsState& other) | |||||
| { | { | ||||
| } | } | ||||
| Graphics::GraphicsState::~GraphicsState() | |||||
| JUCE_CALLTYPE Graphics::GraphicsState::~GraphicsState() throw() | |||||
| { | { | ||||
| delete brush; | delete brush; | ||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| void Graphics::setFont (const Font& newFont) throw() | |||||
| void JUCE_CALLTYPE Graphics::setFont (const Font& newFont) throw() | |||||
| { | { | ||||
| saveStateIfPending(); | saveStateIfPending(); | ||||
| state->font = newFont; | state->font = newFont; | ||||
| } | } | ||||
| void Graphics::setFont (const float newFontHeight, | |||||
| const int newFontStyleFlags) throw() | |||||
| void JUCE_CALLTYPE Graphics::setFont (const float newFontHeight, | |||||
| const int newFontStyleFlags) throw() | |||||
| { | { | ||||
| saveStateIfPending(); | saveStateIfPending(); | ||||
| state->font.setSizeAndStyle (newFontHeight, newFontStyleFlags, 1.0f, 0.0f); | state->font.setSizeAndStyle (newFontHeight, newFontStyleFlags, 1.0f, 0.0f); | ||||
| } | } | ||||
| const Font& Graphics::getCurrentFont() const | |||||
| const Font& JUCE_CALLTYPE Graphics::getCurrentFont() const throw() | |||||
| { | { | ||||
| return state->font; | return state->font; | ||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| void Graphics::drawSingleLineText (const String& text, | |||||
| const int startX, | |||||
| const int baselineY) const | |||||
| void JUCE_CALLTYPE Graphics::drawSingleLineText (const String& text, | |||||
| const int startX, | |||||
| const int baselineY) const throw() | |||||
| { | { | ||||
| if (text.isNotEmpty() | if (text.isNotEmpty() | ||||
| && startX < context->getClipBounds().getRight()) | && startX < context->getClipBounds().getRight()) | ||||
| @@ -262,8 +262,8 @@ void Graphics::drawSingleLineText (const String& text, | |||||
| } | } | ||||
| } | } | ||||
| void Graphics::drawTextAsPath (const String& text, | |||||
| const AffineTransform& transform) const | |||||
| void JUCE_CALLTYPE Graphics::drawTextAsPath (const String& text, | |||||
| const AffineTransform& transform) const throw() | |||||
| { | { | ||||
| if (text.isNotEmpty()) | if (text.isNotEmpty()) | ||||
| { | { | ||||
| @@ -273,10 +273,10 @@ void Graphics::drawTextAsPath (const String& text, | |||||
| } | } | ||||
| } | } | ||||
| void Graphics::drawMultiLineText (const String& text, | |||||
| const int startX, | |||||
| const int baselineY, | |||||
| const int maximumLineWidth) const | |||||
| void JUCE_CALLTYPE Graphics::drawMultiLineText (const String& text, | |||||
| const int startX, | |||||
| const int baselineY, | |||||
| const int maximumLineWidth) const throw() | |||||
| { | { | ||||
| if (text.isNotEmpty() | if (text.isNotEmpty() | ||||
| && startX < context->getClipBounds().getRight()) | && startX < context->getClipBounds().getRight()) | ||||
| @@ -289,13 +289,13 @@ void Graphics::drawMultiLineText (const String& text, | |||||
| } | } | ||||
| } | } | ||||
| void Graphics::drawText (const String& text, | |||||
| const int x, | |||||
| const int y, | |||||
| const int width, | |||||
| const int height, | |||||
| const Justification& justificationType, | |||||
| const bool useEllipsesIfTooBig) const | |||||
| void JUCE_CALLTYPE Graphics::drawText (const String& text, | |||||
| const int x, | |||||
| const int y, | |||||
| const int width, | |||||
| const int height, | |||||
| const Justification& justificationType, | |||||
| const bool useEllipsesIfTooBig) const throw() | |||||
| { | { | ||||
| if (text.isNotEmpty() && context->clipRegionIntersects (x, y, width, height)) | if (text.isNotEmpty() && context->clipRegionIntersects (x, y, width, height)) | ||||
| { | { | ||||
| @@ -313,14 +313,14 @@ void Graphics::drawText (const String& text, | |||||
| } | } | ||||
| } | } | ||||
| void Graphics::drawFittedText (const String& text, | |||||
| const int x, | |||||
| const int y, | |||||
| const int width, | |||||
| const int height, | |||||
| const Justification& justification, | |||||
| const int maximumNumberOfLines, | |||||
| const float minimumHorizontalScale) const | |||||
| void JUCE_CALLTYPE Graphics::drawFittedText (const String& text, | |||||
| const int x, | |||||
| const int y, | |||||
| const int width, | |||||
| const int height, | |||||
| const Justification& justification, | |||||
| const int maximumNumberOfLines, | |||||
| const float minimumHorizontalScale) const throw() | |||||
| { | { | ||||
| if (text.isNotEmpty() | if (text.isNotEmpty() | ||||
| && width > 0 && height > 0 | && width > 0 && height > 0 | ||||
| @@ -340,16 +340,16 @@ void Graphics::drawFittedText (const String& text, | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| void Graphics::fillRect (int x, | |||||
| int y, | |||||
| int width, | |||||
| int height) const | |||||
| void JUCE_CALLTYPE Graphics::fillRect (int x, | |||||
| int y, | |||||
| int width, | |||||
| int height) const throw() | |||||
| { | { | ||||
| SolidColourBrush colourBrush (state->colour); | SolidColourBrush colourBrush (state->colour); | ||||
| (state->brush != 0 ? *(state->brush) : (Brush&) colourBrush).paintRectangle (*context, x, y, width, height); | (state->brush != 0 ? *(state->brush) : (Brush&) colourBrush).paintRectangle (*context, x, y, width, height); | ||||
| } | } | ||||
| void Graphics::fillRect (const Rectangle& r) const | |||||
| void JUCE_CALLTYPE Graphics::fillRect (const Rectangle& r) const throw() | |||||
| { | { | ||||
| fillRect (r.getX(), | fillRect (r.getX(), | ||||
| r.getY(), | r.getY(), | ||||
| @@ -357,17 +357,17 @@ void Graphics::fillRect (const Rectangle& r) const | |||||
| r.getHeight()); | r.getHeight()); | ||||
| } | } | ||||
| void Graphics::fillRect (const float x, | |||||
| const float y, | |||||
| const float width, | |||||
| const float height) const | |||||
| void JUCE_CALLTYPE Graphics::fillRect (const float x, | |||||
| const float y, | |||||
| const float width, | |||||
| const float height) const throw() | |||||
| { | { | ||||
| Path p; | Path p; | ||||
| p.addRectangle (x, y, width, height); | p.addRectangle (x, y, width, height); | ||||
| fillPath (p); | fillPath (p); | ||||
| } | } | ||||
| void Graphics::setPixel (int x, int y) const | |||||
| void JUCE_CALLTYPE Graphics::setPixel (int x, int y) const throw() | |||||
| { | { | ||||
| if (context->clipRegionIntersects (x, y, 1, 1)) | if (context->clipRegionIntersects (x, y, 1, 1)) | ||||
| { | { | ||||
| @@ -376,12 +376,12 @@ void Graphics::setPixel (int x, int y) const | |||||
| } | } | ||||
| } | } | ||||
| void Graphics::fillAll() const | |||||
| void JUCE_CALLTYPE Graphics::fillAll() const throw() | |||||
| { | { | ||||
| fillRect (context->getClipBounds()); | fillRect (context->getClipBounds()); | ||||
| } | } | ||||
| void Graphics::fillAll (const Colour& colourToUse) const | |||||
| void JUCE_CALLTYPE Graphics::fillAll (const Colour& colourToUse) const throw() | |||||
| { | { | ||||
| if (! colourToUse.isTransparent()) | if (! colourToUse.isTransparent()) | ||||
| { | { | ||||
| @@ -394,8 +394,8 @@ void Graphics::fillAll (const Colour& colourToUse) const | |||||
| //============================================================================== | //============================================================================== | ||||
| void Graphics::fillPath (const Path& path, | |||||
| const AffineTransform& transform) const | |||||
| void JUCE_CALLTYPE Graphics::fillPath (const Path& path, | |||||
| const AffineTransform& transform) const throw() | |||||
| { | { | ||||
| if ((! context->isClipEmpty()) && ! path.isEmpty()) | if ((! context->isClipEmpty()) && ! path.isEmpty()) | ||||
| { | { | ||||
| @@ -404,9 +404,9 @@ void Graphics::fillPath (const Path& path, | |||||
| } | } | ||||
| } | } | ||||
| void Graphics::strokePath (const Path& path, | |||||
| const PathStrokeType& strokeType, | |||||
| const AffineTransform& transform) const | |||||
| void JUCE_CALLTYPE Graphics::strokePath (const Path& path, | |||||
| const PathStrokeType& strokeType, | |||||
| const AffineTransform& transform) const throw() | |||||
| { | { | ||||
| if (! state->colour.isTransparent()) | if (! state->colour.isTransparent()) | ||||
| { | { | ||||
| @@ -417,11 +417,11 @@ void Graphics::strokePath (const Path& path, | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| void Graphics::drawRect (const int x, | |||||
| const int y, | |||||
| const int width, | |||||
| const int height, | |||||
| const int lineThickness) const | |||||
| void JUCE_CALLTYPE Graphics::drawRect (const int x, | |||||
| const int y, | |||||
| const int width, | |||||
| const int height, | |||||
| const int lineThickness) const throw() | |||||
| { | { | ||||
| SolidColourBrush colourBrush (state->colour); | SolidColourBrush colourBrush (state->colour); | ||||
| Brush& b = (state->brush != 0 ? *(state->brush) : (Brush&) colourBrush); | Brush& b = (state->brush != 0 ? *(state->brush) : (Brush&) colourBrush); | ||||
| @@ -432,14 +432,14 @@ void Graphics::drawRect (const int x, | |||||
| b.paintRectangle (*context, x, y + height - lineThickness, width, lineThickness); | b.paintRectangle (*context, x, y + height - lineThickness, width, lineThickness); | ||||
| } | } | ||||
| void Graphics::drawBevel (const int x, | |||||
| const int y, | |||||
| const int width, | |||||
| const int height, | |||||
| const int bevelThickness, | |||||
| const Colour& topLeftColour, | |||||
| const Colour& bottomRightColour, | |||||
| const bool useGradient) const | |||||
| void JUCE_CALLTYPE Graphics::drawBevel (const int x, | |||||
| const int y, | |||||
| const int width, | |||||
| const int height, | |||||
| const int bevelThickness, | |||||
| const Colour& topLeftColour, | |||||
| const Colour& bottomRightColour, | |||||
| const bool useGradient) const throw() | |||||
| { | { | ||||
| if (clipRegionIntersects (x, y, width, height)) | if (clipRegionIntersects (x, y, width, height)) | ||||
| { | { | ||||
| @@ -460,57 +460,57 @@ void Graphics::drawBevel (const int x, | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| void Graphics::fillEllipse (const float x, | |||||
| const float y, | |||||
| const float width, | |||||
| const float height) const | |||||
| void JUCE_CALLTYPE Graphics::fillEllipse (const float x, | |||||
| const float y, | |||||
| const float width, | |||||
| const float height) const throw() | |||||
| { | { | ||||
| Path p; | Path p; | ||||
| p.addEllipse (x, y, width, height); | p.addEllipse (x, y, width, height); | ||||
| fillPath (p); | fillPath (p); | ||||
| } | } | ||||
| void Graphics::drawEllipse (const float x, | |||||
| const float y, | |||||
| const float width, | |||||
| const float height, | |||||
| const float lineThickness) const | |||||
| void JUCE_CALLTYPE Graphics::drawEllipse (const float x, | |||||
| const float y, | |||||
| const float width, | |||||
| const float height, | |||||
| const float lineThickness) const throw() | |||||
| { | { | ||||
| Path p; | Path p; | ||||
| p.addEllipse (x, y, width, height); | p.addEllipse (x, y, width, height); | ||||
| strokePath (p, PathStrokeType (lineThickness)); | strokePath (p, PathStrokeType (lineThickness)); | ||||
| } | } | ||||
| void Graphics::fillRoundedRectangle (const float x, | |||||
| const float y, | |||||
| const float width, | |||||
| const float height, | |||||
| const float cornerSize) const | |||||
| void JUCE_CALLTYPE Graphics::fillRoundedRectangle (const float x, | |||||
| const float y, | |||||
| const float width, | |||||
| const float height, | |||||
| const float cornerSize) const throw() | |||||
| { | { | ||||
| Path p; | Path p; | ||||
| p.addRoundedRectangle (x, y, width, height, cornerSize); | p.addRoundedRectangle (x, y, width, height, cornerSize); | ||||
| fillPath (p); | fillPath (p); | ||||
| } | } | ||||
| void Graphics::drawRoundedRectangle (const float x, | |||||
| const float y, | |||||
| const float width, | |||||
| const float height, | |||||
| const float cornerSize, | |||||
| const float lineThickness) const | |||||
| void JUCE_CALLTYPE Graphics::drawRoundedRectangle (const float x, | |||||
| const float y, | |||||
| const float width, | |||||
| const float height, | |||||
| const float cornerSize, | |||||
| const float lineThickness) const throw() | |||||
| { | { | ||||
| Path p; | Path p; | ||||
| p.addRoundedRectangle (x, y, width, height, cornerSize); | p.addRoundedRectangle (x, y, width, height, cornerSize); | ||||
| strokePath (p, PathStrokeType (lineThickness)); | strokePath (p, PathStrokeType (lineThickness)); | ||||
| } | } | ||||
| void Graphics::drawArrow (const float startX, | |||||
| const float startY, | |||||
| const float endX, | |||||
| const float endY, | |||||
| const float lineThickness, | |||||
| const float arrowheadWidth, | |||||
| const float arrowheadLength) const | |||||
| void JUCE_CALLTYPE Graphics::drawArrow (const float startX, | |||||
| const float startY, | |||||
| const float endX, | |||||
| const float endY, | |||||
| const float lineThickness, | |||||
| const float arrowheadWidth, | |||||
| const float arrowheadLength) const throw() | |||||
| { | { | ||||
| Path p; | Path p; | ||||
| p.addArrow (startX, startY, endX, endY, | p.addArrow (startX, startY, endX, endY, | ||||
| @@ -518,12 +518,12 @@ void Graphics::drawArrow (const float startX, | |||||
| fillPath (p); | fillPath (p); | ||||
| } | } | ||||
| void Graphics::fillCheckerBoard (int x, int y, | |||||
| int width, int height, | |||||
| const int checkWidth, | |||||
| const int checkHeight, | |||||
| const Colour& colour1, | |||||
| const Colour& colour2) const | |||||
| void JUCE_CALLTYPE Graphics::fillCheckerBoard (int x, int y, | |||||
| int width, int height, | |||||
| const int checkWidth, | |||||
| const int checkHeight, | |||||
| const Colour& colour1, | |||||
| const Colour& colour2) const throw() | |||||
| { | { | ||||
| jassert (checkWidth > 0 && checkHeight > 0); // can't be zero or less! | jassert (checkWidth > 0 && checkHeight > 0); // can't be zero or less! | ||||
| @@ -560,20 +560,20 @@ void Graphics::fillCheckerBoard (int x, int y, | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| void Graphics::drawVerticalLine (const int x, float top, float bottom) const | |||||
| void JUCE_CALLTYPE Graphics::drawVerticalLine (const int x, float top, float bottom) const throw() | |||||
| { | { | ||||
| SolidColourBrush colourBrush (state->colour); | SolidColourBrush colourBrush (state->colour); | ||||
| (state->brush != 0 ? *(state->brush) : (Brush&) colourBrush).paintVerticalLine (*context, x, top, bottom); | (state->brush != 0 ? *(state->brush) : (Brush&) colourBrush).paintVerticalLine (*context, x, top, bottom); | ||||
| } | } | ||||
| void Graphics::drawHorizontalLine (const int y, float left, float right) const | |||||
| void JUCE_CALLTYPE Graphics::drawHorizontalLine (const int y, float left, float right) const throw() | |||||
| { | { | ||||
| SolidColourBrush colourBrush (state->colour); | SolidColourBrush colourBrush (state->colour); | ||||
| (state->brush != 0 ? *(state->brush) : (Brush&) colourBrush).paintHorizontalLine (*context, y, left, right); | (state->brush != 0 ? *(state->brush) : (Brush&) colourBrush).paintHorizontalLine (*context, y, left, right); | ||||
| } | } | ||||
| void Graphics::drawLine (float x1, float y1, | |||||
| float x2, float y2) const | |||||
| void JUCE_CALLTYPE Graphics::drawLine (float x1, float y1, | |||||
| float x2, float y2) const throw() | |||||
| { | { | ||||
| if (! context->isClipEmpty()) | if (! context->isClipEmpty()) | ||||
| { | { | ||||
| @@ -582,35 +582,35 @@ void Graphics::drawLine (float x1, float y1, | |||||
| } | } | ||||
| } | } | ||||
| void Graphics::drawLine (const float startX, | |||||
| const float startY, | |||||
| const float endX, | |||||
| const float endY, | |||||
| const float lineThickness) const | |||||
| void JUCE_CALLTYPE Graphics::drawLine (const float startX, | |||||
| const float startY, | |||||
| const float endX, | |||||
| const float endY, | |||||
| const float lineThickness) const throw() | |||||
| { | { | ||||
| Path p; | Path p; | ||||
| p.addLineSegment (startX, startY, endX, endY, lineThickness); | p.addLineSegment (startX, startY, endX, endY, lineThickness); | ||||
| fillPath (p); | fillPath (p); | ||||
| } | } | ||||
| void Graphics::drawLine (const Line& line) const | |||||
| void JUCE_CALLTYPE Graphics::drawLine (const Line& line) const throw() | |||||
| { | { | ||||
| drawLine (line.getStartX(), line.getStartY(), line.getEndX(), line.getEndY()); | drawLine (line.getStartX(), line.getStartY(), line.getEndX(), line.getEndY()); | ||||
| } | } | ||||
| void Graphics::drawLine (const Line& line, | |||||
| const float lineThickness) const | |||||
| void JUCE_CALLTYPE Graphics::drawLine (const Line& line, | |||||
| const float lineThickness) const throw() | |||||
| { | { | ||||
| drawLine (line.getStartX(), line.getStartY(), line.getEndX(), line.getEndY(), lineThickness); | drawLine (line.getStartX(), line.getStartY(), line.getEndX(), line.getEndY(), lineThickness); | ||||
| } | } | ||||
| void Graphics::drawDashedLine (const float startX, | |||||
| const float startY, | |||||
| const float endX, | |||||
| const float endY, | |||||
| const float* const dashLengths, | |||||
| const int numDashLengths, | |||||
| const float lineThickness) const | |||||
| void JUCE_CALLTYPE Graphics::drawDashedLine (const float startX, | |||||
| const float startY, | |||||
| const float endX, | |||||
| const float endY, | |||||
| const float* const dashLengths, | |||||
| const int numDashLengths, | |||||
| const float lineThickness) const throw() | |||||
| { | { | ||||
| const double dx = endX - startX; | const double dx = endX - startX; | ||||
| const double dy = endY - startY; | const double dy = endY - startY; | ||||
| @@ -648,17 +648,17 @@ void Graphics::drawDashedLine (const float startX, | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| void Graphics::setImageResamplingQuality (const Graphics::ResamplingQuality newQuality) | |||||
| void JUCE_CALLTYPE Graphics::setImageResamplingQuality (const Graphics::ResamplingQuality newQuality) throw() | |||||
| { | { | ||||
| saveStateIfPending(); | saveStateIfPending(); | ||||
| state->quality = newQuality; | state->quality = newQuality; | ||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| void Graphics::drawImageAt (const Image* const imageToDraw, | |||||
| const int topLeftX, | |||||
| const int topLeftY, | |||||
| const bool fillAlphaChannelWithCurrentBrush) const | |||||
| void JUCE_CALLTYPE Graphics::drawImageAt (const Image* const imageToDraw, | |||||
| const int topLeftX, | |||||
| const int topLeftY, | |||||
| const bool fillAlphaChannelWithCurrentBrush) const throw() | |||||
| { | { | ||||
| if (imageToDraw != 0) | if (imageToDraw != 0) | ||||
| { | { | ||||
| @@ -672,13 +672,13 @@ void Graphics::drawImageAt (const Image* const imageToDraw, | |||||
| } | } | ||||
| } | } | ||||
| void Graphics::drawImageWithin (const Image* const imageToDraw, | |||||
| const int destX, | |||||
| const int destY, | |||||
| const int destW, | |||||
| const int destH, | |||||
| const RectanglePlacement& placementWithinTarget, | |||||
| const bool fillAlphaChannelWithCurrentBrush) const | |||||
| void JUCE_CALLTYPE Graphics::drawImageWithin (const Image* const imageToDraw, | |||||
| const int destX, | |||||
| const int destY, | |||||
| const int destW, | |||||
| const int destH, | |||||
| const RectanglePlacement& placementWithinTarget, | |||||
| const bool fillAlphaChannelWithCurrentBrush) const throw() | |||||
| { | { | ||||
| if (imageToDraw != 0) | if (imageToDraw != 0) | ||||
| { | { | ||||
| @@ -706,10 +706,10 @@ void Graphics::drawImageWithin (const Image* const imageToDraw, | |||||
| } | } | ||||
| } | } | ||||
| void Graphics::drawImage (const Image* const imageToDraw, | |||||
| int dx, int dy, int dw, int dh, | |||||
| int sx, int sy, int sw, int sh, | |||||
| const bool fillAlphaChannelWithCurrentBrush) const | |||||
| void JUCE_CALLTYPE Graphics::drawImage (const Image* const imageToDraw, | |||||
| int dx, int dy, int dw, int dh, | |||||
| int sx, int sy, int sw, int sh, | |||||
| const bool fillAlphaChannelWithCurrentBrush) const throw() | |||||
| { | { | ||||
| if (imageToDraw == 0 || ! context->clipRegionIntersects (dx, dy, dw, dh)) | if (imageToDraw == 0 || ! context->clipRegionIntersects (dx, dy, dw, dh)) | ||||
| return; | return; | ||||
| @@ -812,13 +812,13 @@ void Graphics::drawImage (const Image* const imageToDraw, | |||||
| } | } | ||||
| } | } | ||||
| void Graphics::drawImageTransformed (const Image* const imageToDraw, | |||||
| int sourceClipX, | |||||
| int sourceClipY, | |||||
| int sourceClipWidth, | |||||
| int sourceClipHeight, | |||||
| const AffineTransform& transform, | |||||
| const bool fillAlphaChannelWithCurrentBrush) const | |||||
| void JUCE_CALLTYPE Graphics::drawImageTransformed (const Image* const imageToDraw, | |||||
| int sourceClipX, | |||||
| int sourceClipY, | |||||
| int sourceClipWidth, | |||||
| int sourceClipHeight, | |||||
| const AffineTransform& transform, | |||||
| const bool fillAlphaChannelWithCurrentBrush) const throw() | |||||
| { | { | ||||
| if (imageToDraw != 0 | if (imageToDraw != 0 | ||||
| && (! context->isClipEmpty()) | && (! context->isClipEmpty()) | ||||
| @@ -70,10 +70,10 @@ public: | |||||
| Obviously you shouldn't delete the image before this context is deleted. | Obviously you shouldn't delete the image before this context is deleted. | ||||
| */ | */ | ||||
| Graphics (Image& imageToDrawOnto); | |||||
| JUCE_CALLTYPE Graphics (Image& imageToDrawOnto) throw(); | |||||
| /** Destructor. */ | /** Destructor. */ | ||||
| ~Graphics() throw(); | |||||
| JUCE_CALLTYPE ~Graphics() throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Changes the current drawing colour. | /** Changes the current drawing colour. | ||||
| @@ -86,7 +86,7 @@ public: | |||||
| @see setOpacity, setBrush, getColour | @see setOpacity, setBrush, getColour | ||||
| */ | */ | ||||
| void setColour (const Colour& newColour) throw(); | |||||
| void JUCE_CALLTYPE setColour (const Colour& newColour) throw(); | |||||
| /** Returns the colour that's currently being used. | /** Returns the colour that's currently being used. | ||||
| @@ -95,7 +95,7 @@ public: | |||||
| @see setColour | @see setColour | ||||
| */ | */ | ||||
| const Colour& getCurrentColour() const throw(); | |||||
| const Colour& JUCE_CALLTYPE getCurrentColour() const throw(); | |||||
| /** Changes the opacity to use with the current colour. | /** Changes the opacity to use with the current colour. | ||||
| @@ -104,7 +104,7 @@ public: | |||||
| A value of 0.0 is completely transparent, 1.0 is completely opaque. | A value of 0.0 is completely transparent, 1.0 is completely opaque. | ||||
| */ | */ | ||||
| void setOpacity (const float newOpacity) throw(); | |||||
| void JUCE_CALLTYPE setOpacity (const float newOpacity) throw(); | |||||
| /** Changes the current brush to use for drawing. | /** Changes the current brush to use for drawing. | ||||
| @@ -116,7 +116,7 @@ public: | |||||
| @see SolidColourBrush, GradientBrush, ImageBrush, Brush | @see SolidColourBrush, GradientBrush, ImageBrush, Brush | ||||
| */ | */ | ||||
| void setBrush (const Brush* const newBrush); | |||||
| void JUCE_CALLTYPE setBrush (const Brush* const newBrush) throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Changes the font to use for subsequent text-drawing functions. | /** Changes the font to use for subsequent text-drawing functions. | ||||
| @@ -126,7 +126,7 @@ public: | |||||
| @see drawSingleLineText, drawMultiLineText, drawTextAsPath, drawText, drawFittedText | @see drawSingleLineText, drawMultiLineText, drawTextAsPath, drawText, drawFittedText | ||||
| */ | */ | ||||
| void setFont (const Font& newFont) throw(); | |||||
| void JUCE_CALLTYPE setFont (const Font& newFont) throw(); | |||||
| /** Changes the size and style of the currently-selected font. | /** Changes the size and style of the currently-selected font. | ||||
| @@ -135,14 +135,14 @@ public: | |||||
| @see Font | @see Font | ||||
| */ | */ | ||||
| void setFont (const float newFontHeight, | |||||
| const int fontStyleFlags = Font::plain) throw(); | |||||
| void JUCE_CALLTYPE setFont (const float newFontHeight, | |||||
| const int fontStyleFlags = Font::plain) throw(); | |||||
| /** Returns the font that's currently being used for text operations. | /** Returns the font that's currently being used for text operations. | ||||
| @see setFont | @see setFont | ||||
| */ | */ | ||||
| const Font& getCurrentFont() const; | |||||
| const Font& JUCE_CALLTYPE getCurrentFont() const throw(); | |||||
| /** Draws a one-line text string. | /** Draws a one-line text string. | ||||
| @@ -154,9 +154,9 @@ public: | |||||
| @param baselineY the position of the text's baseline | @param baselineY the position of the text's baseline | ||||
| @see drawMultiLineText, drawText, drawFittedText, GlyphArrangement::addLineOfText | @see drawMultiLineText, drawText, drawFittedText, GlyphArrangement::addLineOfText | ||||
| */ | */ | ||||
| void drawSingleLineText (const String& text, | |||||
| const int startX, | |||||
| const int baselineY) const; | |||||
| void JUCE_CALLTYPE drawSingleLineText (const String& text, | |||||
| const int startX, | |||||
| const int baselineY) const throw(); | |||||
| /** Draws text across multiple lines. | /** Draws text across multiple lines. | ||||
| @@ -166,10 +166,10 @@ public: | |||||
| @see setFont, drawSingleLineText, drawFittedText, GlyphArrangement::addJustifiedText | @see setFont, drawSingleLineText, drawFittedText, GlyphArrangement::addJustifiedText | ||||
| */ | */ | ||||
| void drawMultiLineText (const String& text, | |||||
| const int startX, | |||||
| const int baselineY, | |||||
| const int maximumLineWidth) const; | |||||
| void JUCE_CALLTYPE drawMultiLineText (const String& text, | |||||
| const int startX, | |||||
| const int baselineY, | |||||
| const int maximumLineWidth) const throw(); | |||||
| /** Renders a string of text as a vector path. | /** Renders a string of text as a vector path. | ||||
| @@ -179,8 +179,8 @@ public: | |||||
| @see setFont | @see setFont | ||||
| */ | */ | ||||
| void drawTextAsPath (const String& text, | |||||
| const AffineTransform& transform) const; | |||||
| void JUCE_CALLTYPE drawTextAsPath (const String& text, | |||||
| const AffineTransform& transform) const throw(); | |||||
| /** Draws a line of text within a specified rectangle. | /** Draws a line of text within a specified rectangle. | ||||
| @@ -191,13 +191,13 @@ public: | |||||
| @see drawSingleLineText, drawFittedText, drawMultiLineText, GlyphArrangement::addJustifiedText | @see drawSingleLineText, drawFittedText, drawMultiLineText, GlyphArrangement::addJustifiedText | ||||
| */ | */ | ||||
| void drawText (const String& text, | |||||
| const int x, | |||||
| const int y, | |||||
| const int width, | |||||
| const int height, | |||||
| const Justification& justificationType, | |||||
| const bool useEllipsesIfTooBig) const; | |||||
| void JUCE_CALLTYPE drawText (const String& text, | |||||
| const int x, | |||||
| const int y, | |||||
| const int width, | |||||
| const int height, | |||||
| const Justification& justificationType, | |||||
| const bool useEllipsesIfTooBig) const throw(); | |||||
| /** Tries to draw a text string inside a given space. | /** Tries to draw a text string inside a given space. | ||||
| @@ -218,14 +218,14 @@ public: | |||||
| @see GlyphArrangement::addFittedText | @see GlyphArrangement::addFittedText | ||||
| */ | */ | ||||
| void drawFittedText (const String& text, | |||||
| const int x, | |||||
| const int y, | |||||
| const int width, | |||||
| const int height, | |||||
| const Justification& justificationFlags, | |||||
| const int maximumNumberOfLines, | |||||
| const float minimumHorizontalScale = 0.7f) const; | |||||
| void JUCE_CALLTYPE drawFittedText (const String& text, | |||||
| const int x, | |||||
| const int y, | |||||
| const int width, | |||||
| const int height, | |||||
| const Justification& justificationFlags, | |||||
| const int maximumNumberOfLines, | |||||
| const float minimumHorizontalScale = 0.7f) const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Fills the context's entire clip region with the current colour or brush. | /** Fills the context's entire clip region with the current colour or brush. | ||||
| @@ -233,56 +233,56 @@ public: | |||||
| (See also the fillAll (const Colour&) method which is a quick way of filling | (See also the fillAll (const Colour&) method which is a quick way of filling | ||||
| it with a given colour). | it with a given colour). | ||||
| */ | */ | ||||
| void fillAll() const; | |||||
| void JUCE_CALLTYPE fillAll() const throw(); | |||||
| /** Fills the context's entire clip region with a given colour. | /** Fills the context's entire clip region with a given colour. | ||||
| This leaves the context's current colour and brush unchanged, it just | This leaves the context's current colour and brush unchanged, it just | ||||
| uses the specified colour temporarily. | uses the specified colour temporarily. | ||||
| */ | */ | ||||
| void fillAll (const Colour& colourToUse) const; | |||||
| void JUCE_CALLTYPE fillAll (const Colour& colourToUse) const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Fills a rectangle with the current colour or brush. | /** Fills a rectangle with the current colour or brush. | ||||
| @see drawRect, fillRoundedRectangle | @see drawRect, fillRoundedRectangle | ||||
| */ | */ | ||||
| void fillRect (int x, | |||||
| int y, | |||||
| int width, | |||||
| int height) const; | |||||
| void JUCE_CALLTYPE fillRect (int x, | |||||
| int y, | |||||
| int width, | |||||
| int height) const throw(); | |||||
| /** Fills a rectangle with the current colour or brush. */ | /** Fills a rectangle with the current colour or brush. */ | ||||
| void fillRect (const Rectangle& rectangle) const; | |||||
| void JUCE_CALLTYPE fillRect (const Rectangle& rectangle) const throw(); | |||||
| /** Fills a rectangle with the current colour or brush. | /** Fills a rectangle with the current colour or brush. | ||||
| This uses sub-pixel positioning so is slower than the fillRect method which | This uses sub-pixel positioning so is slower than the fillRect method which | ||||
| takes integer co-ordinates. | takes integer co-ordinates. | ||||
| */ | */ | ||||
| void fillRect (const float x, | |||||
| const float y, | |||||
| const float width, | |||||
| const float height) const; | |||||
| void JUCE_CALLTYPE fillRect (const float x, | |||||
| const float y, | |||||
| const float width, | |||||
| const float height) const throw(); | |||||
| /** Uses the current colour or brush to fill a rectangle with rounded corners. | /** Uses the current colour or brush to fill a rectangle with rounded corners. | ||||
| @see drawRoundedRectangle, Path::addRoundedRectangle | @see drawRoundedRectangle, Path::addRoundedRectangle | ||||
| */ | */ | ||||
| void fillRoundedRectangle (const float x, | |||||
| const float y, | |||||
| const float width, | |||||
| const float height, | |||||
| const float cornerSize) const; | |||||
| void JUCE_CALLTYPE fillRoundedRectangle (const float x, | |||||
| const float y, | |||||
| const float width, | |||||
| const float height, | |||||
| const float cornerSize) const throw(); | |||||
| /** Fills a rectangle with a checkerboard pattern, alternating between two colours. | /** Fills a rectangle with a checkerboard pattern, alternating between two colours. | ||||
| */ | */ | ||||
| void fillCheckerBoard (int x, int y, | |||||
| int width, int height, | |||||
| const int checkWidth, | |||||
| const int checkHeight, | |||||
| const Colour& colour1, | |||||
| const Colour& colour2) const; | |||||
| void JUCE_CALLTYPE fillCheckerBoard (int x, int y, | |||||
| int width, int height, | |||||
| const int checkWidth, | |||||
| const int checkHeight, | |||||
| const Colour& colour1, | |||||
| const Colour& colour2) const throw(); | |||||
| /** Draws four lines to form a rectangular outline, using the current colour or brush. | /** Draws four lines to form a rectangular outline, using the current colour or brush. | ||||
| @@ -291,22 +291,22 @@ public: | |||||
| @see fillRect | @see fillRect | ||||
| */ | */ | ||||
| void drawRect (const int x, | |||||
| const int y, | |||||
| const int width, | |||||
| const int height, | |||||
| const int lineThickness = 1) const; | |||||
| void JUCE_CALLTYPE drawRect (const int x, | |||||
| const int y, | |||||
| const int width, | |||||
| const int height, | |||||
| const int lineThickness = 1) const throw(); | |||||
| /** Uses the current colour or brush to draw the outline of a rectangle with rounded corners. | /** Uses the current colour or brush to draw the outline of a rectangle with rounded corners. | ||||
| @see fillRoundedRectangle, Path::addRoundedRectangle | @see fillRoundedRectangle, Path::addRoundedRectangle | ||||
| */ | */ | ||||
| void drawRoundedRectangle (const float x, | |||||
| const float y, | |||||
| const float width, | |||||
| const float height, | |||||
| const float cornerSize, | |||||
| const float lineThickness) const; | |||||
| void JUCE_CALLTYPE drawRoundedRectangle (const float x, | |||||
| const float y, | |||||
| const float width, | |||||
| const float height, | |||||
| const float cornerSize, | |||||
| const float lineThickness) const throw(); | |||||
| /** Draws a 3D raised (or indented) bevel using two colours. | /** Draws a 3D raised (or indented) bevel using two colours. | ||||
| @@ -317,18 +317,18 @@ public: | |||||
| bevel; the bottom-right colour is used for the bottom- and right-hand | bevel; the bottom-right colour is used for the bottom- and right-hand | ||||
| edges. | edges. | ||||
| */ | */ | ||||
| void drawBevel (const int x, | |||||
| const int y, | |||||
| const int width, | |||||
| const int height, | |||||
| const int bevelThickness, | |||||
| const Colour& topLeftColour = Colours::white, | |||||
| const Colour& bottomRightColour = Colours::black, | |||||
| const bool useGradient = true) const; | |||||
| void JUCE_CALLTYPE drawBevel (const int x, | |||||
| const int y, | |||||
| const int width, | |||||
| const int height, | |||||
| const int bevelThickness, | |||||
| const Colour& topLeftColour = Colours::white, | |||||
| const Colour& bottomRightColour = Colours::black, | |||||
| const bool useGradient = true) const throw(); | |||||
| /** Draws a pixel using the current colour or brush. | /** Draws a pixel using the current colour or brush. | ||||
| */ | */ | ||||
| void setPixel (int x, int y) const; | |||||
| void JUCE_CALLTYPE setPixel (int x, int y) const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Fills an ellipse with the current colour or brush. | /** Fills an ellipse with the current colour or brush. | ||||
| @@ -337,53 +337,53 @@ public: | |||||
| @see drawEllipse, Path::addEllipse | @see drawEllipse, Path::addEllipse | ||||
| */ | */ | ||||
| void fillEllipse (const float x, | |||||
| const float y, | |||||
| const float width, | |||||
| const float height) const; | |||||
| void JUCE_CALLTYPE fillEllipse (const float x, | |||||
| const float y, | |||||
| const float width, | |||||
| const float height) const throw(); | |||||
| /** Draws an elliptical stroke using the current colour or brush. | /** Draws an elliptical stroke using the current colour or brush. | ||||
| @see fillEllipse, Path::addEllipse | @see fillEllipse, Path::addEllipse | ||||
| */ | */ | ||||
| void drawEllipse (const float x, | |||||
| const float y, | |||||
| const float width, | |||||
| const float height, | |||||
| const float lineThickness) const; | |||||
| void JUCE_CALLTYPE drawEllipse (const float x, | |||||
| const float y, | |||||
| const float width, | |||||
| const float height, | |||||
| const float lineThickness) const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Draws a line between two points. | /** Draws a line between two points. | ||||
| The line is 1 pixel wide and drawn with the current colour or brush. | The line is 1 pixel wide and drawn with the current colour or brush. | ||||
| */ | */ | ||||
| void drawLine (float startX, | |||||
| float startY, | |||||
| float endX, | |||||
| float endY) const; | |||||
| void JUCE_CALLTYPE drawLine (float startX, | |||||
| float startY, | |||||
| float endX, | |||||
| float endY) const throw(); | |||||
| /** Draws a line between two points with a given thickness. | /** Draws a line between two points with a given thickness. | ||||
| @see Path::addLineSegment | @see Path::addLineSegment | ||||
| */ | */ | ||||
| void drawLine (const float startX, | |||||
| const float startY, | |||||
| const float endX, | |||||
| const float endY, | |||||
| const float lineThickness) const; | |||||
| void JUCE_CALLTYPE drawLine (const float startX, | |||||
| const float startY, | |||||
| const float endX, | |||||
| const float endY, | |||||
| const float lineThickness) const throw(); | |||||
| /** Draws a line between two points. | /** Draws a line between two points. | ||||
| The line is 1 pixel wide and drawn with the current colour or brush. | The line is 1 pixel wide and drawn with the current colour or brush. | ||||
| */ | */ | ||||
| void drawLine (const Line& line) const; | |||||
| void JUCE_CALLTYPE drawLine (const Line& line) const throw(); | |||||
| /** Draws a line between two points with a given thickness. | /** Draws a line between two points with a given thickness. | ||||
| @see Path::addLineSegment | @see Path::addLineSegment | ||||
| */ | */ | ||||
| void drawLine (const Line& line, | |||||
| const float lineThickness) const; | |||||
| void JUCE_CALLTYPE drawLine (const Line& line, | |||||
| const float lineThickness) const throw(); | |||||
| /** Draws a dashed line using a custom set of dash-lengths. | /** Draws a dashed line using a custom set of dash-lengths. | ||||
| @@ -398,39 +398,39 @@ public: | |||||
| @param lineThickness the thickness of the line to draw | @param lineThickness the thickness of the line to draw | ||||
| @see PathStrokeType::createDashedStroke | @see PathStrokeType::createDashedStroke | ||||
| */ | */ | ||||
| void drawDashedLine (const float startX, | |||||
| const float startY, | |||||
| const float endX, | |||||
| const float endY, | |||||
| const float* const dashLengths, | |||||
| const int numDashLengths, | |||||
| const float lineThickness = 1.0f) const; | |||||
| void JUCE_CALLTYPE drawDashedLine (const float startX, | |||||
| const float startY, | |||||
| const float endX, | |||||
| const float endY, | |||||
| const float* const dashLengths, | |||||
| const int numDashLengths, | |||||
| const float lineThickness = 1.0f) const throw(); | |||||
| /** Draws a vertical line of pixels at a given x position. | /** Draws a vertical line of pixels at a given x position. | ||||
| The x position is an integer, but the top and bottom of the line can be sub-pixel | The x position is an integer, but the top and bottom of the line can be sub-pixel | ||||
| positions, and these will be anti-aliased if necessary. | positions, and these will be anti-aliased if necessary. | ||||
| */ | */ | ||||
| void drawVerticalLine (const int x, float top, float bottom) const; | |||||
| void JUCE_CALLTYPE drawVerticalLine (const int x, float top, float bottom) const throw(); | |||||
| /** Draws a horizontal line of pixels at a given y position. | /** Draws a horizontal line of pixels at a given y position. | ||||
| The y position is an integer, but the left and right ends of the line can be sub-pixel | The y position is an integer, but the left and right ends of the line can be sub-pixel | ||||
| positions, and these will be anti-aliased if necessary. | positions, and these will be anti-aliased if necessary. | ||||
| */ | */ | ||||
| void drawHorizontalLine (const int y, float left, float right) const; | |||||
| void JUCE_CALLTYPE drawHorizontalLine (const int y, float left, float right) const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Fills a path using the currently selected colour or brush. | /** Fills a path using the currently selected colour or brush. | ||||
| */ | */ | ||||
| void fillPath (const Path& path, | |||||
| const AffineTransform& transform = AffineTransform::identity) const; | |||||
| void JUCE_CALLTYPE fillPath (const Path& path, | |||||
| const AffineTransform& transform = AffineTransform::identity) const throw(); | |||||
| /** Draws a path's outline using the currently selected colour or brush. | /** Draws a path's outline using the currently selected colour or brush. | ||||
| */ | */ | ||||
| void strokePath (const Path& path, | |||||
| const PathStrokeType& strokeType, | |||||
| const AffineTransform& transform = AffineTransform::identity) const; | |||||
| void JUCE_CALLTYPE strokePath (const Path& path, | |||||
| const PathStrokeType& strokeType, | |||||
| const AffineTransform& transform = AffineTransform::identity) const throw(); | |||||
| /** Draws a line with an arrowhead. | /** Draws a line with an arrowhead. | ||||
| @@ -442,13 +442,13 @@ public: | |||||
| @param arrowheadWidth the width of the arrow head (perpendicular to the line) | @param arrowheadWidth the width of the arrow head (perpendicular to the line) | ||||
| @param arrowheadLength the length of the arrow head (along the length of the line) | @param arrowheadLength the length of the arrow head (along the length of the line) | ||||
| */ | */ | ||||
| void drawArrow (const float startX, | |||||
| const float startY, | |||||
| const float endX, | |||||
| const float endY, | |||||
| const float lineThickness, | |||||
| const float arrowheadWidth, | |||||
| const float arrowheadLength) const; | |||||
| void JUCE_CALLTYPE drawArrow (const float startX, | |||||
| const float startY, | |||||
| const float endX, | |||||
| const float endY, | |||||
| const float lineThickness, | |||||
| const float arrowheadWidth, | |||||
| const float arrowheadLength) const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| @@ -469,7 +469,7 @@ public: | |||||
| @see Graphics::drawImage, Graphics::drawImageTransformed, Graphics::drawImageWithin | @see Graphics::drawImage, Graphics::drawImageTransformed, Graphics::drawImageWithin | ||||
| */ | */ | ||||
| void setImageResamplingQuality (const ResamplingQuality newQuality); | |||||
| void JUCE_CALLTYPE setImageResamplingQuality (const ResamplingQuality newQuality) throw(); | |||||
| /** Draws an image. | /** Draws an image. | ||||
| @@ -482,10 +482,10 @@ public: | |||||
| don't want it to be drawn semi-transparently, be sure to call setOpacity (1.0f) | don't want it to be drawn semi-transparently, be sure to call setOpacity (1.0f) | ||||
| (or setColour() with an opaque colour) before drawing images. | (or setColour() with an opaque colour) before drawing images. | ||||
| */ | */ | ||||
| void drawImageAt (const Image* const imageToDraw, | |||||
| const int topLeftX, | |||||
| const int topLeftY, | |||||
| const bool fillAlphaChannelWithCurrentBrush = false) const; | |||||
| void JUCE_CALLTYPE drawImageAt (const Image* const imageToDraw, | |||||
| const int topLeftX, | |||||
| const int topLeftY, | |||||
| const bool fillAlphaChannelWithCurrentBrush = false) const throw(); | |||||
| /** Draws part of an image, rescaling it to fit in a given target region. | /** Draws part of an image, rescaling it to fit in a given target region. | ||||
| @@ -512,16 +512,16 @@ public: | |||||
| it will just fill the target with a solid rectangle) | it will just fill the target with a solid rectangle) | ||||
| @see setImageResamplingQuality, drawImageAt, drawImageWithin, fillAlphaMap | @see setImageResamplingQuality, drawImageAt, drawImageWithin, fillAlphaMap | ||||
| */ | */ | ||||
| void drawImage (const Image* const imageToDraw, | |||||
| int destX, | |||||
| int destY, | |||||
| int destWidth, | |||||
| int destHeight, | |||||
| int sourceX, | |||||
| int sourceY, | |||||
| int sourceWidth, | |||||
| int sourceHeight, | |||||
| const bool fillAlphaChannelWithCurrentBrush = false) const; | |||||
| void JUCE_CALLTYPE drawImage (const Image* const imageToDraw, | |||||
| int destX, | |||||
| int destY, | |||||
| int destWidth, | |||||
| int destHeight, | |||||
| int sourceX, | |||||
| int sourceY, | |||||
| int sourceWidth, | |||||
| int sourceHeight, | |||||
| const bool fillAlphaChannelWithCurrentBrush = false) const throw(); | |||||
| /** Draws part of an image, having applied an affine transform to it. | /** Draws part of an image, having applied an affine transform to it. | ||||
| @@ -540,13 +540,13 @@ public: | |||||
| @see setImageResamplingQuality, drawImage | @see setImageResamplingQuality, drawImage | ||||
| */ | */ | ||||
| void drawImageTransformed (const Image* const imageToDraw, | |||||
| int sourceClipX, | |||||
| int sourceClipY, | |||||
| int sourceClipWidth, | |||||
| int sourceClipHeight, | |||||
| const AffineTransform& transform, | |||||
| const bool fillAlphaChannelWithCurrentBrush) const; | |||||
| void JUCE_CALLTYPE drawImageTransformed (const Image* const imageToDraw, | |||||
| int sourceClipX, | |||||
| int sourceClipY, | |||||
| int sourceClipWidth, | |||||
| int sourceClipHeight, | |||||
| const AffineTransform& transform, | |||||
| const bool fillAlphaChannelWithCurrentBrush) const throw(); | |||||
| /** Draws an image to fit within a designated rectangle. | /** Draws an image to fit within a designated rectangle. | ||||
| @@ -569,13 +569,13 @@ public: | |||||
| similar to fillAlphaMap(), and see also drawImage() | similar to fillAlphaMap(), and see also drawImage() | ||||
| @see setImageResamplingQuality, drawImage, drawImageTransformed, drawImageAt, RectanglePlacement | @see setImageResamplingQuality, drawImage, drawImageTransformed, drawImageAt, RectanglePlacement | ||||
| */ | */ | ||||
| void drawImageWithin (const Image* const imageToDraw, | |||||
| const int destX, | |||||
| const int destY, | |||||
| const int destWidth, | |||||
| const int destHeight, | |||||
| const RectanglePlacement& placementWithinTarget, | |||||
| const bool fillAlphaChannelWithCurrentBrush) const; | |||||
| void JUCE_CALLTYPE drawImageWithin (const Image* const imageToDraw, | |||||
| const int destX, | |||||
| const int destY, | |||||
| const int destWidth, | |||||
| const int destHeight, | |||||
| const RectanglePlacement& placementWithinTarget, | |||||
| const bool fillAlphaChannelWithCurrentBrush) const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| @@ -583,7 +583,7 @@ public: | |||||
| @see getClipRegion, clipRegionIntersects | @see getClipRegion, clipRegionIntersects | ||||
| */ | */ | ||||
| const Rectangle getClipBounds() const; | |||||
| const Rectangle JUCE_CALLTYPE getClipBounds() const throw(); | |||||
| /** Checks whether a rectangle overlaps the context's clipping region. | /** Checks whether a rectangle overlaps the context's clipping region. | ||||
| @@ -591,39 +591,39 @@ public: | |||||
| method can be used to optimise a component's paint() method, by letting it | method can be used to optimise a component's paint() method, by letting it | ||||
| avoid drawing complex objects that aren't within the region being repainted. | avoid drawing complex objects that aren't within the region being repainted. | ||||
| */ | */ | ||||
| bool clipRegionIntersects (const int x, const int y, const int width, const int height) const throw(); | |||||
| bool JUCE_CALLTYPE clipRegionIntersects (const int x, const int y, const int width, const int height) const throw(); | |||||
| /** Intersects the current clipping region with another region. | /** Intersects the current clipping region with another region. | ||||
| @returns true if the resulting clipping region is non-zero in size | @returns true if the resulting clipping region is non-zero in size | ||||
| @see setOrigin, clipRegionIntersects, getClipLeft, getClipRight, getClipWidth, getClipHeight | @see setOrigin, clipRegionIntersects, getClipLeft, getClipRight, getClipWidth, getClipHeight | ||||
| */ | */ | ||||
| bool reduceClipRegion (const int x, const int y, | |||||
| const int width, const int height); | |||||
| bool JUCE_CALLTYPE reduceClipRegion (const int x, const int y, | |||||
| const int width, const int height) throw(); | |||||
| /** Intersects the current clipping region with a rectangle list region. | /** Intersects the current clipping region with a rectangle list region. | ||||
| @returns true if the resulting clipping region is non-zero in size | @returns true if the resulting clipping region is non-zero in size | ||||
| @see setOrigin, clipRegionIntersects, getClipLeft, getClipRight, getClipWidth, getClipHeight | @see setOrigin, clipRegionIntersects, getClipLeft, getClipRight, getClipWidth, getClipHeight | ||||
| */ | */ | ||||
| bool reduceClipRegion (const RectangleList& clipRegion); | |||||
| bool JUCE_CALLTYPE reduceClipRegion (const RectangleList& clipRegion) throw(); | |||||
| /** Excludes a rectangle to stop it being drawn into. */ | /** Excludes a rectangle to stop it being drawn into. */ | ||||
| void excludeClipRegion (const int x, const int y, | |||||
| const int width, const int height); | |||||
| void JUCE_CALLTYPE excludeClipRegion (const int x, const int y, | |||||
| const int width, const int height) throw(); | |||||
| /** Returns true if no drawing can be done because the clip region is zero. */ | /** Returns true if no drawing can be done because the clip region is zero. */ | ||||
| bool isClipEmpty() const; | |||||
| bool JUCE_CALLTYPE isClipEmpty() const throw(); | |||||
| /** Saves the current graphics state on an internal stack. | /** Saves the current graphics state on an internal stack. | ||||
| To restore the state, use restoreState(). | To restore the state, use restoreState(). | ||||
| */ | */ | ||||
| void saveState(); | |||||
| void JUCE_CALLTYPE saveState() throw(); | |||||
| /** Restores a graphics state that was previously saved with saveState(). | /** Restores a graphics state that was previously saved with saveState(). | ||||
| */ | */ | ||||
| void restoreState(); | |||||
| void JUCE_CALLTYPE restoreState() throw(); | |||||
| /** Moves the position of the context's origin. | /** Moves the position of the context's origin. | ||||
| @@ -635,14 +635,14 @@ public: | |||||
| @see reduceClipRegion | @see reduceClipRegion | ||||
| */ | */ | ||||
| void setOrigin (const int newOriginX, | |||||
| const int newOriginY); | |||||
| void JUCE_CALLTYPE setOrigin (const int newOriginX, | |||||
| const int newOriginY) throw(); | |||||
| /** Resets the current colour, brush, and font to default settings. */ | /** Resets the current colour, brush, and font to default settings. */ | ||||
| void resetToDefaultState(); | |||||
| void JUCE_CALLTYPE resetToDefaultState() throw(); | |||||
| /** Returns true if this context is drawing to a vector-based device, such as a printer. */ | /** Returns true if this context is drawing to a vector-based device, such as a printer. */ | ||||
| bool isVectorDevice() const; | |||||
| bool JUCE_CALLTYPE isVectorDevice() const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| juce_UseDebuggingNewOperator | juce_UseDebuggingNewOperator | ||||
| @@ -653,10 +653,10 @@ public: | |||||
| NB. The context will NOT be deleted by this object when it is deleted. | NB. The context will NOT be deleted by this object when it is deleted. | ||||
| */ | */ | ||||
| Graphics (LowLevelGraphicsContext* const internalContext); | |||||
| JUCE_CALLTYPE Graphics (LowLevelGraphicsContext* const internalContext) throw(); | |||||
| /** @internal */ | /** @internal */ | ||||
| LowLevelGraphicsContext* getInternalContext() const throw() { return context; } | |||||
| LowLevelGraphicsContext* JUCE_CALLTYPE getInternalContext() const throw() { return context; } | |||||
| private: | private: | ||||
| //============================================================================== | //============================================================================== | ||||
| @@ -665,9 +665,9 @@ private: | |||||
| struct GraphicsState | struct GraphicsState | ||||
| { | { | ||||
| GraphicsState(); | |||||
| GraphicsState (const GraphicsState&); | |||||
| ~GraphicsState(); | |||||
| JUCE_CALLTYPE GraphicsState() throw(); | |||||
| JUCE_CALLTYPE GraphicsState (const GraphicsState&) throw(); | |||||
| JUCE_CALLTYPE ~GraphicsState() throw(); | |||||
| Colour colour; | Colour colour; | ||||
| Brush* brush; | Brush* brush; | ||||
| @@ -679,7 +679,7 @@ private: | |||||
| OwnedArray <GraphicsState> stateStack; | OwnedArray <GraphicsState> stateStack; | ||||
| bool saveStatePending; | bool saveStatePending; | ||||
| void saveStateIfPending(); | |||||
| void JUCE_CALLTYPE saveStateIfPending() throw(); | |||||
| const Graphics& operator= (const Graphics& other); | const Graphics& operator= (const Graphics& other); | ||||
| Graphics (const Graphics&); | Graphics (const Graphics&); | ||||
| @@ -82,14 +82,14 @@ public: | |||||
| This can be called directly, or by using the DBG() macro in | This can be called directly, or by using the DBG() macro in | ||||
| juce_PlatformDefs.h (which will avoid calling the method in non-debug builds). | juce_PlatformDefs.h (which will avoid calling the method in non-debug builds). | ||||
| */ | */ | ||||
| static void JUCE_CALLTYPE outputDebugString (const String& text); | |||||
| static void JUCE_CALLTYPE outputDebugString (const String& text) throw(); | |||||
| /** Writes a message to the standard error stream. | /** Writes a message to the standard error stream. | ||||
| This can be called directly, or by using the DBG_PRINTF() macro in | This can be called directly, or by using the DBG_PRINTF() macro in | ||||
| juce_PlatformDefs.h (which will avoid calling the method in non-debug builds). | juce_PlatformDefs.h (which will avoid calling the method in non-debug builds). | ||||
| */ | */ | ||||
| static void JUCE_CALLTYPE outputDebugPrintf (const tchar* format, ...); | |||||
| static void JUCE_CALLTYPE outputDebugPrintf (const tchar* format, ...) throw(); | |||||
| protected: | protected: | ||||
| @@ -105,58 +105,58 @@ typedef wchar_t juce_wchar; | |||||
| // Some indispensible min/max functions | // Some indispensible min/max functions | ||||
| /** Returns the larger of two values. */ | /** Returns the larger of two values. */ | ||||
| forcedinline int jmax (const int a, const int b) throw() { return (a < b) ? b : a; } | |||||
| forcedinline int JUCE_CALLTYPE jmax (const int a, const int b) throw() { return (a < b) ? b : a; } | |||||
| /** Returns the larger of two values. */ | /** Returns the larger of two values. */ | ||||
| forcedinline int64 jmax (const int64 a, const int64 b) throw() { return (a < b) ? b : a; } | |||||
| forcedinline int64 JUCE_CALLTYPE jmax (const int64 a, const int64 b) throw() { return (a < b) ? b : a; } | |||||
| /** Returns the larger of two values. */ | /** Returns the larger of two values. */ | ||||
| forcedinline float jmax (const float a, const float b) throw() { return (a < b) ? b : a; } | |||||
| forcedinline float JUCE_CALLTYPE jmax (const float a, const float b) throw() { return (a < b) ? b : a; } | |||||
| /** Returns the larger of two values. */ | /** Returns the larger of two values. */ | ||||
| forcedinline double jmax (const double a, const double b) throw() { return (a < b) ? b : a; } | |||||
| forcedinline double JUCE_CALLTYPE jmax (const double a, const double b) throw() { return (a < b) ? b : a; } | |||||
| /** Returns the larger of three values. */ | /** Returns the larger of three values. */ | ||||
| inline int jmax (const int a, const int b, const int c) throw() { return (a < b) ? ((b < c) ? c : b) : ((a < c) ? c : a); } | |||||
| inline int JUCE_CALLTYPE jmax (const int a, const int b, const int c) throw() { return (a < b) ? ((b < c) ? c : b) : ((a < c) ? c : a); } | |||||
| /** Returns the larger of three values. */ | /** Returns the larger of three values. */ | ||||
| inline int64 jmax (const int64 a, const int64 b, const int64 c) throw() { return (a < b) ? ((b < c) ? c : b) : ((a < c) ? c : a); } | |||||
| inline int64 JUCE_CALLTYPE jmax (const int64 a, const int64 b, const int64 c) throw() { return (a < b) ? ((b < c) ? c : b) : ((a < c) ? c : a); } | |||||
| /** Returns the larger of three values. */ | /** Returns the larger of three values. */ | ||||
| inline float jmax (const float a, const float b, const float c) throw() { return (a < b) ? ((b < c) ? c : b) : ((a < c) ? c : a); } | |||||
| inline float JUCE_CALLTYPE jmax (const float a, const float b, const float c) throw() { return (a < b) ? ((b < c) ? c : b) : ((a < c) ? c : a); } | |||||
| /** Returns the larger of three values. */ | /** Returns the larger of three values. */ | ||||
| inline double jmax (const double a, const double b, const double c) throw() { return (a < b) ? ((b < c) ? c : b) : ((a < c) ? c : a); } | |||||
| inline double JUCE_CALLTYPE jmax (const double a, const double b, const double c) throw() { return (a < b) ? ((b < c) ? c : b) : ((a < c) ? c : a); } | |||||
| /** Returns the larger of four values. */ | /** Returns the larger of four values. */ | ||||
| inline int jmax (const int a, const int b, const int c, const int d) throw() { return jmax (a, jmax (b, c, d)); } | |||||
| inline int JUCE_CALLTYPE jmax (const int a, const int b, const int c, const int d) throw() { return jmax (a, jmax (b, c, d)); } | |||||
| /** Returns the larger of four values. */ | /** Returns the larger of four values. */ | ||||
| inline int64 jmax (const int64 a, const int64 b, const int64 c, const int64 d) throw() { return jmax (a, jmax (b, c, d)); } | |||||
| inline int64 JUCE_CALLTYPE jmax (const int64 a, const int64 b, const int64 c, const int64 d) throw() { return jmax (a, jmax (b, c, d)); } | |||||
| /** Returns the larger of four values. */ | /** Returns the larger of four values. */ | ||||
| inline float jmax (const float a, const float b, const float c, const float d) throw() { return jmax (a, jmax (b, c, d)); } | |||||
| inline float JUCE_CALLTYPE jmax (const float a, const float b, const float c, const float d) throw() { return jmax (a, jmax (b, c, d)); } | |||||
| /** Returns the larger of four values. */ | /** Returns the larger of four values. */ | ||||
| inline double jmax (const double a, const double b, const double c, const double d) throw() { return jmax (a, jmax (b, c, d)); } | |||||
| inline double JUCE_CALLTYPE jmax (const double a, const double b, const double c, const double d) throw() { return jmax (a, jmax (b, c, d)); } | |||||
| /** Returns the smaller of two values. */ | /** Returns the smaller of two values. */ | ||||
| inline int jmin (const int a, const int b) throw() { return (a > b) ? b : a; } | |||||
| inline int JUCE_CALLTYPE jmin (const int a, const int b) throw() { return (a > b) ? b : a; } | |||||
| /** Returns the smaller of two values. */ | /** Returns the smaller of two values. */ | ||||
| inline int64 jmin (const int64 a, const int64 b) throw() { return (a > b) ? b : a; } | |||||
| inline int64 JUCE_CALLTYPE jmin (const int64 a, const int64 b) throw() { return (a > b) ? b : a; } | |||||
| /** Returns the smaller of two values. */ | /** Returns the smaller of two values. */ | ||||
| inline float jmin (const float a, const float b) throw() { return (a > b) ? b : a; } | |||||
| inline float JUCE_CALLTYPE jmin (const float a, const float b) throw() { return (a > b) ? b : a; } | |||||
| /** Returns the smaller of two values. */ | /** Returns the smaller of two values. */ | ||||
| inline double jmin (const double a, const double b) throw() { return (a > b) ? b : a; } | |||||
| inline double JUCE_CALLTYPE jmin (const double a, const double b) throw() { return (a > b) ? b : a; } | |||||
| /** Returns the smaller of three values. */ | /** Returns the smaller of three values. */ | ||||
| inline int jmin (const int a, const int b, const int c) throw() { return (a > b) ? ((b > c) ? c : b) : ((a > c) ? c : a); } | |||||
| inline int JUCE_CALLTYPE jmin (const int a, const int b, const int c) throw() { return (a > b) ? ((b > c) ? c : b) : ((a > c) ? c : a); } | |||||
| /** Returns the smaller of three values. */ | /** Returns the smaller of three values. */ | ||||
| inline int64 jmin (const int64 a, const int64 b, const int64 c) throw() { return (a > b) ? ((b > c) ? c : b) : ((a > c) ? c : a); } | |||||
| inline int64 JUCE_CALLTYPE jmin (const int64 a, const int64 b, const int64 c) throw() { return (a > b) ? ((b > c) ? c : b) : ((a > c) ? c : a); } | |||||
| /** Returns the smaller of three values. */ | /** Returns the smaller of three values. */ | ||||
| inline float jmin (const float a, const float b, const float c) throw() { return (a > b) ? ((b > c) ? c : b) : ((a > c) ? c : a); } | |||||
| inline float JUCE_CALLTYPE jmin (const float a, const float b, const float c) throw() { return (a > b) ? ((b > c) ? c : b) : ((a > c) ? c : a); } | |||||
| /** Returns the smaller of three values. */ | /** Returns the smaller of three values. */ | ||||
| inline double jmin (const double a, const double b, const double c) throw() { return (a > b) ? ((b > c) ? c : b) : ((a > c) ? c : a); } | |||||
| inline double JUCE_CALLTYPE jmin (const double a, const double b, const double c) throw() { return (a > b) ? ((b > c) ? c : b) : ((a > c) ? c : a); } | |||||
| /** Returns the smaller of four values. */ | /** Returns the smaller of four values. */ | ||||
| inline int jmin (const int a, const int b, const int c, const int d) throw() { return jmin (a, jmin (b, c, d)); } | |||||
| inline int JUCE_CALLTYPE jmin (const int a, const int b, const int c, const int d) throw() { return jmin (a, jmin (b, c, d)); } | |||||
| /** Returns the smaller of four values. */ | /** Returns the smaller of four values. */ | ||||
| inline int64 jmin (const int64 a, const int64 b, const int64 c, const int64 d) throw() { return jmin (a, jmin (b, c, d)); } | |||||
| inline int64 JUCE_CALLTYPE jmin (const int64 a, const int64 b, const int64 c, const int64 d) throw() { return jmin (a, jmin (b, c, d)); } | |||||
| /** Returns the smaller of four values. */ | /** Returns the smaller of four values. */ | ||||
| inline float jmin (const float a, const float b, const float c, const float d) throw() { return jmin (a, jmin (b, c, d)); } | |||||
| inline float JUCE_CALLTYPE jmin (const float a, const float b, const float c, const float d) throw() { return jmin (a, jmin (b, c, d)); } | |||||
| /** Returns the smaller of four values. */ | /** Returns the smaller of four values. */ | ||||
| inline double jmin (const double a, const double b, const double c, const double d) throw() { return jmin (a, jmin (b, c, d)); } | |||||
| inline double JUCE_CALLTYPE jmin (const double a, const double b, const double c, const double d) throw() { return jmin (a, jmin (b, c, d)); } | |||||
| //============================================================================== | //============================================================================== | ||||
| @@ -172,9 +172,9 @@ inline double jmin (const double a, const double b, const double c, const double | |||||
| and upperLimit (inclusive) | and upperLimit (inclusive) | ||||
| */ | */ | ||||
| template <class Type> | template <class Type> | ||||
| inline Type jlimit (const Type lowerLimit, | |||||
| const Type upperLimit, | |||||
| const Type valueToConstrain) throw() | |||||
| inline Type JUCE_CALLTYPE jlimit (const Type lowerLimit, | |||||
| const Type upperLimit, | |||||
| const Type valueToConstrain) throw() | |||||
| { | { | ||||
| jassert (lowerLimit <= upperLimit); // if these are in the wrong order, results are unpredictable.. | jassert (lowerLimit <= upperLimit); // if these are in the wrong order, results are unpredictable.. | ||||
| @@ -187,7 +187,7 @@ inline Type jlimit (const Type lowerLimit, | |||||
| /** Handy function to swap two values over. | /** Handy function to swap two values over. | ||||
| */ | */ | ||||
| template <class Type> | template <class Type> | ||||
| inline void swapVariables (Type& variable1, Type& variable2) | |||||
| inline void JUCE_CALLTYPE swapVariables (Type& variable1, Type& variable2) throw() | |||||
| { | { | ||||
| const Type tempVal = variable1; | const Type tempVal = variable1; | ||||
| variable1 = variable2; | variable1 = variable2; | ||||
| @@ -242,7 +242,7 @@ inline void swapVariables (Type& variable1, Type& variable2) | |||||
| forcedinline float juce_hypotf (float a, float b) { return hypotf (a, b); } | forcedinline float juce_hypotf (float a, float b) { return hypotf (a, b); } | ||||
| #endif | #endif | ||||
| inline int64 abs64 (const int64 n) { return (n >= 0) ? n : -n; } | |||||
| inline int64 abs64 (const int64 n) throw() { return (n >= 0) ? n : -n; } | |||||
| //============================================================================== | //============================================================================== | ||||
| @@ -97,7 +97,7 @@ | |||||
| static classname* _singletonInstance; \ | static classname* _singletonInstance; \ | ||||
| static CriticalSection _singletonLock; \ | static CriticalSection _singletonLock; \ | ||||
| \ | \ | ||||
| static classname* getInstance() \ | |||||
| static classname* JUCE_CALLTYPE getInstance() \ | |||||
| { \ | { \ | ||||
| if (_singletonInstance == 0) \ | if (_singletonInstance == 0) \ | ||||
| {\ | {\ | ||||
| @@ -125,12 +125,12 @@ | |||||
| return _singletonInstance; \ | return _singletonInstance; \ | ||||
| } \ | } \ | ||||
| \ | \ | ||||
| static inline classname* getInstanceWithoutCreating() throw() \ | |||||
| static inline classname* JUCE_CALLTYPE getInstanceWithoutCreating() throw() \ | |||||
| { \ | { \ | ||||
| return _singletonInstance; \ | return _singletonInstance; \ | ||||
| } \ | } \ | ||||
| \ | \ | ||||
| static void deleteInstance() \ | |||||
| static void JUCE_CALLTYPE deleteInstance() \ | |||||
| { \ | { \ | ||||
| const ScopedLock sl (_singletonLock); \ | const ScopedLock sl (_singletonLock); \ | ||||
| if (_singletonInstance != 0) \ | if (_singletonInstance != 0) \ | ||||
| @@ -141,7 +141,7 @@ | |||||
| } \ | } \ | ||||
| } \ | } \ | ||||
| \ | \ | ||||
| void clearSingletonInstance() throw() \ | |||||
| void JUCE_CALLTYPE clearSingletonInstance() throw() \ | |||||
| { \ | { \ | ||||
| if (_singletonInstance == this) \ | if (_singletonInstance == this) \ | ||||
| _singletonInstance = 0; \ | _singletonInstance = 0; \ | ||||
| @@ -179,7 +179,7 @@ | |||||
| \ | \ | ||||
| static classname* _singletonInstance; \ | static classname* _singletonInstance; \ | ||||
| \ | \ | ||||
| static classname* getInstance() \ | |||||
| static classname* JUCE_CALLTYPE getInstance() \ | |||||
| { \ | { \ | ||||
| if (_singletonInstance == 0) \ | if (_singletonInstance == 0) \ | ||||
| { \ | { \ | ||||
| @@ -202,12 +202,12 @@ | |||||
| return _singletonInstance; \ | return _singletonInstance; \ | ||||
| } \ | } \ | ||||
| \ | \ | ||||
| static inline classname* getInstanceWithoutCreating() throw() \ | |||||
| static inline classname* JUCE_CALLTYPE getInstanceWithoutCreating() throw() \ | |||||
| { \ | { \ | ||||
| return _singletonInstance; \ | return _singletonInstance; \ | ||||
| } \ | } \ | ||||
| \ | \ | ||||
| static void deleteInstance() \ | |||||
| static void JUCE_CALLTYPE deleteInstance() \ | |||||
| { \ | { \ | ||||
| if (_singletonInstance != 0) \ | if (_singletonInstance != 0) \ | ||||
| { \ | { \ | ||||
| @@ -217,7 +217,7 @@ | |||||
| } \ | } \ | ||||
| } \ | } \ | ||||
| \ | \ | ||||
| void clearSingletonInstance() throw() \ | |||||
| void JUCE_CALLTYPE clearSingletonInstance() throw() \ | |||||
| { \ | { \ | ||||
| if (_singletonInstance == this) \ | if (_singletonInstance == this) \ | ||||
| _singletonInstance = 0; \ | _singletonInstance = 0; \ | ||||
| @@ -121,7 +121,7 @@ | |||||
| /** This macro defines the C calling convention used as the standard for Juce calls. */ | /** This macro defines the C calling convention used as the standard for Juce calls. */ | ||||
| #if JUCE_MSVC | #if JUCE_MSVC | ||||
| #define JUCE_CALLTYPE __cdecl | |||||
| #define JUCE_CALLTYPE __stdcall | |||||
| #else | #else | ||||
| #define JUCE_CALLTYPE | #define JUCE_CALLTYPE | ||||
| #endif | #endif | ||||
| @@ -43,7 +43,7 @@ BEGIN_JUCE_NAMESPACE | |||||
| //============================================================================== | //============================================================================== | ||||
| const String SystemStats::getJUCEVersion() | |||||
| const String SystemStats::getJUCEVersion() throw() | |||||
| { | { | ||||
| return T("JUCE v") + String (JUCE_MAJOR_VERSION) + T(".") + String (JUCE_MINOR_VERSION); | return T("JUCE v") + String (JUCE_MAJOR_VERSION) + T(".") + String (JUCE_MINOR_VERSION); | ||||
| } | } | ||||
| @@ -52,7 +52,7 @@ const String SystemStats::getJUCEVersion() | |||||
| //============================================================================== | //============================================================================== | ||||
| static bool juceInitialisedNonGUI = false; | static bool juceInitialisedNonGUI = false; | ||||
| void JUCE_API initialiseJuce_NonGUI() | |||||
| void JUCE_PUBLIC_FUNCTION initialiseJuce_NonGUI() | |||||
| { | { | ||||
| if (! juceInitialisedNonGUI) | if (! juceInitialisedNonGUI) | ||||
| { | { | ||||
| @@ -83,7 +83,7 @@ void JUCE_API initialiseJuce_NonGUI() | |||||
| } | } | ||||
| } | } | ||||
| void JUCE_API shutdownJuce_NonGUI() | |||||
| void JUCE_PUBLIC_FUNCTION shutdownJuce_NonGUI() | |||||
| { | { | ||||
| if (juceInitialisedNonGUI) | if (juceInitialisedNonGUI) | ||||
| { | { | ||||
| @@ -47,7 +47,7 @@ public: | |||||
| See also the JUCE_VERSION, JUCE_MAJOR_VERSION and JUCE_MINOR_VERSION macros. | See also the JUCE_VERSION, JUCE_MAJOR_VERSION and JUCE_MINOR_VERSION macros. | ||||
| */ | */ | ||||
| static const String getJUCEVersion(); | |||||
| static const String getJUCEVersion() throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** The set of possible results of the getOperatingSystemType() method. | /** The set of possible results of the getOperatingSystemType() method. | ||||
| @@ -78,14 +78,14 @@ public: | |||||
| @returns one of the values from the OSType enum. | @returns one of the values from the OSType enum. | ||||
| @see getOperatingSystemName | @see getOperatingSystemName | ||||
| */ | */ | ||||
| static OperatingSystemType getOperatingSystemType(); | |||||
| static OperatingSystemType getOperatingSystemType() throw(); | |||||
| /** Returns the name of the type of operating system we're running on. | /** Returns the name of the type of operating system we're running on. | ||||
| @returns a string describing the OS type. | @returns a string describing the OS type. | ||||
| @see getOperatingSystemType | @see getOperatingSystemType | ||||
| */ | */ | ||||
| static const String getOperatingSystemName(); | |||||
| static const String getOperatingSystemName() throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| // CPU and memory information.. | // CPU and memory information.. | ||||
| @@ -95,43 +95,43 @@ public: | |||||
| @returns the speed in megahertz, e.g. 1500, 2500, 32000 (depending on | @returns the speed in megahertz, e.g. 1500, 2500, 32000 (depending on | ||||
| what year you're reading this...) | what year you're reading this...) | ||||
| */ | */ | ||||
| static int getCpuSpeedInMegaherz(); | |||||
| static int getCpuSpeedInMegaherz() throw(); | |||||
| /** Returns a string to indicate the CPU vendor. | /** Returns a string to indicate the CPU vendor. | ||||
| Might not be known on some systems. | Might not be known on some systems. | ||||
| */ | */ | ||||
| static const String getCpuVendor(); | |||||
| static const String getCpuVendor() throw(); | |||||
| /** Checks whether Intel MMX instructions are available. */ | /** Checks whether Intel MMX instructions are available. */ | ||||
| static bool hasMMX(); | |||||
| static bool hasMMX() throw(); | |||||
| /** Checks whether Intel SSE instructions are available. */ | /** Checks whether Intel SSE instructions are available. */ | ||||
| static bool hasSSE(); | |||||
| static bool hasSSE() throw(); | |||||
| /** Checks whether Intel SSE2 instructions are available. */ | /** Checks whether Intel SSE2 instructions are available. */ | ||||
| static bool hasSSE2(); | |||||
| static bool hasSSE2() throw(); | |||||
| /** Checks whether AMD 3DNOW instructions are available. */ | /** Checks whether AMD 3DNOW instructions are available. */ | ||||
| static bool has3DNow(); | |||||
| static bool has3DNow() throw(); | |||||
| /** True if the chip has hyperthreading. | /** True if the chip has hyperthreading. | ||||
| Probably only uber-geeks will care less about this. | Probably only uber-geeks will care less about this. | ||||
| */ | */ | ||||
| static bool hasHyperThreading(); | |||||
| static bool hasHyperThreading() throw(); | |||||
| /** Checks whether there are multiple processors in the box. | /** Checks whether there are multiple processors in the box. | ||||
| @see getNumLogicalCpus | @see getNumLogicalCpus | ||||
| */ | */ | ||||
| static int getNumPhysicalCpus(); | |||||
| static int getNumPhysicalCpus() throw(); | |||||
| /** Counts the number of logical processors. | /** Counts the number of logical processors. | ||||
| May give a different result to getNumPhysicalCpus()... | May give a different result to getNumPhysicalCpus()... | ||||
| */ | */ | ||||
| static int getNumLogicalCpus(); | |||||
| static int getNumLogicalCpus() throw(); | |||||
| /** Returns a bitmask for the physical processors. | /** Returns a bitmask for the physical processors. | ||||
| @@ -139,7 +139,7 @@ public: | |||||
| @see Thread::setAffinityMask | @see Thread::setAffinityMask | ||||
| */ | */ | ||||
| static uint32 getPhysicalAffinityMask(); | |||||
| static uint32 getPhysicalAffinityMask() throw(); | |||||
| /** Returns a clock-cycle tick counter, if available. | /** Returns a clock-cycle tick counter, if available. | ||||
| @@ -149,7 +149,7 @@ public: | |||||
| @returns the tick count, or zero if not available. | @returns the tick count, or zero if not available. | ||||
| */ | */ | ||||
| static int64 getClockCycleCounter(); | |||||
| static int64 getClockCycleCounter() throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Finds out how much RAM is in the machine. | /** Finds out how much RAM is in the machine. | ||||
| @@ -157,13 +157,13 @@ public: | |||||
| @returns the approximate number of megabytes of memory, or zero if | @returns the approximate number of megabytes of memory, or zero if | ||||
| something goes wrong when finding out. | something goes wrong when finding out. | ||||
| */ | */ | ||||
| static int getMemorySizeInMegabytes(); | |||||
| static int getMemorySizeInMegabytes() throw(); | |||||
| /** Returns the system page-size. | /** Returns the system page-size. | ||||
| This is only used by programmers with beards. | This is only used by programmers with beards. | ||||
| */ | */ | ||||
| static int getPageSize(); | |||||
| static int getPageSize() throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Returns a list of MAC addresses found on this machine. | /** Returns a list of MAC addresses found on this machine. | ||||
| @@ -172,12 +172,12 @@ public: | |||||
| @param maxNum the number of elements in this array | @param maxNum the number of elements in this array | ||||
| @returns the number of MAC addresses that were found | @returns the number of MAC addresses that were found | ||||
| */ | */ | ||||
| static int getMACAddresses (int64* addresses, int maxNum); | |||||
| static int getMACAddresses (int64* addresses, int maxNum) throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| // not-for-public-use platform-specific method gets called at startup to initialise things. | // not-for-public-use platform-specific method gets called at startup to initialise things. | ||||
| static void initialiseStats(); | |||||
| static void initialiseStats() throw(); | |||||
| }; | }; | ||||
| @@ -250,7 +250,7 @@ const Time Time::getCurrentTime() throw() | |||||
| const String Time::toString (const bool includeDate, | const String Time::toString (const bool includeDate, | ||||
| const bool includeTime, | const bool includeTime, | ||||
| const bool includeSeconds, | const bool includeSeconds, | ||||
| const bool use24HourClock) const | |||||
| const bool use24HourClock) const throw() | |||||
| { | { | ||||
| String result; | String result; | ||||
| @@ -289,7 +289,7 @@ const String Time::toString (const bool includeDate, | |||||
| return result.trimEnd(); | return result.trimEnd(); | ||||
| } | } | ||||
| const String Time::formatted (const tchar* const format) const | |||||
| const String Time::formatted (const tchar* const format) const throw() | |||||
| { | { | ||||
| tchar buffer[80]; | tchar buffer[80]; | ||||
| @@ -316,42 +316,42 @@ const String Time::formatted (const tchar* const format) const | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| int Time::getYear() const | |||||
| int Time::getYear() const throw() | |||||
| { | { | ||||
| struct tm t; | struct tm t; | ||||
| millisToLocal (millisSinceEpoch, t); | millisToLocal (millisSinceEpoch, t); | ||||
| return t.tm_year + 1900; | return t.tm_year + 1900; | ||||
| } | } | ||||
| int Time::getMonth() const | |||||
| int Time::getMonth() const throw() | |||||
| { | { | ||||
| struct tm t; | struct tm t; | ||||
| millisToLocal (millisSinceEpoch, t); | millisToLocal (millisSinceEpoch, t); | ||||
| return t.tm_mon; | return t.tm_mon; | ||||
| } | } | ||||
| int Time::getDayOfMonth() const | |||||
| int Time::getDayOfMonth() const throw() | |||||
| { | { | ||||
| struct tm t; | struct tm t; | ||||
| millisToLocal (millisSinceEpoch, t); | millisToLocal (millisSinceEpoch, t); | ||||
| return t.tm_mday; | return t.tm_mday; | ||||
| } | } | ||||
| int Time::getDayOfWeek() const | |||||
| int Time::getDayOfWeek() const throw() | |||||
| { | { | ||||
| struct tm t; | struct tm t; | ||||
| millisToLocal (millisSinceEpoch, t); | millisToLocal (millisSinceEpoch, t); | ||||
| return t.tm_wday; | return t.tm_wday; | ||||
| } | } | ||||
| int Time::getHours() const | |||||
| int Time::getHours() const throw() | |||||
| { | { | ||||
| struct tm t; | struct tm t; | ||||
| millisToLocal (millisSinceEpoch, t); | millisToLocal (millisSinceEpoch, t); | ||||
| return t.tm_hour; | return t.tm_hour; | ||||
| } | } | ||||
| int Time::getHoursInAmPmFormat() const | |||||
| int Time::getHoursInAmPmFormat() const throw() | |||||
| { | { | ||||
| const int hours = getHours(); | const int hours = getHours(); | ||||
| @@ -363,34 +363,34 @@ int Time::getHoursInAmPmFormat() const | |||||
| return hours - 12; | return hours - 12; | ||||
| } | } | ||||
| bool Time::isAfternoon() const | |||||
| bool Time::isAfternoon() const throw() | |||||
| { | { | ||||
| return getHours() >= 12; | return getHours() >= 12; | ||||
| } | } | ||||
| int Time::getMinutes() const | |||||
| int Time::getMinutes() const throw() | |||||
| { | { | ||||
| return (int) ((millisSinceEpoch / 60000) % 60); | return (int) ((millisSinceEpoch / 60000) % 60); | ||||
| } | } | ||||
| int Time::getSeconds() const | |||||
| int Time::getSeconds() const throw() | |||||
| { | { | ||||
| return (int) ((millisSinceEpoch / 1000) % 60); | return (int) ((millisSinceEpoch / 1000) % 60); | ||||
| } | } | ||||
| int Time::getMilliseconds() const | |||||
| int Time::getMilliseconds() const throw() | |||||
| { | { | ||||
| return (int) (millisSinceEpoch % 1000); | return (int) (millisSinceEpoch % 1000); | ||||
| } | } | ||||
| bool Time::isDaylightSavingTime() const | |||||
| bool Time::isDaylightSavingTime() const throw() | |||||
| { | { | ||||
| struct tm t; | struct tm t; | ||||
| millisToLocal (millisSinceEpoch, t); | millisToLocal (millisSinceEpoch, t); | ||||
| return t.tm_isdst != 0; | return t.tm_isdst != 0; | ||||
| } | } | ||||
| const String Time::getTimeZone() const | |||||
| const String Time::getTimeZone() const throw() | |||||
| { | { | ||||
| String zone[2]; | String zone[2]; | ||||
| @@ -434,12 +434,12 @@ const String Time::getTimeZone() const | |||||
| return zone[0].substring (0, 3); | return zone[0].substring (0, 3); | ||||
| } | } | ||||
| const String Time::getMonthName (const bool threeLetterVersion) const | |||||
| const String Time::getMonthName (const bool threeLetterVersion) const throw() | |||||
| { | { | ||||
| return getMonthName (getMonth(), threeLetterVersion); | return getMonthName (getMonth(), threeLetterVersion); | ||||
| } | } | ||||
| const String Time::getWeekdayName (const bool threeLetterVersion) const | |||||
| const String Time::getWeekdayName (const bool threeLetterVersion) const throw() | |||||
| { | { | ||||
| return getWeekdayName (getDayOfWeek(), threeLetterVersion); | return getWeekdayName (getDayOfWeek(), threeLetterVersion); | ||||
| } | } | ||||
| @@ -117,14 +117,14 @@ public: | |||||
| A 4-digit format is used, e.g. 2004. | A 4-digit format is used, e.g. 2004. | ||||
| */ | */ | ||||
| int getYear() const; | |||||
| int getYear() const throw(); | |||||
| /** Returns the number of the month. | /** Returns the number of the month. | ||||
| The value returned is in the range 0 to 11. | The value returned is in the range 0 to 11. | ||||
| @see getMonthName | @see getMonthName | ||||
| */ | */ | ||||
| int getMonth() const; | |||||
| int getMonth() const throw(); | |||||
| /** Returns the name of the month. | /** Returns the name of the month. | ||||
| @@ -132,26 +132,26 @@ public: | |||||
| it'll return the long form, e.g. "January" | it'll return the long form, e.g. "January" | ||||
| @see getMonth | @see getMonth | ||||
| */ | */ | ||||
| const String getMonthName (const bool threeLetterVersion) const; | |||||
| const String getMonthName (const bool threeLetterVersion) const throw(); | |||||
| /** Returns the day of the month. | /** Returns the day of the month. | ||||
| The value returned is in the range 1 to 31. | The value returned is in the range 1 to 31. | ||||
| */ | */ | ||||
| int getDayOfMonth() const; | |||||
| int getDayOfMonth() const throw(); | |||||
| /** Returns the number of the day of the week. | /** Returns the number of the day of the week. | ||||
| The value returned is in the range 0 to 6 (0 = sunday, 1 = monday, etc). | The value returned is in the range 0 to 6 (0 = sunday, 1 = monday, etc). | ||||
| */ | */ | ||||
| int getDayOfWeek() const; | |||||
| int getDayOfWeek() const throw(); | |||||
| /** Returns the name of the weekday. | /** Returns the name of the weekday. | ||||
| @param threeLetterVersion if true, it'll return a 3-letter abbreviation, e.g. "Tue"; if | @param threeLetterVersion if true, it'll return a 3-letter abbreviation, e.g. "Tue"; if | ||||
| false, it'll return the full version, e.g. "Tuesday". | false, it'll return the full version, e.g. "Tuesday". | ||||
| */ | */ | ||||
| const String getWeekdayName (const bool threeLetterVersion) const; | |||||
| const String getWeekdayName (const bool threeLetterVersion) const throw(); | |||||
| /** Returns the number of hours since midnight. | /** Returns the number of hours since midnight. | ||||
| @@ -159,7 +159,7 @@ public: | |||||
| @see getHoursInAmPmFormat, isAfternoon | @see getHoursInAmPmFormat, isAfternoon | ||||
| */ | */ | ||||
| int getHours() const; | |||||
| int getHours() const throw(); | |||||
| /** Returns true if the time is in the afternoon. | /** Returns true if the time is in the afternoon. | ||||
| @@ -167,7 +167,7 @@ public: | |||||
| @see getHoursInAmPmFormat, getHours | @see getHoursInAmPmFormat, getHours | ||||
| */ | */ | ||||
| bool isAfternoon() const; | |||||
| bool isAfternoon() const throw(); | |||||
| /** Returns the hours in 12-hour clock format. | /** Returns the hours in 12-hour clock format. | ||||
| @@ -176,13 +176,13 @@ public: | |||||
| @see getHours, isAfternoon | @see getHours, isAfternoon | ||||
| */ | */ | ||||
| int getHoursInAmPmFormat() const; | |||||
| int getHoursInAmPmFormat() const throw(); | |||||
| /** Returns the number of minutes, 0 to 59. */ | /** Returns the number of minutes, 0 to 59. */ | ||||
| int getMinutes() const; | |||||
| int getMinutes() const throw(); | |||||
| /** Returns the number of seconds, 0 to 59. */ | /** Returns the number of seconds, 0 to 59. */ | ||||
| int getSeconds() const; | |||||
| int getSeconds() const throw(); | |||||
| /** Returns the number of milliseconds, 0 to 999. | /** Returns the number of milliseconds, 0 to 999. | ||||
| @@ -191,13 +191,13 @@ public: | |||||
| @see toMilliseconds | @see toMilliseconds | ||||
| */ | */ | ||||
| int getMilliseconds() const; | |||||
| int getMilliseconds() const throw(); | |||||
| /** Returns true if the local timezone uses a daylight saving correction. */ | /** Returns true if the local timezone uses a daylight saving correction. */ | ||||
| bool isDaylightSavingTime() const; | |||||
| bool isDaylightSavingTime() const throw(); | |||||
| /** Returns a 3-character string to indicate the local timezone. */ | /** Returns a 3-character string to indicate the local timezone. */ | ||||
| const String getTimeZone() const; | |||||
| const String getTimeZone() const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Quick way of getting a string version of a date and time. | /** Quick way of getting a string version of a date and time. | ||||
| @@ -215,7 +215,7 @@ public: | |||||
| const String toString (const bool includeDate, | const String toString (const bool includeDate, | ||||
| const bool includeTime, | const bool includeTime, | ||||
| const bool includeSeconds = true, | const bool includeSeconds = true, | ||||
| const bool use24HourClock = false) const; | |||||
| const bool use24HourClock = false) const throw(); | |||||
| /** Converts this date/time to a string with a user-defined format. | /** Converts this date/time to a string with a user-defined format. | ||||
| @@ -248,7 +248,7 @@ public: | |||||
| @see toString | @see toString | ||||
| */ | */ | ||||
| const String formatted (const tchar* const format) const; | |||||
| const String formatted (const tchar* const format) const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Adds a RelativeTime to this time and returns the result. */ | /** Adds a RelativeTime to this time and returns the result. */ | ||||
| @@ -284,7 +284,7 @@ public: | |||||
| @returns true if this succeeds, although depending on the system, the | @returns true if this succeeds, although depending on the system, the | ||||
| application might not have sufficient privileges to do this. | application might not have sufficient privileges to do this. | ||||
| */ | */ | ||||
| bool setSystemTimeToThisTime() const; | |||||
| bool setSystemTimeToThisTime() const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Returns the name of a day of the week. | /** Returns the name of a day of the week. | ||||
| @@ -66,7 +66,7 @@ public: | |||||
| @see ArrayAllocationBase | @see ArrayAllocationBase | ||||
| */ | */ | ||||
| Array (const int granularity = juceDefaultArrayGranularity) throw() | |||||
| JUCE_CALLTYPE Array (const int granularity = juceDefaultArrayGranularity) throw() | |||||
| : ArrayAllocationBase <ElementType> (granularity), | : ArrayAllocationBase <ElementType> (granularity), | ||||
| numUsed (0) | numUsed (0) | ||||
| { | { | ||||
| @@ -75,7 +75,7 @@ public: | |||||
| /** Creates a copy of another array. | /** Creates a copy of another array. | ||||
| @param other the array to copy | @param other the array to copy | ||||
| */ | */ | ||||
| Array (const Array<ElementType, TypeOfCriticalSectionToUse>& other) throw() | |||||
| JUCE_CALLTYPE Array (const Array<ElementType, TypeOfCriticalSectionToUse>& other) throw() | |||||
| : ArrayAllocationBase <ElementType> (other.granularity) | : ArrayAllocationBase <ElementType> (other.granularity) | ||||
| { | { | ||||
| other.lockArray(); | other.lockArray(); | ||||
| @@ -89,7 +89,7 @@ public: | |||||
| @param values the array to copy from | @param values the array to copy from | ||||
| */ | */ | ||||
| Array (const ElementType* values) throw() | |||||
| JUCE_CALLTYPE Array (const ElementType* values) throw() | |||||
| : ArrayAllocationBase <ElementType> (juceDefaultArrayGranularity), | : ArrayAllocationBase <ElementType> (juceDefaultArrayGranularity), | ||||
| numUsed (0) | numUsed (0) | ||||
| { | { | ||||
| @@ -102,7 +102,7 @@ public: | |||||
| @param values the array to copy from | @param values the array to copy from | ||||
| @param numValues the number of values in the array | @param numValues the number of values in the array | ||||
| */ | */ | ||||
| Array (const ElementType* values, int numValues) throw() | |||||
| JUCE_CALLTYPE Array (const ElementType* values, int numValues) throw() | |||||
| : ArrayAllocationBase <ElementType> (juceDefaultArrayGranularity), | : ArrayAllocationBase <ElementType> (juceDefaultArrayGranularity), | ||||
| numUsed (numValues) | numUsed (numValues) | ||||
| { | { | ||||
| @@ -111,14 +111,14 @@ public: | |||||
| } | } | ||||
| /** Destructor. */ | /** Destructor. */ | ||||
| ~Array() throw() | |||||
| JUCE_CALLTYPE ~Array() throw() | |||||
| { | { | ||||
| } | } | ||||
| /** Copies another array. | /** Copies another array. | ||||
| @param other the array to copy | @param other the array to copy | ||||
| */ | */ | ||||
| const Array <ElementType, TypeOfCriticalSectionToUse>& operator= (const Array <ElementType, TypeOfCriticalSectionToUse>& other) throw() | |||||
| const Array <ElementType, TypeOfCriticalSectionToUse>& JUCE_CALLTYPE operator= (const Array <ElementType, TypeOfCriticalSectionToUse>& other) throw() | |||||
| { | { | ||||
| if (this != &other) | if (this != &other) | ||||
| { | { | ||||
| @@ -145,7 +145,7 @@ public: | |||||
| @param other the other array to compare with | @param other the other array to compare with | ||||
| */ | */ | ||||
| template <class OtherArrayType> | template <class OtherArrayType> | ||||
| bool operator== (const OtherArrayType& other) const throw() | |||||
| bool JUCE_CALLTYPE operator== (const OtherArrayType& other) const throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| @@ -174,7 +174,7 @@ public: | |||||
| @param other the other array to compare with | @param other the other array to compare with | ||||
| */ | */ | ||||
| template <class OtherArrayType> | template <class OtherArrayType> | ||||
| bool operator!= (const OtherArrayType& other) const throw() | |||||
| bool JUCE_CALLTYPE operator!= (const OtherArrayType& other) const throw() | |||||
| { | { | ||||
| return ! operator== (other); | return ! operator== (other); | ||||
| } | } | ||||
| @@ -187,7 +187,7 @@ public: | |||||
| @see clearQuick | @see clearQuick | ||||
| */ | */ | ||||
| void clear() throw() | |||||
| void JUCE_CALLTYPE clear() throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| this->setAllocatedSize (0); | this->setAllocatedSize (0); | ||||
| @@ -199,7 +199,7 @@ public: | |||||
| @see clear | @see clear | ||||
| */ | */ | ||||
| void clearQuick() throw() | |||||
| void JUCE_CALLTYPE clearQuick() throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| numUsed = 0; | numUsed = 0; | ||||
| @@ -209,7 +209,7 @@ public: | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Returns the current number of elements in the array. | /** Returns the current number of elements in the array. | ||||
| */ | */ | ||||
| inline int size() const throw() | |||||
| inline int JUCE_CALLTYPE size() const throw() | |||||
| { | { | ||||
| return numUsed; | return numUsed; | ||||
| } | } | ||||
| @@ -224,7 +224,7 @@ public: | |||||
| @param index the index of the element being requested (0 is the first element in the array) | @param index the index of the element being requested (0 is the first element in the array) | ||||
| @see getUnchecked, getFirst, getLast | @see getUnchecked, getFirst, getLast | ||||
| */ | */ | ||||
| inline ElementType operator[] (const int index) const throw() | |||||
| inline ElementType JUCE_CALLTYPE operator[] (const int index) const throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| const ElementType result = (index >= 0 && index < numUsed) ? this->elements [index] | const ElementType result = (index >= 0 && index < numUsed) ? this->elements [index] | ||||
| @@ -243,7 +243,7 @@ public: | |||||
| @param index the index of the element being requested (0 is the first element in the array) | @param index the index of the element being requested (0 is the first element in the array) | ||||
| @see operator[], getFirst, getLast | @see operator[], getFirst, getLast | ||||
| */ | */ | ||||
| inline ElementType getUnchecked (const int index) const throw() | |||||
| inline ElementType JUCE_CALLTYPE getUnchecked (const int index) const throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| jassert (index >= 0 && index < numUsed); | jassert (index >= 0 && index < numUsed); | ||||
| @@ -262,7 +262,7 @@ public: | |||||
| @param index the index of the element being requested (0 is the first element in the array) | @param index the index of the element being requested (0 is the first element in the array) | ||||
| @see operator[], getFirst, getLast | @see operator[], getFirst, getLast | ||||
| */ | */ | ||||
| inline ElementType& getReference (const int index) const throw() | |||||
| inline ElementType& JUCE_CALLTYPE getReference (const int index) const throw() | |||||
| { | { | ||||
| jassert (index >= 0 && index < numUsed); | jassert (index >= 0 && index < numUsed); | ||||
| return this->elements [index]; | return this->elements [index]; | ||||
| @@ -272,7 +272,7 @@ public: | |||||
| @see operator[], getUnchecked, getLast | @see operator[], getUnchecked, getLast | ||||
| */ | */ | ||||
| inline ElementType getFirst() const throw() | |||||
| inline ElementType JUCE_CALLTYPE getFirst() const throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| const ElementType result = (numUsed > 0) ? this->elements [0] | const ElementType result = (numUsed > 0) ? this->elements [0] | ||||
| @@ -286,7 +286,7 @@ public: | |||||
| @see operator[], getUnchecked, getFirst | @see operator[], getUnchecked, getFirst | ||||
| */ | */ | ||||
| inline ElementType getLast() const throw() | |||||
| inline ElementType JUCE_CALLTYPE getLast() const throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| const ElementType result = (numUsed > 0) ? this->elements [numUsed - 1] | const ElementType result = (numUsed > 0) ? this->elements [numUsed - 1] | ||||
| @@ -305,7 +305,7 @@ public: | |||||
| @param elementToLookFor the value or object to look for | @param elementToLookFor the value or object to look for | ||||
| @returns the index of the object, or -1 if it's not found | @returns the index of the object, or -1 if it's not found | ||||
| */ | */ | ||||
| int indexOf (const ElementType elementToLookFor) const throw() | |||||
| int JUCE_CALLTYPE indexOf (const ElementType elementToLookFor) const throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| const ElementType* e = this->elements; | const ElementType* e = this->elements; | ||||
| @@ -330,7 +330,7 @@ public: | |||||
| @param elementToLookFor the value or object to look for | @param elementToLookFor the value or object to look for | ||||
| @returns true if the item is found | @returns true if the item is found | ||||
| */ | */ | ||||
| bool contains (const ElementType elementToLookFor) const throw() | |||||
| bool JUCE_CALLTYPE contains (const ElementType elementToLookFor) const throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| @@ -374,7 +374,7 @@ public: | |||||
| @param newElement the new object to add to the array | @param newElement the new object to add to the array | ||||
| @see set, insert, addIfNotAlreadyThere, addSorted, addArray | @see set, insert, addIfNotAlreadyThere, addSorted, addArray | ||||
| */ | */ | ||||
| void add (const ElementType newElement) throw() | |||||
| void JUCE_CALLTYPE add (const ElementType newElement) throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| this->ensureAllocatedSize (numUsed + 1); | this->ensureAllocatedSize (numUsed + 1); | ||||
| @@ -394,7 +394,7 @@ public: | |||||
| @param newElement the new object to add to the array | @param newElement the new object to add to the array | ||||
| @see add, addSorted, set | @see add, addSorted, set | ||||
| */ | */ | ||||
| void insert (int indexToInsertAt, const ElementType newElement) throw() | |||||
| void JUCE_CALLTYPE insert (int indexToInsertAt, const ElementType newElement) throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| this->ensureAllocatedSize (numUsed + 1); | this->ensureAllocatedSize (numUsed + 1); | ||||
| @@ -433,8 +433,8 @@ public: | |||||
| @param numberOfTimesToInsertIt how many copies of the value to insert | @param numberOfTimesToInsertIt how many copies of the value to insert | ||||
| @see insert, add, addSorted, set | @see insert, add, addSorted, set | ||||
| */ | */ | ||||
| void insertMultiple (int indexToInsertAt, const ElementType newElement, | |||||
| int numberOfTimesToInsertIt) throw() | |||||
| void JUCE_CALLTYPE insertMultiple (int indexToInsertAt, const ElementType newElement, | |||||
| int numberOfTimesToInsertIt) throw() | |||||
| { | { | ||||
| if (numberOfTimesToInsertIt > 0) | if (numberOfTimesToInsertIt > 0) | ||||
| { | { | ||||
| @@ -474,9 +474,9 @@ public: | |||||
| @param numberOfElements how many items are in the array | @param numberOfElements how many items are in the array | ||||
| @see insert, add, addSorted, set | @see insert, add, addSorted, set | ||||
| */ | */ | ||||
| void insertArray (int indexToInsertAt, | |||||
| const ElementType* newElements, | |||||
| int numberOfElements) throw() | |||||
| void JUCE_CALLTYPE insertArray (int indexToInsertAt, | |||||
| const ElementType* newElements, | |||||
| int numberOfElements) throw() | |||||
| { | { | ||||
| if (numberOfElements > 0) | if (numberOfElements > 0) | ||||
| { | { | ||||
| @@ -512,7 +512,7 @@ public: | |||||
| @param newElement the new object to add to the array | @param newElement the new object to add to the array | ||||
| */ | */ | ||||
| void addIfNotAlreadyThere (const ElementType newElement) throw() | |||||
| void JUCE_CALLTYPE addIfNotAlreadyThere (const ElementType newElement) throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| @@ -531,8 +531,8 @@ public: | |||||
| @param newValue the new value to set for this index. | @param newValue the new value to set for this index. | ||||
| @see add, insert | @see add, insert | ||||
| */ | */ | ||||
| void set (const int indexToChange, | |||||
| const ElementType newValue) throw() | |||||
| void JUCE_CALLTYPE set (const int indexToChange, | |||||
| const ElementType newValue) throw() | |||||
| { | { | ||||
| jassert (indexToChange >= 0); | jassert (indexToChange >= 0); | ||||
| @@ -563,8 +563,8 @@ public: | |||||
| @param newValue the new value to set for this index. | @param newValue the new value to set for this index. | ||||
| @see set, getUnchecked | @see set, getUnchecked | ||||
| */ | */ | ||||
| void setUnchecked (const int indexToChange, | |||||
| const ElementType newValue) throw() | |||||
| void JUCE_CALLTYPE setUnchecked (const int indexToChange, | |||||
| const ElementType newValue) throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| jassert (indexToChange >= 0 && indexToChange < numUsed); | jassert (indexToChange >= 0 && indexToChange < numUsed); | ||||
| @@ -578,8 +578,8 @@ public: | |||||
| @param numElementsToAdd how many elements are in this other array | @param numElementsToAdd how many elements are in this other array | ||||
| @see add | @see add | ||||
| */ | */ | ||||
| void addArray (const ElementType* elementsToAdd, | |||||
| int numElementsToAdd) throw() | |||||
| void JUCE_CALLTYPE addArray (const ElementType* elementsToAdd, | |||||
| int numElementsToAdd) throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| @@ -600,7 +600,7 @@ public: | |||||
| because it just swaps their internal pointers. | because it just swaps their internal pointers. | ||||
| */ | */ | ||||
| template <class OtherArrayType> | template <class OtherArrayType> | ||||
| void swapWithArray (OtherArrayType& otherArray) throw() | |||||
| void JUCE_CALLTYPE swapWithArray (OtherArrayType& otherArray) throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| otherArray.lock.enter(); | otherArray.lock.enter(); | ||||
| @@ -621,9 +621,9 @@ public: | |||||
| @see add | @see add | ||||
| */ | */ | ||||
| template <class OtherArrayType> | template <class OtherArrayType> | ||||
| void addArray (const OtherArrayType& arrayToAddFrom, | |||||
| int startIndex = 0, | |||||
| int numElementsToAdd = -1) throw() | |||||
| void JUCE_CALLTYPE addArray (const OtherArrayType& arrayToAddFrom, | |||||
| int startIndex = 0, | |||||
| int numElementsToAdd = -1) throw() | |||||
| { | { | ||||
| arrayToAddFrom.lockArray(); | arrayToAddFrom.lockArray(); | ||||
| lock.enter(); | lock.enter(); | ||||
| @@ -656,8 +656,8 @@ public: | |||||
| @see add, sort | @see add, sort | ||||
| */ | */ | ||||
| template <class ElementComparator> | template <class ElementComparator> | ||||
| void addSorted (ElementComparator& comparator, | |||||
| const ElementType newElement) throw() | |||||
| void JUCE_CALLTYPE addSorted (ElementComparator& comparator, | |||||
| const ElementType newElement) throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| insert (findInsertIndexInSortedArray (comparator, this->elements, newElement, 0, numUsed), newElement); | insert (findInsertIndexInSortedArray (comparator, this->elements, newElement, 0, numUsed), newElement); | ||||
| @@ -677,8 +677,8 @@ public: | |||||
| @see addSorted, sort | @see addSorted, sort | ||||
| */ | */ | ||||
| template <class ElementComparator> | template <class ElementComparator> | ||||
| int indexOfSorted (ElementComparator& comparator, | |||||
| const ElementType elementToLookFor) const throw() | |||||
| int JUCE_CALLTYPE indexOfSorted (ElementComparator& comparator, | |||||
| const ElementType elementToLookFor) const throw() | |||||
| { | { | ||||
| (void) comparator; // if you pass in an object with a static compareElements() method, this | (void) comparator; // if you pass in an object with a static compareElements() method, this | ||||
| // avoids getting warning messages about the parameter being unused | // avoids getting warning messages about the parameter being unused | ||||
| @@ -727,7 +727,7 @@ public: | |||||
| @returns the element that has been removed | @returns the element that has been removed | ||||
| @see removeValue, removeRange | @see removeValue, removeRange | ||||
| */ | */ | ||||
| ElementType remove (const int indexToRemove) throw() | |||||
| ElementType JUCE_CALLTYPE remove (const int indexToRemove) throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| @@ -763,7 +763,7 @@ public: | |||||
| @param valueToRemove the object to try to remove | @param valueToRemove the object to try to remove | ||||
| @see remove, removeRange | @see remove, removeRange | ||||
| */ | */ | ||||
| void removeValue (const ElementType valueToRemove) throw() | |||||
| void JUCE_CALLTYPE removeValue (const ElementType valueToRemove) throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| ElementType* e = this->elements; | ElementType* e = this->elements; | ||||
| @@ -794,8 +794,8 @@ public: | |||||
| @param numberToRemove how many elements should be removed | @param numberToRemove how many elements should be removed | ||||
| @see remove, removeValue | @see remove, removeValue | ||||
| */ | */ | ||||
| void removeRange (int startIndex, | |||||
| const int numberToRemove) throw() | |||||
| void JUCE_CALLTYPE removeRange (int startIndex, | |||||
| const int numberToRemove) throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| const int endIndex = jlimit (0, numUsed, startIndex + numberToRemove); | const int endIndex = jlimit (0, numUsed, startIndex + numberToRemove); | ||||
| @@ -826,7 +826,7 @@ public: | |||||
| @param howManyToRemove how many elements to remove from the end of the array | @param howManyToRemove how many elements to remove from the end of the array | ||||
| @see remove, removeValue, removeRange | @see remove, removeValue, removeRange | ||||
| */ | */ | ||||
| void removeLast (int howManyToRemove = 1) throw() | |||||
| void JUCE_CALLTYPE removeLast (int howManyToRemove = 1) throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| numUsed = jmax (0, numUsed - howManyToRemove); | numUsed = jmax (0, numUsed - howManyToRemove); | ||||
| @@ -843,7 +843,7 @@ public: | |||||
| @see removeValuesNotIn, remove, removeValue, removeRange | @see removeValuesNotIn, remove, removeValue, removeRange | ||||
| */ | */ | ||||
| template <class OtherArrayType> | template <class OtherArrayType> | ||||
| void removeValuesIn (const OtherArrayType& otherArray) throw() | |||||
| void JUCE_CALLTYPE removeValuesIn (const OtherArrayType& otherArray) throw() | |||||
| { | { | ||||
| otherArray.lockArray(); | otherArray.lockArray(); | ||||
| lock.enter(); | lock.enter(); | ||||
| @@ -874,7 +874,7 @@ public: | |||||
| @see removeValuesIn, remove, removeValue, removeRange | @see removeValuesIn, remove, removeValue, removeRange | ||||
| */ | */ | ||||
| template <class OtherArrayType> | template <class OtherArrayType> | ||||
| void removeValuesNotIn (const OtherArrayType& otherArray) throw() | |||||
| void JUCE_CALLTYPE removeValuesNotIn (const OtherArrayType& otherArray) throw() | |||||
| { | { | ||||
| otherArray.lockArray(); | otherArray.lockArray(); | ||||
| lock.enter(); | lock.enter(); | ||||
| @@ -905,8 +905,8 @@ public: | |||||
| @param index1 index of one of the elements to swap | @param index1 index of one of the elements to swap | ||||
| @param index2 index of the other element to swap | @param index2 index of the other element to swap | ||||
| */ | */ | ||||
| void swap (const int index1, | |||||
| const int index2) throw() | |||||
| void JUCE_CALLTYPE swap (const int index1, | |||||
| const int index2) throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| @@ -934,8 +934,8 @@ public: | |||||
| is less than zero, the value will be moved to the end | is less than zero, the value will be moved to the end | ||||
| of the array | of the array | ||||
| */ | */ | ||||
| void move (const int currentIndex, | |||||
| int newIndex) throw() | |||||
| void JUCE_CALLTYPE move (const int currentIndex, | |||||
| int newIndex) throw() | |||||
| { | { | ||||
| if (currentIndex != newIndex) | if (currentIndex != newIndex) | ||||
| { | { | ||||
| @@ -975,7 +975,7 @@ public: | |||||
| removing elements, they may have quite a lot of unused space allocated. | removing elements, they may have quite a lot of unused space allocated. | ||||
| This method will reduce the amount of allocated storage to a minimum. | This method will reduce the amount of allocated storage to a minimum. | ||||
| */ | */ | ||||
| void minimiseStorageOverheads() throw() | |||||
| void JUCE_CALLTYPE minimiseStorageOverheads() throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| @@ -1000,7 +1000,7 @@ public: | |||||
| the array won't have to keep dynamically resizing itself as the elements | the array won't have to keep dynamically resizing itself as the elements | ||||
| are added, and it'll therefore be more efficient. | are added, and it'll therefore be more efficient. | ||||
| */ | */ | ||||
| void ensureStorageAllocated (const int minNumElements) throw() | |||||
| void JUCE_CALLTYPE ensureStorageAllocated (const int minNumElements) throw() | |||||
| { | { | ||||
| this->ensureAllocatedSize (minNumElements); | this->ensureAllocatedSize (minNumElements); | ||||
| } | } | ||||
| @@ -1033,8 +1033,8 @@ public: | |||||
| @see addSorted, indexOfSorted, sortArray | @see addSorted, indexOfSorted, sortArray | ||||
| */ | */ | ||||
| template <class ElementComparator> | template <class ElementComparator> | ||||
| void sort (ElementComparator& comparator, | |||||
| const bool retainOrderOfEquivalentItems = false) const throw() | |||||
| void JUCE_CALLTYPE sort (ElementComparator& comparator, | |||||
| const bool retainOrderOfEquivalentItems = false) const throw() | |||||
| { | { | ||||
| (void) comparator; // if you pass in an object with a static compareElements() method, this | (void) comparator; // if you pass in an object with a static compareElements() method, this | ||||
| // avoids getting warning messages about the parameter being unused | // avoids getting warning messages about the parameter being unused | ||||
| @@ -1051,7 +1051,7 @@ public: | |||||
| @see unlockArray | @see unlockArray | ||||
| */ | */ | ||||
| void lockArray() const throw() | |||||
| void JUCE_CALLTYPE lockArray() const throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| } | } | ||||
| @@ -1063,7 +1063,7 @@ public: | |||||
| @see lockArray | @see lockArray | ||||
| */ | */ | ||||
| void unlockArray() const throw() | |||||
| void JUCE_CALLTYPE unlockArray() const throw() | |||||
| { | { | ||||
| lock.exit(); | lock.exit(); | ||||
| } | } | ||||
| @@ -60,7 +60,7 @@ protected: | |||||
| @param granularity_ this is the size of increment by which the internal storage | @param granularity_ this is the size of increment by which the internal storage | ||||
| will be increased. | will be increased. | ||||
| */ | */ | ||||
| ArrayAllocationBase (const int granularity_) throw() | |||||
| JUCE_CALLTYPE ArrayAllocationBase (const int granularity_) throw() | |||||
| : elements (0), | : elements (0), | ||||
| numAllocated (0), | numAllocated (0), | ||||
| granularity (granularity_) | granularity (granularity_) | ||||
| @@ -68,7 +68,7 @@ protected: | |||||
| } | } | ||||
| /** Destructor. */ | /** Destructor. */ | ||||
| ~ArrayAllocationBase() throw() | |||||
| JUCE_CALLTYPE ~ArrayAllocationBase() throw() | |||||
| { | { | ||||
| if (elements != 0) | if (elements != 0) | ||||
| juce_free (elements); | juce_free (elements); | ||||
| @@ -82,7 +82,7 @@ protected: | |||||
| @param numElements the number of elements that are needed | @param numElements the number of elements that are needed | ||||
| */ | */ | ||||
| void setAllocatedSize (const int numElements) throw() | |||||
| void JUCE_CALLTYPE setAllocatedSize (const int numElements) throw() | |||||
| { | { | ||||
| if (numAllocated != numElements) | if (numAllocated != numElements) | ||||
| { | { | ||||
| @@ -114,7 +114,7 @@ protected: | |||||
| @param minNumElements the minimum number of elements that are needed | @param minNumElements the minimum number of elements that are needed | ||||
| */ | */ | ||||
| void ensureAllocatedSize (int minNumElements) throw() | |||||
| void JUCE_CALLTYPE ensureAllocatedSize (int minNumElements) throw() | |||||
| { | { | ||||
| if (minNumElements > numAllocated) | if (minNumElements > numAllocated) | ||||
| { | { | ||||
| @@ -62,11 +62,11 @@ | |||||
| @see sortArrayRetainingOrder | @see sortArrayRetainingOrder | ||||
| */ | */ | ||||
| template <class ElementType, class ElementComparator> | template <class ElementType, class ElementComparator> | ||||
| static void sortArray (ElementComparator& comparator, | |||||
| ElementType* const array, | |||||
| int firstElement, | |||||
| int lastElement, | |||||
| const bool retainOrderOfEquivalentItems) | |||||
| static void JUCE_CALLTYPE sortArray (ElementComparator& comparator, | |||||
| ElementType* const array, | |||||
| int firstElement, | |||||
| int lastElement, | |||||
| const bool retainOrderOfEquivalentItems) | |||||
| { | { | ||||
| (void) comparator; // if you pass in an object with a static compareElements() method, this | (void) comparator; // if you pass in an object with a static compareElements() method, this | ||||
| // avoids getting warning messages about the parameter being unused | // avoids getting warning messages about the parameter being unused | ||||
| @@ -216,11 +216,11 @@ static void sortArray (ElementComparator& comparator, | |||||
| @param lastElement the index of the last element in the range (this is non-inclusive) | @param lastElement the index of the last element in the range (this is non-inclusive) | ||||
| */ | */ | ||||
| template <class ElementType, class ElementComparator> | template <class ElementType, class ElementComparator> | ||||
| static int findInsertIndexInSortedArray (ElementComparator& comparator, | |||||
| ElementType* const array, | |||||
| const ElementType newElement, | |||||
| int firstElement, | |||||
| int lastElement) | |||||
| static int JUCE_CALLTYPE findInsertIndexInSortedArray (ElementComparator& comparator, | |||||
| ElementType* const array, | |||||
| const ElementType newElement, | |||||
| int firstElement, | |||||
| int lastElement) | |||||
| { | { | ||||
| jassert (firstElement <= lastElement); | jassert (firstElement <= lastElement); | ||||
| @@ -279,8 +279,8 @@ template <class ElementType> | |||||
| class IntegerElementComparator | class IntegerElementComparator | ||||
| { | { | ||||
| public: | public: | ||||
| static int compareElements (const ElementType first, | |||||
| const ElementType second) throw() | |||||
| static int JUCE_CALLTYPE compareElements (const ElementType first, | |||||
| const ElementType second) throw() | |||||
| { | { | ||||
| return first - second; | return first - second; | ||||
| } | } | ||||
| @@ -307,8 +307,8 @@ template <class ElementType> | |||||
| class FloatElementComparator | class FloatElementComparator | ||||
| { | { | ||||
| public: | public: | ||||
| static int compareElements (const ElementType first, | |||||
| const ElementType second) throw() | |||||
| static int JUCE_CALLTYPE compareElements (const ElementType first, | |||||
| const ElementType second) throw() | |||||
| { | { | ||||
| return (first < second) ? -1 | return (first < second) ? -1 | ||||
| : ((first == second) ? 0 | : ((first == second) ? 0 | ||||
| @@ -71,7 +71,7 @@ public: | |||||
| @see ArrayAllocationBase | @see ArrayAllocationBase | ||||
| */ | */ | ||||
| OwnedArray (const int granularity = juceDefaultArrayGranularity) throw() | |||||
| JUCE_CALLTYPE OwnedArray (const int granularity = juceDefaultArrayGranularity) throw() | |||||
| : ArrayAllocationBase <ObjectClass*> (granularity), | : ArrayAllocationBase <ObjectClass*> (granularity), | ||||
| numUsed (0) | numUsed (0) | ||||
| { | { | ||||
| @@ -82,14 +82,14 @@ public: | |||||
| To get rid of the array without deleting its objects, use its | To get rid of the array without deleting its objects, use its | ||||
| clear (false) method before deleting it. | clear (false) method before deleting it. | ||||
| */ | */ | ||||
| ~OwnedArray() | |||||
| JUCE_CALLTYPE ~OwnedArray() | |||||
| { | { | ||||
| clear (true); | clear (true); | ||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| /** Clears the array, optionally deleting the objects inside it first. */ | /** Clears the array, optionally deleting the objects inside it first. */ | ||||
| void clear (const bool deleteObjects = true) | |||||
| void JUCE_CALLTYPE clear (const bool deleteObjects = true) | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| @@ -108,7 +108,7 @@ public: | |||||
| /** Returns the number of items currently in the array. | /** Returns the number of items currently in the array. | ||||
| @see operator[] | @see operator[] | ||||
| */ | */ | ||||
| inline int size() const throw() | |||||
| inline int JUCE_CALLTYPE size() const throw() | |||||
| { | { | ||||
| return numUsed; | return numUsed; | ||||
| } | } | ||||
| @@ -121,7 +121,7 @@ public: | |||||
| @see getUnchecked | @see getUnchecked | ||||
| */ | */ | ||||
| inline ObjectClass* operator[] (const int index) const throw() | |||||
| inline ObjectClass* JUCE_CALLTYPE operator[] (const int index) const throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| ObjectClass* const result = (index >= 0 && index < numUsed) ? this->elements [index] | ObjectClass* const result = (index >= 0 && index < numUsed) ? this->elements [index] | ||||
| @@ -136,7 +136,7 @@ public: | |||||
| This is a faster and less safe version of operator[] which doesn't check the index passed in, so | This is a faster and less safe version of operator[] which doesn't check the index passed in, so | ||||
| it can be used when you're sure the index if always going to be legal. | it can be used when you're sure the index if always going to be legal. | ||||
| */ | */ | ||||
| inline ObjectClass* getUnchecked (const int index) const throw() | |||||
| inline ObjectClass* JUCE_CALLTYPE getUnchecked (const int index) const throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| jassert (index >= 0 && index < numUsed); | jassert (index >= 0 && index < numUsed); | ||||
| @@ -151,7 +151,7 @@ public: | |||||
| This will return a null pointer if the array's empty. | This will return a null pointer if the array's empty. | ||||
| @see getLast | @see getLast | ||||
| */ | */ | ||||
| inline ObjectClass* getFirst() const throw() | |||||
| inline ObjectClass* JUCE_CALLTYPE getFirst() const throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| ObjectClass* const result = (numUsed > 0) ? this->elements [0] | ObjectClass* const result = (numUsed > 0) ? this->elements [0] | ||||
| @@ -165,7 +165,7 @@ public: | |||||
| This will return a null pointer if the array's empty. | This will return a null pointer if the array's empty. | ||||
| @see getFirst | @see getFirst | ||||
| */ | */ | ||||
| inline ObjectClass* getLast() const throw() | |||||
| inline ObjectClass* JUCE_CALLTYPE getLast() const throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| ObjectClass* const result = (numUsed > 0) ? this->elements [numUsed - 1] | ObjectClass* const result = (numUsed > 0) ? this->elements [numUsed - 1] | ||||
| @@ -181,7 +181,7 @@ public: | |||||
| @param objectToLookFor the object to look for | @param objectToLookFor the object to look for | ||||
| @returns the index at which the object was found, or -1 if it's not found | @returns the index at which the object was found, or -1 if it's not found | ||||
| */ | */ | ||||
| int indexOf (const ObjectClass* const objectToLookFor) const throw() | |||||
| int JUCE_CALLTYPE indexOf (const ObjectClass* const objectToLookFor) const throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| ObjectClass* const* e = this->elements; | ObjectClass* const* e = this->elements; | ||||
| @@ -206,7 +206,7 @@ public: | |||||
| @param objectToLookFor the object to look for | @param objectToLookFor the object to look for | ||||
| @returns true if the object is in the array | @returns true if the object is in the array | ||||
| */ | */ | ||||
| bool contains (const ObjectClass* const objectToLookFor) const throw() | |||||
| bool JUCE_CALLTYPE contains (const ObjectClass* const objectToLookFor) const throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| @@ -256,7 +256,7 @@ public: | |||||
| @param newObject the new object to add to the array | @param newObject the new object to add to the array | ||||
| @see set, insert, addIfNotAlreadyThere, addSorted | @see set, insert, addIfNotAlreadyThere, addSorted | ||||
| */ | */ | ||||
| void add (const ObjectClass* const newObject) throw() | |||||
| void JUCE_CALLTYPE add (const ObjectClass* const newObject) throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| this->ensureAllocatedSize (numUsed + 1); | this->ensureAllocatedSize (numUsed + 1); | ||||
| @@ -281,8 +281,8 @@ public: | |||||
| @param newObject the new object to add to the array | @param newObject the new object to add to the array | ||||
| @see add, addSorted, addIfNotAlreadyThere, set | @see add, addSorted, addIfNotAlreadyThere, set | ||||
| */ | */ | ||||
| void insert (int indexToInsertAt, | |||||
| const ObjectClass* const newObject) throw() | |||||
| void JUCE_CALLTYPE insert (int indexToInsertAt, | |||||
| const ObjectClass* const newObject) throw() | |||||
| { | { | ||||
| if (indexToInsertAt >= 0) | if (indexToInsertAt >= 0) | ||||
| { | { | ||||
| @@ -317,7 +317,7 @@ public: | |||||
| @param newObject the new object to add to the array | @param newObject the new object to add to the array | ||||
| */ | */ | ||||
| void addIfNotAlreadyThere (const ObjectClass* const newObject) throw() | |||||
| void JUCE_CALLTYPE addIfNotAlreadyThere (const ObjectClass* const newObject) throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| @@ -340,9 +340,9 @@ public: | |||||
| @param deleteOldElement whether to delete the object that's being replaced with the new one | @param deleteOldElement whether to delete the object that's being replaced with the new one | ||||
| @see add, insert, remove | @see add, insert, remove | ||||
| */ | */ | ||||
| void set (const int indexToChange, | |||||
| const ObjectClass* const newObject, | |||||
| const bool deleteOldElement = true) | |||||
| void JUCE_CALLTYPE set (const int indexToChange, | |||||
| const ObjectClass* const newObject, | |||||
| const bool deleteOldElement = true) | |||||
| { | { | ||||
| if (indexToChange >= 0) | if (indexToChange >= 0) | ||||
| { | { | ||||
| @@ -383,8 +383,8 @@ public: | |||||
| @see add, sort | @see add, sort | ||||
| */ | */ | ||||
| template <class ElementComparator> | template <class ElementComparator> | ||||
| void addSorted (ElementComparator& comparator, | |||||
| ObjectClass* const newObject) throw() | |||||
| void JUCE_CALLTYPE addSorted (ElementComparator& comparator, | |||||
| ObjectClass* const newObject) throw() | |||||
| { | { | ||||
| (void) comparator; // if you pass in an object with a static compareElements() method, this | (void) comparator; // if you pass in an object with a static compareElements() method, this | ||||
| // avoids getting warning messages about the parameter being unused | // avoids getting warning messages about the parameter being unused | ||||
| @@ -404,8 +404,8 @@ public: | |||||
| @param deleteObject whether to delete the object that is removed | @param deleteObject whether to delete the object that is removed | ||||
| @see removeObject, removeRange | @see removeObject, removeRange | ||||
| */ | */ | ||||
| void remove (const int indexToRemove, | |||||
| const bool deleteObject = true) | |||||
| void JUCE_CALLTYPE remove (const int indexToRemove, | |||||
| const bool deleteObject = true) | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| ObjectClass* toDelete = 0; | ObjectClass* toDelete = 0; | ||||
| @@ -440,8 +440,8 @@ public: | |||||
| @param deleteObject whether to delete the object (if it's found) | @param deleteObject whether to delete the object (if it's found) | ||||
| @see remove, removeRange | @see remove, removeRange | ||||
| */ | */ | ||||
| void removeObject (const ObjectClass* const objectToRemove, | |||||
| const bool deleteObject = true) | |||||
| void JUCE_CALLTYPE removeObject (const ObjectClass* const objectToRemove, | |||||
| const bool deleteObject = true) | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| ObjectClass** e = this->elements; | ObjectClass** e = this->elements; | ||||
| @@ -473,9 +473,9 @@ public: | |||||
| @param deleteObjects whether to delete the objects that get removed | @param deleteObjects whether to delete the objects that get removed | ||||
| @see remove, removeObject | @see remove, removeObject | ||||
| */ | */ | ||||
| void removeRange (int startIndex, | |||||
| const int numberToRemove, | |||||
| const bool deleteObjects = true) | |||||
| void JUCE_CALLTYPE removeRange (int startIndex, | |||||
| const int numberToRemove, | |||||
| const bool deleteObjects = true) | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| const int endIndex = jlimit (0, numUsed, startIndex + numberToRemove); | const int endIndex = jlimit (0, numUsed, startIndex + numberToRemove); | ||||
| @@ -516,8 +516,8 @@ public: | |||||
| @param deleteObjects whether to also delete the objects that are removed | @param deleteObjects whether to also delete the objects that are removed | ||||
| @see remove, removeObject, removeRange | @see remove, removeObject, removeRange | ||||
| */ | */ | ||||
| void removeLast (int howManyToRemove = 1, | |||||
| const bool deleteObjects = true) | |||||
| void JUCE_CALLTYPE removeLast (int howManyToRemove = 1, | |||||
| const bool deleteObjects = true) | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| @@ -539,8 +539,8 @@ public: | |||||
| If either of the indexes passed in is out-of-range, nothing will happen, | If either of the indexes passed in is out-of-range, nothing will happen, | ||||
| otherwise the two objects at these positions will be exchanged. | otherwise the two objects at these positions will be exchanged. | ||||
| */ | */ | ||||
| void swap (const int index1, | |||||
| const int index2) throw() | |||||
| void JUCE_CALLTYPE swap (const int index1, | |||||
| const int index2) throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| @@ -567,8 +567,8 @@ public: | |||||
| @param newIndex the index at which you'd like this object to end up. If this | @param newIndex the index at which you'd like this object to end up. If this | ||||
| is less than zero, it will be moved to the end of the array | is less than zero, it will be moved to the end of the array | ||||
| */ | */ | ||||
| void move (const int currentIndex, | |||||
| int newIndex) throw() | |||||
| void JUCE_CALLTYPE move (const int currentIndex, | |||||
| int newIndex) throw() | |||||
| { | { | ||||
| if (currentIndex != newIndex) | if (currentIndex != newIndex) | ||||
| { | { | ||||
| @@ -607,7 +607,7 @@ public: | |||||
| because it just swaps their internal pointers. | because it just swaps their internal pointers. | ||||
| */ | */ | ||||
| template <class OtherArrayType> | template <class OtherArrayType> | ||||
| void swapWithArray (OtherArrayType& otherArray) throw() | |||||
| void JUCE_CALLTYPE swapWithArray (OtherArrayType& otherArray) throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| otherArray.lock.enter(); | otherArray.lock.enter(); | ||||
| @@ -625,7 +625,7 @@ public: | |||||
| removing elements, they may have quite a lot of unused space allocated. | removing elements, they may have quite a lot of unused space allocated. | ||||
| This method will reduce the amount of allocated storage to a minimum. | This method will reduce the amount of allocated storage to a minimum. | ||||
| */ | */ | ||||
| void minimiseStorageOverheads() throw() | |||||
| void JUCE_CALLTYPE minimiseStorageOverheads() throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| @@ -650,7 +650,7 @@ public: | |||||
| the array won't have to keep dynamically resizing itself as the elements | the array won't have to keep dynamically resizing itself as the elements | ||||
| are added, and it'll therefore be more efficient. | are added, and it'll therefore be more efficient. | ||||
| */ | */ | ||||
| void ensureStorageAllocated (const int minNumElements) throw() | |||||
| void JUCE_CALLTYPE ensureStorageAllocated (const int minNumElements) throw() | |||||
| { | { | ||||
| this->ensureAllocatedSize (minNumElements); | this->ensureAllocatedSize (minNumElements); | ||||
| } | } | ||||
| @@ -682,8 +682,8 @@ public: | |||||
| @see sortArray | @see sortArray | ||||
| */ | */ | ||||
| template <class ElementComparator> | template <class ElementComparator> | ||||
| void sort (ElementComparator& comparator, | |||||
| const bool retainOrderOfEquivalentItems = false) const throw() | |||||
| void JUCE_CALLTYPE sort (ElementComparator& comparator, | |||||
| const bool retainOrderOfEquivalentItems = false) const throw() | |||||
| { | { | ||||
| (void) comparator; // if you pass in an object with a static compareElements() method, this | (void) comparator; // if you pass in an object with a static compareElements() method, this | ||||
| // avoids getting warning messages about the parameter being unused | // avoids getting warning messages about the parameter being unused | ||||
| @@ -701,7 +701,7 @@ public: | |||||
| @see unlockArray | @see unlockArray | ||||
| */ | */ | ||||
| void lockArray() const throw() | |||||
| void JUCE_CALLTYPE lockArray() const throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| } | } | ||||
| @@ -713,7 +713,7 @@ public: | |||||
| @see lockArray | @see lockArray | ||||
| */ | */ | ||||
| void unlockArray() const throw() | |||||
| void JUCE_CALLTYPE unlockArray() const throw() | |||||
| { | { | ||||
| lock.exit(); | lock.exit(); | ||||
| } | } | ||||
| @@ -61,14 +61,14 @@ public: | |||||
| @see ReferenceCountedObject, ArrayAllocationBase, Array, OwnedArray | @see ReferenceCountedObject, ArrayAllocationBase, Array, OwnedArray | ||||
| */ | */ | ||||
| ReferenceCountedArray (const int granularity = juceDefaultArrayGranularity) throw() | |||||
| JUCE_CALLTYPE ReferenceCountedArray (const int granularity = juceDefaultArrayGranularity) throw() | |||||
| : ArrayAllocationBase <ObjectClass*> (granularity), | : ArrayAllocationBase <ObjectClass*> (granularity), | ||||
| numUsed (0) | numUsed (0) | ||||
| { | { | ||||
| } | } | ||||
| /** Creates a copy of another array */ | /** Creates a copy of another array */ | ||||
| ReferenceCountedArray (const ReferenceCountedArray<ObjectClass>& other) throw() | |||||
| JUCE_CALLTYPE ReferenceCountedArray (const ReferenceCountedArray<ObjectClass>& other) throw() | |||||
| : ArrayAllocationBase <ObjectClass*> (other.granularity), | : ArrayAllocationBase <ObjectClass*> (other.granularity), | ||||
| numUsed (other.numUsed) | numUsed (other.numUsed) | ||||
| { | { | ||||
| @@ -84,7 +84,7 @@ public: | |||||
| Any existing objects in this array will first be released. | Any existing objects in this array will first be released. | ||||
| */ | */ | ||||
| const ReferenceCountedArray<ObjectClass>& operator= (const ReferenceCountedArray<ObjectClass>& other) throw() | |||||
| const ReferenceCountedArray<ObjectClass>& JUCE_CALLTYPE operator= (const ReferenceCountedArray<ObjectClass>& other) throw() | |||||
| { | { | ||||
| if (this != &other) | if (this != &other) | ||||
| { | { | ||||
| @@ -108,7 +108,7 @@ public: | |||||
| Any objects in the array will be released, and may be deleted if not referenced from elsewhere. | Any objects in the array will be released, and may be deleted if not referenced from elsewhere. | ||||
| */ | */ | ||||
| ~ReferenceCountedArray() | |||||
| JUCE_CALLTYPE ~ReferenceCountedArray() | |||||
| { | { | ||||
| clear(); | clear(); | ||||
| } | } | ||||
| @@ -118,7 +118,7 @@ public: | |||||
| Any objects in the array that are not referenced from elsewhere will be deleted. | Any objects in the array that are not referenced from elsewhere will be deleted. | ||||
| */ | */ | ||||
| void clear() | |||||
| void JUCE_CALLTYPE clear() | |||||
| { | { | ||||
| while (numUsed > 0) | while (numUsed > 0) | ||||
| if (this->elements [--numUsed] != 0) | if (this->elements [--numUsed] != 0) | ||||
| @@ -129,7 +129,7 @@ public: | |||||
| } | } | ||||
| /** Returns the current number of objects in the array. */ | /** Returns the current number of objects in the array. */ | ||||
| inline int size() const throw() | |||||
| inline int JUCE_CALLTYPE size() const throw() | |||||
| { | { | ||||
| return numUsed; | return numUsed; | ||||
| } | } | ||||
| @@ -142,7 +142,7 @@ public: | |||||
| @see getUnchecked | @see getUnchecked | ||||
| */ | */ | ||||
| inline ObjectClass* operator[] (const int index) const throw() | |||||
| inline ObjectClass* JUCE_CALLTYPE operator[] (const int index) const throw() | |||||
| { | { | ||||
| return (index >= 0 && index < numUsed) ? this->elements [index] | return (index >= 0 && index < numUsed) ? this->elements [index] | ||||
| : (ObjectClass*) 0; | : (ObjectClass*) 0; | ||||
| @@ -153,7 +153,7 @@ public: | |||||
| This is a faster and less safe version of operator[] which doesn't check the index passed in, so | This is a faster and less safe version of operator[] which doesn't check the index passed in, so | ||||
| it can be used when you're sure the index if always going to be legal. | it can be used when you're sure the index if always going to be legal. | ||||
| */ | */ | ||||
| inline ObjectClass* getUnchecked (const int index) const throw() | |||||
| inline ObjectClass* JUCE_CALLTYPE getUnchecked (const int index) const throw() | |||||
| { | { | ||||
| jassert (index >= 0 && index < numUsed); | jassert (index >= 0 && index < numUsed); | ||||
| return this->elements [index]; | return this->elements [index]; | ||||
| @@ -164,7 +164,7 @@ public: | |||||
| This will return a null pointer if the array's empty. | This will return a null pointer if the array's empty. | ||||
| @see getLast | @see getLast | ||||
| */ | */ | ||||
| inline ObjectClass* getFirst() const throw() | |||||
| inline ObjectClass* JUCE_CALLTYPE getFirst() const throw() | |||||
| { | { | ||||
| return (numUsed > 0) ? this->elements [0] | return (numUsed > 0) ? this->elements [0] | ||||
| : (ObjectClass*) 0; | : (ObjectClass*) 0; | ||||
| @@ -175,7 +175,7 @@ public: | |||||
| This will return a null pointer if the array's empty. | This will return a null pointer if the array's empty. | ||||
| @see getFirst | @see getFirst | ||||
| */ | */ | ||||
| inline ObjectClass* getLast() const throw() | |||||
| inline ObjectClass* JUCE_CALLTYPE getLast() const throw() | |||||
| { | { | ||||
| return (numUsed > 0) ? this->elements [numUsed - 1] | return (numUsed > 0) ? this->elements [numUsed - 1] | ||||
| : (ObjectClass*) 0; | : (ObjectClass*) 0; | ||||
| @@ -187,7 +187,7 @@ public: | |||||
| @param objectToLookFor the object to look for | @param objectToLookFor the object to look for | ||||
| @returns the index at which the object was found, or -1 if it's not found | @returns the index at which the object was found, or -1 if it's not found | ||||
| */ | */ | ||||
| int indexOf (const ObjectClass* const objectToLookFor) const throw() | |||||
| int JUCE_CALLTYPE indexOf (const ObjectClass* const objectToLookFor) const throw() | |||||
| { | { | ||||
| ObjectClass** e = this->elements; | ObjectClass** e = this->elements; | ||||
| @@ -207,7 +207,7 @@ public: | |||||
| @param objectToLookFor the object to look for | @param objectToLookFor the object to look for | ||||
| @returns true if the object is in the array | @returns true if the object is in the array | ||||
| */ | */ | ||||
| bool contains (const ObjectClass* const objectToLookFor) const throw() | |||||
| bool JUCE_CALLTYPE contains (const ObjectClass* const objectToLookFor) const throw() | |||||
| { | { | ||||
| ObjectClass** e = this->elements; | ObjectClass** e = this->elements; | ||||
| @@ -229,7 +229,7 @@ public: | |||||
| @param newObject the new object to add to the array | @param newObject the new object to add to the array | ||||
| @see set, insert, addIfNotAlreadyThere, addSorted, addArray | @see set, insert, addIfNotAlreadyThere, addSorted, addArray | ||||
| */ | */ | ||||
| void add (ObjectClass* const newObject) throw() | |||||
| void JUCE_CALLTYPE add (ObjectClass* const newObject) throw() | |||||
| { | { | ||||
| this->ensureAllocatedSize (numUsed + 1); | this->ensureAllocatedSize (numUsed + 1); | ||||
| this->elements [numUsed++] = newObject; | this->elements [numUsed++] = newObject; | ||||
| @@ -251,8 +251,8 @@ public: | |||||
| @param newObject the new object to add to the array | @param newObject the new object to add to the array | ||||
| @see add, addSorted, addIfNotAlreadyThere, set | @see add, addSorted, addIfNotAlreadyThere, set | ||||
| */ | */ | ||||
| void insert (int indexToInsertAt, | |||||
| ObjectClass* const newObject) throw() | |||||
| void JUCE_CALLTYPE insert (int indexToInsertAt, | |||||
| ObjectClass* const newObject) throw() | |||||
| { | { | ||||
| if (indexToInsertAt >= 0) | if (indexToInsertAt >= 0) | ||||
| { | { | ||||
| @@ -287,7 +287,7 @@ public: | |||||
| @param newObject the new object to add to the array | @param newObject the new object to add to the array | ||||
| */ | */ | ||||
| void addIfNotAlreadyThere (ObjectClass* const newObject) throw() | |||||
| void JUCE_CALLTYPE addIfNotAlreadyThere (ObjectClass* const newObject) throw() | |||||
| { | { | ||||
| if (! contains (newObject)) | if (! contains (newObject)) | ||||
| add (newObject); | add (newObject); | ||||
| @@ -305,8 +305,8 @@ public: | |||||
| @param newObject the new value to set for this index. | @param newObject the new value to set for this index. | ||||
| @see add, insert, remove | @see add, insert, remove | ||||
| */ | */ | ||||
| void set (const int indexToChange, | |||||
| ObjectClass* const newObject) | |||||
| void JUCE_CALLTYPE set (const int indexToChange, | |||||
| ObjectClass* const newObject) | |||||
| { | { | ||||
| if (indexToChange >= 0) | if (indexToChange >= 0) | ||||
| { | { | ||||
| @@ -337,9 +337,9 @@ public: | |||||
| all available elements will be copied. | all available elements will be copied. | ||||
| @see add | @see add | ||||
| */ | */ | ||||
| void addArray (const ReferenceCountedArray<ObjectClass>& arrayToAddFrom, | |||||
| int startIndex = 0, | |||||
| int numElementsToAdd = -1) throw() | |||||
| void JUCE_CALLTYPE addArray (const ReferenceCountedArray<ObjectClass>& arrayToAddFrom, | |||||
| int startIndex = 0, | |||||
| int numElementsToAdd = -1) throw() | |||||
| { | { | ||||
| if (startIndex < 0) | if (startIndex < 0) | ||||
| { | { | ||||
| @@ -371,8 +371,8 @@ public: | |||||
| @see add, sort | @see add, sort | ||||
| */ | */ | ||||
| template <class ElementComparator> | template <class ElementComparator> | ||||
| void addSorted (ElementComparator& comparator, | |||||
| ObjectClass* newObject) throw() | |||||
| void JUCE_CALLTYPE addSorted (ElementComparator& comparator, | |||||
| ObjectClass* newObject) throw() | |||||
| { | { | ||||
| insert (findInsertIndexInSortedArray (comparator, this->elements, newObject, 0, numUsed), newObject); | insert (findInsertIndexInSortedArray (comparator, this->elements, newObject, 0, numUsed), newObject); | ||||
| } | } | ||||
| @@ -391,7 +391,7 @@ public: | |||||
| @param indexToRemove the index of the element to remove | @param indexToRemove the index of the element to remove | ||||
| @see removeObject, removeRange | @see removeObject, removeRange | ||||
| */ | */ | ||||
| void remove (const int indexToRemove) | |||||
| void JUCE_CALLTYPE remove (const int indexToRemove) | |||||
| { | { | ||||
| if (indexToRemove >= 0 && indexToRemove < numUsed) | if (indexToRemove >= 0 && indexToRemove < numUsed) | ||||
| { | { | ||||
| @@ -419,7 +419,7 @@ public: | |||||
| @param objectToRemove the object to try to remove | @param objectToRemove the object to try to remove | ||||
| @see remove, removeRange | @see remove, removeRange | ||||
| */ | */ | ||||
| void removeObject (ObjectClass* const objectToRemove) | |||||
| void JUCE_CALLTYPE removeObject (ObjectClass* const objectToRemove) | |||||
| { | { | ||||
| remove (indexOf (objectToRemove)); | remove (indexOf (objectToRemove)); | ||||
| } | } | ||||
| @@ -439,8 +439,8 @@ public: | |||||
| @param numberToRemove how many objects should be removed | @param numberToRemove how many objects should be removed | ||||
| @see remove, removeObject | @see remove, removeObject | ||||
| */ | */ | ||||
| void removeRange (const int startIndex, | |||||
| const int numberToRemove) | |||||
| void JUCE_CALLTYPE removeRange (const int startIndex, | |||||
| const int numberToRemove) | |||||
| { | { | ||||
| const int start = jlimit (0, numUsed, startIndex); | const int start = jlimit (0, numUsed, startIndex); | ||||
| const int end = jlimit (0, numUsed, startIndex + numberToRemove); | const int end = jlimit (0, numUsed, startIndex + numberToRemove); | ||||
| @@ -481,7 +481,7 @@ public: | |||||
| @param howManyToRemove how many objects to remove from the end of the array | @param howManyToRemove how many objects to remove from the end of the array | ||||
| @see remove, removeObject, removeRange | @see remove, removeObject, removeRange | ||||
| */ | */ | ||||
| void removeLast (int howManyToRemove = 1) | |||||
| void JUCE_CALLTYPE removeLast (int howManyToRemove = 1) | |||||
| { | { | ||||
| if (howManyToRemove > numUsed) | if (howManyToRemove > numUsed) | ||||
| howManyToRemove = numUsed; | howManyToRemove = numUsed; | ||||
| @@ -495,8 +495,8 @@ public: | |||||
| If either of the indexes passed in is out-of-range, nothing will happen, | If either of the indexes passed in is out-of-range, nothing will happen, | ||||
| otherwise the two objects at these positions will be exchanged. | otherwise the two objects at these positions will be exchanged. | ||||
| */ | */ | ||||
| void swap (const int index1, | |||||
| const int index2) throw() | |||||
| void JUCE_CALLTYPE swap (const int index1, | |||||
| const int index2) throw() | |||||
| { | { | ||||
| if (index1 >= 0 && index1 < numUsed | if (index1 >= 0 && index1 < numUsed | ||||
| && index2 >= 0 && index2 < numUsed) | && index2 >= 0 && index2 < numUsed) | ||||
| @@ -519,8 +519,8 @@ public: | |||||
| @param newIndex the index at which you'd like this object to end up. If this | @param newIndex the index at which you'd like this object to end up. If this | ||||
| is less than zero, it will be moved to the end of the array | is less than zero, it will be moved to the end of the array | ||||
| */ | */ | ||||
| void move (const int currentIndex, | |||||
| int newIndex) throw() | |||||
| void JUCE_CALLTYPE move (const int currentIndex, | |||||
| int newIndex) throw() | |||||
| { | { | ||||
| if (currentIndex != newIndex) | if (currentIndex != newIndex) | ||||
| { | { | ||||
| @@ -554,7 +554,7 @@ public: | |||||
| @returns true only if the other array contains the same objects in the same order | @returns true only if the other array contains the same objects in the same order | ||||
| */ | */ | ||||
| bool operator== (const ReferenceCountedArray<ObjectClass>& other) const throw() | |||||
| bool JUCE_CALLTYPE operator== (const ReferenceCountedArray<ObjectClass>& other) const throw() | |||||
| { | { | ||||
| if (numUsed != other.numUsed) | if (numUsed != other.numUsed) | ||||
| return false; | return false; | ||||
| @@ -570,7 +570,7 @@ public: | |||||
| @see operator== | @see operator== | ||||
| */ | */ | ||||
| bool operator!= (const ReferenceCountedArray<ObjectClass>& other) const throw() | |||||
| bool JUCE_CALLTYPE operator!= (const ReferenceCountedArray<ObjectClass>& other) const throw() | |||||
| { | { | ||||
| return ! operator== (other); | return ! operator== (other); | ||||
| } | } | ||||
| @@ -603,8 +603,8 @@ public: | |||||
| @see sortArray | @see sortArray | ||||
| */ | */ | ||||
| template <class ElementComparator> | template <class ElementComparator> | ||||
| void sort (ElementComparator& comparator, | |||||
| const bool retainOrderOfEquivalentItems = false) const throw() | |||||
| void JUCE_CALLTYPE sort (ElementComparator& comparator, | |||||
| const bool retainOrderOfEquivalentItems = false) const throw() | |||||
| { | { | ||||
| (void) comparator; // if you pass in an object with a static compareElements() method, this | (void) comparator; // if you pass in an object with a static compareElements() method, this | ||||
| // avoids getting warning messages about the parameter being unused | // avoids getting warning messages about the parameter being unused | ||||
| @@ -618,7 +618,7 @@ public: | |||||
| removing elements, they may have quite a lot of unused space allocated. | removing elements, they may have quite a lot of unused space allocated. | ||||
| This method will reduce the amount of allocated storage to a minimum. | This method will reduce the amount of allocated storage to a minimum. | ||||
| */ | */ | ||||
| void minimiseStorageOverheads() throw() | |||||
| void JUCE_CALLTYPE minimiseStorageOverheads() throw() | |||||
| { | { | ||||
| if (numUsed == 0) | if (numUsed == 0) | ||||
| { | { | ||||
| @@ -72,7 +72,7 @@ public: | |||||
| This is done automatically by the smart pointer, but is public just | This is done automatically by the smart pointer, but is public just | ||||
| in case it's needed for nefarious purposes. | in case it's needed for nefarious purposes. | ||||
| */ | */ | ||||
| inline void incReferenceCount() throw() | |||||
| inline void JUCE_CALLTYPE incReferenceCount() throw() | |||||
| { | { | ||||
| atomicIncrement (refCounts); | atomicIncrement (refCounts); | ||||
| @@ -83,7 +83,7 @@ public: | |||||
| If the count gets to zero, the object will be deleted. | If the count gets to zero, the object will be deleted. | ||||
| */ | */ | ||||
| inline void decReferenceCount() throw() | |||||
| inline void JUCE_CALLTYPE decReferenceCount() throw() | |||||
| { | { | ||||
| jassert (refCounts > 0); | jassert (refCounts > 0); | ||||
| @@ -92,7 +92,7 @@ public: | |||||
| } | } | ||||
| /** Returns the object's current reference count. */ | /** Returns the object's current reference count. */ | ||||
| inline int getReferenceCount() const throw() | |||||
| inline int JUCE_CALLTYPE getReferenceCount() const throw() | |||||
| { | { | ||||
| return refCounts; | return refCounts; | ||||
| } | } | ||||
| @@ -101,13 +101,13 @@ public: | |||||
| protected: | protected: | ||||
| //============================================================================== | //============================================================================== | ||||
| /** Creates the reference-counted object (with an initial ref count of zero). */ | /** Creates the reference-counted object (with an initial ref count of zero). */ | ||||
| ReferenceCountedObject() | |||||
| JUCE_CALLTYPE ReferenceCountedObject() | |||||
| : refCounts (0) | : refCounts (0) | ||||
| { | { | ||||
| } | } | ||||
| /** Destructor. */ | /** Destructor. */ | ||||
| virtual ~ReferenceCountedObject() | |||||
| virtual JUCE_CALLTYPE ~ReferenceCountedObject() | |||||
| { | { | ||||
| // it's dangerous to delete an object that's still referenced by something else! | // it's dangerous to delete an object that's still referenced by something else! | ||||
| jassert (refCounts == 0); | jassert (refCounts == 0); | ||||
| @@ -137,7 +137,7 @@ class ReferenceCountedObjectPtr | |||||
| public: | public: | ||||
| //============================================================================== | //============================================================================== | ||||
| /** Creates a pointer to a null object. */ | /** Creates a pointer to a null object. */ | ||||
| inline ReferenceCountedObjectPtr() throw() | |||||
| inline JUCE_CALLTYPE ReferenceCountedObjectPtr() throw() | |||||
| : referencedObject (0) | : referencedObject (0) | ||||
| { | { | ||||
| } | } | ||||
| @@ -146,7 +146,7 @@ public: | |||||
| This will increment the object's reference-count if it is non-null. | This will increment the object's reference-count if it is non-null. | ||||
| */ | */ | ||||
| inline ReferenceCountedObjectPtr (ReferenceCountedObjectClass* const refCountedObject) throw() | |||||
| inline JUCE_CALLTYPE ReferenceCountedObjectPtr (ReferenceCountedObjectClass* const refCountedObject) throw() | |||||
| : referencedObject (refCountedObject) | : referencedObject (refCountedObject) | ||||
| { | { | ||||
| if (refCountedObject != 0) | if (refCountedObject != 0) | ||||
| @@ -157,7 +157,7 @@ public: | |||||
| This will increment the object's reference-count (if it is non-null). | This will increment the object's reference-count (if it is non-null). | ||||
| */ | */ | ||||
| inline ReferenceCountedObjectPtr (const ReferenceCountedObjectPtr<ReferenceCountedObjectClass>& other) throw() | |||||
| inline JUCE_CALLTYPE ReferenceCountedObjectPtr (const ReferenceCountedObjectPtr<ReferenceCountedObjectClass>& other) throw() | |||||
| : referencedObject (other.referencedObject) | : referencedObject (other.referencedObject) | ||||
| { | { | ||||
| if (referencedObject != 0) | if (referencedObject != 0) | ||||
| @@ -169,7 +169,7 @@ public: | |||||
| The reference count of the old object is decremented, and it might be | The reference count of the old object is decremented, and it might be | ||||
| deleted if it hits zero. The new object's count is incremented. | deleted if it hits zero. The new object's count is incremented. | ||||
| */ | */ | ||||
| const ReferenceCountedObjectPtr<ReferenceCountedObjectClass>& operator= (const ReferenceCountedObjectPtr<ReferenceCountedObjectClass>& other) | |||||
| const ReferenceCountedObjectPtr<ReferenceCountedObjectClass>& JUCE_CALLTYPE operator= (const ReferenceCountedObjectPtr<ReferenceCountedObjectClass>& other) | |||||
| { | { | ||||
| ReferenceCountedObjectClass* const newObject = other.referencedObject; | ReferenceCountedObjectClass* const newObject = other.referencedObject; | ||||
| @@ -192,7 +192,7 @@ public: | |||||
| The reference count of the old object is decremented, and it might be | The reference count of the old object is decremented, and it might be | ||||
| deleted if it hits zero. The new object's count is incremented. | deleted if it hits zero. The new object's count is incremented. | ||||
| */ | */ | ||||
| const ReferenceCountedObjectPtr<ReferenceCountedObjectClass>& operator= (ReferenceCountedObjectClass* const newObject) | |||||
| const ReferenceCountedObjectPtr<ReferenceCountedObjectClass>& JUCE_CALLTYPE operator= (ReferenceCountedObjectClass* const newObject) | |||||
| { | { | ||||
| if (referencedObject != newObject) | if (referencedObject != newObject) | ||||
| { | { | ||||
| @@ -213,7 +213,7 @@ public: | |||||
| This will decrement the object's reference-count, and may delete it if it | This will decrement the object's reference-count, and may delete it if it | ||||
| gets to zero. | gets to zero. | ||||
| */ | */ | ||||
| inline ~ReferenceCountedObjectPtr() | |||||
| inline JUCE_CALLTYPE ~ReferenceCountedObjectPtr() | |||||
| { | { | ||||
| if (referencedObject != 0) | if (referencedObject != 0) | ||||
| referencedObject->decReferenceCount(); | referencedObject->decReferenceCount(); | ||||
| @@ -223,25 +223,25 @@ public: | |||||
| The pointer returned may be zero, of course. | The pointer returned may be zero, of course. | ||||
| */ | */ | ||||
| inline operator ReferenceCountedObjectClass*() const throw() | |||||
| inline JUCE_CALLTYPE operator ReferenceCountedObjectClass*() const throw() | |||||
| { | { | ||||
| return referencedObject; | return referencedObject; | ||||
| } | } | ||||
| /** Returns true if this pointer refers to the given object. */ | /** Returns true if this pointer refers to the given object. */ | ||||
| inline bool operator== (ReferenceCountedObjectClass* const object) const throw() | |||||
| inline bool JUCE_CALLTYPE operator== (ReferenceCountedObjectClass* const object) const throw() | |||||
| { | { | ||||
| return referencedObject == object; | return referencedObject == object; | ||||
| } | } | ||||
| /** Returns true if this pointer doesn't refer to the given object. */ | /** Returns true if this pointer doesn't refer to the given object. */ | ||||
| inline bool operator!= (ReferenceCountedObjectClass* const object) const throw() | |||||
| inline bool JUCE_CALLTYPE operator!= (ReferenceCountedObjectClass* const object) const throw() | |||||
| { | { | ||||
| return referencedObject != object; | return referencedObject != object; | ||||
| } | } | ||||
| // the -> operator is called on the referenced object | // the -> operator is called on the referenced object | ||||
| inline ReferenceCountedObjectClass* operator->() const throw() | |||||
| inline ReferenceCountedObjectClass* JUCE_CALLTYPE operator->() const throw() | |||||
| { | { | ||||
| return referencedObject; | return referencedObject; | ||||
| } | } | ||||
| @@ -72,7 +72,7 @@ public: | |||||
| @see ArrayAllocationBase | @see ArrayAllocationBase | ||||
| */ | */ | ||||
| SortedSet (const int granularity = juceDefaultArrayGranularity) throw() | |||||
| JUCE_CALLTYPE SortedSet (const int granularity = juceDefaultArrayGranularity) throw() | |||||
| : ArrayAllocationBase <ElementType> (granularity), | : ArrayAllocationBase <ElementType> (granularity), | ||||
| numUsed (0) | numUsed (0) | ||||
| { | { | ||||
| @@ -81,7 +81,7 @@ public: | |||||
| /** Creates a copy of another set. | /** Creates a copy of another set. | ||||
| @param other the set to copy | @param other the set to copy | ||||
| */ | */ | ||||
| SortedSet (const SortedSet<ElementType, TypeOfCriticalSectionToUse>& other) throw() | |||||
| JUCE_CALLTYPE SortedSet (const SortedSet<ElementType, TypeOfCriticalSectionToUse>& other) throw() | |||||
| : ArrayAllocationBase <ElementType> (other.granularity) | : ArrayAllocationBase <ElementType> (other.granularity) | ||||
| { | { | ||||
| other.lockSet(); | other.lockSet(); | ||||
| @@ -92,14 +92,14 @@ public: | |||||
| } | } | ||||
| /** Destructor. */ | /** Destructor. */ | ||||
| ~SortedSet() throw() | |||||
| JUCE_CALLTYPE ~SortedSet() throw() | |||||
| { | { | ||||
| } | } | ||||
| /** Copies another set over this one. | /** Copies another set over this one. | ||||
| @param other the set to copy | @param other the set to copy | ||||
| */ | */ | ||||
| const SortedSet <ElementType, TypeOfCriticalSectionToUse>& operator= (const SortedSet <ElementType, TypeOfCriticalSectionToUse>& other) throw() | |||||
| const SortedSet <ElementType, TypeOfCriticalSectionToUse>& JUCE_CALLTYPE operator= (const SortedSet <ElementType, TypeOfCriticalSectionToUse>& other) throw() | |||||
| { | { | ||||
| if (this != &other) | if (this != &other) | ||||
| { | { | ||||
| @@ -127,7 +127,7 @@ public: | |||||
| @param other the other set to compare with | @param other the other set to compare with | ||||
| */ | */ | ||||
| bool operator== (const SortedSet<ElementType>& other) const throw() | |||||
| bool JUCE_CALLTYPE operator== (const SortedSet<ElementType>& other) const throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| @@ -157,7 +157,7 @@ public: | |||||
| @param other the other set to compare with | @param other the other set to compare with | ||||
| */ | */ | ||||
| bool operator!= (const SortedSet<ElementType>& other) const throw() | |||||
| bool JUCE_CALLTYPE operator!= (const SortedSet<ElementType>& other) const throw() | |||||
| { | { | ||||
| return ! operator== (other); | return ! operator== (other); | ||||
| } | } | ||||
| @@ -171,7 +171,7 @@ public: | |||||
| @see clearQuick | @see clearQuick | ||||
| */ | */ | ||||
| void clear() throw() | |||||
| void JUCE_CALLTYPE clear() throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| this->setAllocatedSize (0); | this->setAllocatedSize (0); | ||||
| @@ -183,7 +183,7 @@ public: | |||||
| @see clear | @see clear | ||||
| */ | */ | ||||
| void clearQuick() throw() | |||||
| void JUCE_CALLTYPE clearQuick() throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| numUsed = 0; | numUsed = 0; | ||||
| @@ -193,7 +193,7 @@ public: | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Returns the current number of elements in the set. | /** Returns the current number of elements in the set. | ||||
| */ | */ | ||||
| inline int size() const throw() | |||||
| inline int JUCE_CALLTYPE size() const throw() | |||||
| { | { | ||||
| return numUsed; | return numUsed; | ||||
| } | } | ||||
| @@ -209,7 +209,7 @@ public: | |||||
| @param index the index of the element being requested (0 is the first element in the set) | @param index the index of the element being requested (0 is the first element in the set) | ||||
| @see getUnchecked, getFirst, getLast | @see getUnchecked, getFirst, getLast | ||||
| */ | */ | ||||
| inline ElementType operator[] (const int index) const throw() | |||||
| inline ElementType JUCE_CALLTYPE operator[] (const int index) const throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| const ElementType result = (index >= 0 && index < numUsed) ? this->elements [index] | const ElementType result = (index >= 0 && index < numUsed) ? this->elements [index] | ||||
| @@ -227,7 +227,7 @@ public: | |||||
| @param index the index of the element being requested (0 is the first element in the set) | @param index the index of the element being requested (0 is the first element in the set) | ||||
| @see operator[], getFirst, getLast | @see operator[], getFirst, getLast | ||||
| */ | */ | ||||
| inline ElementType getUnchecked (const int index) const throw() | |||||
| inline ElementType JUCE_CALLTYPE getUnchecked (const int index) const throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| jassert (index >= 0 && index < numUsed); | jassert (index >= 0 && index < numUsed); | ||||
| @@ -241,7 +241,7 @@ public: | |||||
| @see operator[], getUnchecked, getLast | @see operator[], getUnchecked, getLast | ||||
| */ | */ | ||||
| inline ElementType getFirst() const throw() | |||||
| inline ElementType JUCE_CALLTYPE getFirst() const throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| const ElementType result = (numUsed > 0) ? this->elements [0] | const ElementType result = (numUsed > 0) ? this->elements [0] | ||||
| @@ -255,7 +255,7 @@ public: | |||||
| @see operator[], getUnchecked, getFirst | @see operator[], getUnchecked, getFirst | ||||
| */ | */ | ||||
| inline ElementType getLast() const throw() | |||||
| inline ElementType JUCE_CALLTYPE getLast() const throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| const ElementType result = (numUsed > 0) ? this->elements [numUsed - 1] | const ElementType result = (numUsed > 0) ? this->elements [numUsed - 1] | ||||
| @@ -274,7 +274,7 @@ public: | |||||
| @param elementToLookFor the value or object to look for | @param elementToLookFor the value or object to look for | ||||
| @returns the index of the object, or -1 if it's not found | @returns the index of the object, or -1 if it's not found | ||||
| */ | */ | ||||
| int indexOf (const ElementType elementToLookFor) const throw() | |||||
| int JUCE_CALLTYPE indexOf (const ElementType elementToLookFor) const throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| @@ -315,7 +315,7 @@ public: | |||||
| @param elementToLookFor the value or object to look for | @param elementToLookFor the value or object to look for | ||||
| @returns true if the item is found | @returns true if the item is found | ||||
| */ | */ | ||||
| bool contains (const ElementType elementToLookFor) const throw() | |||||
| bool JUCE_CALLTYPE contains (const ElementType elementToLookFor) const throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| @@ -357,7 +357,7 @@ public: | |||||
| @param newElement the new object to add to the set | @param newElement the new object to add to the set | ||||
| @see set, insert, addIfNotAlreadyThere, addSorted, addSet, addArray | @see set, insert, addIfNotAlreadyThere, addSorted, addSet, addArray | ||||
| */ | */ | ||||
| void add (const ElementType newElement) throw() | |||||
| void JUCE_CALLTYPE add (const ElementType newElement) throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| @@ -405,8 +405,8 @@ public: | |||||
| @param numElementsToAdd how many elements are in this other array | @param numElementsToAdd how many elements are in this other array | ||||
| @see add | @see add | ||||
| */ | */ | ||||
| void addArray (const ElementType* elementsToAdd, | |||||
| int numElementsToAdd) throw() | |||||
| void JUCE_CALLTYPE addArray (const ElementType* elementsToAdd, | |||||
| int numElementsToAdd) throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| @@ -426,9 +426,9 @@ public: | |||||
| @see add | @see add | ||||
| */ | */ | ||||
| template <class OtherSetType> | template <class OtherSetType> | ||||
| void addSet (const OtherSetType& setToAddFrom, | |||||
| int startIndex = 0, | |||||
| int numElementsToAdd = -1) throw() | |||||
| void JUCE_CALLTYPE addSet (const OtherSetType& setToAddFrom, | |||||
| int startIndex = 0, | |||||
| int numElementsToAdd = -1) throw() | |||||
| { | { | ||||
| setToAddFrom.lockSet(); | setToAddFrom.lockSet(); | ||||
| lock.enter(); | lock.enter(); | ||||
| @@ -463,7 +463,7 @@ public: | |||||
| @returns the element that has been removed | @returns the element that has been removed | ||||
| @see removeValue, removeRange | @see removeValue, removeRange | ||||
| */ | */ | ||||
| ElementType remove (const int indexToRemove) throw() | |||||
| ElementType JUCE_CALLTYPE remove (const int indexToRemove) throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| @@ -498,7 +498,7 @@ public: | |||||
| @param valueToRemove the object to try to remove | @param valueToRemove the object to try to remove | ||||
| @see remove, removeRange | @see remove, removeRange | ||||
| */ | */ | ||||
| void removeValue (const ElementType valueToRemove) throw() | |||||
| void JUCE_CALLTYPE removeValue (const ElementType valueToRemove) throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| remove (indexOf (valueToRemove)); | remove (indexOf (valueToRemove)); | ||||
| @@ -511,7 +511,7 @@ public: | |||||
| @see removeValuesNotIn, remove, removeValue, removeRange | @see removeValuesNotIn, remove, removeValue, removeRange | ||||
| */ | */ | ||||
| template <class OtherSetType> | template <class OtherSetType> | ||||
| void removeValuesIn (const OtherSetType& otherSet) throw() | |||||
| void JUCE_CALLTYPE removeValuesIn (const OtherSetType& otherSet) throw() | |||||
| { | { | ||||
| otherSet.lockSet(); | otherSet.lockSet(); | ||||
| lock.enter(); | lock.enter(); | ||||
| @@ -542,7 +542,7 @@ public: | |||||
| @see removeValuesIn, remove, removeValue, removeRange | @see removeValuesIn, remove, removeValue, removeRange | ||||
| */ | */ | ||||
| template <class OtherSetType> | template <class OtherSetType> | ||||
| void removeValuesNotIn (const OtherSetType& otherSet) throw() | |||||
| void JUCE_CALLTYPE removeValuesNotIn (const OtherSetType& otherSet) throw() | |||||
| { | { | ||||
| otherSet.lockSet(); | otherSet.lockSet(); | ||||
| lock.enter(); | lock.enter(); | ||||
| @@ -572,7 +572,7 @@ public: | |||||
| removing elements, they may have quite a lot of unused space allocated. | removing elements, they may have quite a lot of unused space allocated. | ||||
| This method will reduce the amount of allocated storage to a minimum. | This method will reduce the amount of allocated storage to a minimum. | ||||
| */ | */ | ||||
| void minimiseStorageOverheads() throw() | |||||
| void JUCE_CALLTYPE minimiseStorageOverheads() throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| @@ -599,7 +599,7 @@ public: | |||||
| @see unlockSet | @see unlockSet | ||||
| */ | */ | ||||
| void lockSet() const throw() | |||||
| void JUCE_CALLTYPE lockSet() const throw() | |||||
| { | { | ||||
| lock.enter(); | lock.enter(); | ||||
| } | } | ||||
| @@ -611,7 +611,7 @@ public: | |||||
| @see lockSet | @see lockSet | ||||
| */ | */ | ||||
| void unlockSet() const throw() | |||||
| void JUCE_CALLTYPE unlockSet() const throw() | |||||
| { | { | ||||
| lock.exit(); | lock.exit(); | ||||
| } | } | ||||
| @@ -624,7 +624,7 @@ private: | |||||
| int numUsed; | int numUsed; | ||||
| TypeOfCriticalSectionToUse lock; | TypeOfCriticalSectionToUse lock; | ||||
| void insertInternal (const int indexToInsertAt, const ElementType newElement) throw() | |||||
| void JUCE_CALLTYPE insertInternal (const int indexToInsertAt, const ElementType newElement) throw() | |||||
| { | { | ||||
| this->ensureAllocatedSize (numUsed + 1); | this->ensureAllocatedSize (numUsed + 1); | ||||
| @@ -53,50 +53,50 @@ BEGIN_JUCE_NAMESPACE | |||||
| #endif | #endif | ||||
| //============================================================================== | //============================================================================== | ||||
| void* juce_fileOpen (const String& path, bool forWriting); | |||||
| void juce_fileClose (void* handle); | |||||
| int juce_fileWrite (void* handle, void* buffer, int size); | |||||
| int64 juce_fileGetPosition (void* handle); | |||||
| int64 juce_fileSetPosition (void* handle, int64 pos); | |||||
| void juce_fileFlush (void* handle); | |||||
| bool juce_fileExists (const String& fileName, const bool dontCountDirectories); | |||||
| bool juce_isDirectory (const String& fileName); | |||||
| int64 juce_getFileSize (const String& fileName); | |||||
| bool juce_canWriteToFile (const String& fileName); | |||||
| bool juce_setFileReadOnly (const String& fileName, bool isReadOnly); | |||||
| void juce_getFileTimes (const String& fileName, int64& modificationTime, int64& accessTime, int64& creationTime); | |||||
| bool juce_setFileTimes (const String& fileName, int64 modificationTime, int64 accessTime, int64 creationTime); | |||||
| bool juce_deleteFile (const String& fileName); | |||||
| bool juce_copyFile (const String& source, const String& dest); | |||||
| bool juce_moveFile (const String& source, const String& dest); | |||||
| void* juce_fileOpen (const String& path, bool forWriting) throw(); | |||||
| void juce_fileClose (void* handle) throw(); | |||||
| int juce_fileWrite (void* handle, void* buffer, int size) throw(); | |||||
| int64 juce_fileGetPosition (void* handle) throw(); | |||||
| int64 juce_fileSetPosition (void* handle, int64 pos) throw(); | |||||
| void juce_fileFlush (void* handle) throw(); | |||||
| bool juce_fileExists (const String& fileName, const bool dontCountDirectories) throw(); | |||||
| bool juce_isDirectory (const String& fileName) throw(); | |||||
| int64 juce_getFileSize (const String& fileName) throw(); | |||||
| bool juce_canWriteToFile (const String& fileName) throw(); | |||||
| bool juce_setFileReadOnly (const String& fileName, bool isReadOnly) throw(); | |||||
| void juce_getFileTimes (const String& fileName, int64& modificationTime, int64& accessTime, int64& creationTime) throw(); | |||||
| bool juce_setFileTimes (const String& fileName, int64 modificationTime, int64 accessTime, int64 creationTime) throw(); | |||||
| bool juce_deleteFile (const String& fileName) throw(); | |||||
| bool juce_copyFile (const String& source, const String& dest) throw(); | |||||
| bool juce_moveFile (const String& source, const String& dest) throw(); | |||||
| // this must also create all paths involved in the directory. | // this must also create all paths involved in the directory. | ||||
| void juce_createDirectory (const String& fileName); | |||||
| void juce_createDirectory (const String& fileName) throw(); | |||||
| bool juce_launchFile (const String& fileName, const String& parameters); | |||||
| bool juce_launchFile (const String& fileName, const String& parameters) throw(); | |||||
| const StringArray juce_getFileSystemRoots(); | |||||
| const String juce_getVolumeLabel (const String& filenameOnVolume, int& volumeSerialNumber); | |||||
| const StringArray juce_getFileSystemRoots() throw(); | |||||
| const String juce_getVolumeLabel (const String& filenameOnVolume, int& volumeSerialNumber) throw(); | |||||
| // starts a directory search operation with a wildcard, returning a handle for | // starts a directory search operation with a wildcard, returning a handle for | ||||
| // use in calls to juce_findFileNext. | // use in calls to juce_findFileNext. | ||||
| // juce_firstResultFile gets the name of the file (not the whole pathname) and | // juce_firstResultFile gets the name of the file (not the whole pathname) and | ||||
| // the other pointers, if non-null, are set based on the properties of the file. | // the other pointers, if non-null, are set based on the properties of the file. | ||||
| void* juce_findFileStart (const String& directory, const String& wildCard, String& firstResultFile, | void* juce_findFileStart (const String& directory, const String& wildCard, String& firstResultFile, | ||||
| bool* isDirectory, bool* isHidden, int64* fileSize, Time* modTime, Time* creationTime, bool* isReadOnly); | |||||
| bool* isDirectory, bool* isHidden, int64* fileSize, Time* modTime, Time* creationTime, bool* isReadOnly) throw(); | |||||
| // returns false when no more files are found | // returns false when no more files are found | ||||
| bool juce_findFileNext (void* handle, String& resultFile, | bool juce_findFileNext (void* handle, String& resultFile, | ||||
| bool* isDirectory, bool* isHidden, int64* fileSize, Time* modTime, Time* creationTime, bool* isReadOnly); | |||||
| bool* isDirectory, bool* isHidden, int64* fileSize, Time* modTime, Time* creationTime, bool* isReadOnly) throw(); | |||||
| void juce_findFileClose (void* handle); | |||||
| void juce_findFileClose (void* handle) throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| static const String parseAbsolutePath (String path) throw() | |||||
| static const String JUCE_CALLTYPE parseAbsolutePath (String path) throw() | |||||
| { | { | ||||
| if (path.isEmpty()) | if (path.isEmpty()) | ||||
| return String::empty; | return String::empty; | ||||
| @@ -192,28 +192,28 @@ const File File::nonexistent; | |||||
| //============================================================================== | //============================================================================== | ||||
| File::File (const String& fullPathName) throw() | |||||
| JUCE_CALLTYPE File::File (const String& fullPathName) throw() | |||||
| : fullPath (parseAbsolutePath (fullPathName)) | : fullPath (parseAbsolutePath (fullPathName)) | ||||
| { | { | ||||
| } | } | ||||
| File::File (const String& path, int) throw() | |||||
| JUCE_CALLTYPE File::File (const String& path, int) throw() | |||||
| : fullPath (path) | : fullPath (path) | ||||
| { | { | ||||
| } | } | ||||
| File::File (const File& other) throw() | |||||
| JUCE_CALLTYPE File::File (const File& other) throw() | |||||
| : fullPath (other.fullPath) | : fullPath (other.fullPath) | ||||
| { | { | ||||
| } | } | ||||
| const File& File::operator= (const String& newPath) throw() | |||||
| const File& JUCE_CALLTYPE File::operator= (const String& newPath) throw() | |||||
| { | { | ||||
| fullPath = parseAbsolutePath (newPath); | fullPath = parseAbsolutePath (newPath); | ||||
| return *this; | return *this; | ||||
| } | } | ||||
| const File& File::operator= (const File& other) throw() | |||||
| const File& JUCE_CALLTYPE File::operator= (const File& other) throw() | |||||
| { | { | ||||
| fullPath = other.fullPath; | fullPath = other.fullPath; | ||||
| return *this; | return *this; | ||||
| @@ -224,7 +224,7 @@ const File& File::operator= (const File& other) throw() | |||||
| #define NAMES_ARE_CASE_SENSITIVE 1 | #define NAMES_ARE_CASE_SENSITIVE 1 | ||||
| #endif | #endif | ||||
| bool File::areFileNamesCaseSensitive() | |||||
| bool JUCE_CALLTYPE File::areFileNamesCaseSensitive() | |||||
| { | { | ||||
| #if NAMES_ARE_CASE_SENSITIVE | #if NAMES_ARE_CASE_SENSITIVE | ||||
| return true; | return true; | ||||
| @@ -233,7 +233,7 @@ bool File::areFileNamesCaseSensitive() | |||||
| #endif | #endif | ||||
| } | } | ||||
| bool File::operator== (const File& other) const throw() | |||||
| bool JUCE_CALLTYPE File::operator== (const File& other) const throw() | |||||
| { | { | ||||
| // case-insensitive on Windows, but not on linux. | // case-insensitive on Windows, but not on linux. | ||||
| #if NAMES_ARE_CASE_SENSITIVE | #if NAMES_ARE_CASE_SENSITIVE | ||||
| @@ -243,28 +243,28 @@ bool File::operator== (const File& other) const throw() | |||||
| #endif | #endif | ||||
| } | } | ||||
| bool File::operator!= (const File& other) const throw() | |||||
| bool JUCE_CALLTYPE File::operator!= (const File& other) const throw() | |||||
| { | { | ||||
| return ! operator== (other); | return ! operator== (other); | ||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| bool File::exists() const throw() | |||||
| bool JUCE_CALLTYPE File::exists() const throw() | |||||
| { | { | ||||
| return juce_fileExists (fullPath, false); | return juce_fileExists (fullPath, false); | ||||
| } | } | ||||
| bool File::existsAsFile() const throw() | |||||
| bool JUCE_CALLTYPE File::existsAsFile() const throw() | |||||
| { | { | ||||
| return juce_fileExists (fullPath, true); | return juce_fileExists (fullPath, true); | ||||
| } | } | ||||
| bool File::isDirectory() const throw() | |||||
| bool JUCE_CALLTYPE File::isDirectory() const throw() | |||||
| { | { | ||||
| return juce_isDirectory (fullPath); | return juce_isDirectory (fullPath); | ||||
| } | } | ||||
| bool File::hasWriteAccess() const throw() | |||||
| bool JUCE_CALLTYPE File::hasWriteAccess() const throw() | |||||
| { | { | ||||
| if (exists()) | if (exists()) | ||||
| return juce_canWriteToFile (fullPath); | return juce_canWriteToFile (fullPath); | ||||
| @@ -282,8 +282,8 @@ bool File::hasWriteAccess() const throw() | |||||
| #endif | #endif | ||||
| } | } | ||||
| bool File::setReadOnly (const bool shouldBeReadOnly, | |||||
| const bool applyRecursively) const throw() | |||||
| bool JUCE_CALLTYPE File::setReadOnly (const bool shouldBeReadOnly, | |||||
| const bool applyRecursively) const throw() | |||||
| { | { | ||||
| bool worked = true; | bool worked = true; | ||||
| @@ -299,13 +299,13 @@ bool File::setReadOnly (const bool shouldBeReadOnly, | |||||
| return juce_setFileReadOnly (fullPath, shouldBeReadOnly) && worked; | return juce_setFileReadOnly (fullPath, shouldBeReadOnly) && worked; | ||||
| } | } | ||||
| bool File::deleteFile() const throw() | |||||
| bool JUCE_CALLTYPE File::deleteFile() const throw() | |||||
| { | { | ||||
| return (! exists()) | return (! exists()) | ||||
| || juce_deleteFile (fullPath); | || juce_deleteFile (fullPath); | ||||
| } | } | ||||
| bool File::deleteRecursively() const throw() | |||||
| bool JUCE_CALLTYPE File::deleteRecursively() const throw() | |||||
| { | { | ||||
| bool worked = true; | bool worked = true; | ||||
| @@ -321,7 +321,7 @@ bool File::deleteRecursively() const throw() | |||||
| return deleteFile() && worked; | return deleteFile() && worked; | ||||
| } | } | ||||
| bool File::moveFileTo (const File& newFile) const throw() | |||||
| bool JUCE_CALLTYPE File::moveFileTo (const File& newFile) const throw() | |||||
| { | { | ||||
| if (newFile.fullPath == fullPath) | if (newFile.fullPath == fullPath) | ||||
| return true; | return true; | ||||
| @@ -335,7 +335,7 @@ bool File::moveFileTo (const File& newFile) const throw() | |||||
| return juce_moveFile (fullPath, newFile.fullPath); | return juce_moveFile (fullPath, newFile.fullPath); | ||||
| } | } | ||||
| bool File::copyFileTo (const File& newFile) const throw() | |||||
| bool JUCE_CALLTYPE File::copyFileTo (const File& newFile) const throw() | |||||
| { | { | ||||
| if (*this == newFile) | if (*this == newFile) | ||||
| return true; | return true; | ||||
| @@ -346,7 +346,7 @@ bool File::copyFileTo (const File& newFile) const throw() | |||||
| return juce_copyFile (fullPath, newFile.fullPath); | return juce_copyFile (fullPath, newFile.fullPath); | ||||
| } | } | ||||
| bool File::copyDirectoryTo (const File& newDirectory) const throw() | |||||
| bool JUCE_CALLTYPE File::copyDirectoryTo (const File& newDirectory) const throw() | |||||
| { | { | ||||
| if (isDirectory() && newDirectory.createDirectory()) | if (isDirectory() && newDirectory.createDirectory()) | ||||
| { | { | ||||
| @@ -372,7 +372,7 @@ bool File::copyDirectoryTo (const File& newDirectory) const throw() | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| const String File::getPathUpToLastSlash() const throw() | |||||
| const String JUCE_CALLTYPE File::getPathUpToLastSlash() const throw() | |||||
| { | { | ||||
| const int lastSlash = fullPath.lastIndexOfChar (separator); | const int lastSlash = fullPath.lastIndexOfChar (separator); | ||||
| @@ -384,28 +384,28 @@ const String File::getPathUpToLastSlash() const throw() | |||||
| return fullPath; | return fullPath; | ||||
| } | } | ||||
| const File File::getParentDirectory() const throw() | |||||
| const File JUCE_CALLTYPE File::getParentDirectory() const throw() | |||||
| { | { | ||||
| return File (getPathUpToLastSlash()); | return File (getPathUpToLastSlash()); | ||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| const String File::getFileName() const throw() | |||||
| const String JUCE_CALLTYPE File::getFileName() const throw() | |||||
| { | { | ||||
| return fullPath.substring (fullPath.lastIndexOfChar (separator) + 1); | return fullPath.substring (fullPath.lastIndexOfChar (separator) + 1); | ||||
| } | } | ||||
| int File::hashCode() const throw() | |||||
| int JUCE_CALLTYPE File::hashCode() const throw() | |||||
| { | { | ||||
| return fullPath.hashCode(); | return fullPath.hashCode(); | ||||
| } | } | ||||
| int64 File::hashCode64() const throw() | |||||
| int64 JUCE_CALLTYPE File::hashCode64() const throw() | |||||
| { | { | ||||
| return fullPath.hashCode64(); | return fullPath.hashCode64(); | ||||
| } | } | ||||
| const String File::getFileNameWithoutExtension() const throw() | |||||
| const String JUCE_CALLTYPE File::getFileNameWithoutExtension() const throw() | |||||
| { | { | ||||
| const int lastSlash = fullPath.lastIndexOfChar (separator) + 1; | const int lastSlash = fullPath.lastIndexOfChar (separator) + 1; | ||||
| const int lastDot = fullPath.lastIndexOfChar (T('.')); | const int lastDot = fullPath.lastIndexOfChar (T('.')); | ||||
| @@ -416,7 +416,7 @@ const String File::getFileNameWithoutExtension() const throw() | |||||
| return fullPath.substring (lastSlash); | return fullPath.substring (lastSlash); | ||||
| } | } | ||||
| bool File::isAChildOf (const File& potentialParent) const throw() | |||||
| bool JUCE_CALLTYPE File::isAChildOf (const File& potentialParent) const throw() | |||||
| { | { | ||||
| const String ourPath (getPathUpToLastSlash()); | const String ourPath (getPathUpToLastSlash()); | ||||
| @@ -439,7 +439,7 @@ bool File::isAChildOf (const File& potentialParent) const throw() | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| const File File::getChildFile (String relativePath) const throw() | |||||
| const File JUCE_CALLTYPE File::getChildFile (String relativePath) const throw() | |||||
| { | { | ||||
| if (relativePath.startsWithChar (T('/')) | if (relativePath.startsWithChar (T('/')) | ||||
| || relativePath.startsWithChar (T('\\')) | || relativePath.startsWithChar (T('\\')) | ||||
| @@ -499,18 +499,18 @@ const File File::getChildFile (String relativePath) const throw() | |||||
| } | } | ||||
| } | } | ||||
| const File File::getSiblingFile (const String& fileName) const throw() | |||||
| const File JUCE_CALLTYPE File::getSiblingFile (const String& fileName) const throw() | |||||
| { | { | ||||
| return getParentDirectory().getChildFile (fileName); | return getParentDirectory().getChildFile (fileName); | ||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| int64 File::getSize() const throw() | |||||
| int64 JUCE_CALLTYPE File::getSize() const throw() | |||||
| { | { | ||||
| return juce_getFileSize (fullPath); | return juce_getFileSize (fullPath); | ||||
| } | } | ||||
| const String File::descriptionOfSizeInBytes (const int64 bytes) | |||||
| const String JUCE_CALLTYPE File::descriptionOfSizeInBytes (const int64 bytes) | |||||
| { | { | ||||
| if (bytes == 1) | if (bytes == 1) | ||||
| { | { | ||||
| @@ -535,7 +535,7 @@ const String File::descriptionOfSizeInBytes (const int64 bytes) | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| bool File::create() const throw() | |||||
| bool JUCE_CALLTYPE File::create() const throw() | |||||
| { | { | ||||
| if (! exists()) | if (! exists()) | ||||
| { | { | ||||
| @@ -555,7 +555,7 @@ bool File::create() const throw() | |||||
| return true; | return true; | ||||
| } | } | ||||
| bool File::createDirectory() const throw() | |||||
| bool JUCE_CALLTYPE File::createDirectory() const throw() | |||||
| { | { | ||||
| if (! isDirectory()) | if (! isDirectory()) | ||||
| { | { | ||||
| @@ -578,44 +578,44 @@ bool File::createDirectory() const throw() | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| const Time File::getCreationTime() const throw() | |||||
| const Time JUCE_CALLTYPE File::getCreationTime() const throw() | |||||
| { | { | ||||
| int64 m, a, c; | int64 m, a, c; | ||||
| juce_getFileTimes (fullPath, m, a, c); | juce_getFileTimes (fullPath, m, a, c); | ||||
| return Time (c); | return Time (c); | ||||
| } | } | ||||
| bool File::setCreationTime (const Time& t) const throw() | |||||
| bool JUCE_CALLTYPE File::setCreationTime (const Time& t) const throw() | |||||
| { | { | ||||
| return juce_setFileTimes (fullPath, 0, 0, t.toMilliseconds()); | return juce_setFileTimes (fullPath, 0, 0, t.toMilliseconds()); | ||||
| } | } | ||||
| const Time File::getLastModificationTime() const throw() | |||||
| const Time JUCE_CALLTYPE File::getLastModificationTime() const throw() | |||||
| { | { | ||||
| int64 m, a, c; | int64 m, a, c; | ||||
| juce_getFileTimes (fullPath, m, a, c); | juce_getFileTimes (fullPath, m, a, c); | ||||
| return Time (m); | return Time (m); | ||||
| } | } | ||||
| bool File::setLastModificationTime (const Time& t) const throw() | |||||
| bool JUCE_CALLTYPE File::setLastModificationTime (const Time& t) const throw() | |||||
| { | { | ||||
| return juce_setFileTimes (fullPath, t.toMilliseconds(), 0, 0); | return juce_setFileTimes (fullPath, t.toMilliseconds(), 0, 0); | ||||
| } | } | ||||
| const Time File::getLastAccessTime() const throw() | |||||
| const Time JUCE_CALLTYPE File::getLastAccessTime() const throw() | |||||
| { | { | ||||
| int64 m, a, c; | int64 m, a, c; | ||||
| juce_getFileTimes (fullPath, m, a, c); | juce_getFileTimes (fullPath, m, a, c); | ||||
| return Time (a); | return Time (a); | ||||
| } | } | ||||
| bool File::setLastAccessTime (const Time& t) const throw() | |||||
| bool JUCE_CALLTYPE File::setLastAccessTime (const Time& t) const throw() | |||||
| { | { | ||||
| return juce_setFileTimes (fullPath, 0, t.toMilliseconds(), 0); | return juce_setFileTimes (fullPath, 0, t.toMilliseconds(), 0); | ||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| bool File::loadFileAsData (MemoryBlock& destBlock) const throw() | |||||
| bool JUCE_CALLTYPE File::loadFileAsData (MemoryBlock& destBlock) const throw() | |||||
| { | { | ||||
| if (! existsAsFile()) | if (! existsAsFile()) | ||||
| return false; | return false; | ||||
| @@ -624,7 +624,7 @@ bool File::loadFileAsData (MemoryBlock& destBlock) const throw() | |||||
| return getSize() == in.readIntoMemoryBlock (destBlock); | return getSize() == in.readIntoMemoryBlock (destBlock); | ||||
| } | } | ||||
| const String File::loadFileAsString() const throw() | |||||
| const String JUCE_CALLTYPE File::loadFileAsString() const throw() | |||||
| { | { | ||||
| if (! existsAsFile()) | if (! existsAsFile()) | ||||
| return String::empty; | return String::empty; | ||||
| @@ -644,10 +644,10 @@ static inline bool fileTypeMatches (const int whatToLookFor, | |||||
| || (whatToLookFor & File::ignoreHiddenFiles) == 0); | || (whatToLookFor & File::ignoreHiddenFiles) == 0); | ||||
| } | } | ||||
| int File::findChildFiles (OwnedArray<File>& results, | |||||
| const int whatToLookFor, | |||||
| const bool searchRecursively, | |||||
| const String& wildCardPattern) const throw() | |||||
| int JUCE_CALLTYPE File::findChildFiles (OwnedArray<File>& results, | |||||
| const int whatToLookFor, | |||||
| const bool searchRecursively, | |||||
| const String& wildCardPattern) const throw() | |||||
| { | { | ||||
| // you have to specify the type of files you're looking for! | // you have to specify the type of files you're looking for! | ||||
| jassert (whatToLookFor > 0 && whatToLookFor <= 3); | jassert (whatToLookFor > 0 && whatToLookFor <= 3); | ||||
| @@ -711,8 +711,8 @@ int File::findChildFiles (OwnedArray<File>& results, | |||||
| return total; | return total; | ||||
| } | } | ||||
| int File::getNumberOfChildFiles (const int whatToLookFor, | |||||
| const String& wildCardPattern) const throw() | |||||
| int JUCE_CALLTYPE File::getNumberOfChildFiles (const int whatToLookFor, | |||||
| const String& wildCardPattern) const throw() | |||||
| { | { | ||||
| // you have to specify the type of files you're looking for! | // you have to specify the type of files you're looking for! | ||||
| jassert (whatToLookFor > 0 && whatToLookFor <= 3); | jassert (whatToLookFor > 0 && whatToLookFor <= 3); | ||||
| @@ -755,9 +755,9 @@ int File::getNumberOfChildFiles (const int whatToLookFor, | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| const File File::getNonexistentChildFile (const String& prefix_, | |||||
| const String& suffix, | |||||
| bool putNumbersInBrackets) const throw() | |||||
| const File JUCE_CALLTYPE File::getNonexistentChildFile (const String& prefix_, | |||||
| const String& suffix, | |||||
| bool putNumbersInBrackets) const throw() | |||||
| { | { | ||||
| File f (getChildFile (prefix_ + suffix)); | File f (getChildFile (prefix_ + suffix)); | ||||
| @@ -800,7 +800,7 @@ const File File::getNonexistentChildFile (const String& prefix_, | |||||
| return f; | return f; | ||||
| } | } | ||||
| const File File::getNonexistentSibling (const bool putNumbersInBrackets) const throw() | |||||
| const File JUCE_CALLTYPE File::getNonexistentSibling (const bool putNumbersInBrackets) const throw() | |||||
| { | { | ||||
| if (exists()) | if (exists()) | ||||
| { | { | ||||
| @@ -816,7 +816,7 @@ const File File::getNonexistentSibling (const bool putNumbersInBrackets) const t | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| const String File::getFileExtension() const throw() | |||||
| const String JUCE_CALLTYPE File::getFileExtension() const throw() | |||||
| { | { | ||||
| String ext; | String ext; | ||||
| @@ -831,7 +831,7 @@ const String File::getFileExtension() const throw() | |||||
| return ext; | return ext; | ||||
| } | } | ||||
| bool File::hasFileExtension (const String& possibleSuffix) const throw() | |||||
| bool JUCE_CALLTYPE File::hasFileExtension (const String& possibleSuffix) const throw() | |||||
| { | { | ||||
| if (possibleSuffix.isEmpty()) | if (possibleSuffix.isEmpty()) | ||||
| return fullPath.lastIndexOfChar (T('.')) <= fullPath.lastIndexOfChar (separator); | return fullPath.lastIndexOfChar (T('.')) <= fullPath.lastIndexOfChar (separator); | ||||
| @@ -850,7 +850,7 @@ bool File::hasFileExtension (const String& possibleSuffix) const throw() | |||||
| return false; | return false; | ||||
| } | } | ||||
| const File File::withFileExtension (const String& newExtension) const throw() | |||||
| const File JUCE_CALLTYPE File::withFileExtension (const String& newExtension) const throw() | |||||
| { | { | ||||
| if (fullPath.isEmpty()) | if (fullPath.isEmpty()) | ||||
| return File::nonexistent; | return File::nonexistent; | ||||
| @@ -870,14 +870,14 @@ const File File::withFileExtension (const String& newExtension) const throw() | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| bool File::startAsProcess (const String& parameters) const throw() | |||||
| bool JUCE_CALLTYPE File::startAsProcess (const String& parameters) const throw() | |||||
| { | { | ||||
| return exists() | return exists() | ||||
| && juce_launchFile (fullPath, parameters); | && juce_launchFile (fullPath, parameters); | ||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| FileInputStream* File::createInputStream() const throw() | |||||
| FileInputStream* JUCE_CALLTYPE File::createInputStream() const throw() | |||||
| { | { | ||||
| if (existsAsFile()) | if (existsAsFile()) | ||||
| return new FileInputStream (*this); | return new FileInputStream (*this); | ||||
| @@ -885,7 +885,7 @@ FileInputStream* File::createInputStream() const throw() | |||||
| return 0; | return 0; | ||||
| } | } | ||||
| FileOutputStream* File::createOutputStream (const int bufferSize) const throw() | |||||
| FileOutputStream* JUCE_CALLTYPE File::createOutputStream (const int bufferSize) const throw() | |||||
| { | { | ||||
| FileOutputStream* const out = new FileOutputStream (*this, bufferSize); | FileOutputStream* const out = new FileOutputStream (*this, bufferSize); | ||||
| @@ -901,8 +901,8 @@ FileOutputStream* File::createOutputStream (const int bufferSize) const throw() | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| bool File::appendData (const void* const dataToAppend, | |||||
| const int numberOfBytes) const throw() | |||||
| bool JUCE_CALLTYPE File::appendData (const void* const dataToAppend, | |||||
| const int numberOfBytes) const throw() | |||||
| { | { | ||||
| if (numberOfBytes > 0) | if (numberOfBytes > 0) | ||||
| { | { | ||||
| @@ -918,8 +918,8 @@ bool File::appendData (const void* const dataToAppend, | |||||
| return true; | return true; | ||||
| } | } | ||||
| bool File::replaceWithData (const void* const dataToWrite, | |||||
| const int numberOfBytes) const throw() | |||||
| bool JUCE_CALLTYPE File::replaceWithData (const void* const dataToWrite, | |||||
| const int numberOfBytes) const throw() | |||||
| { | { | ||||
| jassert (numberOfBytes >= 0); // a negative number of bytes?? | jassert (numberOfBytes >= 0); // a negative number of bytes?? | ||||
| @@ -938,9 +938,9 @@ bool File::replaceWithData (const void* const dataToWrite, | |||||
| return false; | return false; | ||||
| } | } | ||||
| bool File::appendText (const String& text, | |||||
| const bool asUnicode, | |||||
| const bool writeUnicodeHeaderBytes) const throw() | |||||
| bool JUCE_CALLTYPE File::appendText (const String& text, | |||||
| const bool asUnicode, | |||||
| const bool writeUnicodeHeaderBytes) const throw() | |||||
| { | { | ||||
| FileOutputStream* const out = createOutputStream(); | FileOutputStream* const out = createOutputStream(); | ||||
| @@ -955,7 +955,7 @@ bool File::appendText (const String& text, | |||||
| return false; | return false; | ||||
| } | } | ||||
| bool File::printf (const tchar* pf, ...) const throw() | |||||
| bool JUCE_CALLTYPE File::printf (const tchar* pf, ...) const throw() | |||||
| { | { | ||||
| va_list list; | va_list list; | ||||
| va_start (list, pf); | va_start (list, pf); | ||||
| @@ -966,9 +966,9 @@ bool File::printf (const tchar* pf, ...) const throw() | |||||
| return appendData ((const char*) text, text.length()); | return appendData ((const char*) text, text.length()); | ||||
| } | } | ||||
| bool File::replaceWithText (const String& textToWrite, | |||||
| const bool asUnicode, | |||||
| const bool writeUnicodeHeaderBytes) const throw() | |||||
| bool JUCE_CALLTYPE File::replaceWithText (const String& textToWrite, | |||||
| const bool asUnicode, | |||||
| const bool writeUnicodeHeaderBytes) const throw() | |||||
| { | { | ||||
| const File tempFile (getSiblingFile (T(".") + getFileName()).getNonexistentSibling (false)); | const File tempFile (getSiblingFile (T(".") + getFileName()).getNonexistentSibling (false)); | ||||
| @@ -983,7 +983,7 @@ bool File::replaceWithText (const String& textToWrite, | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| const String File::createLegalPathName (const String& original) throw() | |||||
| const String JUCE_CALLTYPE File::createLegalPathName (const String& original) throw() | |||||
| { | { | ||||
| String s (original); | String s (original); | ||||
| String start; | String start; | ||||
| @@ -998,7 +998,7 @@ const String File::createLegalPathName (const String& original) throw() | |||||
| .substring (0, 1024); | .substring (0, 1024); | ||||
| } | } | ||||
| const String File::createLegalFileName (const String& original) throw() | |||||
| const String JUCE_CALLTYPE File::createLegalFileName (const String& original) throw() | |||||
| { | { | ||||
| String s (original.removeCharacters (T("\"#@,;:<>*^|?\\/"))); | String s (original.removeCharacters (T("\"#@,;:<>*^|?\\/"))); | ||||
| @@ -1024,7 +1024,7 @@ const String File::createLegalFileName (const String& original) throw() | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| const String File::getRelativePathFrom (const File& dir) const throw() | |||||
| const String JUCE_CALLTYPE File::getRelativePathFrom (const File& dir) const throw() | |||||
| { | { | ||||
| String thisPath (fullPath); | String thisPath (fullPath); | ||||
| @@ -1087,7 +1087,7 @@ const String File::getRelativePathFrom (const File& dir) const throw() | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| void File::findFileSystemRoots (OwnedArray<File>& destArray) throw() | |||||
| void JUCE_CALLTYPE File::findFileSystemRoots (OwnedArray<File>& destArray) throw() | |||||
| { | { | ||||
| const StringArray roots (juce_getFileSystemRoots()); | const StringArray roots (juce_getFileSystemRoots()); | ||||
| @@ -1095,13 +1095,13 @@ void File::findFileSystemRoots (OwnedArray<File>& destArray) throw() | |||||
| destArray.add (new File (roots[i])); | destArray.add (new File (roots[i])); | ||||
| } | } | ||||
| const String File::getVolumeLabel() const throw() | |||||
| const String JUCE_CALLTYPE File::getVolumeLabel() const throw() | |||||
| { | { | ||||
| int serialNum; | int serialNum; | ||||
| return juce_getVolumeLabel (fullPath, serialNum); | return juce_getVolumeLabel (fullPath, serialNum); | ||||
| } | } | ||||
| int File::getVolumeSerialNumber() const throw() | |||||
| int JUCE_CALLTYPE File::getVolumeSerialNumber() const throw() | |||||
| { | { | ||||
| int serialNum; | int serialNum; | ||||
| juce_getVolumeLabel (fullPath, serialNum); | juce_getVolumeLabel (fullPath, serialNum); | ||||
| @@ -1110,7 +1110,7 @@ int File::getVolumeSerialNumber() const throw() | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| const File File::createTempFile (const String& fileNameEnding) throw() | |||||
| const File JUCE_CALLTYPE File::createTempFile (const String& fileNameEnding) throw() | |||||
| { | { | ||||
| String tempName (T("temp")); | String tempName (T("temp")); | ||||
| static int tempNum = 0; | static int tempNum = 0; | ||||
| @@ -64,7 +64,7 @@ public: | |||||
| You can use its operator= method to point it at a proper file. | You can use its operator= method to point it at a proper file. | ||||
| */ | */ | ||||
| File() throw() {} | |||||
| JUCE_CALLTYPE File() throw() {} | |||||
| /** Creates a file from an absolute path. | /** Creates a file from an absolute path. | ||||
| @@ -76,13 +76,13 @@ public: | |||||
| On the Mac/Linux, the path can include "~" notation for referring to | On the Mac/Linux, the path can include "~" notation for referring to | ||||
| user home directories. | user home directories. | ||||
| */ | */ | ||||
| File (const String& path) throw(); | |||||
| JUCE_CALLTYPE File (const String& path) throw(); | |||||
| /** Creates a copy of another file object. */ | /** Creates a copy of another file object. */ | ||||
| File (const File& other) throw(); | |||||
| JUCE_CALLTYPE File (const File& other) throw(); | |||||
| /** Destructor. */ | /** Destructor. */ | ||||
| ~File() throw() {} | |||||
| JUCE_CALLTYPE ~File() throw() {} | |||||
| /** Sets the file based on an absolute pathname. | /** Sets the file based on an absolute pathname. | ||||
| @@ -94,10 +94,10 @@ public: | |||||
| On the Mac/Linux, the path can include "~" notation for referring to | On the Mac/Linux, the path can include "~" notation for referring to | ||||
| user home directories. | user home directories. | ||||
| */ | */ | ||||
| const File& operator= (const String& newFilePath) throw(); | |||||
| const File& JUCE_CALLTYPE operator= (const String& newFilePath) throw(); | |||||
| /** Copies from another file object. */ | /** Copies from another file object. */ | ||||
| const File& operator= (const File& otherFile) throw(); | |||||
| const File& JUCE_CALLTYPE operator= (const File& otherFile) throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** This static constant is used for referring to an 'invalid' file. */ | /** This static constant is used for referring to an 'invalid' file. */ | ||||
| @@ -109,7 +109,7 @@ public: | |||||
| @returns true if the file exists, either as a file or a directory. | @returns true if the file exists, either as a file or a directory. | ||||
| @see existsAsFile, isDirectory | @see existsAsFile, isDirectory | ||||
| */ | */ | ||||
| bool exists() const throw(); | |||||
| bool JUCE_CALLTYPE exists() const throw(); | |||||
| /** Checks whether the file exists and is a file rather than a directory. | /** Checks whether the file exists and is a file rather than a directory. | ||||
| @@ -117,7 +117,7 @@ public: | |||||
| or doesn't exist | or doesn't exist | ||||
| @see exists, isDirectory | @see exists, isDirectory | ||||
| */ | */ | ||||
| bool existsAsFile() const throw(); | |||||
| bool JUCE_CALLTYPE existsAsFile() const throw(); | |||||
| /** Checks whether the file is a directory that exists. | /** Checks whether the file is a directory that exists. | ||||
| @@ -125,20 +125,20 @@ public: | |||||
| false if it's a file or doesn't exist at all | false if it's a file or doesn't exist at all | ||||
| @see exists, existsAsFile | @see exists, existsAsFile | ||||
| */ | */ | ||||
| bool isDirectory() const throw(); | |||||
| bool JUCE_CALLTYPE isDirectory() const throw(); | |||||
| /** Returns the size of the file in bytes. | /** Returns the size of the file in bytes. | ||||
| @returns the number of bytes in the file, or 0 if it doesn't exist. | @returns the number of bytes in the file, or 0 if it doesn't exist. | ||||
| */ | */ | ||||
| int64 getSize() const throw(); | |||||
| int64 JUCE_CALLTYPE getSize() const throw(); | |||||
| /** Utility function to convert a file size in bytes to a neat string description. | /** Utility function to convert a file size in bytes to a neat string description. | ||||
| So for example 100 would return "100 bytes", 2000 would return "2 KB", | So for example 100 would return "100 bytes", 2000 would return "2 KB", | ||||
| 2000000 would produce "2 MB", etc. | 2000000 would produce "2 MB", etc. | ||||
| */ | */ | ||||
| static const String descriptionOfSizeInBytes (const int64 bytes); | |||||
| static const String JUCE_CALLTYPE descriptionOfSizeInBytes (const int64 bytes); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Returns the complete, absolute path of this file. | /** Returns the complete, absolute path of this file. | ||||
| @@ -152,7 +152,7 @@ public: | |||||
| @see getFileName, getRelativePathFrom | @see getFileName, getRelativePathFrom | ||||
| */ | */ | ||||
| const String& getFullPathName() const throw() { return fullPath; } | |||||
| const String& JUCE_CALLTYPE getFullPathName() const throw() { return fullPath; } | |||||
| /** Returns the last section of the pathname. | /** Returns the last section of the pathname. | ||||
| @@ -167,7 +167,7 @@ public: | |||||
| @see getFullPathName, getFileNameWithoutExtension | @see getFullPathName, getFileNameWithoutExtension | ||||
| */ | */ | ||||
| const String getFileName() const throw(); | |||||
| const String JUCE_CALLTYPE getFileName() const throw(); | |||||
| /** Creates a relative path that refers to a file relatively to a given directory. | /** Creates a relative path that refers to a file relatively to a given directory. | ||||
| @@ -184,7 +184,7 @@ public: | |||||
| If it doesn't exist, it's assumed to be a directory. | If it doesn't exist, it's assumed to be a directory. | ||||
| @see getChildFile | @see getChildFile | ||||
| */ | */ | ||||
| const String getRelativePathFrom (const File& directoryToBeRelativeTo) const throw(); | |||||
| const String JUCE_CALLTYPE getRelativePathFrom (const File& directoryToBeRelativeTo) const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Returns the file's extension. | /** Returns the file's extension. | ||||
| @@ -195,7 +195,7 @@ public: | |||||
| @see hasFileExtension, withFileExtension, getFileNameWithoutExtension | @see hasFileExtension, withFileExtension, getFileNameWithoutExtension | ||||
| */ | */ | ||||
| const String getFileExtension() const throw(); | |||||
| const String JUCE_CALLTYPE getFileExtension() const throw(); | |||||
| /** Checks whether the file has a given extension. | /** Checks whether the file has a given extension. | ||||
| @@ -206,7 +206,7 @@ public: | |||||
| @see getFileExtension, withFileExtension, getFileNameWithoutExtension | @see getFileExtension, withFileExtension, getFileNameWithoutExtension | ||||
| */ | */ | ||||
| bool hasFileExtension (const String& extensionToTest) const throw(); | |||||
| bool JUCE_CALLTYPE hasFileExtension (const String& extensionToTest) const throw(); | |||||
| /** Returns a version of this file with a different file extension. | /** Returns a version of this file with a different file extension. | ||||
| @@ -218,7 +218,7 @@ public: | |||||
| @see getFileName, getFileExtension, hasFileExtension, getFileNameWithoutExtension | @see getFileName, getFileExtension, hasFileExtension, getFileNameWithoutExtension | ||||
| */ | */ | ||||
| const File withFileExtension (const String& newExtension) const throw(); | |||||
| const File JUCE_CALLTYPE withFileExtension (const String& newExtension) const throw(); | |||||
| /** Returns the last part of the filename, without its file extension. | /** Returns the last part of the filename, without its file extension. | ||||
| @@ -226,7 +226,7 @@ public: | |||||
| @see getFileName, getFileExtension, hasFileExtension, withFileExtension | @see getFileName, getFileExtension, hasFileExtension, withFileExtension | ||||
| */ | */ | ||||
| const String getFileNameWithoutExtension() const throw(); | |||||
| const String JUCE_CALLTYPE getFileNameWithoutExtension() const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Returns a 32-bit hash-code that identifies this file. | /** Returns a 32-bit hash-code that identifies this file. | ||||
| @@ -234,14 +234,14 @@ public: | |||||
| This is based on the filename. Obviously it's possible, although unlikely, that | This is based on the filename. Obviously it's possible, although unlikely, that | ||||
| two files will have the same hash-code. | two files will have the same hash-code. | ||||
| */ | */ | ||||
| int hashCode() const throw(); | |||||
| int JUCE_CALLTYPE hashCode() const throw(); | |||||
| /** Returns a 64-bit hash-code that identifies this file. | /** Returns a 64-bit hash-code that identifies this file. | ||||
| This is based on the filename. Obviously it's possible, although unlikely, that | This is based on the filename. Obviously it's possible, although unlikely, that | ||||
| two files will have the same hash-code. | two files will have the same hash-code. | ||||
| */ | */ | ||||
| int64 hashCode64() const throw(); | |||||
| int64 JUCE_CALLTYPE hashCode64() const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Returns a file based on a relative path. | /** Returns a file based on a relative path. | ||||
| @@ -257,7 +257,7 @@ public: | |||||
| @see getSiblingFile, getParentDirectory, getRelativePathFrom, isAChildOf | @see getSiblingFile, getParentDirectory, getRelativePathFrom, isAChildOf | ||||
| */ | */ | ||||
| const File getChildFile (String relativePath) const throw(); | |||||
| const File JUCE_CALLTYPE getChildFile (String relativePath) const throw(); | |||||
| /** Returns a file which is in the same directory as this one. | /** Returns a file which is in the same directory as this one. | ||||
| @@ -265,14 +265,14 @@ public: | |||||
| @see getChildFile, getParentDirectory | @see getChildFile, getParentDirectory | ||||
| */ | */ | ||||
| const File getSiblingFile (const String& siblingFileName) const throw(); | |||||
| const File JUCE_CALLTYPE getSiblingFile (const String& siblingFileName) const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Returns the directory that contains this file or directory. | /** Returns the directory that contains this file or directory. | ||||
| e.g. for "/moose/fish/foo.txt" this will return "/moose/fish". | e.g. for "/moose/fish/foo.txt" this will return "/moose/fish". | ||||
| */ | */ | ||||
| const File getParentDirectory() const throw(); | |||||
| const File JUCE_CALLTYPE getParentDirectory() const throw(); | |||||
| /** Checks whether a file is somewhere inside a directory. | /** Checks whether a file is somewhere inside a directory. | ||||
| @@ -283,7 +283,7 @@ public: | |||||
| e.g. File ("/moose/fish/foo.txt").isAChildOf ("/moose") is true. | e.g. File ("/moose/fish/foo.txt").isAChildOf ("/moose") is true. | ||||
| File ("/moose/fish/foo.txt").isAChildOf ("/moose/fish") is also true. | File ("/moose/fish/foo.txt").isAChildOf ("/moose/fish") is also true. | ||||
| */ | */ | ||||
| bool isAChildOf (const File& potentialParentDirectory) const throw(); | |||||
| bool JUCE_CALLTYPE isAChildOf (const File& potentialParentDirectory) const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Chooses a filename relative to this one that doesn't already exist. | /** Chooses a filename relative to this one that doesn't already exist. | ||||
| @@ -303,9 +303,9 @@ public: | |||||
| format "prefix(number)suffix", if false, it will leave the | format "prefix(number)suffix", if false, it will leave the | ||||
| brackets out. | brackets out. | ||||
| */ | */ | ||||
| const File getNonexistentChildFile (const String& prefix, | |||||
| const String& suffix, | |||||
| bool putNumbersInBrackets = true) const throw(); | |||||
| const File JUCE_CALLTYPE getNonexistentChildFile (const String& prefix, | |||||
| const String& suffix, | |||||
| bool putNumbersInBrackets = true) const throw(); | |||||
| /** Chooses a filename for a sibling file to this one that doesn't already exist. | /** Chooses a filename for a sibling file to this one that doesn't already exist. | ||||
| @@ -316,13 +316,13 @@ public: | |||||
| @param putNumbersInBrackets whether to add brackets around the numbers that | @param putNumbersInBrackets whether to add brackets around the numbers that | ||||
| get appended to the new filename. | get appended to the new filename. | ||||
| */ | */ | ||||
| const File getNonexistentSibling (const bool putNumbersInBrackets = true) const throw(); | |||||
| const File JUCE_CALLTYPE getNonexistentSibling (const bool putNumbersInBrackets = true) const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Compares the pathnames for two files. */ | /** Compares the pathnames for two files. */ | ||||
| bool operator== (const File& otherFile) const throw(); | |||||
| bool JUCE_CALLTYPE operator== (const File& otherFile) const throw(); | |||||
| /** Compares the pathnames for two files. */ | /** Compares the pathnames for two files. */ | ||||
| bool operator!= (const File& otherFile) const throw(); | |||||
| bool JUCE_CALLTYPE operator!= (const File& otherFile) const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Checks whether a file can be created or written to. | /** Checks whether a file can be created or written to. | ||||
| @@ -332,7 +332,7 @@ public: | |||||
| see if writing is allowed. | see if writing is allowed. | ||||
| @see setReadOnly | @see setReadOnly | ||||
| */ | */ | ||||
| bool hasWriteAccess() const throw(); | |||||
| bool JUCE_CALLTYPE hasWriteAccess() const throw(); | |||||
| /** Changes the write-permission of a file or directory. | /** Changes the write-permission of a file or directory. | ||||
| @@ -343,8 +343,8 @@ public: | |||||
| @returns true if it manages to change the file's permissions. | @returns true if it manages to change the file's permissions. | ||||
| @see hasWriteAccess | @see hasWriteAccess | ||||
| */ | */ | ||||
| bool setReadOnly (const bool shouldBeReadOnly, | |||||
| const bool applyRecursively = false) const throw(); | |||||
| bool JUCE_CALLTYPE setReadOnly (const bool shouldBeReadOnly, | |||||
| const bool applyRecursively = false) const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Returns the last modification time of this file. | /** Returns the last modification time of this file. | ||||
| @@ -352,21 +352,21 @@ public: | |||||
| @returns the time, or an invalid time if the file doesn't exist. | @returns the time, or an invalid time if the file doesn't exist. | ||||
| @see setLastModificationTime, getLastAccessTime, getCreationTime | @see setLastModificationTime, getLastAccessTime, getCreationTime | ||||
| */ | */ | ||||
| const Time getLastModificationTime() const throw(); | |||||
| const Time JUCE_CALLTYPE getLastModificationTime() const throw(); | |||||
| /** Returns the last time this file was accessed. | /** Returns the last time this file was accessed. | ||||
| @returns the time, or an invalid time if the file doesn't exist. | @returns the time, or an invalid time if the file doesn't exist. | ||||
| @see setLastAccessTime, getLastModificationTime, getCreationTime | @see setLastAccessTime, getLastModificationTime, getCreationTime | ||||
| */ | */ | ||||
| const Time getLastAccessTime() const throw(); | |||||
| const Time JUCE_CALLTYPE getLastAccessTime() const throw(); | |||||
| /** Returns the time that this file was created. | /** Returns the time that this file was created. | ||||
| @returns the time, or an invalid time if the file doesn't exist. | @returns the time, or an invalid time if the file doesn't exist. | ||||
| @see getLastModificationTime, getLastAccessTime | @see getLastModificationTime, getLastAccessTime | ||||
| */ | */ | ||||
| const Time getCreationTime() const throw(); | |||||
| const Time JUCE_CALLTYPE getCreationTime() const throw(); | |||||
| /** Changes the modification time for this file. | /** Changes the modification time for this file. | ||||
| @@ -374,7 +374,7 @@ public: | |||||
| @returns true if it manages to change the file's time. | @returns true if it manages to change the file's time. | ||||
| @see getLastModificationTime, setLastAccessTime, setCreationTime | @see getLastModificationTime, setLastAccessTime, setCreationTime | ||||
| */ | */ | ||||
| bool setLastModificationTime (const Time& newTime) const throw(); | |||||
| bool JUCE_CALLTYPE setLastModificationTime (const Time& newTime) const throw(); | |||||
| /** Changes the last-access time for this file. | /** Changes the last-access time for this file. | ||||
| @@ -382,7 +382,7 @@ public: | |||||
| @returns true if it manages to change the file's time. | @returns true if it manages to change the file's time. | ||||
| @see getLastAccessTime, setLastModificationTime, setCreationTime | @see getLastAccessTime, setLastModificationTime, setCreationTime | ||||
| */ | */ | ||||
| bool setLastAccessTime (const Time& newTime) const throw(); | |||||
| bool JUCE_CALLTYPE setLastAccessTime (const Time& newTime) const throw(); | |||||
| /** Changes the creation date for this file. | /** Changes the creation date for this file. | ||||
| @@ -390,7 +390,7 @@ public: | |||||
| @returns true if it manages to change the file's time. | @returns true if it manages to change the file's time. | ||||
| @see getCreationTime, setLastModificationTime, setLastAccessTime | @see getCreationTime, setLastModificationTime, setLastAccessTime | ||||
| */ | */ | ||||
| bool setCreationTime (const Time& newTime) const throw(); | |||||
| bool JUCE_CALLTYPE setCreationTime (const Time& newTime) const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Creates an empty file if it doesn't already exist. | /** Creates an empty file if it doesn't already exist. | ||||
| @@ -403,7 +403,7 @@ public: | |||||
| @returns true if the file has been created (or if it already existed). | @returns true if the file has been created (or if it already existed). | ||||
| @see createDirectory | @see createDirectory | ||||
| */ | */ | ||||
| bool create() const throw(); | |||||
| bool JUCE_CALLTYPE create() const throw(); | |||||
| /** Creates a new directory for this filename. | /** Creates a new directory for this filename. | ||||
| @@ -414,7 +414,7 @@ public: | |||||
| already existed beforehand). | already existed beforehand). | ||||
| @see create | @see create | ||||
| */ | */ | ||||
| bool createDirectory() const throw(); | |||||
| bool JUCE_CALLTYPE createDirectory() const throw(); | |||||
| /** Deletes a file. | /** Deletes a file. | ||||
| @@ -425,7 +425,7 @@ public: | |||||
| begin with). | begin with). | ||||
| @see deleteRecursively | @see deleteRecursively | ||||
| */ | */ | ||||
| bool deleteFile() const throw(); | |||||
| bool JUCE_CALLTYPE deleteFile() const throw(); | |||||
| /** Deletes a file or directory and all its subdirectories. | /** Deletes a file or directory and all its subdirectories. | ||||
| @@ -436,7 +436,7 @@ public: | |||||
| (or if it didn't exist to begin with). | (or if it didn't exist to begin with). | ||||
| @see deleteFile | @see deleteFile | ||||
| */ | */ | ||||
| bool deleteRecursively() const throw(); | |||||
| bool JUCE_CALLTYPE deleteRecursively() const throw(); | |||||
| /** Moves or renames a file. | /** Moves or renames a file. | ||||
| @@ -446,7 +446,7 @@ public: | |||||
| @returns true if the operation succeeds | @returns true if the operation succeeds | ||||
| */ | */ | ||||
| bool moveFileTo (const File& targetLocation) const throw(); | |||||
| bool JUCE_CALLTYPE moveFileTo (const File& targetLocation) const throw(); | |||||
| /** Copies a file. | /** Copies a file. | ||||
| @@ -456,7 +456,7 @@ public: | |||||
| @returns true if the operation succeeds | @returns true if the operation succeeds | ||||
| */ | */ | ||||
| bool copyFileTo (const File& targetLocation) const throw(); | |||||
| bool JUCE_CALLTYPE copyFileTo (const File& targetLocation) const throw(); | |||||
| /** Copies a directory. | /** Copies a directory. | ||||
| @@ -471,7 +471,7 @@ public: | |||||
| write privileges to create it if it doesn't exist. Any files inside | write privileges to create it if it doesn't exist. Any files inside | ||||
| it will be overwritten by similarly named ones that are copied. | it will be overwritten by similarly named ones that are copied. | ||||
| */ | */ | ||||
| bool copyDirectoryTo (const File& newDirectory) const throw(); | |||||
| bool JUCE_CALLTYPE copyDirectoryTo (const File& newDirectory) const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Used in file searching, to specify whether to return files, directories, or both. | /** Used in file searching, to specify whether to return files, directories, or both. | ||||
| @@ -501,10 +501,10 @@ public: | |||||
| @see getNumberOfChildFiles, DirectoryIterator | @see getNumberOfChildFiles, DirectoryIterator | ||||
| */ | */ | ||||
| int findChildFiles (OwnedArray<File>& results, | |||||
| const int whatToLookFor, | |||||
| const bool searchRecursively, | |||||
| const String& wildCardPattern = JUCE_T("*")) const throw(); | |||||
| int JUCE_CALLTYPE findChildFiles (OwnedArray<File>& results, | |||||
| const int whatToLookFor, | |||||
| const bool searchRecursively, | |||||
| const String& wildCardPattern = JUCE_T("*")) const throw(); | |||||
| /** Searches inside a directory and counts how many files match a wildcard pattern. | /** Searches inside a directory and counts how many files match a wildcard pattern. | ||||
| @@ -522,8 +522,8 @@ public: | |||||
| @returns the number of matches found | @returns the number of matches found | ||||
| @see findChildFiles, DirectoryIterator | @see findChildFiles, DirectoryIterator | ||||
| */ | */ | ||||
| int getNumberOfChildFiles (const int whatToLookFor, | |||||
| const String& wildCardPattern = JUCE_T("*")) const throw(); | |||||
| int JUCE_CALLTYPE getNumberOfChildFiles (const int whatToLookFor, | |||||
| const String& wildCardPattern = JUCE_T("*")) const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Creates a stream to read from this file. | /** Creates a stream to read from this file. | ||||
| @@ -532,7 +532,7 @@ public: | |||||
| start of the file), or 0 if the file can't be opened for some reason | start of the file), or 0 if the file can't be opened for some reason | ||||
| @see createOutputStream, loadFileAsData | @see createOutputStream, loadFileAsData | ||||
| */ | */ | ||||
| FileInputStream* createInputStream() const throw(); | |||||
| FileInputStream* JUCE_CALLTYPE createInputStream() const throw(); | |||||
| /** Creates a stream to write to this file. | /** Creates a stream to write to this file. | ||||
| @@ -544,7 +544,7 @@ public: | |||||
| end of the file), or 0 if the file can't be opened for some reason | end of the file), or 0 if the file can't be opened for some reason | ||||
| @see createInputStream, printf, appendData, appendText | @see createInputStream, printf, appendData, appendText | ||||
| */ | */ | ||||
| FileOutputStream* createOutputStream (const int bufferSize = 0x8000) const throw(); | |||||
| FileOutputStream* JUCE_CALLTYPE createOutputStream (const int bufferSize = 0x8000) const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Loads a file's contents into memory as a block of binary data. | /** Loads a file's contents into memory as a block of binary data. | ||||
| @@ -557,7 +557,7 @@ public: | |||||
| might want to clear it first | might want to clear it first | ||||
| @returns true if the file could all be read into memory | @returns true if the file could all be read into memory | ||||
| */ | */ | ||||
| bool loadFileAsData (MemoryBlock& result) const throw(); | |||||
| bool JUCE_CALLTYPE loadFileAsData (MemoryBlock& result) const throw(); | |||||
| /** Reads a file into memory as a string. | /** Reads a file into memory as a string. | ||||
| @@ -566,7 +566,7 @@ public: | |||||
| This makes use of InputStream::readEntireStreamAsString, which should | This makes use of InputStream::readEntireStreamAsString, which should | ||||
| automatically cope with unicode/acsii file formats. | automatically cope with unicode/acsii file formats. | ||||
| */ | */ | ||||
| const String loadFileAsString() const throw(); | |||||
| const String JUCE_CALLTYPE loadFileAsString() const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Writes text to the end of the file. | /** Writes text to the end of the file. | ||||
| @@ -575,7 +575,7 @@ public: | |||||
| @returns false if it can't write to the file for some reason | @returns false if it can't write to the file for some reason | ||||
| */ | */ | ||||
| bool printf (const tchar* format, ...) const throw(); | |||||
| bool JUCE_CALLTYPE printf (const tchar* format, ...) const throw(); | |||||
| /** Appends a block of binary data to the end of the file. | /** Appends a block of binary data to the end of the file. | ||||
| @@ -583,8 +583,8 @@ public: | |||||
| @returns false if it can't write to the file for some reason | @returns false if it can't write to the file for some reason | ||||
| */ | */ | ||||
| bool appendData (const void* const dataToAppend, | |||||
| const int numberOfBytes) const throw(); | |||||
| bool JUCE_CALLTYPE appendData (const void* const dataToAppend, | |||||
| const int numberOfBytes) const throw(); | |||||
| /** Replaces this file's contents with a given block of data. | /** Replaces this file's contents with a given block of data. | ||||
| @@ -600,8 +600,8 @@ public: | |||||
| @see appendText | @see appendText | ||||
| */ | */ | ||||
| bool replaceWithData (const void* const dataToWrite, | |||||
| const int numberOfBytes) const throw(); | |||||
| bool JUCE_CALLTYPE replaceWithData (const void* const dataToWrite, | |||||
| const int numberOfBytes) const throw(); | |||||
| /** Appends a string to the end of the file. | /** Appends a string to the end of the file. | ||||
| @@ -615,9 +615,9 @@ public: | |||||
| @see replaceWithText | @see replaceWithText | ||||
| */ | */ | ||||
| bool appendText (const String& textToAppend, | |||||
| const bool asUnicode = false, | |||||
| const bool writeUnicodeHeaderBytes = false) const throw(); | |||||
| bool JUCE_CALLTYPE appendText (const String& textToAppend, | |||||
| const bool asUnicode = false, | |||||
| const bool writeUnicodeHeaderBytes = false) const throw(); | |||||
| /** Replaces this file's contents with a given text string. | /** Replaces this file's contents with a given text string. | ||||
| @@ -635,9 +635,9 @@ public: | |||||
| @see appendText | @see appendText | ||||
| */ | */ | ||||
| bool replaceWithText (const String& textToWrite, | |||||
| const bool asUnicode = false, | |||||
| const bool writeUnicodeHeaderBytes = false) const throw(); | |||||
| bool JUCE_CALLTYPE replaceWithText (const String& textToWrite, | |||||
| const bool asUnicode = false, | |||||
| const bool writeUnicodeHeaderBytes = false) const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Creates a set of files to represent each file root. | /** Creates a set of files to represent each file root. | ||||
| @@ -646,41 +646,41 @@ public: | |||||
| to which ones are available. On the Mac/Linux, this will probably | to which ones are available. On the Mac/Linux, this will probably | ||||
| just add a single entry for "/". | just add a single entry for "/". | ||||
| */ | */ | ||||
| static void findFileSystemRoots (OwnedArray<File>& results) throw(); | |||||
| static void JUCE_CALLTYPE findFileSystemRoots (OwnedArray<File>& results) throw(); | |||||
| /** Finds the name of the drive on which this file lives. | /** Finds the name of the drive on which this file lives. | ||||
| @returns the volume label of the drive, or an empty string if this isn't possible | @returns the volume label of the drive, or an empty string if this isn't possible | ||||
| */ | */ | ||||
| const String getVolumeLabel() const throw(); | |||||
| const String JUCE_CALLTYPE getVolumeLabel() const throw(); | |||||
| /** Returns the serial number of the volume on which this file lives. | /** Returns the serial number of the volume on which this file lives. | ||||
| @returns the serial number, or zero if there's a problem doing this | @returns the serial number, or zero if there's a problem doing this | ||||
| */ | */ | ||||
| int getVolumeSerialNumber() const throw(); | |||||
| int JUCE_CALLTYPE getVolumeSerialNumber() const throw(); | |||||
| /** Returns the number of bytes free on the drive that this file lives on. | /** Returns the number of bytes free on the drive that this file lives on. | ||||
| @returns the number of bytes free, or 0 if there's a problem finding this out | @returns the number of bytes free, or 0 if there's a problem finding this out | ||||
| */ | */ | ||||
| int64 getBytesFreeOnVolume() const throw(); | |||||
| int64 JUCE_CALLTYPE getBytesFreeOnVolume() const throw(); | |||||
| /** Returns true if this file is on a CD or DVD drive. */ | /** Returns true if this file is on a CD or DVD drive. */ | ||||
| bool isOnCDRomDrive() const throw(); | |||||
| bool JUCE_CALLTYPE isOnCDRomDrive() const throw(); | |||||
| /** Returns true if this file is on a hard disk. | /** Returns true if this file is on a hard disk. | ||||
| This will fail if it's a network drive, but will still be true for | This will fail if it's a network drive, but will still be true for | ||||
| removable hard-disks. | removable hard-disks. | ||||
| */ | */ | ||||
| bool isOnHardDisk() const throw(); | |||||
| bool JUCE_CALLTYPE isOnHardDisk() const throw(); | |||||
| /** Returns true if this file is on a removable disk drive. | /** Returns true if this file is on a removable disk drive. | ||||
| This might be a usb-drive, a CD-rom, or maybe a network drive. | This might be a usb-drive, a CD-rom, or maybe a network drive. | ||||
| */ | */ | ||||
| bool isOnRemovableDrive() const throw(); | |||||
| bool JUCE_CALLTYPE isOnRemovableDrive() const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Launches the file as a process. | /** Launches the file as a process. | ||||
| @@ -692,7 +692,7 @@ public: | |||||
| - if it's a folder, it will be opened in Explorer, Finder, or equivalent. | - if it's a folder, it will be opened in Explorer, Finder, or equivalent. | ||||
| */ | */ | ||||
| bool startAsProcess (const String& parameters = String::empty) const throw(); | |||||
| bool JUCE_CALLTYPE startAsProcess (const String& parameters = String::empty) const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** A set of types of location that can be passed to the getSpecialLocation() method. | /** A set of types of location that can be passed to the getSpecialLocation() method. | ||||
| @@ -767,7 +767,7 @@ public: | |||||
| @see SpecialLocationType | @see SpecialLocationType | ||||
| */ | */ | ||||
| static const File getSpecialLocation (const SpecialLocationType type); | |||||
| static const File JUCE_CALLTYPE getSpecialLocation (const SpecialLocationType type); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Returns a temporary file in the system's temp directory. | /** Returns a temporary file in the system's temp directory. | ||||
| @@ -776,7 +776,7 @@ public: | |||||
| To get the temp folder, you can use getSpecialLocation (File::tempDirectory). | To get the temp folder, you can use getSpecialLocation (File::tempDirectory). | ||||
| */ | */ | ||||
| static const File createTempFile (const String& fileNameEnding) throw(); | |||||
| static const File JUCE_CALLTYPE createTempFile (const String& fileNameEnding) throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| @@ -784,7 +784,7 @@ public: | |||||
| @see setAsCurrentWorkingDirectory | @see setAsCurrentWorkingDirectory | ||||
| */ | */ | ||||
| static const File getCurrentWorkingDirectory() throw(); | |||||
| static const File JUCE_CALLTYPE getCurrentWorkingDirectory() throw(); | |||||
| /** Sets the current working directory to be this file. | /** Sets the current working directory to be this file. | ||||
| @@ -793,7 +793,7 @@ public: | |||||
| @returns true if the current directory has been changed. | @returns true if the current directory has been changed. | ||||
| @see getCurrentWorkingDirectory | @see getCurrentWorkingDirectory | ||||
| */ | */ | ||||
| bool setAsCurrentWorkingDirectory() const throw(); | |||||
| bool JUCE_CALLTYPE setAsCurrentWorkingDirectory() const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** The system-specific file separator character. | /** The system-specific file separator character. | ||||
| @@ -819,7 +819,7 @@ public: | |||||
| @see createLegalPathName | @see createLegalPathName | ||||
| */ | */ | ||||
| static const String createLegalFileName (const String& fileNameToFix) throw(); | |||||
| static const String JUCE_CALLTYPE createLegalFileName (const String& fileNameToFix) throw(); | |||||
| /** Removes illegal characters from a pathname. | /** Removes illegal characters from a pathname. | ||||
| @@ -828,11 +828,11 @@ public: | |||||
| @see createLegalFileName | @see createLegalFileName | ||||
| */ | */ | ||||
| static const String createLegalPathName (const String& pathNameToFix) throw(); | |||||
| static const String JUCE_CALLTYPE createLegalPathName (const String& pathNameToFix) throw(); | |||||
| /** Indicates whether filenames are case-sensitive on the current operating system. | /** Indicates whether filenames are case-sensitive on the current operating system. | ||||
| */ | */ | ||||
| static bool areFileNamesCaseSensitive(); | |||||
| static bool JUCE_CALLTYPE areFileNamesCaseSensitive(); | |||||
| //============================================================================== | //============================================================================== | ||||
| juce_UseDebuggingNewOperator | juce_UseDebuggingNewOperator | ||||
| @@ -844,7 +844,7 @@ private: | |||||
| // internal way of contructing a file without checking the path | // internal way of contructing a file without checking the path | ||||
| friend class DirectoryIterator; | friend class DirectoryIterator; | ||||
| File (const String&, int) throw(); | File (const String&, int) throw(); | ||||
| const String getPathUpToLastSlash() const throw(); | |||||
| const String JUCE_CALLTYPE getPathUpToLastSlash() const throw(); | |||||
| }; | }; | ||||
| #endif // __JUCE_FILE_JUCEHEADER__ | #endif // __JUCE_FILE_JUCEHEADER__ | ||||
| @@ -49,12 +49,12 @@ BEGIN_JUCE_NAMESPACE | |||||
| #include "juce_String.h" | #include "juce_String.h" | ||||
| //============================================================================== | //============================================================================== | ||||
| int CharacterFunctions::length (const char* const s) throw() | |||||
| int JUCE_CALLTYPE CharacterFunctions::length (const char* const s) throw() | |||||
| { | { | ||||
| return (int) strlen (s); | return (int) strlen (s); | ||||
| } | } | ||||
| int CharacterFunctions::length (const juce_wchar* const s) throw() | |||||
| int JUCE_CALLTYPE CharacterFunctions::length (const juce_wchar* const s) throw() | |||||
| { | { | ||||
| #ifdef MACOS_10_2_OR_EARLIER | #ifdef MACOS_10_2_OR_EARLIER | ||||
| int n = 0; | int n = 0; | ||||
| @@ -67,12 +67,12 @@ int CharacterFunctions::length (const juce_wchar* const s) throw() | |||||
| #endif | #endif | ||||
| } | } | ||||
| void CharacterFunctions::copy (char* dest, const char* src, const int maxChars) throw() | |||||
| void JUCE_CALLTYPE CharacterFunctions::copy (char* dest, const char* src, const int maxChars) throw() | |||||
| { | { | ||||
| strncpy (dest, src, maxChars); | strncpy (dest, src, maxChars); | ||||
| } | } | ||||
| void CharacterFunctions::copy (juce_wchar* dest, const juce_wchar* src, int maxChars) throw() | |||||
| void JUCE_CALLTYPE CharacterFunctions::copy (juce_wchar* dest, const juce_wchar* src, int maxChars) throw() | |||||
| { | { | ||||
| #ifdef MACOS_10_2_OR_EARLIER | #ifdef MACOS_10_2_OR_EARLIER | ||||
| while (--maxChars >= 0 && *src != 0) | while (--maxChars >= 0 && *src != 0) | ||||
| @@ -84,22 +84,22 @@ void CharacterFunctions::copy (juce_wchar* dest, const juce_wchar* src, int maxC | |||||
| #endif | #endif | ||||
| } | } | ||||
| void CharacterFunctions::copy (juce_wchar* dest, const char* src, const int maxChars) throw() | |||||
| void JUCE_CALLTYPE CharacterFunctions::copy (juce_wchar* dest, const char* src, const int maxChars) throw() | |||||
| { | { | ||||
| mbstowcs (dest, src, maxChars); | mbstowcs (dest, src, maxChars); | ||||
| } | } | ||||
| void CharacterFunctions::copy (char* dest, const juce_wchar* src, const int maxChars) throw() | |||||
| void JUCE_CALLTYPE CharacterFunctions::copy (char* dest, const juce_wchar* src, const int maxChars) throw() | |||||
| { | { | ||||
| wcstombs (dest, src, maxChars); | wcstombs (dest, src, maxChars); | ||||
| } | } | ||||
| void CharacterFunctions::append (char* dest, const char* src) throw() | |||||
| void JUCE_CALLTYPE CharacterFunctions::append (char* dest, const char* src) throw() | |||||
| { | { | ||||
| strcat (dest, src); | strcat (dest, src); | ||||
| } | } | ||||
| void CharacterFunctions::append (juce_wchar* dest, const juce_wchar* src) throw() | |||||
| void JUCE_CALLTYPE CharacterFunctions::append (juce_wchar* dest, const juce_wchar* src) throw() | |||||
| { | { | ||||
| #ifdef MACOS_10_2_OR_EARLIER | #ifdef MACOS_10_2_OR_EARLIER | ||||
| while (*dest != 0) | while (*dest != 0) | ||||
| @@ -114,12 +114,12 @@ void CharacterFunctions::append (juce_wchar* dest, const juce_wchar* src) throw( | |||||
| #endif | #endif | ||||
| } | } | ||||
| int CharacterFunctions::compare (const char* const s1, const char* const s2) throw() | |||||
| int JUCE_CALLTYPE CharacterFunctions::compare (const char* const s1, const char* const s2) throw() | |||||
| { | { | ||||
| return strcmp (s1, s2); | return strcmp (s1, s2); | ||||
| } | } | ||||
| int CharacterFunctions::compare (const juce_wchar* s1, const juce_wchar* s2) throw() | |||||
| int JUCE_CALLTYPE CharacterFunctions::compare (const juce_wchar* s1, const juce_wchar* s2) throw() | |||||
| { | { | ||||
| jassert (s1 != 0 && s2 != 0); | jassert (s1 != 0 && s2 != 0); | ||||
| @@ -146,14 +146,14 @@ int CharacterFunctions::compare (const juce_wchar* s1, const juce_wchar* s2) thr | |||||
| #endif | #endif | ||||
| } | } | ||||
| int CharacterFunctions::compare (const char* const s1, const char* const s2, const int maxChars) throw() | |||||
| int JUCE_CALLTYPE CharacterFunctions::compare (const char* const s1, const char* const s2, const int maxChars) throw() | |||||
| { | { | ||||
| jassert (s1 != 0 && s2 != 0); | jassert (s1 != 0 && s2 != 0); | ||||
| return strncmp (s1, s2, maxChars); | return strncmp (s1, s2, maxChars); | ||||
| } | } | ||||
| int CharacterFunctions::compare (const juce_wchar* s1, const juce_wchar* s2, int maxChars) throw() | |||||
| int JUCE_CALLTYPE CharacterFunctions::compare (const juce_wchar* s1, const juce_wchar* s2, int maxChars) throw() | |||||
| { | { | ||||
| jassert (s1 != 0 && s2 != 0); | jassert (s1 != 0 && s2 != 0); | ||||
| @@ -175,7 +175,7 @@ int CharacterFunctions::compare (const juce_wchar* s1, const juce_wchar* s2, int | |||||
| #endif | #endif | ||||
| } | } | ||||
| int CharacterFunctions::compareIgnoreCase (const char* const s1, const char* const s2) throw() | |||||
| int JUCE_CALLTYPE CharacterFunctions::compareIgnoreCase (const char* const s1, const char* const s2) throw() | |||||
| { | { | ||||
| jassert (s1 != 0 && s2 != 0); | jassert (s1 != 0 && s2 != 0); | ||||
| @@ -186,7 +186,7 @@ int CharacterFunctions::compareIgnoreCase (const char* const s1, const char* con | |||||
| #endif | #endif | ||||
| } | } | ||||
| int CharacterFunctions::compareIgnoreCase (const juce_wchar* s1, const juce_wchar* s2) throw() | |||||
| int JUCE_CALLTYPE CharacterFunctions::compareIgnoreCase (const juce_wchar* s1, const juce_wchar* s2) throw() | |||||
| { | { | ||||
| jassert (s1 != 0 && s2 != 0); | jassert (s1 != 0 && s2 != 0); | ||||
| @@ -213,7 +213,7 @@ int CharacterFunctions::compareIgnoreCase (const juce_wchar* s1, const juce_wcha | |||||
| #endif | #endif | ||||
| } | } | ||||
| int CharacterFunctions::compareIgnoreCase (const char* const s1, const char* const s2, const int maxChars) throw() | |||||
| int JUCE_CALLTYPE CharacterFunctions::compareIgnoreCase (const char* const s1, const char* const s2, const int maxChars) throw() | |||||
| { | { | ||||
| jassert (s1 != 0 && s2 != 0); | jassert (s1 != 0 && s2 != 0); | ||||
| @@ -224,7 +224,7 @@ int CharacterFunctions::compareIgnoreCase (const char* const s1, const char* con | |||||
| #endif | #endif | ||||
| } | } | ||||
| int CharacterFunctions::compareIgnoreCase (const juce_wchar* s1, const juce_wchar* s2, int maxChars) throw() | |||||
| int JUCE_CALLTYPE CharacterFunctions::compareIgnoreCase (const juce_wchar* s1, const juce_wchar* s2, int maxChars) throw() | |||||
| { | { | ||||
| jassert (s1 != 0 && s2 != 0); | jassert (s1 != 0 && s2 != 0); | ||||
| @@ -251,12 +251,12 @@ int CharacterFunctions::compareIgnoreCase (const juce_wchar* s1, const juce_wcha | |||||
| #endif | #endif | ||||
| } | } | ||||
| const char* CharacterFunctions::find (const char* const haystack, const char* const needle) throw() | |||||
| const char* JUCE_CALLTYPE CharacterFunctions::find (const char* const haystack, const char* const needle) throw() | |||||
| { | { | ||||
| return strstr (haystack, needle); | return strstr (haystack, needle); | ||||
| } | } | ||||
| const juce_wchar* CharacterFunctions::find (const juce_wchar* haystack, const juce_wchar* const needle) throw() | |||||
| const juce_wchar* JUCE_CALLTYPE CharacterFunctions::find (const juce_wchar* haystack, const juce_wchar* const needle) throw() | |||||
| { | { | ||||
| #ifdef MACOS_10_2_OR_EARLIER | #ifdef MACOS_10_2_OR_EARLIER | ||||
| while (*haystack != 0) | while (*haystack != 0) | ||||
| @@ -285,7 +285,7 @@ const juce_wchar* CharacterFunctions::find (const juce_wchar* haystack, const ju | |||||
| #endif | #endif | ||||
| } | } | ||||
| int CharacterFunctions::indexOfChar (const char* const haystack, const char needle, const bool ignoreCase) throw() | |||||
| int JUCE_CALLTYPE CharacterFunctions::indexOfChar (const char* const haystack, const char needle, const bool ignoreCase) throw() | |||||
| { | { | ||||
| if (haystack != 0) | if (haystack != 0) | ||||
| { | { | ||||
| @@ -324,7 +324,7 @@ int CharacterFunctions::indexOfChar (const char* const haystack, const char need | |||||
| return -1; | return -1; | ||||
| } | } | ||||
| int CharacterFunctions::indexOfChar (const juce_wchar* const haystack, const juce_wchar needle, const bool ignoreCase) throw() | |||||
| int JUCE_CALLTYPE CharacterFunctions::indexOfChar (const juce_wchar* const haystack, const juce_wchar needle, const bool ignoreCase) throw() | |||||
| { | { | ||||
| if (haystack != 0) | if (haystack != 0) | ||||
| { | { | ||||
| @@ -363,7 +363,7 @@ int CharacterFunctions::indexOfChar (const juce_wchar* const haystack, const juc | |||||
| return -1; | return -1; | ||||
| } | } | ||||
| int CharacterFunctions::indexOfCharFast (const char* const haystack, const char needle) throw() | |||||
| int JUCE_CALLTYPE CharacterFunctions::indexOfCharFast (const char* const haystack, const char needle) throw() | |||||
| { | { | ||||
| jassert (haystack != 0); | jassert (haystack != 0); | ||||
| @@ -379,7 +379,7 @@ int CharacterFunctions::indexOfCharFast (const char* const haystack, const char | |||||
| return -1; | return -1; | ||||
| } | } | ||||
| int CharacterFunctions::indexOfCharFast (const juce_wchar* const haystack, const juce_wchar needle) throw() | |||||
| int JUCE_CALLTYPE CharacterFunctions::indexOfCharFast (const juce_wchar* const haystack, const juce_wchar needle) throw() | |||||
| { | { | ||||
| jassert (haystack != 0); | jassert (haystack != 0); | ||||
| @@ -395,12 +395,12 @@ int CharacterFunctions::indexOfCharFast (const juce_wchar* const haystack, const | |||||
| return -1; | return -1; | ||||
| } | } | ||||
| int CharacterFunctions::getIntialSectionContainingOnly (const char* const text, const char* const allowedChars) throw() | |||||
| int JUCE_CALLTYPE CharacterFunctions::getIntialSectionContainingOnly (const char* const text, const char* const allowedChars) throw() | |||||
| { | { | ||||
| return allowedChars == 0 ? 0 : (int) strspn (text, allowedChars); | return allowedChars == 0 ? 0 : (int) strspn (text, allowedChars); | ||||
| } | } | ||||
| int CharacterFunctions::getIntialSectionContainingOnly (const juce_wchar* const text, const juce_wchar* const allowedChars) throw() | |||||
| int JUCE_CALLTYPE CharacterFunctions::getIntialSectionContainingOnly (const juce_wchar* const text, const juce_wchar* const allowedChars) throw() | |||||
| { | { | ||||
| if (allowedChars == 0) | if (allowedChars == 0) | ||||
| return 0; | return 0; | ||||
| @@ -418,12 +418,12 @@ int CharacterFunctions::getIntialSectionContainingOnly (const juce_wchar* const | |||||
| return i; | return i; | ||||
| } | } | ||||
| int CharacterFunctions::ftime (char* const dest, const int maxChars, const char* const format, const struct tm* const tm) throw() | |||||
| int JUCE_CALLTYPE CharacterFunctions::ftime (char* const dest, const int maxChars, const char* const format, const struct tm* const tm) throw() | |||||
| { | { | ||||
| return (int) strftime (dest, maxChars, format, tm); | return (int) strftime (dest, maxChars, format, tm); | ||||
| } | } | ||||
| int CharacterFunctions::ftime (juce_wchar* const dest, const int maxChars, const juce_wchar* const format, const struct tm* const tm) throw() | |||||
| int JUCE_CALLTYPE CharacterFunctions::ftime (juce_wchar* const dest, const int maxChars, const juce_wchar* const format, const struct tm* const tm) throw() | |||||
| { | { | ||||
| #ifdef MACOS_10_2_OR_EARLIER | #ifdef MACOS_10_2_OR_EARLIER | ||||
| const String formatTemp (format); | const String formatTemp (format); | ||||
| @@ -437,12 +437,12 @@ int CharacterFunctions::ftime (juce_wchar* const dest, const int maxChars, const | |||||
| #endif | #endif | ||||
| } | } | ||||
| int CharacterFunctions::getIntValue (const char* const s) throw() | |||||
| int JUCE_CALLTYPE CharacterFunctions::getIntValue (const char* const s) throw() | |||||
| { | { | ||||
| return atoi (s); | return atoi (s); | ||||
| } | } | ||||
| int CharacterFunctions::getIntValue (const juce_wchar* s) throw() | |||||
| int JUCE_CALLTYPE CharacterFunctions::getIntValue (const juce_wchar* s) throw() | |||||
| { | { | ||||
| #if JUCE_WIN32 | #if JUCE_WIN32 | ||||
| return _wtoi (s); | return _wtoi (s); | ||||
| @@ -470,7 +470,7 @@ int CharacterFunctions::getIntValue (const juce_wchar* s) throw() | |||||
| #endif | #endif | ||||
| } | } | ||||
| int64 CharacterFunctions::getInt64Value (const char* s) throw() | |||||
| int64 JUCE_CALLTYPE CharacterFunctions::getInt64Value (const char* s) throw() | |||||
| { | { | ||||
| #ifdef JUCE_LINUX | #ifdef JUCE_LINUX | ||||
| return atoll (s); | return atoll (s); | ||||
| @@ -500,7 +500,7 @@ int64 CharacterFunctions::getInt64Value (const char* s) throw() | |||||
| #endif | #endif | ||||
| } | } | ||||
| int64 CharacterFunctions::getInt64Value (const juce_wchar* s) throw() | |||||
| int64 JUCE_CALLTYPE CharacterFunctions::getInt64Value (const juce_wchar* s) throw() | |||||
| { | { | ||||
| #if JUCE_WIN32 | #if JUCE_WIN32 | ||||
| return _wtoi64 (s); | return _wtoi64 (s); | ||||
| @@ -528,12 +528,12 @@ int64 CharacterFunctions::getInt64Value (const juce_wchar* s) throw() | |||||
| #endif | #endif | ||||
| } | } | ||||
| double CharacterFunctions::getDoubleValue (const char* const s) throw() | |||||
| double JUCE_CALLTYPE CharacterFunctions::getDoubleValue (const char* const s) throw() | |||||
| { | { | ||||
| return atof (s); | return atof (s); | ||||
| } | } | ||||
| double CharacterFunctions::getDoubleValue (const juce_wchar* const s) throw() | |||||
| double JUCE_CALLTYPE CharacterFunctions::getDoubleValue (const juce_wchar* const s) throw() | |||||
| { | { | ||||
| #ifdef MACOS_10_2_OR_EARLIER | #ifdef MACOS_10_2_OR_EARLIER | ||||
| String temp (s); | String temp (s); | ||||
| @@ -545,12 +545,12 @@ double CharacterFunctions::getDoubleValue (const juce_wchar* const s) throw() | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| char CharacterFunctions::toUpperCase (const char character) throw() | |||||
| char JUCE_CALLTYPE CharacterFunctions::toUpperCase (const char character) throw() | |||||
| { | { | ||||
| return (char) toupper (character); | return (char) toupper (character); | ||||
| } | } | ||||
| juce_wchar CharacterFunctions::toUpperCase (const juce_wchar character) throw() | |||||
| juce_wchar JUCE_CALLTYPE CharacterFunctions::toUpperCase (const juce_wchar character) throw() | |||||
| { | { | ||||
| #ifdef MACOS_10_2_OR_EARLIER | #ifdef MACOS_10_2_OR_EARLIER | ||||
| return toupper ((char) character); | return toupper ((char) character); | ||||
| @@ -559,7 +559,7 @@ juce_wchar CharacterFunctions::toUpperCase (const juce_wchar character) throw() | |||||
| #endif | #endif | ||||
| } | } | ||||
| void CharacterFunctions::toUpperCase (char* s) throw() | |||||
| void JUCE_CALLTYPE CharacterFunctions::toUpperCase (char* s) throw() | |||||
| { | { | ||||
| #if JUCE_WIN32 | #if JUCE_WIN32 | ||||
| strupr (s); | strupr (s); | ||||
| @@ -572,7 +572,7 @@ void CharacterFunctions::toUpperCase (char* s) throw() | |||||
| #endif | #endif | ||||
| } | } | ||||
| void CharacterFunctions::toUpperCase (juce_wchar* s) throw() | |||||
| void JUCE_CALLTYPE CharacterFunctions::toUpperCase (juce_wchar* s) throw() | |||||
| { | { | ||||
| #if JUCE_WIN32 | #if JUCE_WIN32 | ||||
| _wcsupr (s); | _wcsupr (s); | ||||
| @@ -585,12 +585,12 @@ void CharacterFunctions::toUpperCase (juce_wchar* s) throw() | |||||
| #endif | #endif | ||||
| } | } | ||||
| bool CharacterFunctions::isUpperCase (const char character) throw() | |||||
| bool JUCE_CALLTYPE CharacterFunctions::isUpperCase (const char character) throw() | |||||
| { | { | ||||
| return isupper (character) != 0; | return isupper (character) != 0; | ||||
| } | } | ||||
| bool CharacterFunctions::isUpperCase (const juce_wchar character) throw() | |||||
| bool JUCE_CALLTYPE CharacterFunctions::isUpperCase (const juce_wchar character) throw() | |||||
| { | { | ||||
| #if JUCE_WIN32 | #if JUCE_WIN32 | ||||
| return iswupper (character) != 0; | return iswupper (character) != 0; | ||||
| @@ -600,12 +600,12 @@ bool CharacterFunctions::isUpperCase (const juce_wchar character) throw() | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| char CharacterFunctions::toLowerCase (const char character) throw() | |||||
| char JUCE_CALLTYPE CharacterFunctions::toLowerCase (const char character) throw() | |||||
| { | { | ||||
| return (char) tolower (character); | return (char) tolower (character); | ||||
| } | } | ||||
| juce_wchar CharacterFunctions::toLowerCase (const juce_wchar character) throw() | |||||
| juce_wchar JUCE_CALLTYPE CharacterFunctions::toLowerCase (const juce_wchar character) throw() | |||||
| { | { | ||||
| #ifdef MACOS_10_2_OR_EARLIER | #ifdef MACOS_10_2_OR_EARLIER | ||||
| return tolower ((char) character); | return tolower ((char) character); | ||||
| @@ -614,7 +614,7 @@ juce_wchar CharacterFunctions::toLowerCase (const juce_wchar character) throw() | |||||
| #endif | #endif | ||||
| } | } | ||||
| void CharacterFunctions::toLowerCase (char* s) throw() | |||||
| void JUCE_CALLTYPE CharacterFunctions::toLowerCase (char* s) throw() | |||||
| { | { | ||||
| #if JUCE_WIN32 | #if JUCE_WIN32 | ||||
| strlwr (s); | strlwr (s); | ||||
| @@ -627,7 +627,7 @@ void CharacterFunctions::toLowerCase (char* s) throw() | |||||
| #endif | #endif | ||||
| } | } | ||||
| void CharacterFunctions::toLowerCase (juce_wchar* s) throw() | |||||
| void JUCE_CALLTYPE CharacterFunctions::toLowerCase (juce_wchar* s) throw() | |||||
| { | { | ||||
| #if JUCE_WIN32 | #if JUCE_WIN32 | ||||
| _wcslwr (s); | _wcslwr (s); | ||||
| @@ -640,12 +640,12 @@ void CharacterFunctions::toLowerCase (juce_wchar* s) throw() | |||||
| #endif | #endif | ||||
| } | } | ||||
| bool CharacterFunctions::isLowerCase (const char character) throw() | |||||
| bool JUCE_CALLTYPE CharacterFunctions::isLowerCase (const char character) throw() | |||||
| { | { | ||||
| return islower (character) != 0; | return islower (character) != 0; | ||||
| } | } | ||||
| bool CharacterFunctions::isLowerCase (const juce_wchar character) throw() | |||||
| bool JUCE_CALLTYPE CharacterFunctions::isLowerCase (const juce_wchar character) throw() | |||||
| { | { | ||||
| #if JUCE_WIN32 | #if JUCE_WIN32 | ||||
| return iswlower (character) != 0; | return iswlower (character) != 0; | ||||
| @@ -655,12 +655,12 @@ bool CharacterFunctions::isLowerCase (const juce_wchar character) throw() | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| bool CharacterFunctions::isWhitespace (const char character) throw() | |||||
| bool JUCE_CALLTYPE CharacterFunctions::isWhitespace (const char character) throw() | |||||
| { | { | ||||
| return character == T(' ') || (character <= 13 && character >= 9); | return character == T(' ') || (character <= 13 && character >= 9); | ||||
| } | } | ||||
| bool CharacterFunctions::isWhitespace (const juce_wchar character) throw() | |||||
| bool JUCE_CALLTYPE CharacterFunctions::isWhitespace (const juce_wchar character) throw() | |||||
| { | { | ||||
| #ifdef MACOS_10_2_OR_EARLIER | #ifdef MACOS_10_2_OR_EARLIER | ||||
| return isWhitespace ((char) character); | return isWhitespace ((char) character); | ||||
| @@ -669,23 +669,23 @@ bool CharacterFunctions::isWhitespace (const juce_wchar character) throw() | |||||
| #endif | #endif | ||||
| } | } | ||||
| bool CharacterFunctions::isDigit (const char character) throw() | |||||
| bool JUCE_CALLTYPE CharacterFunctions::isDigit (const char character) throw() | |||||
| { | { | ||||
| return (character >= '0' && character <= '9'); | return (character >= '0' && character <= '9'); | ||||
| } | } | ||||
| bool CharacterFunctions::isDigit (const juce_wchar character) throw() | |||||
| bool JUCE_CALLTYPE CharacterFunctions::isDigit (const juce_wchar character) throw() | |||||
| { | { | ||||
| return isdigit (character) != 0; | return isdigit (character) != 0; | ||||
| } | } | ||||
| bool CharacterFunctions::isLetter (const char character) throw() | |||||
| bool JUCE_CALLTYPE CharacterFunctions::isLetter (const char character) throw() | |||||
| { | { | ||||
| return (character >= 'a' && character <= 'z') | return (character >= 'a' && character <= 'z') | ||||
| || (character >= 'A' && character <= 'Z'); | || (character >= 'A' && character <= 'Z'); | ||||
| } | } | ||||
| bool CharacterFunctions::isLetter (const juce_wchar character) throw() | |||||
| bool JUCE_CALLTYPE CharacterFunctions::isLetter (const juce_wchar character) throw() | |||||
| { | { | ||||
| #ifdef MACOS_10_2_OR_EARLIER | #ifdef MACOS_10_2_OR_EARLIER | ||||
| return isLetter ((char) character); | return isLetter ((char) character); | ||||
| @@ -694,14 +694,14 @@ bool CharacterFunctions::isLetter (const juce_wchar character) throw() | |||||
| #endif | #endif | ||||
| } | } | ||||
| bool CharacterFunctions::isLetterOrDigit (const char character) throw() | |||||
| bool JUCE_CALLTYPE CharacterFunctions::isLetterOrDigit (const char character) throw() | |||||
| { | { | ||||
| return (character >= 'a' && character <= 'z') | return (character >= 'a' && character <= 'z') | ||||
| || (character >= 'A' && character <= 'Z') | || (character >= 'A' && character <= 'Z') | ||||
| || (character >= '0' && character <= '9'); | || (character >= '0' && character <= '9'); | ||||
| } | } | ||||
| bool CharacterFunctions::isLetterOrDigit (const juce_wchar character) throw() | |||||
| bool JUCE_CALLTYPE CharacterFunctions::isLetterOrDigit (const juce_wchar character) throw() | |||||
| { | { | ||||
| #ifdef MACOS_10_2_OR_EARLIER | #ifdef MACOS_10_2_OR_EARLIER | ||||
| return isLetterOrDigit ((char) character); | return isLetterOrDigit ((char) character); | ||||
| @@ -710,7 +710,7 @@ bool CharacterFunctions::isLetterOrDigit (const juce_wchar character) throw() | |||||
| #endif | #endif | ||||
| } | } | ||||
| int CharacterFunctions::getHexDigitValue (const tchar digit) throw() | |||||
| int JUCE_CALLTYPE CharacterFunctions::getHexDigitValue (const tchar digit) throw() | |||||
| { | { | ||||
| if (digit >= T('0') && digit <= T('9')) | if (digit >= T('0') && digit <= T('9')) | ||||
| return digit - T('0'); | return digit - T('0'); | ||||
| @@ -723,21 +723,21 @@ int CharacterFunctions::getHexDigitValue (const tchar digit) throw() | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| int CharacterFunctions::printf (char* const dest, const int maxLength, const char* const format, ...) throw() | |||||
| int JUCE_CALLTYPE CharacterFunctions::printf (char* const dest, const int maxLength, const char* const format, ...) throw() | |||||
| { | { | ||||
| va_list list; | va_list list; | ||||
| va_start (list, format); | va_start (list, format); | ||||
| return vprintf (dest, maxLength, format, list); | return vprintf (dest, maxLength, format, list); | ||||
| } | } | ||||
| int CharacterFunctions::printf (juce_wchar* const dest, const int maxLength, const juce_wchar* const format, ...) throw() | |||||
| int JUCE_CALLTYPE CharacterFunctions::printf (juce_wchar* const dest, const int maxLength, const juce_wchar* const format, ...) throw() | |||||
| { | { | ||||
| va_list list; | va_list list; | ||||
| va_start (list, format); | va_start (list, format); | ||||
| return vprintf (dest, maxLength, format, list); | return vprintf (dest, maxLength, format, list); | ||||
| } | } | ||||
| int CharacterFunctions::vprintf (char* const dest, const int maxLength, const char* const format, va_list& args) throw() | |||||
| int JUCE_CALLTYPE CharacterFunctions::vprintf (char* const dest, const int maxLength, const char* const format, va_list& args) throw() | |||||
| { | { | ||||
| #if JUCE_WIN32 | #if JUCE_WIN32 | ||||
| return (int) _vsnprintf (dest, maxLength, format, args); | return (int) _vsnprintf (dest, maxLength, format, args); | ||||
| @@ -746,7 +746,7 @@ int CharacterFunctions::vprintf (char* const dest, const int maxLength, const ch | |||||
| #endif | #endif | ||||
| } | } | ||||
| int CharacterFunctions::vprintf (juce_wchar* const dest, const int maxLength, const juce_wchar* const format, va_list& args) throw() | |||||
| int JUCE_CALLTYPE CharacterFunctions::vprintf (juce_wchar* const dest, const int maxLength, const juce_wchar* const format, va_list& args) throw() | |||||
| { | { | ||||
| #ifdef MACOS_10_3_OR_EARLIER | #ifdef MACOS_10_3_OR_EARLIER | ||||
| const String formatTemp (format); | const String formatTemp (format); | ||||
| @@ -88,94 +88,94 @@ | |||||
| class JUCE_API CharacterFunctions | class JUCE_API CharacterFunctions | ||||
| { | { | ||||
| public: | public: | ||||
| static int length (const char* const s) throw(); | |||||
| static int length (const juce_wchar* const s) throw(); | |||||
| static int JUCE_CALLTYPE length (const char* const s) throw(); | |||||
| static int JUCE_CALLTYPE length (const juce_wchar* const s) throw(); | |||||
| static void copy (char* dest, const char* src, const int maxChars) throw(); | |||||
| static void copy (juce_wchar* dest, const juce_wchar* src, const int maxChars) throw(); | |||||
| static void JUCE_CALLTYPE copy (char* dest, const char* src, const int maxChars) throw(); | |||||
| static void JUCE_CALLTYPE copy (juce_wchar* dest, const juce_wchar* src, const int maxChars) throw(); | |||||
| static void copy (juce_wchar* dest, const char* src, const int maxChars) throw(); | |||||
| static void copy (char* dest, const juce_wchar* src, const int maxChars) throw(); | |||||
| static void JUCE_CALLTYPE copy (juce_wchar* dest, const char* src, const int maxChars) throw(); | |||||
| static void JUCE_CALLTYPE copy (char* dest, const juce_wchar* src, const int maxChars) throw(); | |||||
| static void append (char* dest, const char* src) throw(); | |||||
| static void append (juce_wchar* dest, const juce_wchar* src) throw(); | |||||
| static void JUCE_CALLTYPE append (char* dest, const char* src) throw(); | |||||
| static void JUCE_CALLTYPE append (juce_wchar* dest, const juce_wchar* src) throw(); | |||||
| static int compare (const char* const s1, const char* const s2) throw(); | |||||
| static int compare (const juce_wchar* s1, const juce_wchar* s2) throw(); | |||||
| static int JUCE_CALLTYPE compare (const char* const s1, const char* const s2) throw(); | |||||
| static int JUCE_CALLTYPE compare (const juce_wchar* s1, const juce_wchar* s2) throw(); | |||||
| static int compare (const char* const s1, const char* const s2, const int maxChars) throw(); | |||||
| static int compare (const juce_wchar* s1, const juce_wchar* s2, int maxChars) throw(); | |||||
| static int JUCE_CALLTYPE compare (const char* const s1, const char* const s2, const int maxChars) throw(); | |||||
| static int JUCE_CALLTYPE compare (const juce_wchar* s1, const juce_wchar* s2, int maxChars) throw(); | |||||
| static int compareIgnoreCase (const char* const s1, const char* const s2) throw(); | |||||
| static int compareIgnoreCase (const juce_wchar* s1, const juce_wchar* s2) throw(); | |||||
| static int JUCE_CALLTYPE compareIgnoreCase (const char* const s1, const char* const s2) throw(); | |||||
| static int JUCE_CALLTYPE compareIgnoreCase (const juce_wchar* s1, const juce_wchar* s2) throw(); | |||||
| static int compareIgnoreCase (const char* const s1, const char* const s2, const int maxChars) throw(); | |||||
| static int compareIgnoreCase (const juce_wchar* s1, const juce_wchar* s2, int maxChars) throw(); | |||||
| static int JUCE_CALLTYPE compareIgnoreCase (const char* const s1, const char* const s2, const int maxChars) throw(); | |||||
| static int JUCE_CALLTYPE compareIgnoreCase (const juce_wchar* s1, const juce_wchar* s2, int maxChars) throw(); | |||||
| static const char* find (const char* const haystack, const char* const needle) throw(); | |||||
| static const juce_wchar* find (const juce_wchar* haystack, const juce_wchar* const needle) throw(); | |||||
| static const char* JUCE_CALLTYPE find (const char* const haystack, const char* const needle) throw(); | |||||
| static const juce_wchar* JUCE_CALLTYPE find (const juce_wchar* haystack, const juce_wchar* const needle) throw(); | |||||
| static int indexOfChar (const char* const haystack, const char needle, const bool ignoreCase) throw(); | |||||
| static int indexOfChar (const juce_wchar* const haystack, const juce_wchar needle, const bool ignoreCase) throw(); | |||||
| static int JUCE_CALLTYPE indexOfChar (const char* const haystack, const char needle, const bool ignoreCase) throw(); | |||||
| static int JUCE_CALLTYPE indexOfChar (const juce_wchar* const haystack, const juce_wchar needle, const bool ignoreCase) throw(); | |||||
| static int indexOfCharFast (const char* const haystack, const char needle) throw(); | |||||
| static int indexOfCharFast (const juce_wchar* const haystack, const juce_wchar needle) throw(); | |||||
| static int JUCE_CALLTYPE indexOfCharFast (const char* const haystack, const char needle) throw(); | |||||
| static int JUCE_CALLTYPE indexOfCharFast (const juce_wchar* const haystack, const juce_wchar needle) throw(); | |||||
| static int getIntialSectionContainingOnly (const char* const text, const char* const allowedChars) throw(); | |||||
| static int getIntialSectionContainingOnly (const juce_wchar* const text, const juce_wchar* const allowedChars) throw(); | |||||
| static int JUCE_CALLTYPE getIntialSectionContainingOnly (const char* const text, const char* const allowedChars) throw(); | |||||
| static int JUCE_CALLTYPE getIntialSectionContainingOnly (const juce_wchar* const text, const juce_wchar* const allowedChars) throw(); | |||||
| static int ftime (char* const dest, const int maxChars, const char* const format, const struct tm* const tm) throw(); | |||||
| static int ftime (juce_wchar* const dest, const int maxChars, const juce_wchar* const format, const struct tm* const tm) throw(); | |||||
| static int JUCE_CALLTYPE ftime (char* const dest, const int maxChars, const char* const format, const struct tm* const tm) throw(); | |||||
| static int JUCE_CALLTYPE ftime (juce_wchar* const dest, const int maxChars, const juce_wchar* const format, const struct tm* const tm) throw(); | |||||
| static int getIntValue (const char* const s) throw(); | |||||
| static int getIntValue (const juce_wchar* s) throw(); | |||||
| static int JUCE_CALLTYPE getIntValue (const char* const s) throw(); | |||||
| static int JUCE_CALLTYPE getIntValue (const juce_wchar* s) throw(); | |||||
| static int64 getInt64Value (const char* s) throw(); | |||||
| static int64 getInt64Value (const juce_wchar* s) throw(); | |||||
| static int64 JUCE_CALLTYPE getInt64Value (const char* s) throw(); | |||||
| static int64 JUCE_CALLTYPE getInt64Value (const juce_wchar* s) throw(); | |||||
| static double getDoubleValue (const char* const s) throw(); | |||||
| static double getDoubleValue (const juce_wchar* const s) throw(); | |||||
| static double JUCE_CALLTYPE getDoubleValue (const char* const s) throw(); | |||||
| static double JUCE_CALLTYPE getDoubleValue (const juce_wchar* const s) throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| static char toUpperCase (const char character) throw(); | |||||
| static juce_wchar toUpperCase (const juce_wchar character) throw(); | |||||
| static void toUpperCase (char* s) throw(); | |||||
| static char JUCE_CALLTYPE toUpperCase (const char character) throw(); | |||||
| static juce_wchar JUCE_CALLTYPE toUpperCase (const juce_wchar character) throw(); | |||||
| static void JUCE_CALLTYPE toUpperCase (char* s) throw(); | |||||
| static void toUpperCase (juce_wchar* s) throw(); | |||||
| static bool isUpperCase (const char character) throw(); | |||||
| static bool isUpperCase (const juce_wchar character) throw(); | |||||
| static void JUCE_CALLTYPE toUpperCase (juce_wchar* s) throw(); | |||||
| static bool JUCE_CALLTYPE isUpperCase (const char character) throw(); | |||||
| static bool JUCE_CALLTYPE isUpperCase (const juce_wchar character) throw(); | |||||
| static char toLowerCase (const char character) throw(); | |||||
| static juce_wchar toLowerCase (const juce_wchar character) throw(); | |||||
| static void toLowerCase (char* s) throw(); | |||||
| static void toLowerCase (juce_wchar* s) throw(); | |||||
| static bool isLowerCase (const char character) throw(); | |||||
| static bool isLowerCase (const juce_wchar character) throw(); | |||||
| static char JUCE_CALLTYPE toLowerCase (const char character) throw(); | |||||
| static juce_wchar JUCE_CALLTYPE toLowerCase (const juce_wchar character) throw(); | |||||
| static void JUCE_CALLTYPE toLowerCase (char* s) throw(); | |||||
| static void JUCE_CALLTYPE toLowerCase (juce_wchar* s) throw(); | |||||
| static bool JUCE_CALLTYPE isLowerCase (const char character) throw(); | |||||
| static bool JUCE_CALLTYPE isLowerCase (const juce_wchar character) throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| static bool isWhitespace (const char character) throw(); | |||||
| static bool isWhitespace (const juce_wchar character) throw(); | |||||
| static bool JUCE_CALLTYPE isWhitespace (const char character) throw(); | |||||
| static bool JUCE_CALLTYPE isWhitespace (const juce_wchar character) throw(); | |||||
| static bool isDigit (const char character) throw(); | |||||
| static bool isDigit (const juce_wchar character) throw(); | |||||
| static bool JUCE_CALLTYPE isDigit (const char character) throw(); | |||||
| static bool JUCE_CALLTYPE isDigit (const juce_wchar character) throw(); | |||||
| static bool isLetter (const char character) throw(); | |||||
| static bool isLetter (const juce_wchar character) throw(); | |||||
| static bool JUCE_CALLTYPE isLetter (const char character) throw(); | |||||
| static bool JUCE_CALLTYPE isLetter (const juce_wchar character) throw(); | |||||
| static bool isLetterOrDigit (const char character) throw(); | |||||
| static bool isLetterOrDigit (const juce_wchar character) throw(); | |||||
| static bool JUCE_CALLTYPE isLetterOrDigit (const char character) throw(); | |||||
| static bool JUCE_CALLTYPE isLetterOrDigit (const juce_wchar character) throw(); | |||||
| /** Returns 0 to 16 for '0' to 'F", or -1 for characters that aren't a legel | /** Returns 0 to 16 for '0' to 'F", or -1 for characters that aren't a legel | ||||
| hex digit. | hex digit. | ||||
| */ | */ | ||||
| static int getHexDigitValue (const tchar digit) throw(); | |||||
| static int JUCE_CALLTYPE getHexDigitValue (const tchar digit) throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| static int printf (char* const dest, const int maxLength, const char* const format, ...) throw(); | |||||
| static int printf (juce_wchar* const dest, const int maxLength, const juce_wchar* const format, ...) throw(); | |||||
| static int JUCE_CALLTYPE printf (char* const dest, const int maxLength, const char* const format, ...) throw(); | |||||
| static int JUCE_CALLTYPE printf (juce_wchar* const dest, const int maxLength, const juce_wchar* const format, ...) throw(); | |||||
| static int vprintf (char* const dest, const int maxLength, const char* const format, va_list& args) throw(); | |||||
| static int vprintf (juce_wchar* const dest, const int maxLength, const juce_wchar* const format, va_list& args) throw(); | |||||
| static int JUCE_CALLTYPE vprintf (char* const dest, const int maxLength, const char* const format, va_list& args) throw(); | |||||
| static int JUCE_CALLTYPE vprintf (juce_wchar* const dest, const int maxLength, const juce_wchar* const format, va_list& args) throw(); | |||||
| }; | }; | ||||
| #endif // __JUCE_CHARACTERFUNCTIONS_JUCEHEADER__ | #endif // __JUCE_CHARACTERFUNCTIONS_JUCEHEADER__ | ||||
| @@ -76,7 +76,7 @@ public: | |||||
| /** Returns true if this application process is the one that the user is | /** Returns true if this application process is the one that the user is | ||||
| currently using. | currently using. | ||||
| */ | */ | ||||
| static bool isForegroundProcess(); | |||||
| static bool isForegroundProcess() throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Raises the current process's privilege level. | /** Raises the current process's privilege level. | ||||
| @@ -40,10 +40,10 @@ BEGIN_JUCE_NAMESPACE | |||||
| #include "../containers/juce_VoidArray.h" | #include "../containers/juce_VoidArray.h" | ||||
| // these functions are implemented in the platform-specific code. | // these functions are implemented in the platform-specific code. | ||||
| void* juce_createThread (void* userData); | |||||
| void juce_killThread (void* handle); | |||||
| void juce_setThreadPriority (void* handle, int priority); | |||||
| void juce_setCurrentThreadName (const String& name); | |||||
| void* juce_createThread (void* userData) throw(); | |||||
| void juce_killThread (void* handle) throw(); | |||||
| void juce_setThreadPriority (void* handle, int priority) throw(); | |||||
| void juce_setCurrentThreadName (const String& name) throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| static VoidArray runningThreads (4); | static VoidArray runningThreads (4); | ||||
| @@ -220,12 +220,12 @@ int Thread::getThreadId() const throw() | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| bool Thread::wait (const int timeOutMilliseconds) const | |||||
| bool Thread::wait (const int timeOutMilliseconds) const throw() | |||||
| { | { | ||||
| return defaultEvent_.wait (timeOutMilliseconds); | return defaultEvent_.wait (timeOutMilliseconds); | ||||
| } | } | ||||
| void Thread::notify() const | |||||
| void Thread::notify() const throw() | |||||
| { | { | ||||
| defaultEvent_.signal(); | defaultEvent_.signal(); | ||||
| } | } | ||||
| @@ -192,10 +192,10 @@ public: | |||||
| //============================================================================== | //============================================================================== | ||||
| // this can be called from any thread that needs to pause.. | // this can be called from any thread that needs to pause.. | ||||
| static void sleep (int milliseconds); | |||||
| static void sleep (int milliseconds) throw(); | |||||
| /** Yields the calling thread's current time-slot. */ | /** Yields the calling thread's current time-slot. */ | ||||
| static void yield(); | |||||
| static void yield() throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Makes the thread wait for a notification. | /** Makes the thread wait for a notification. | ||||
| @@ -205,7 +205,7 @@ public: | |||||
| @returns true if the event has been signalled, false if the timeout expires. | @returns true if the event has been signalled, false if the timeout expires. | ||||
| */ | */ | ||||
| bool wait (const int timeOutMilliseconds) const; | |||||
| bool wait (const int timeOutMilliseconds) const throw(); | |||||
| /** Wakes up the thread. | /** Wakes up the thread. | ||||
| @@ -213,7 +213,7 @@ public: | |||||
| @see wait | @see wait | ||||
| */ | */ | ||||
| void notify() const; | |||||
| void notify() const throw(); | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Returns an id that identifies the caller thread. | /** Returns an id that identifies the caller thread. | ||||
| @@ -223,7 +223,7 @@ public: | |||||
| @returns a unique identifier that identifies the calling thread. | @returns a unique identifier that identifies the calling thread. | ||||
| @see getThreadId | @see getThreadId | ||||
| */ | */ | ||||
| static int getCurrentThreadId(); | |||||
| static int getCurrentThreadId() throw(); | |||||
| /** Returns the ID of this thread. | /** Returns the ID of this thread. | ||||