]> git.saurik.com Git - wxWidgets.git/commitdiff
Remove wxDIB::m_hasAlpha from wxMSW.
authorVadim Zeitlin <vadim@wxwidgets.org>
Sun, 24 Oct 2010 22:40:27 +0000 (22:40 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sun, 24 Oct 2010 22:40:27 +0000 (22:40 +0000)
This field can't be set reliably as we don't know if LoadImage() Windows
function loaded an 0RGB or an RGB bitmap so remove it completely to avoid the
risk of using it wrongly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65899 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/msw/dib.h
src/msw/dib.cpp

index 73bf5265a957b9907650a6f33b53c466c0bcb20e..d9e5745ee356c5ef7edd1b98507bd29ed9cf777a 100644 (file)
@@ -200,11 +200,6 @@ private:
     // the case
     bool m_ownsHandle;
 
     // the case
     bool m_ownsHandle;
 
-    // if true, we have alpha, if false we don't (note that we can still have
-    // m_depth == 32 but the last component is then simply padding and not
-    // alpha)
-    bool m_hasAlpha;
-
 
     // DIBs can't be copied
     wxDIB(const wxDIB&);
 
     // DIBs can't be copied
     wxDIB(const wxDIB&);
@@ -220,7 +215,6 @@ void wxDIB::Init()
 {
     m_handle = 0;
     m_ownsHandle = true;
 {
     m_handle = 0;
     m_ownsHandle = true;
-    m_hasAlpha = false;
 
     m_data = NULL;
 
 
     m_data = NULL;
 
index 3675d7e8a05ca50ebe8964515857785580bdc22f..d6d127a3408d4e884bf8a85587c252606657be43 100644 (file)
@@ -144,8 +144,6 @@ bool wxDIB::Create(const wxBitmap& bmp)
     if ( !Create(GetHbitmapOf(bmp)) )
         return false;
 
     if ( !Create(GetHbitmapOf(bmp)) )
         return false;
 
-    m_hasAlpha = bmp.HasAlpha();
-
     return true;
 }
 
     return true;
 }
 
@@ -677,8 +675,8 @@ bool wxDIB::Create(const wxImage& image)
 
     // if we have alpha channel, we need to create a 32bpp RGBA DIB, otherwise
     // a 24bpp RGB is sufficient
 
     // if we have alpha channel, we need to create a 32bpp RGBA DIB, otherwise
     // a 24bpp RGB is sufficient
-    m_hasAlpha = image.HasAlpha();
-    const int bpp = m_hasAlpha ? 32 : 24;
+    const bool hasAlpha = image.HasAlpha();
+    const int bpp = hasAlpha ? 32 : 24;
 
     if ( !Create(w, h, bpp) )
         return false;
 
     if ( !Create(w, h, bpp) )
         return false;
@@ -688,8 +686,8 @@ bool wxDIB::Create(const wxImage& image)
     const int srcBytesPerLine = w * 3;
     const int dstBytesPerLine = GetLineSize(w, bpp);
     const unsigned char *src = image.GetData() + ((h - 1) * srcBytesPerLine);
     const int srcBytesPerLine = w * 3;
     const int dstBytesPerLine = GetLineSize(w, bpp);
     const unsigned char *src = image.GetData() + ((h - 1) * srcBytesPerLine);
-    const unsigned char *alpha = m_hasAlpha ? image.GetAlpha() + (h - 1)*w
-                                            : NULL;
+    const unsigned char *alpha = hasAlpha ? image.GetAlpha() + (h - 1)*w
+                                          : NULL;
     unsigned char *dstLineStart = (unsigned char *)m_data;
     for ( int y = 0; y < h; y++ )
     {
     unsigned char *dstLineStart = (unsigned char *)m_data;
     for ( int y = 0; y < h; y++ )
     {
@@ -754,9 +752,7 @@ wxImage wxDIB::ConvertToImage() const
     {
         // 32 bit bitmaps may be either 0RGB or ARGB and we don't know in
         // advance which one do we have so suppose we have alpha of them and
     {
         // 32 bit bitmaps may be either 0RGB or ARGB and we don't know in
         // advance which one do we have so suppose we have alpha of them and
-        // get rid of it later if it turns out we didn't (in particular, don't
-        // trust m_hasAlpha which is not set correctly when the image was
-        // loaded from file).
+        // get rid of it later if it turns out we didn't.
         image.SetAlpha();
     }
 
         image.SetAlpha();
     }