//************************************************************************ BOOL CDib::Create( PDIB pdib ) //************************************************************************ { DWORD dwSizeImage; dwSizeImage = pdib->GetSizeImage(); if ( !(m_lp = AllocX( dwSizeImage + 1024, GMEM_ZEROINIT )) ) { return FALSE; } m_bmiHeader = *pdib->GetInfoHeader(); hmemcpy( m_rgbQuad, pdib->GetColors(), sizeof(m_rgbQuad)); hmemcpy(m_lp, pdib->GetPtr(), pdib->GetSizeImage()); return TRUE; }
//************************************************************************ CDib::CDib(PDIB pdib, LPTR lp, BOOL fCopyBits) //************************************************************************ { m_bmiHeader = *pdib->GetInfoHeader(); hmemcpy( m_rgbQuad, pdib->GetColors(), sizeof(m_rgbQuad)); m_lp = lp; if (fCopyBits) hmemcpy(m_lp, pdib->GetPtr(), pdib->GetSizeImage()); m_iRefCount = 0; AddRef(); }