Browse Source

Fix for alt modifier key in win32.

tags/2021-05-28
Julian Storer 14 years ago
parent
commit
8ea44694dc
5 changed files with 121 additions and 295 deletions
  1. +59
    -146
      juce_amalgamated.cpp
  2. +1
    -1
      juce_amalgamated.h
  3. +1
    -1
      src/core/juce_StandardHeader.h
  4. +37
    -35
      src/native/windows/juce_win32_Windowing.cpp
  5. +23
    -112
      src/text/juce_String.cpp

+ 59
- 146
juce_amalgamated.cpp View File

@@ -11973,85 +11973,22 @@ int64 String::hashCode64() const throw()
return result;
}

JUCE_API bool JUCE_CALLTYPE operator== (const String& string1, const String& string2) throw()
{
return string1.compare (string2) == 0;
}

JUCE_API bool JUCE_CALLTYPE operator== (const String& string1, const char* const string2) throw()
{
return string1.compare (string2) == 0;
}

JUCE_API bool JUCE_CALLTYPE operator== (const String& string1, const wchar_t* const string2) throw()
{
return string1.compare (string2) == 0;
}

JUCE_API bool JUCE_CALLTYPE operator== (const String& string1, const CharPointer_UTF8& string2) throw()
{
return string1.getCharPointer().compare (string2) == 0;
}

JUCE_API bool JUCE_CALLTYPE operator== (const String& string1, const CharPointer_UTF16& string2) throw()
{
return string1.getCharPointer().compare (string2) == 0;
}

JUCE_API bool JUCE_CALLTYPE operator== (const String& string1, const CharPointer_UTF32& string2) throw()
{
return string1.getCharPointer().compare (string2) == 0;
}

JUCE_API bool JUCE_CALLTYPE operator!= (const String& string1, const String& string2) throw()
{
return string1.compare (string2) != 0;
}

JUCE_API bool JUCE_CALLTYPE operator!= (const String& string1, const char* const string2) throw()
{
return string1.compare (string2) != 0;
}

JUCE_API bool JUCE_CALLTYPE operator!= (const String& string1, const wchar_t* const string2) throw()
{
return string1.compare (string2) != 0;
}

JUCE_API bool JUCE_CALLTYPE operator!= (const String& string1, const CharPointer_UTF8& string2) throw()
{
return string1.getCharPointer().compare (string2) != 0;
}

JUCE_API bool JUCE_CALLTYPE operator!= (const String& string1, const CharPointer_UTF16& string2) throw()
{
return string1.getCharPointer().compare (string2) != 0;
}

JUCE_API bool JUCE_CALLTYPE operator!= (const String& string1, const CharPointer_UTF32& string2) throw()
{
return string1.getCharPointer().compare (string2) != 0;
}

JUCE_API bool JUCE_CALLTYPE operator> (const String& string1, const String& string2) throw()
{
return string1.compare (string2) > 0;
}

JUCE_API bool JUCE_CALLTYPE operator< (const String& string1, const String& string2) throw()
{
return string1.compare (string2) < 0;
}

JUCE_API bool JUCE_CALLTYPE operator>= (const String& string1, const String& string2) throw()
{
return string1.compare (string2) >= 0;
}

