]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/cocoa/colour.mm
adapting to init pattern
[wxWidgets.git] / src / osx / cocoa / colour.mm
index ffce54a7943ab690ec7f7ad189069f2c175470ff..ade182c046bc4f57405c59f73cbfee705347a424 100644 (file)
@@ -4,7 +4,7 @@
 // Author:      Kevin Ollivier
 // Modified by:
 // Created:     2009-10-31
 // 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
 /////////////////////////////////////////////////////////////////////////////
 // Copyright:   (c) Kevin Ollivier
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #include "wx/osx/private.h"
 
 
 #include "wx/osx/private.h"
 
-#if wxOSX_USE_COCOA
 wxColour::wxColour(WX_NSColor col)
 {
     size_t noComp = [col numberOfComponents];
 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];
     {
         // 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() const
+{
+    return [NSColor colorWithDeviceRed: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