diff options
author | Merov Linden <merov@lindenlab.com> | 2014-07-22 15:54:53 -0700 |
---|---|---|
committer | Merov Linden <merov@lindenlab.com> | 2014-07-22 15:54:53 -0700 |
commit | 87a7eee21d986e2a1c8b5fd467b5da06112690b5 (patch) | |
tree | 609741b2e3d0bfe72843342c19e67b7d78f602f4 /indra/llwindow/llwindowmacosx.cpp | |
parent | cec79bdb29ac5438c9b9bb0312b4981116f17f61 (diff) | |
parent | 532433674c9553636af9ea8d433b9da6d6fae587 (diff) |
Sync merge with lindenlab/viewer-release
Diffstat (limited to 'indra/llwindow/llwindowmacosx.cpp')
-rwxr-xr-x | indra/llwindow/llwindowmacosx.cpp | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/indra/llwindow/llwindowmacosx.cpp b/indra/llwindow/llwindowmacosx.cpp index b771e125f9..18d5152015 100755 --- a/indra/llwindow/llwindowmacosx.cpp +++ b/indra/llwindow/llwindowmacosx.cpp @@ -39,6 +39,7 @@ #include "indra_constants.h" #include <OpenGL/OpenGL.h> +#include <Carbon/Carbon.h> #include <CoreServices/CoreServices.h> extern BOOL gDebugWindowProc; @@ -1743,16 +1744,34 @@ LLSD LLWindowMacOSX::getNativeKeyData() return result; } - BOOL LLWindowMacOSX::dialogColorPicker( F32 *r, F32 *g, F32 *b) { - // Is this even used anywhere? Do we really need an OS color picker? BOOL retval = FALSE; - //S32 error = 0; + OSErr error = noErr; + NColorPickerInfo info; + + memset(&info, 0, sizeof(info)); + info.theColor.color.rgb.red = (UInt16)(*r * 65535.f); + info.theColor.color.rgb.green = (UInt16)(*g * 65535.f); + info.theColor.color.rgb.blue = (UInt16)(*b * 65535.f); + info.placeWhere = kCenterOnMainScreen; + + error = NPickColor(&info); + + if (error == noErr) + { + retval = info.newColorChosen; + if (info.newColorChosen) + { + *r = ((float) info.theColor.color.rgb.red) / 65535.0; + *g = ((float) info.theColor.color.rgb.green) / 65535.0; + *b = ((float) info.theColor.color.rgb.blue) / 65535.0; + } + } + return (retval); } - void *LLWindowMacOSX::getPlatformWindow() { // NOTE: this will be NULL in fullscreen mode. Plan accordingly. |