JUCE_API bool JUCE_CALLTYPE operator<= (const String& string1, const String& string2) throw()
{
return string1.compare (string2) <= 0;
}
JUCE_API bool JUCE_CALLTYPE operator== (const String& s1, const String& s2) throw() { return s1.compare (s2) == 0; }
JUCE_API bool JUCE_CALLTYPE operator== (const String& s1, const char* const s2) throw() { return s1.compare (s2) == 0; }
JUCE_API bool JUCE_CALLTYPE operator== (const String& s1, const wchar_t* const s2) throw() { return s1.compare (s2) == 0; }
JUCE_API bool JUCE_CALLTYPE operator== (const String& s1, const CharPointer_UTF8& s2) throw() { return s1.getCharPointer().compare (s2) == 0; }
JUCE_API bool JUCE_CALLTYPE operator== (const String& s1, const CharPointer_UTF16& s2) throw() { return s1.getCharPointer().compare (s2) == 0; }
JUCE_API bool JUCE_CALLTYPE operator== (const String& s1, const CharPointer_UTF32& s2) throw() { return s1.getCharPointer().compare (s2) == 0; }
JUCE_API bool JUCE_CALLTYPE operator!= (const String& s1, const String& s2) throw() { return s1.compare (s2) != 0; }
JUCE_API bool JUCE_CALLTYPE operator!= (const String& s1, const char* const s2) throw() { return s1.compare (s2) != 0; }
JUCE_API bool JUCE_CALLTYPE operator!= (const String& s1, const wchar_t* const s2) throw() { return s1.compare (s2) != 0; }
JUCE_API bool JUCE_CALLTYPE operator!= (const String& s1, const CharPointer_UTF8& s2) throw() { return s1.getCharPointer().compare (s2) != 0; }
JUCE_API bool JUCE_CALLTYPE operator!= (const String& s1, const CharPointer_UTF16& s2) throw() { return s1.getCharPointer().compare (s2) != 0; }
JUCE_API bool JUCE_CALLTYPE operator!= (const String& s1, const CharPointer_UTF32& s2) throw() { return s1.getCharPointer().compare (s2) != 0; }
JUCE_API bool JUCE_CALLTYPE operator> (const String& s1, const String& s2) throw() { return s1.compare (s2) > 0; }
JUCE_API bool JUCE_CALLTYPE operator< (const String& s1, const String& s2) throw() { return s1.compare (s2) < 0; }
JUCE_API bool JUCE_CALLTYPE operator>= (const String& s1, const String& s2) throw() { return s1.compare (s2) >= 0; }
JUCE_API bool JUCE_CALLTYPE operator<= (const String& s1, const String& s2) throw() { return s1.compare (s2) <= 0; }

bool String::equalsIgnoreCase (const wchar_t* const t) const throw()
{
@@ -12071,25 +12008,10 @@ bool String::equalsIgnoreCase (const String& other) const throw()
|| text.compareIgnoreCase (other.text) == 0;
}

int String::compare (const String& other) const throw()
{
return (text == other.text) ? 0 : text.compare (other.text);
}

int String::compare (const char* const other) const throw()
{
return text.compare (CharPointer_UTF8 (other));
}

int String::compare (const wchar_t* const other) const throw()
{
return text.compare (castToCharPointer_wchar_t (other));
}

int String::compareIgnoreCase (const String& other) const throw()
{
return (text == other.text) ? 0 : text.compareIgnoreCase (other.text);
}
int String::compare (const String& other) const throw() { return (text == other.text) ? 0 : text.compare (other.text); }
int String::compare (const char* const other) const throw() { return text.compare (CharPointer_UTF8 (other)); }
int String::compare (const wchar_t* const other) const throw() { return text.compare (castToCharPointer_wchar_t (other)); }
int String::compareIgnoreCase (const String& other) const throw() { return (text == other.text) ? 0 : text.compareIgnoreCase (other.text); }

