X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8907154c1a8a6882c6797d1f16393ddfb23e7f3a..17a1e846154f10487319e083dda016bef4c55934:/src/mac/carbon/colordlg.cpp diff --git a/src/mac/carbon/colordlg.cpp b/src/mac/carbon/colordlg.cpp index a60aad9323..bdb49c62c9 100644 --- a/src/mac/carbon/colordlg.cpp +++ b/src/mac/carbon/colordlg.cpp @@ -21,9 +21,6 @@ IMPLEMENT_DYNAMIC_CLASS(wxColourDialog, wxDialog) #include "wx/mac/private.h" -#ifndef __DARWIN__ -#include -#endif /* * wxColourDialog @@ -50,17 +47,27 @@ bool wxColourDialog::Create(wxWindow *parent, wxColourData *data) int wxColourDialog::ShowModal() { - Point where ; - RGBColor currentColor = *((RGBColor*)m_colourData.m_dataColour.GetPixel()) , newColor ; - - where.h = where.v = -1; - - if (GetColor( where, "\pSelect a new palette color.", ¤tColor, &newColor )) + RGBColor currentColor = *((RGBColor*)m_colourData.m_dataColour.GetPixel()) ; + + NColorPickerInfo info; + OSStatus err ; + memset(&info, 0, sizeof(info)) ; + // TODO : use parent to determine better position and then kAtSpecifiedOrigin + info.placeWhere = kCenterOnMainScreen ; + info.flags = kColorPickerDialogIsMoveable | kColorPickerDialogIsModal ; + info.theColor.color.rgb.red = currentColor.red ; + info.theColor.color.rgb.green = currentColor.green ; + info.theColor.color.rgb.blue = currentColor.blue ; + err = NPickColor(&info); + if ((err == noErr) && info.newColorChosen) { - m_colourData.m_dataColour.Set( (WXCOLORREF*) &newColor ) ; + currentColor.red = info.theColor.color.rgb.red ; + currentColor.green = info.theColor.color.rgb.green ; + currentColor.blue = info.theColor.color.rgb.blue ; + m_colourData.m_dataColour = currentColor; + return wxID_OK; } - return wxID_CANCEL; }