]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/bitmap.cpp
call OnExec() taking wxString argument from OnExecute() by default
[wxWidgets.git] / src / gtk / bitmap.cpp
index 28ed8d1e561a3095455cc0c2ee9ca7f4d101b013..91aa96accfebdb7dab45dbea12ffd7d4ceca71b2 100644 (file)
@@ -181,12 +181,14 @@ GdkBitmap *wxMask::GetBitmap() const
 // wxBitmap
 //-----------------------------------------------------------------------------
 
-class wxBitmapRefData: public wxObjectRefData
+class wxBitmapRefData: public wxGDIRefData
 {
 public:
     wxBitmapRefData();
     virtual ~wxBitmapRefData();
 
+    virtual bool IsOk() const { return m_pixmap || m_pixbuf; }
+
     GdkPixmap      *m_pixmap;
     GdkPixbuf      *m_pixbuf;
     wxMask         *m_mask;
@@ -363,6 +365,8 @@ wxBitmap wxBitmap::Rescale(int clipx, int clipy, int clipwidth, int clipheight,
     return bmp;
 }
 
+#if wxUSE_IMAGE
+
 bool wxBitmap::CreateFromImage(const wxImage& image, int depth)
 {
     UnRef();
@@ -593,14 +597,7 @@ wxImage wxBitmap::ConvertToImage() const
     return image;
 }
 
-bool wxBitmap::IsOk() const
-{
-    return (m_refData != NULL) &&
-           (
-              M_BMPDATA->m_pixbuf ||
-              M_BMPDATA->m_pixmap
-           );
-}
+#endif // wxUSE_IMAGE
 
 int wxBitmap::GetHeight() const
 {
@@ -692,9 +689,16 @@ bool wxBitmap::SaveFile( const wxString &name, wxBitmapType type, const wxPalett
 {
     wxCHECK_MSG( Ok(), false, wxT("invalid bitmap") );
 
+#if wxUSE_IMAGE
     // Try to save the bitmap via wxImage handlers:
     wxImage image = ConvertToImage();
     return image.Ok() && image.SaveFile(name, type);
+#else // !wxUSE_IMAGE
+    wxUnusedVar(name);
+    wxUnusedVar(type);
+
+    return false;
+#endif // wxUSE_IMAGE
 }
 
 bool wxBitmap::LoadFile( const wxString &name, wxBitmapType type )
@@ -712,12 +716,14 @@ bool wxBitmap::LoadFile( const wxString &name, wxBitmapType type )
             M_BMPDATA->m_mask->m_bitmap = mask;
         }
     }
+#if wxUSE_IMAGE
     else // try if wxImage can load it
     {
         wxImage image;
         if (image.LoadFile(name, type) && image.Ok())
             CreateFromImage(image, -1);
     }
+#endif // wxUSE_IMAGE
 
     return Ok();
 }
@@ -786,7 +792,7 @@ GdkPixmap *wxBitmap::GetPixmap() const
         gdk_pixbuf_render_pixmap_and_mask(M_BMPDATA->m_pixbuf,
                                           &M_BMPDATA->m_pixmap,
                                           pmask,
-                                          wxIMAGE_ALPHA_THRESHOLD);
+                                          0x80 /* alpha threshold */);
     }
 
     return M_BMPDATA->m_pixmap;
@@ -917,25 +923,12 @@ bool wxBitmap::HasAlpha() const
         gdk_pixbuf_get_has_alpha(M_BMPDATA->m_pixbuf);
 }
 
-void wxBitmap::UseAlpha()
-{
-    GdkPixbuf* pixbuf = GetPixbuf();
-    // add alpha if necessary
-    if (!gdk_pixbuf_get_has_alpha(pixbuf))
-    {
-        M_BMPDATA->m_pixbuf = NULL;
-        AllocExclusive();
-        M_BMPDATA->m_pixbuf = gdk_pixbuf_add_alpha(pixbuf, false, 0, 0, 0);
-        g_object_unref(pixbuf);
-    }
-}
-
-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
 {
     const wxBitmapRefData* oldRef = wx_static_cast(const wxBitmapRefData*, data);
     wxBitmapRefData* newRef = new wxBitmapRefData;