int String::compareLexicographically (const String& other) const throw()
{
@@ -12203,21 +12125,10 @@ JUCE_API const String JUCE_CALLTYPE operator+ (const wchar_t* const string1, con
return s += string2;
}

JUCE_API const String JUCE_CALLTYPE operator+ (const char string1, const String& string2)
{
return String::charToString (string1) + string2;
}

JUCE_API const String JUCE_CALLTYPE operator+ (const wchar_t string1, const String& string2)
{
return String::charToString (string1) + string2;
}

JUCE_API const String JUCE_CALLTYPE operator+ (const char s1, const String& s2) { return String::charToString (s1) + s2; }
JUCE_API const String JUCE_CALLTYPE operator+ (const wchar_t s1, const String& s2) { return String::charToString (s1) + s2; }
#if ! JUCE_NATIVE_WCHAR_IS_UTF32
JUCE_API const String JUCE_CALLTYPE operator+ (const juce_wchar string1, const String& string2)
{
return String::charToString (string1) + string2;
}
JUCE_API const String JUCE_CALLTYPE operator+ (const juce_wchar s1, const String& s2) { return String::charToString (s1) + s2; }
#endif

JUCE_API const String JUCE_CALLTYPE operator+ (String s1, const String& s2) { return s1 += s2; }
@@ -246330,32 +246241,6 @@ namespace IconConverters

long improbableWindowNumber = 0xf965aa01; // also referenced by messaging.cpp

bool KeyPress::isKeyCurrentlyDown (const int keyCode)
{
SHORT k = (SHORT) keyCode;

if ((keyCode & extendedKeyModifier) == 0
&& (k >= (SHORT) 'a' && k <= (SHORT) 'z'))
k += (SHORT) 'A' - (SHORT) 'a';

const SHORT translatedValues[] = { (SHORT) ',', VK_OEM_COMMA,
(SHORT) '+', VK_OEM_PLUS,
(SHORT) '-', VK_OEM_MINUS,
(SHORT) '.', VK_OEM_PERIOD,
(SHORT) ';', VK_OEM_1,
(SHORT) ':', VK_OEM_1,
(SHORT) '/', VK_OEM_2,
(SHORT) '?', VK_OEM_2,
(SHORT) '[', VK_OEM_4,
(SHORT) ']', VK_OEM_6 };

for (int i = 0; i < numElementsInArray (translatedValues); i += 2)
if (k == translatedValues [i])
k = translatedValues [i + 1];

return (GetKeyState (k) & 0x8000) != 0;
}

class Win32ComponentPeer : public ComponentPeer
{
public:
@@ -246853,18 +246738,20 @@ public:
}
}

bool isInside (HWND h) const
bool isInside (HWND h) const throw()
{
return GetAncestor (hwnd, GA_ROOT) == h;
}

static bool isKeyDown (const int key) throw() { return (GetAsyncKeyState (key) & 0x8000) != 0; }

static void updateKeyModifiers() throw()
{
int keyMods = 0;
if (GetKeyState (VK_SHIFT) & 0x8000) keyMods |= ModifierKeys::shiftModifier;
if (GetKeyState (VK_CONTROL) & 0x8000) keyMods |= ModifierKeys::ctrlModifier;
if (GetKeyState (VK_MENU) & 0x8000) keyMods |= ModifierKeys::altModifier;
if (GetKeyState (VK_RMENU) & 0x8000) keyMods &= ~(ModifierKeys::ctrlModifier | ModifierKeys::altModifier);
if (isKeyDown (VK_SHIFT)) keyMods |= ModifierKeys::shiftModifier;
if (isKeyDown (VK_CONTROL)) keyMods |= ModifierKeys::ctrlModifier;
if (isKeyDown (VK_MENU)) keyMods |= ModifierKeys::altModifier;
if (isKeyDown (VK_RMENU)) keyMods &= ~(ModifierKeys::ctrlModifier | ModifierKeys::altModifier);

currentModifiers = currentModifiers.withOnlyMouseButtons().withFlags (keyMods);
}
@@ -248237,9 +248124,9 @@ const ModifierKeys ModifierKeys::getCurrentModifiersRealtime() throw()
Win32ComponentPeer::updateKeyModifiers();

int mouseMods = 0;
if ((GetKeyState (VK_LBUTTON) & 0x8000) != 0) mouseMods |= ModifierKeys::leftButtonModifier;
if ((GetKeyState (VK_RBUTTON) & 0x8000) != 0) mouseMods |= ModifierKeys::rightButtonModifier;
if ((GetKeyState (VK_MBUTTON) & 0x8000) != 0) mouseMods |= ModifierKeys::middleButtonModifier;
if (Win32ComponentPeer::isKeyDown (VK_LBUTTON)) mouseMods |= ModifierKeys::leftButtonModifier;
if (Win32ComponentPeer::isKeyDown (VK_RBUTTON)) mouseMods |= ModifierKeys::rightButtonModifier;
if (Win32ComponentPeer::isKeyDown (VK_MBUTTON)) mouseMods |= ModifierKeys::middleButtonModifier;

