]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/cocoa/colour.mm
notify the event loop that synthesized events are on the queue, wait for them to...
[wxWidgets.git] / src / osx / cocoa / colour.mm
index aebe52e1f35654e2850b98d393121685d24691a1..ac622553e40f799de76c5ae91318b6975cd4473f 100644 (file)
@@ -4,7 +4,7 @@
 // Author:      Kevin Ollivier
 // Modified by:
 // Created:     2009-10-31
-// RCS-ID:      $Id: colour.cpp 61724 2009-08-21 10:41:26Z VZ $
+// RCS-ID:      $Id$
 // Copyright:   (c) Kevin Ollivier
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #include "wx/osx/private.h"
 
-#if wxOSX_USE_COCOA
 wxColour::wxColour(WX_NSColor col)
 {
     size_t noComp = [col numberOfComponents];
-    
-    CGFloat *components = NULL;
-    if ( noComp >= 1 && noComp <= 4 )
+
+    CGFloat components[4];
+    CGFloat *p;
+    if ( noComp < 1 || noComp > WXSIZEOF(components) )
     {
         // TODO verify whether we really are on a RGB color space
         m_alpha = wxALPHA_OPAQUE;
         [col getComponents: components];
+        p = components;
+    }
+    else // Unsupported colour format.
+    {
+        p = NULL;
     }
-    InitFromComponents(const_cast<const CGFloat*>(components), noComp);
+
+    InitFromComponents(components, noComp);
 }
 
-WX_NSColor wxColour::OSXGetNSColor()
+WX_NSColor wxColour::OSXGetNSColor() const
 {
-    return [NSColor colorWithDeviceRed:m_red / 255.0 green:m_green / 255.0 blue:m_blue / 255.0 alpha:m_alpha / 255.0]; 
+    return [NSColor colorWithCalibratedRed:m_red / 255.0 green:m_green / 255.0 blue:m_blue / 255.0 alpha:m_alpha / 255.0];
 }
-#endif
\ No newline at end of file