]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/bitmap.cpp
Implement icon text column using native GTK renderers in wxDVC.
[wxWidgets.git] / src / gtk1 / bitmap.cpp
index e0ceb53c45674675964c76df4cc7152c5124d789..109450dc557e3e5023cfd85efa7df1473647a3dd 100644 (file)
@@ -54,26 +54,26 @@ IMPLEMENT_DYNAMIC_CLASS(wxMask,wxObject)
 
 wxMask::wxMask()
 {
-    m_bitmap = (GdkBitmap *) NULL;
+    m_bitmap = NULL;
 }
 
 wxMask::wxMask( const wxBitmap& bitmap, const wxColour& colour )
 {
-    m_bitmap = (GdkBitmap *) NULL;
+    m_bitmap = NULL;
     Create( bitmap, colour );
 }
 
 #if wxUSE_PALETTE
 wxMask::wxMask( const wxBitmap& bitmap, int paletteIndex )
 {
-    m_bitmap = (GdkBitmap *) NULL;
+    m_bitmap = NULL;
     Create( bitmap, paletteIndex );
 }
 #endif // wxUSE_PALETTE
 
 wxMask::wxMask( const wxBitmap& bitmap )
 {
-    m_bitmap = (GdkBitmap *) NULL;
+    m_bitmap = NULL;
     Create( bitmap );
 }
 
@@ -89,7 +89,7 @@ bool wxMask::Create( const wxBitmap& bitmap,
     if (m_bitmap)
     {
         gdk_bitmap_unref( m_bitmap );
-        m_bitmap = (GdkBitmap*) NULL;
+        m_bitmap = NULL;
     }
 
     wxImage image = bitmap.ConvertToImage();
@@ -195,7 +195,7 @@ bool wxMask::Create( const wxBitmap& bitmap )
     if (m_bitmap)
     {
         gdk_bitmap_unref( m_bitmap );
-        m_bitmap = (GdkBitmap*) NULL;
+        m_bitmap = NULL;
     }
 
     if (!bitmap.Ok()) return false;
@@ -220,11 +220,12 @@ GdkBitmap *wxMask::GetBitmap() const
     return m_bitmap;
 }
 
+
 //-----------------------------------------------------------------------------
-// wxBitmap
+// wxBitmapRefData
 //-----------------------------------------------------------------------------
 
-class wxBitmapRefData: public wxObjectRefData
+class wxBitmapRefData : public wxGDIRefData
 {
 public:
     wxBitmapRefData();
@@ -232,6 +233,8 @@ public:
     bool Create(int width, int height, int bpp);
     virtual ~wxBitmapRefData();
 
+    virtual bool IsOk() const { return m_pixmap || m_bitmap; }
+
     GdkPixmap      *m_pixmap;
     GdkBitmap      *m_bitmap;
     wxMask         *m_mask;
@@ -245,14 +248,14 @@ public:
 
 wxBitmapRefData::wxBitmapRefData()
 {
-    m_pixmap = (GdkPixmap *) NULL;
-    m_bitmap = (GdkBitmap *) NULL;
-    m_mask = (wxMask *) NULL;
+    m_pixmap = NULL;
+    m_bitmap = NULL;
+    m_mask = NULL;
     m_width = 0;
     m_height = 0;
     m_bpp = 0;
 #if wxUSE_PALETTE
-    m_palette = (wxPalette *) NULL;
+    m_palette = NULL;
 #endif // wxUSE_PALETTE
 }
 
@@ -264,7 +267,7 @@ wxBitmapRefData::wxBitmapRefData(const wxBitmapRefData& data)
 
 #if wxUSE_PALETTE
     wxASSERT_MSG( !data.m_palette,
-                  _T("copying bitmaps palette not implemented") );
+                  wxT("copying bitmaps palette not implemented") );
 #endif // wxUSE_PALETTE
 
 
@@ -345,29 +348,23 @@ wxBitmapRefData::~wxBitmapRefData()
 #endif // wxUSE_PALETTE
 }
 
+
+//-----------------------------------------------------------------------------
+// wxBitmap
 //-----------------------------------------------------------------------------
 
 #define M_BMPDATA ((wxBitmapRefData *)m_refData)
 
 IMPLEMENT_DYNAMIC_CLASS(wxBitmap,wxGDIObject)
 
-wxBitmap::wxBitmap()
-{
-}
-
-wxBitmap::wxBitmap( int width, int height, int depth )
-{
-    Create( width, height, depth );
-}
-
-wxObjectRefData *wxBitmap::CreateRefData() const
+wxGDIRefData *wxBitmap::CreateGDIRefData() const
 {
     return new wxBitmapRefData;
 }
 
-wxObjectRefData *wxBitmap::CloneRefData(const wxObjectRefData *data) const
+wxGDIRefData *wxBitmap::CloneGDIRefData(const wxGDIRefData *data) const
 {
-    return new wxBitmapRefData(*wx_static_cast(const wxBitmapRefData *, data));
+    return new wxBitmapRefData(*static_cast<const wxBitmapRefData *>(data));
 }
 
 bool wxBitmap::Create( int width, int height, int depth )
@@ -391,7 +388,7 @@ wxBitmap::wxBitmap(const char* const* bits)
 
     m_refData = new wxBitmapRefData();
 
