]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/colour.h
fix memory leak as Dimitri suggested
[wxWidgets.git] / include / wx / mac / colour.h
index d9f82e8eb1056e60a5fa424704eed5fa66e86645..d538f5f6a473c8b2b8b14c1e7eda71a622a403b3 100644 (file)
@@ -1,18 +1,18 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        colour.h
 // Purpose:     wxColour class
-// Author:      AUTHOR
+// Author:      Stefan Csomor
 // Modified by:
-// Created:     ??/??/98
+// Created:     1998-01-01
 // RCS-ID:      $Id$
-// Copyright:   (c) AUTHOR
+// Copyright:   (c) Stefan Csomor
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_COLOUR_H_
 #define _WX_COLOUR_H_
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
 #pragma interface "colour.h"
 #endif
 
@@ -28,9 +28,17 @@ public:
   wxColour();
     // from RGB
   wxColour( unsigned char red, unsigned char green, unsigned char blue );
+  wxColour( unsigned long colRGB )
+      : m_isInit(FALSE), m_red(0), m_blue(0), m_green(0)
+      { Set(colRGB); }
+  
     // implicit conversion from the colour name
-  wxColour( const wxString &colourName ) { InitFromName(colourName); }
-  wxColour( const char *colourName ) { InitFromName(colourName); }
+  wxColour( const wxString &colourName )
+      : m_isInit(FALSE), m_red(0), m_blue(0), m_green(0)
+      { InitFromName(colourName); }
+  wxColour( const char *colourName )
+      : m_isInit(FALSE), m_red(0), m_blue(0), m_green(0)
+      { InitFromName(colourName); }
 
     // copy ctors and assignment operators
   wxColour( const wxColour& col );
@@ -66,15 +74,16 @@ public:
   // comparison
   bool operator == (const wxColour& colour) const
   {
-    return (m_red == colour.m_red && 
+    return (m_isInit == colour.m_isInit &&
+            m_red == colour.m_red && 
             m_green == colour.m_green && 
             m_blue == colour.m_blue);
   }
-  bool operator != (const wxColour& colour) { return !(*this == colour); }
+  bool operator != (const wxColour& colour) const { return !(*this == colour); }
 
   void InitFromName(const wxString& col);
 
-  const WXCOLORREF GetPixel() const { return m_pixel; };
+  const WXCOLORREF& GetPixel() const { return m_pixel; };
 
 private:
   bool          m_isInit;
@@ -84,7 +93,7 @@ private:
 
 public:
   WXCOLORREF m_pixel ;
-  void Set( WXCOLORREF color ) { m_pixel = color ; m_red = m_pixel.red>>8 ;m_blue = m_pixel.blue>>8 ;m_green = m_pixel.green>>8 ;}
+  void Set( const WXCOLORREF* color ) ;
 
 private:
   DECLARE_DYNAMIC_CLASS(wxColour)