/////////////////////////////////////////////////////////////////////////////
-// Name: src/osx/carbon/colour.cpp
+// Name: src/osx/core/colour.cpp
// Purpose: wxColour class
// Author: Stefan Csomor
// Modified by:
// Created: 1998-01-01
-// RCS-ID: $Id$
// Copyright: (c) Stefan Csomor
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#include "wx/osx/private.h"
-IMPLEMENT_DYNAMIC_CLASS(wxColour, wxObject)
-
#if wxOSX_USE_COCOA_OR_CARBON
wxColour::wxColour(const RGBColor& col)
{
m_alpha = a ;
CGColorRef col = 0 ;
-#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
+#if wxOSX_USE_COCOA_OR_CARBON
if ( CGColorCreateGenericRGB != NULL )
col = CGColorCreateGenericRGB( (CGFloat)(r / 255.0), (CGFloat) (g / 255.0), (CGFloat) (b / 255.0), (CGFloat) (a / 255.0) );
else
CGFloat components[4] = { (CGFloat)(r / 255.0), (CGFloat) (g / 255.0), (CGFloat) (b / 255.0), (CGFloat) (a / 255.0) } ;
col = CGColorCreate( wxMacGetGenericRGBColorSpace() , components ) ;
}
+ wxASSERT_MSG(col != NULL, "Invalid CoreGraphics Color");
m_cgColour.reset( col );
}
m_green = col.green >> 8;
m_alpha = wxALPHA_OPAQUE;
CGColorRef cfcol;
-#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5
- if ( CGColorCreateGenericRGB != NULL )
- cfcol = CGColorCreateGenericRGB((CGFloat)(col.red / 65535.0), (CGFloat)(col.green / 65535.0),
+ cfcol = CGColorCreateGenericRGB((CGFloat)(col.red / 65535.0), (CGFloat)(col.green / 65535.0),
(CGFloat)(col.blue / 65535.0), (CGFloat) 1.0 );
- else
-#endif
- {
- CGFloat components[4] = { (CGFloat)(col.red / 65535.0), (CGFloat)(col.green / 65535.0),
- (CGFloat)(col.blue / 65535.0), (CGFloat) 1.0 } ;
- cfcol = CGColorCreate( wxMacGetGenericRGBColorSpace() , components ) ;
- }
+ wxASSERT_MSG(cfcol != NULL, "Invalid CoreGraphics Color");
m_cgColour.reset( cfcol );
}
#endif
void wxColour::InitCGColorRef( CGColorRef col )
{
+ wxASSERT_MSG(col != NULL, "Invalid CoreGraphics Color");
m_cgColour.reset( col );
size_t noComp = CGColorGetNumberOfComponents( col );
-
+
const CGFloat *components = NULL;
if ( noComp >= 1 && noComp <= 4 )
{
m_red = m_green = m_blue = 0;
return;
}
-
+
if ( numComponents >= 3 )
{
m_red = (int)(components[0]*255+0.5);