]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/bitmap.cpp
Fix another line somehow missing from the wxGraphicsBitmap forward port.
[wxWidgets.git] / src / gtk / bitmap.cpp
index 7811f87e542b432641c79d9287d74445d96257bf..03b77eb5a3ccdba8b886aa38e01f4f7c3ff0128f 100644 (file)
 
 #ifndef WX_PRECOMP
     #include "wx/app.h"
-    #include "wx/palette.h"
     #include "wx/icon.h"
     #include "wx/math.h"
     #include "wx/image.h"
     #include "wx/colour.h"
 #endif
 
-// HP aCC for PA-RISC can't compile rawbmp.h
-#if !defined(__HP_aCC) || !defined(__hppa)
-    #include "wx/rawbmp.h"
-#endif
+#include "wx/rawbmp.h"
 
 #include "wx/gtk/private/object.h"
 
@@ -40,7 +36,7 @@ extern GtkWidget *wxGetRootWindow();
 // wxMask
 //-----------------------------------------------------------------------------
 
-IMPLEMENT_DYNAMIC_CLASS(wxMask,wxObject)
+IMPLEMENT_DYNAMIC_CLASS(wxMask, wxMaskBase)
 
 wxMask::wxMask()
 {
@@ -50,7 +46,7 @@ wxMask::wxMask()
 wxMask::wxMask( const wxBitmap& bitmap, const wxColour& colour )
 {
     m_bitmap = NULL;
-    Create( bitmap, colour );
+    InitFromColour(bitmap, colour);
 }
 
 #if wxUSE_PALETTE
@@ -64,7 +60,7 @@ wxMask::wxMask( const wxBitmap& bitmap, int paletteIndex )
 wxMask::wxMask( const wxBitmap& bitmap )
 {
     m_bitmap = NULL;
-    Create( bitmap );
+    InitFromMonoBitmap(bitmap);
 }
 
 wxMask::~wxMask()
@@ -73,15 +69,17 @@ wxMask::~wxMask()
         g_object_unref (m_bitmap);
 }
 
-bool wxMask::Create( const wxBitmap& bitmap,
-                     const wxColour& colour )
+void wxMask::FreeData()
 {
     if (m_bitmap)
     {
         g_object_unref (m_bitmap);
         m_bitmap = NULL;
     }
+}
 
+bool wxMask::InitFromColour(const wxBitmap& bitmap, const wxColour& colour)
+{
     const int w = bitmap.GetWidth();
     const int h = bitmap.GetHeight();
 
@@ -139,28 +137,8 @@ bool wxMask::Create( const wxBitmap& bitmap,
     return true;
 }
 
-#if wxUSE_PALETTE
-bool wxMask::Create( const wxBitmap& bitmap, int paletteIndex )
+bool wxMask::InitFromMonoBitmap(const wxBitmap& bitmap)
 {
-    unsigned char r,g,b;
-    wxPalette *pal = bitmap.GetPalette();
-
-    wxCHECK_MSG( pal, false, wxT("Cannot create mask from bitmap without palette") );
-
-    pal->GetRGB(paletteIndex, &r, &g, &b);
-
-    return Create(bitmap, wxColour(r, g, b));
-}
-#endif // wxUSE_PALETTE
-
-bool wxMask::Create( const wxBitmap& bitmap )
-{
-    if (m_bitmap)
-    {
-        g_object_unref (m_bitmap);
-        m_bitmap = NULL;
-    }
-
     if (!bitmap.IsOk()) return false;
 
     wxCHECK_MSG( bitmap.GetDepth() == 1, false, wxT("Cannot create mask from colour bitmap") );
@@ -182,7 +160,7 @@ GdkBitmap *wxMask::GetBitmap() const
 }
 
 //-----------------------------------------------------------------------------
-// wxBitmap
+// wxBitmapRefData
 //-----------------------------------------------------------------------------
 
 class wxBitmapRefData: public wxGDIRefData
@@ -199,9 +177,6 @@ public:
     int             m_width;
     int             m_height;
     int             m_bpp;
-#if wxUSE_PALETTE
-    wxPalette      *m_palette;
-#endif // wxUSE_PALETTE
 };
 
 wxBitmapRefData::wxBitmapRefData()
@@ -212,9 +187,6 @@ wxBitmapRefData::wxBitmapRefData()
     m_width = 0;
     m_height = 0;
     m_bpp = 0;
-#if wxUSE_PALETTE
-    m_palette = NULL;
-#endif // wxUSE_PALETTE
 }
 
 wxBitmapRefData::~wxBitmapRefData()
@@ -224,22 +196,17 @@ wxBitmapRefData::~wxBitmapRefData()
     if (m_pixbuf)
         g_object_unref (m_pixbuf);
     delete m_mask;
-#if wxUSE_PALETTE
-    delete m_palette;
-#endif // wxUSE_PALETTE
 }
 
+
+//-----------------------------------------------------------------------------
+// wxBitmap
 //-----------------------------------------------------------------------------
 
 #define M_BMPDATA static_cast<wxBitmapRefData*>(m_refData)
 
 IMPLEMENT_DYNAMIC_CLASS(wxBitmap,wxGDIObject)
 
-wxBitmap::wxBitmap(int width, int height, int depth)
-{
-    Create(width, height, depth);
-}
-
 wxBitmap::wxBitmap(const wxString &filename, wxBitmapType type)
 {
     LoadFile(filename, type);
@@ -689,9 +656,7 @@ bool wxBitmap::LoadFile( const wxString &name, wxBitmapType type )
 #if wxUSE_PALETTE
 wxPalette *wxBitmap::GetPalette() const
 {
-    wxCHECK_MSG(IsOk(), NULL, wxT("invalid bitmap"));
-
-    return M_BMPDATA->m_palette;
+    return NULL;
 }
 
 void wxBitmap::SetPalette(const wxPalette& WXUNUSED(palette))
@@ -859,7 +824,7 @@ void wxBitmap::PurgeOtherRepresentations(wxBitmap::Representation keep)
     }
 }
 
-#if !defined(__HP_aCC) || !defined(__hppa)
+#ifdef wxHAS_RAW_BITMAP
 void *wxBitmap::GetRawData(wxPixelDataBase& data, int bpp)
 {
     void* bits = NULL;
@@ -880,7 +845,7 @@ void *wxBitmap::GetRawData(wxPixelDataBase& data, int bpp)
 void wxBitmap::UngetRawData(wxPixelDataBase& WXUNUSED(data))
 {
 }
-#endif
+#endif // wxHAS_RAW_BITMAP
 
 bool wxBitmap::HasAlpha() const
 {
@@ -923,10 +888,6 @@ wxGDIRefData* wxBitmap::CloneGDIRefData(const wxGDIRefData* data) const
         gdk_draw_drawable(newRef->m_mask->m_bitmap,
             gc, oldRef->m_mask->m_bitmap, 0, 0, 0, 0, -1, -1);
     }
-#if wxUSE_PALETTE
-    // implement this if SetPalette is ever implemented
-    wxASSERT(oldRef->m_palette == NULL);
-#endif
 
     return newRef;
 }