|
我用下面的代码给一个Surface添加一个Clipper,返回值都是S_OK
Surface在Blt时也返回S_OK,但得到的图像确是全黑,这是怎么回事?
if (!FAILED(m_pDD->CreateClipper(0, &m_pcBackSufClipper, NULL)))
{
RGNDATA cliplist;
cliplist.rdh.dwSize= sizeof(cliplist.rdh);
cliplist.rdh.iType= RDH_RECTANGLES;
cliplist.rdh.nCount= 1;
cliplist.rdh.nRgnSize= sizeof(RECT);
cliplist.rdh.rcBound.left= 1;
cliplist.rdh.rcBound.right= 400;
cliplist.rdh.rcBound.top= 1;
cliplist.rdh.rcBound.bottom= 200;
hret= m_pcBackSufClipper->SetClipList(&cliplist, 0);
hret= ((LPDIRECTDRAWSURFACE7)m_pBackSurface->m_pBuffer)->SetClipper(m_pcBackSufClipper);
SAFE_RELEASE(m_pcBackSufClipper);
} |
|