-    GdkBitmap *mask = (GdkBitmap*) NULL;
+    GdkBitmap *mask = NULL;
 
     M_BMPDATA->m_pixmap = gdk_pixmap_create_from_xpm_d( wxGetRootWindow()->window, &mask, NULL, (gchar **) bits );
 
@@ -422,7 +419,7 @@ wxBitmap wxBitmap::Rescale( int clipx, int clipy, int clipwidth, int clipheight,
 
     wxBitmap bmp;
 
-    GdkImage *img = (GdkImage*) NULL;
+    GdkImage *img = NULL;
     if (GetPixmap())
         img = gdk_image_get( GetPixmap(), 0, 0, GetWidth(), GetHeight() );
     else if (GetBitmap())
@@ -641,7 +638,7 @@ bool wxBitmap::CreateFromImageAsBitmap(const wxImage& img)
 
     // Create mask image
 
-    GdkImage *mask_image = (GdkImage*) NULL;
+    GdkImage *mask_image = NULL;
 
     if (image.HasMask())
     {
@@ -777,7 +774,7 @@ bool wxBitmap::CreateFromImageAsPixmap(const wxImage& img)
 
     // Create mask image
 
-    GdkImage *mask_image = (GdkImage*) NULL;
+    GdkImage *mask_image = NULL;
 
     if (image.HasMask())
     {
@@ -975,7 +972,7 @@ wxImage wxBitmap::ConvertToImage() const
     static const int MASK_BLUE = 3;
     static const int MASK_BLUE_REPLACEMENT = 2;
 
-    GdkImage *gdk_image = (GdkImage*) NULL;
+    GdkImage *gdk_image = NULL;
 
     if (HasPixmap())
     {
@@ -996,7 +993,7 @@ wxImage wxBitmap::ConvertToImage() const
 
     wxCHECK_MSG( gdk_image, wxNullImage, wxT("couldn't create image") );
 
-    GdkImage *gdk_image_mask = (GdkImage*) NULL;
+    GdkImage *gdk_image_mask = NULL;
     if (GetMask())
     {
         gdk_image_mask = gdk_image_get( GetMask()->GetBitmap(),
@@ -1117,7 +1114,7 @@ wxBitmap::wxBitmap( const char bits[], int width, int height, int WXUNUSED(depth
     {
         m_refData = new wxBitmapRefData();
 
-        M_BMPDATA->m_mask = (wxMask *) NULL;
+        M_BMPDATA->m_mask = NULL;
         M_BMPDATA->m_bitmap = gdk_bitmap_create_from_data
                               (
                                 wxGetRootWindow()->window,
@@ -1137,12 +1134,6 @@ wxBitmap::~wxBitmap()
 {
 }
 
-bool wxBitmap::IsOk() const
-{
-    return (m_refData != NULL) &&
-           (M_BMPDATA->m_bitmap || M_BMPDATA->m_pixmap);
-}
-
 int wxBitmap::GetHeight() const
 {
     wxCHECK_MSG( Ok(), -1, wxT("invalid bitmap") );
@@ -1166,7 +1157,7 @@ int wxBitmap::GetDepth() const
 
 wxMask *wxBitmap::GetMask() const
 {
-    wxCHECK_MSG( Ok(), (wxMask *) NULL, wxT("invalid bitmap") );
+    wxCHECK_MSG( Ok(), NULL, wxT("invalid bitmap") );
 
     return M_BMPDATA->m_mask;
 }
@@ -1261,7 +1252,7 @@ bool wxBitmap::LoadFile( const wxString &name, wxBitmapType type )
     {
         m_refData = new wxBitmapRefData();
 
-        GdkBitmap *mask = (GdkBitmap*) NULL;
+        GdkBitmap *mask = NULL;
 
         M_BMPDATA->m_pixmap = gdk_pixmap_create_from_xpm
                               (
@@ -1297,7 +1288,7 @@ bool wxBitmap::LoadFile( const wxString &name, wxBitmapType type )
 wxPalette *wxBitmap::GetPalette() const
 {
     if (!Ok())
-        return (wxPalette *) NULL;
+        return NULL;
 
     return M_BMPDATA->m_palette;
 }
@@ -1344,7 +1335,7 @@ void wxBitmap::SetBitmap( GdkPixmap *bitmap )
 
 GdkPixmap *wxBitmap::GetPixmap() const
 {
-    wxCHECK_MSG( Ok(), (GdkPixmap *) NULL, wxT("invalid bitmap") );
+    wxCHECK_MSG( Ok(), NULL, wxT("invalid bitmap") );
 
     return M_BMPDATA->m_pixmap;
 }
@@ -1358,7 +1349,7 @@ bool wxBitmap::HasPixmap() const
 
 GdkBitmap *wxBitmap::GetBitmap() const
 {
-    wxCHECK_MSG( Ok(), (GdkBitmap *) NULL, wxT("invalid bitmap") );
+    wxCHECK_MSG( Ok(), NULL, wxT("invalid bitmap") );
 
     return M_BMPDATA->m_bitmap;
 }
@@ -1377,12 +1368,6 @@ bool wxBitmap::HasAlpha() const
     return false;
 }
 
-//-----------------------------------------------------------------------------
-// wxBitmapHandler
-//-----------------------------------------------------------------------------
-
-IMPLEMENT_ABSTRACT_CLASS(wxBitmapHandler, wxBitmapHandlerBase)
-
 /* static */ void wxBitmap::InitStandardHandlers()
 {
     // TODO: Insert handler based on GdkPixbufs handler later