IMPLEMENT_DYNAMIC_CLASS(wxColourDialog, wxDialog)
#include "wx/mac/private.h"
-#ifndef __DARWIN__
-#include <ColorPicker.h>
-#endif
/*
* wxColourDialog
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;
}