Win32ComponentPeer::currentModifiers
= Win32ComponentPeer::currentModifiers.withoutMouseButtons().withFlags (mouseMods);
@@ -248247,6 +248134,32 @@ const ModifierKeys ModifierKeys::getCurrentModifiersRealtime() throw()
return Win32ComponentPeer::currentModifiers;
}

bool KeyPress::isKeyCurrentlyDown (const int keyCode)
{
SHORT k = (SHORT) keyCode;

if ((keyCode & extendedKeyModifier) == 0
&& (k >= (SHORT) 'a' && k <= (SHORT) 'z'))
k += (SHORT) 'A' - (SHORT) 'a';

const SHORT translatedValues[] = { (SHORT) ',', VK_OEM_COMMA,
(SHORT) '+', VK_OEM_PLUS,
(SHORT) '-', VK_OEM_MINUS,
(SHORT) '.', VK_OEM_PERIOD,
(SHORT) ';', VK_OEM_1,
(SHORT) ':', VK_OEM_1,
(SHORT) '/', VK_OEM_2,
(SHORT) '?', VK_OEM_2,
(SHORT) '[', VK_OEM_4,
(SHORT) ']', VK_OEM_6 };

for (int i = 0; i < numElementsInArray (translatedValues); i += 2)
if (k == translatedValues [i])
k = translatedValues [i + 1];

return Win32ComponentPeer::isKeyDown (k);
}

