X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b478f242888560d1cb0d397bd70a9e47a640d394..93be446f3a957d9347ebb8b65f2a124c76f4bf68:/src/osx/core/colour.cpp?ds=sidebyside diff --git a/src/osx/core/colour.cpp b/src/osx/core/colour.cpp index e52d5b7aab..cb148d9db4 100644 --- a/src/osx/core/colour.cpp +++ b/src/osx/core/colour.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: src/osx/carbon/colour.cpp +// Name: src/osx/core/colour.cpp // Purpose: wxColour class // Author: Stefan Csomor // Modified by: @@ -19,8 +19,6 @@ #include "wx/osx/private.h" -IMPLEMENT_DYNAMIC_CLASS(wxColour, wxObject) - #if wxOSX_USE_COCOA_OR_CARBON wxColour::wxColour(const RGBColor& col) { @@ -72,7 +70,7 @@ void wxColour::InitRGBA (ChannelType r, ChannelType g, ChannelType b, ChannelTyp 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 && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5 if ( CGColorCreateGenericRGB != NULL ) col = CGColorCreateGenericRGB( (CGFloat)(r / 255.0), (CGFloat) (g / 255.0), (CGFloat) (b / 255.0), (CGFloat) (a / 255.0) ); else @@ -81,6 +79,7 @@ void wxColour::InitRGBA (ChannelType r, ChannelType g, ChannelType b, ChannelTyp 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 ); } @@ -103,15 +102,17 @@ void wxColour::InitRGBColor( const RGBColor& col ) (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 ) { @@ -130,7 +131,7 @@ void wxColour::InitFromComponents(const CGFloat* components, size_t numComponent m_red = m_green = m_blue = 0; return; } - + if ( numComponents >= 3 ) { m_red = (int)(components[0]*255+0.5);