m_pSelectedInto = NULL;
m_nNumColors = 0;
m_pBitmapMask = NULL;
- m_hBitmap = (WXHBITMAP) NULL;
+ m_hBitmap = (WXHBITMAP) NULL;
} // end of wxBitmapRefData::wxBitmapRefData
void wxBitmapRefData::Free()
wxLogLastError("GpiDeleteBitmap(hbitmap)");
}
}
-
- delete m_pBitmapMask;
- m_pBitmapMask = NULL;
+ if (m_pBitmapMask)
+ {
+ delete m_pBitmapMask;
+ m_pBitmapMask = NULL;
+ }
} // end of wxBitmapRefData::Free
// ----------------------------------------------------------------------------
//
// True for all bitmaps created from bits, wxImages, Xpms
//
- m_bFlip = TRUE;
} // end of wxBitmap::Init
bool wxBitmap::CopyFromIconOrCursor(
)
{
Init();
- m_bFlip = FALSE;
(void)Create( nW
,nH
,nD
} // end of wxBitmap::wxBitmap
wxBitmap::wxBitmap(
- const wxString& rFilename
+ int nId
, long lType
)
{
Init();
- m_bFlip = FALSE;
- LoadFile( rFilename
+ LoadFile( nId
,(int)lType
);
+ SetId(nId);
} // end of wxBitmap::wxBitmap
bool wxBitmap::Create(
// Xpms and bitmaps from other images can also be mono's, but only
// mono's need help changing their colors with MemDC changes
//
- if (nD == 1)
- m_bIsMono = TRUE;
if (nD > 0)
{
DEVOPENSTRUC vDop = {0L, "DISPLAY", NULL, 0L, 0L, 0L, 0L, 0L, 0L};
HDC hDC = ::DevOpenDC(vHabmain, OD_MEMORY, "*", 5L, (PDEVOPENDATA)&vDop, NULLHANDLE);
HPS hPS = ::GpiCreatePS(vHabmain, hDC, &vSize, PU_PELS | GPIA_ASSOC);
+ if (nD == 1)
+ m_bIsMono = TRUE;
memset(&vHeader, '\0', 16);
vHeader.cbFix = 16;
vHeader.cx = nW;
} // end of wxBitmap::CreateFromXpm
bool wxBitmap::LoadFile(
- const wxString& rFilename
+ int nId
, long lType
)
{
m_refData = new wxBitmapRefData;
return(pHandler->LoadFile( this
- ,rFilename
- ,hPs
+ ,nId
,lType
, -1
, -1
}
else
{
- wxImage vImage;
-
- if (!vImage.LoadFile(rFilename, lType) || !vImage.Ok() )
- return(FALSE);
-
- *this = wxBitmap(vImage);
-
- return(TRUE);
+ return(FALSE);
}
} // end of wxBitmap::LoadFile
{
wxCHECK_MSG(rImage.Ok(), FALSE, wxT("invalid image"));
m_refData = new wxBitmapRefData();
- m_bFlip = TRUE;
int nSizeLimit = 1024 * 768 * 3;
int nWidth = rImage.GetWidth();
wxCHECK_MSG(rImage.Ok(), FALSE, wxT("invalid image"));
SetWidth(nWidth);
SetHeight(nBmpHeight);
+ if (nDepth == 1)
+ m_bIsMono = TRUE;
+ else
+ m_bIsMono = FALSE;
if (nDepth == -1)
nDepth = wxDisplayDepth();
SetDepth(nDepth);
//
nHeight = nHRemain;
vHeader.cy = (DWORD)(nHeight);
+ vHeader.cbImage = nBytePerLine * nHeight;
}
ptbits = pucBits;
for (int j = 0; j < nHeight; j++)
bool wxBitmapHandler::Load(
wxGDIImage* pImage
-, const wxString& rName
-, HPS hPs
+, int nId
, long lFlags
, int nWidth
, int nHeight
);
return(pBitmap ? LoadFile( pBitmap
- ,rName
- ,hPs
+ ,nId
,lFlags
,nWidth
,nHeight
bool wxBitmapHandler::LoadFile(
wxBitmap* WXUNUSED(pBitmap)
-, const wxString& WXUNUSED(rName)
-, HPS WXUNUSED(hPs)
+, int WXUNUSED(nId)
, long WXUNUSED(lType)
, int WXUNUSED(nDesiredWidth)
, int WXUNUSED(nDesiredHeight)