void SystemTrayIconComponent::setIconImage (const Image& newImage)
{
Win32ComponentPeer* const wp = dynamic_cast <Win32ComponentPeer*> (getPeer());


+ 1
- 1
juce_amalgamated.h View File

@@ -73,7 +73,7 @@ namespace JuceDummyNamespace {}
*/
#define JUCE_MAJOR_VERSION 1
#define JUCE_MINOR_VERSION 53
#define JUCE_BUILDNUMBER 54
#define JUCE_BUILDNUMBER 55

/** Current Juce version number.



+ 1
- 1
src/core/juce_StandardHeader.h View File

@@ -33,7 +33,7 @@
*/
#define JUCE_MAJOR_VERSION 1
#define JUCE_MINOR_VERSION 53
#define JUCE_BUILDNUMBER 54
#define JUCE_BUILDNUMBER 55
/** Current Juce version number.


+ 37
- 35
src/native/windows/juce_win32_Windowing.cpp View File

@@ -425,33 +425,6 @@ namespace IconConverters
long improbableWindowNumber = 0xf965aa01; // also referenced by messaging.cpp
//==============================================================================
bool KeyPress::isKeyCurrentlyDown (const int keyCode)
{
SHORT k = (SHORT) keyCode;
if ((keyCode & extendedKeyModifier) == 0
&& (k >= (SHORT) 'a' && k <= (SHORT) 'z'))
k += (SHORT) 'A' - (SHORT) 'a';
const SHORT translatedValues[] = { (SHORT) ',', VK_OEM_COMMA,
(SHORT) '+', VK_OEM_PLUS,
(SHORT) '-', VK_OEM_MINUS,
(SHORT) '.', VK_OEM_PERIOD,
(SHORT) ';', VK_OEM_1,
(SHORT) ':', VK_OEM_1,
(SHORT) '/', VK_OEM_2,
(SHORT) '?', VK_OEM_2,
(SHORT) '[', VK_OEM_4,
(SHORT) ']', VK_OEM_6 };
for (int i = 0; i < numElementsInArray (translatedValues); i += 2)
if (k == translatedValues [i])
k = translatedValues [i + 1];
return (GetKeyState (k) & 0x8000) != 0;
}
//==============================================================================
class Win32ComponentPeer : public ComponentPeer
{
@@ -955,19 +928,21 @@ public:
}
//==============================================================================
bool isInside (HWND h) const
bool isInside (HWND h) const throw()
{
return GetAncestor (hwnd, GA_ROOT) == h;
}
//==============================================================================
static bool isKeyDown (const int key) throw() { return (GetAsyncKeyState (key) & 0x8000) != 0; }
static void updateKeyModifiers() throw()
{
int keyMods = 0;
if (GetKeyState (VK_SHIFT) & 0x8000) keyMods |= ModifierKeys::shiftModifier;
if (GetKeyState (VK_CONTROL) & 0x8000) keyMods |= ModifierKeys::ctrlModifier;
if (GetKeyState (VK_MENU) & 0x8000) keyMods |= ModifierKeys::altModifier;
if (GetKeyState (VK_RMENU) & 0x8000) keyMods &= ~(ModifierKeys::ctrlModifier | ModifierKeys::altModifier);
if (isKeyDown (VK_SHIFT)) keyMods |= ModifierKeys::shiftModifier;
if (isKeyDown (VK_CONTROL)) keyMods |= ModifierKeys::ctrlModifier;
if (isKeyDown (VK_MENU)) keyMods |= ModifierKeys::altModifier;
if (isKeyDown (VK_RMENU)) keyMods &= ~(ModifierKeys::ctrlModifier | ModifierKeys::altModifier);
currentModifiers = currentModifiers.withOnlyMouseButtons().withFlags (keyMods);
}
@@ -2357,9 +2332,9 @@ const ModifierKeys ModifierKeys::getCurrentModifiersRealtime() throw()
Win32ComponentPeer::updateKeyModifiers();
int mouseMods = 0;
if ((GetKeyState (VK_LBUTTON) & 0x8000) != 0) mouseMods |= ModifierKeys::leftButtonModifier;
if ((GetKeyState (VK_RBUTTON) & 0x8000) != 0) mouseMods |= ModifierKeys::rightButtonModifier;
if ((GetKeyState (VK_MBUTTON) & 0x8000) != 0) mouseMods |= ModifierKeys::middleButtonModifier;
if (Win32ComponentPeer::isKeyDown (VK_LBUTTON)) mouseMods |= ModifierKeys::leftButtonModifier;
if (Win32ComponentPeer::isKeyDown (VK_RBUTTON)) mouseMods |= ModifierKeys::rightButtonModifier;
if (Win32ComponentPeer::isKeyDown (VK_MBUTTON)) mouseMods |= ModifierKeys::middleButtonModifier;
Win32ComponentPeer::currentModifiers
= Win32ComponentPeer::currentModifiers.withoutMouseButtons().withFlags (mouseMods);
@@ -2367,6 +2342,33 @@ const ModifierKeys ModifierKeys::getCurrentModifiersRealtime() throw()
return Win32ComponentPeer::currentModifiers;
}
//==============================================================================
bool KeyPress::isKeyCurrentlyDown (const int keyCode)
{
SHORT k = (SHORT) keyCode;
if ((keyCode & extendedKeyModifier) == 0
&& (k >= (SHORT) 'a' && k <= (SHORT) 'z'))
k += (SHORT) 'A' - (SHORT) 'a';
const SHORT translatedValues[] = { (SHORT) ',', VK_OEM_COMMA,
(SHORT) '+', VK_OEM_PLUS,
(SHORT) '-', VK_OEM_MINUS,
(SHORT) '.', VK_OEM_PERIOD,
(SHORT) ';', VK_OEM_1,
(SHORT) ':', VK_OEM_1,
(SHORT) '/', VK_OEM_2,
(SHORT) '?', VK_OEM_2,
(SHORT) '[', VK_OEM_4,
(SHORT) ']', VK_OEM_6 };
for (int i = 0; i < numElementsInArray (translatedValues); i += 2)
if (k == translatedValues [i])
k = translatedValues [i + 1];
return Win32ComponentPeer::isKeyDown (k);
}
//==============================================================================
void SystemTrayIconComponent::setIconImage (const Image& newImage)
{


+ 23
- 112
src/text/juce_String.cpp View File

@@ -511,85 +511,22 @@ int64 String::hashCode64() const throw()
}
//==============================================================================
JUCE_API bool JUCE_CALLTYPE operator== (const String& string1, const String& string2) throw()
{
return string1.compare (string2) == 0;
}
JUCE_API bool JUCE_CALLTYPE operator== (const String& string1, const char* const string2) throw()
{
return string1.compare (string2) == 0;
}
JUCE_API bool JUCE_CALLTYPE operator== (const String& string1, const wchar_t* const string2) throw()
{
return string1.compare (string2) == 0;
}
JUCE_API bool JUCE_CALLTYPE operator== (const String& string1, const CharPointer_UTF8& string2) throw()
{
return string1.getCharPointer().compare (string2) == 0;
}
JUCE_API bool JUCE_CALLTYPE operator== (const String& string1, const CharPointer_UTF16& string2) throw()
{
return string1.getCharPointer().compare (string2) == 0;
}
JUCE_API bool JUCE_CALLTYPE operator== (const String& string1, const CharPointer_UTF32& string2) throw()
{
return string1.getCharPointer().compare (string2) == 0;
}
JUCE_API bool JUCE_CALLTYPE operator!= (const String& string1, const String& string2) throw()
{
return string1.compare (string2) != 0;
}
JUCE_API bool JUCE_CALLTYPE operator!= (const String& string1, const char* const string2) throw()
{
return string1.compare (string2) != 0;
}
JUCE_API bool JUCE_CALLTYPE operator!= (const String& string1, const wchar_t* const string2) throw()
{
return string1.compare (string2) != 0;
}
JUCE_API bool JUCE_CALLTYPE operator!= (const String& string1, const CharPointer_UTF8& string2) throw()
{
return string1.getCharPointer().compare (string2) != 0;
}
JUCE_API bool JUCE_CALLTYPE operator!= (const String& string1, const CharPointer_UTF16& string2) throw()
{
return string1.getCharPointer().compare (string2) != 0;
}
JUCE_API bool JUCE_CALLTYPE operator!= (const String& string1, const CharPointer_UTF32& string2) throw()
{
return string1.getCharPointer().compare (string2) != 0;
}
JUCE_API bool JUCE_CALLTYPE operator> (const String& string1, const String& string2) throw()
{
return string1.compare (string2) > 0;
}
JUCE_API bool JUCE_CALLTYPE operator< (const String& string1, const String& string2) throw()
{
return string1.compare (string2) < 0;
}
JUCE_API bool JUCE_CALLTYPE operator>= (const String& string1, const String& string2) throw()
{
return string1.compare (string2) >= 0;
}
JUCE_API bool JUCE_CALLTYPE operator<= (const String& string1, const String& string2) throw()
{
return string1.compare (string2) <= 0;
}
JUCE_API bool JUCE_CALLTYPE operator== (const String& s1, const String& s2) throw() { return s1.compare (s2) == 0; }
JUCE_API bool JUCE_CALLTYPE operator== (const String& s1, const char* const s2) throw() { return s1.compare (s2) == 0; }
JUCE_API bool JUCE_CALLTYPE operator== (const String& s1, const wchar_t* const s2) throw() { return s1.compare (s2) == 0; }
JUCE_API bool JUCE_CALLTYPE operator== (const String& s1, const CharPointer_UTF8& s2) throw() { return s1.getCharPointer().compare (s2) == 0; }
JUCE_API bool JUCE_CALLTYPE operator== (const String& s1, const CharPointer_UTF16& s2) throw() { return s1.getCharPointer().compare (s2) == 0; }
JUCE_API bool JUCE_CALLTYPE operator== (const String& s1, const CharPointer_UTF32& s2) throw() { return s1.getCharPointer().compare (s2) == 0; }
JUCE_API bool JUCE_CALLTYPE operator!= (const String& s1, const String& s2) throw() { return s1.compare (s2) != 0; }
JUCE_API bool JUCE_CALLTYPE operator!= (const String& s1, const char* const s2) throw() { return s1.compare (s2) != 0; }
JUCE_API bool JUCE_CALLTYPE operator!= (const String& s1, const wchar_t* const s2) throw() { return s1.compare (s2) != 0; }
JUCE_API bool JUCE_CALLTYPE operator!= (const String& s1, const CharPointer_UTF8& s2) throw() { return s1.getCharPointer().compare (s2) != 0; }
JUCE_API bool JUCE_CALLTYPE operator!= (const String& s1, const CharPointer_UTF16& s2) throw() { return s1.getCharPointer().compare (s2) != 0; }
JUCE_API bool JUCE_CALLTYPE operator!= (const String& s1, const CharPointer_UTF32& s2) throw() { return s1.getCharPointer().compare (s2) != 0; }
JUCE_API bool JUCE_CALLTYPE operator> (const String& s1, const String& s2) throw() { return s1.compare (s2) > 0; }
JUCE_API bool JUCE_CALLTYPE operator< (const String& s1, const String& s2) throw() { return s1.compare (s2) < 0; }
JUCE_API bool JUCE_CALLTYPE operator>= (const String& s1, const String& s2) throw() { return s1.compare (s2) >= 0; }
JUCE_API bool JUCE_CALLTYPE operator<= (const String& s1, const String& s2) throw() { return s1.compare (s2) <= 0; }
bool String::equalsIgnoreCase (const wchar_t* const t) const throw()
{
@@ -609,25 +546,10 @@ bool String::equalsIgnoreCase (const String& other) const throw()
|| text.compareIgnoreCase (other.text) == 0;
}
int String::compare (const String& other) const throw()
{
return (text == other.text) ? 0 : text.compare (other.text);
}
int String::compare (const char* const other) const throw()
{
return text.compare (CharPointer_UTF8 (other));
}
int String::compare (const wchar_t* const other) const throw()
{
return text.compare (castToCharPointer_wchar_t (other));
}
int String::compareIgnoreCase (const String& other) const throw()
{
return (text == other.text) ? 0 : text.compareIgnoreCase (other.text);
}
int String::compare (const String& other) const throw() { return (text == other.text) ? 0 : text.compare (other.text); }
int String::compare (const char* const other) const throw() { return text.compare (CharPointer_UTF8 (other)); }
int String::compare (const wchar_t* const other) const throw() { return text.compare (castToCharPointer_wchar_t (other)); }
int String::compareIgnoreCase (const String& other) const throw() { return (text == other.text) ? 0 : text.compareIgnoreCase (other.text); }
int String::compareLexicographically (const String& other) const throw()
{
@@ -743,21 +665,10 @@ JUCE_API const String JUCE_CALLTYPE operator+ (const wchar_t* const string1, con
return s += string2;
}
JUCE_API const String JUCE_CALLTYPE operator+ (const char string1, const String& string2)
{
return String::charToString (string1) + string2;
}
JUCE_API const String JUCE_CALLTYPE operator+ (const wchar_t string1, const String& string2)
{
return String::charToString (string1) + string2;
}
JUCE_API const String JUCE_CALLTYPE operator+ (const char s1, const String& s2) { return String::charToString (s1) + s2; }
JUCE_API const String JUCE_CALLTYPE operator+ (const wchar_t s1, const String& s2) { return String::charToString (s1) + s2; }
#if ! JUCE_NATIVE_WCHAR_IS_UTF32
JUCE_API const String JUCE_CALLTYPE operator+ (const juce_wchar string1, const String& string2)
{
return String::charToString (string1) + string2;
}
JUCE_API const String JUCE_CALLTYPE operator+ (const juce_wchar s1, const String& s2) { return String::charToString (s1) + s2; }
#endif
JUCE_API const String JUCE_CALLTYPE operator+ (String s1, const String& s2) { return s1 += s2; }


Loading…
Cancel
Save