]> git.saurik.com Git - wxWidgets.git/blobdiff - src/os2/bitmap.cpp
Folder icon
[wxWidgets.git] / src / os2 / bitmap.cpp
index ff5b76535af168d0abfa031f91355bf9be9b5452..2a88e27107cf0831d825eeae50620cef66fcfbc5 100644 (file)
@@ -87,6 +87,10 @@ void wxBitmapRefData::Free()
 void wxBitmap::Init()
 {
     m_bIsMono = FALSE;
+    //
+    // True for all bitmaps created from bits, wxImages, Xpms
+    //
+    m_bFlip = TRUE;
 } // end of wxBitmap::Init
 
 bool wxBitmap::CopyFromIconOrCursor(
@@ -265,7 +269,7 @@ wxBitmap::wxBitmap(
 )
 {
     Init();
-
+    m_bFlip = FALSE;
     (void)Create( nW
                  ,nH
                  ,nD
@@ -296,7 +300,7 @@ wxBitmap::wxBitmap(
 )
 {
     Init();
-
+    m_bFlip = FALSE;
     LoadFile( rFilename
              ,(int)lType
             );
@@ -522,7 +526,7 @@ bool wxBitmap::CreateFromImage (
 {
     wxCHECK_MSG(rImage.Ok(), FALSE, wxT("invalid image"));
     m_refData = new wxBitmapRefData();
-
+    m_bFlip = TRUE;
 
     int                             nSizeLimit = 1024 * 768 * 3;
     int                             nWidth = rImage.GetWidth();
@@ -697,10 +701,6 @@ bool wxBitmap::CreateFromImage (
             vError = ::WinGetLastError(vHabmain);
             sError = wxPMErrorToStr(vError);
         }
-        //
-        // Debug stuff
-        //
-
         hPSScreen = ::GpiCreatePS( vHabmain
                                   ,hDCScreen
                                   ,&vSize
@@ -939,14 +939,14 @@ wxImage wxBitmap::ConvertToImage() const
                                ,&vSizlPage
                                ,PU_PELS | GPIA_ASSOC
                               );
-        if ((hOldBitmap = ::GpiSetBitmap(hPSMem, hBitmap)) == HBM_ERROR)
-        {
-            ERRORID                 vError;
-            wxString                sError;
+    }
+    if ((hOldBitmap = ::GpiSetBitmap(hPSMem, hBitmap)) == HBM_ERROR)
+    {
+        ERRORID                 vError;
+        wxString                sError;
 
-            vError = ::WinGetLastError(vHabmain);
-            sError = wxPMErrorToStr(vError);
-        }
+        vError = ::WinGetLastError(vHabmain);
+        sError = wxPMErrorToStr(vError);
     }
 
     //
@@ -1127,7 +1127,7 @@ wxBitmap wxBitmap::GetSubBitmap(
         vBmih.cx        = rRect.width;
         vBmih.cy        = rRect.height;
         vBmih.cPlanes   = 1;
-        vBmih.cBitCount = 1;
+        vBmih.cBitCount = 24;
 
         HBITMAP                     hBmpMask = ::GpiCreateBitmap( hPSDst
                                                                  ,&vBmih
@@ -1292,7 +1292,7 @@ bool wxMask::Create(
     vBmih.cx        = rBitmap.GetWidth();
     vBmih.cy        = rBitmap.GetHeight();
     vBmih.cPlanes   = 1;
-    vBmih.cBitCount = 1;
+    vBmih.cBitCount = 24;
 
     m_hMaskBitmap = ::GpiCreateBitmap( hPSDst
                                       ,&vBmih
@@ -1586,12 +1586,12 @@ HBITMAP wxInvertMask(
                                                   0, 0, nWidth, nHeight
                                                 };
 
-    memset(&vBmih, '\0', sizeof(BITMAPINFOHEADER2));
-    vBmih.cbFix     =  sizeof(BITMAPINFOHEADER2);
+    memset(&vBmih, '\0', 16);
+    vBmih.cbFix     = 16;
     vBmih.cx        = nWidth;
     vBmih.cy        = nHeight;
     vBmih.cPlanes   = 1;
-    vBmih.cBitCount = 1;
+    vBmih.cBitCount = 24;
 
     hBmpInvMask = ::GpiCreateBitmap( hPSDst
                                     ,&vBmih