More bitamp and image fixes

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15230 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
David Webster
2002-04-22 04:12:22 +00:00
parent eb37e1d2f3
commit f16e72c837
3 changed files with 80 additions and 15 deletions

View File

@@ -1043,12 +1043,49 @@ void wxDC::DoDrawRectangle(
//
// Debug testing:
//
for (int i = 0; i < vHeight; i++)
if (m_vSelectedBitmap != wxNullBitmap)
{
for (int j = 0; j < vHeight; j++)
BITMAPINFOHEADER2 vHeader;
BITMAPINFO2 vInfo;
vHeader.cbFix = 16L;
if (::GpiQueryBitmapInfoHeader(m_hPS, &vHeader))
{
vPoint[0].x = j; vPoint[0].y = i;
lColor = ::GpiQueryPel(m_hPS, &vPoint[0]);
int nBytesPerLine = vHeader.cBitCount/8;
unsigned char* pucData = NULL;
unsigned char* pucBits;
LONG lScans = 0L;
vInfo.cbFix = 16;
vInfo.cx = vHeader.cx;
vInfo.cy = vHeader.cy;
vInfo.cPlanes = vHeader.cPlanes;
vInfo.cBitCount = vHeader.cBitCount;
pucData = (unsigned char*)malloc(nBytesPerLine * vHeight);
pucBits = pucData;
for (int i = 0; i < vHeight; i++)
{
if (i <= m_vSelectedBitmap.GetHeight())
{
for (int j = 0; j < vWidth; j++)
{
if (j <= m_vSelectedBitmap.GetWidth())
{
vPoint[0].x = j; vPoint[0].y = i;
lColor = ::GpiQueryPel(m_hPS, &vPoint[0]);
*(pucBits++) = lColor >> 24;
*(pucBits++) = lColor >> 16;
*(pucBits++) = lColor >> 8;
}
}
}
}
lScans = ::GpiSetBitmapBits( m_hPS
,0 // Start at the bottom
,(LONG)vHeight // One line per scan
,(PBYTE)pucData
,&vInfo
);
}
}
}