mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-21 07:11:16 +00:00
Match MxBitmap::vtable+40 (CopyColorData)
It's basically a call to StretchDIBits, which copies color data for a rectangle
This commit is contained in:
parent
f707af34db
commit
eae19c8475
@ -122,8 +122,14 @@ int MxBitmap::vtable3c(MxBool)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// OFFSET: LEGO1 0x100bd3e0 STUB
|
// OFFSET: LEGO1 0x100bd3e0
|
||||||
int MxBitmap::vtable40(HDC p_hdc, int p_xSrc, int p_ySrc, int p_xDest, int p_yDest, int p_destWidth, int p_destHeight)
|
MxResult MxBitmap::CopyColorData(HDC p_hdc, int p_xSrc, int p_ySrc, int p_xDest, int p_yDest, int p_destWidth, int p_destHeight)
|
||||||
{
|
{
|
||||||
return 0;
|
// Compression fix?
|
||||||
|
if ((this->m_bmiHeader->biCompression != 16) && (0 < this->m_bmiHeader->biHeight)) {
|
||||||
|
p_ySrc = (this->m_bmiHeader->biHeight - p_destHeight) - p_ySrc;
|
||||||
|
}
|
||||||
|
// TODO: 0xcc0020 is probably a common raster code variable
|
||||||
|
// see https://learn.microsoft.com/en-us/windows/win32/api/wingdi/nf-wingdi-bitblt#parameters
|
||||||
|
return StretchDIBits(p_hdc, p_xDest, p_yDest, p_destWidth, p_destHeight, p_xSrc, p_ySrc, p_destWidth, p_destHeight, this->m_data, this->m_info, this->m_unk18, 0xcc0020);
|
||||||
}
|
}
|
||||||
@ -24,7 +24,7 @@ class MxBitmap : public MxCore
|
|||||||
__declspec(dllexport) virtual MxPalette *CreatePalette(); // vtable+34
|
__declspec(dllexport) virtual MxPalette *CreatePalette(); // vtable+34
|
||||||
virtual void vtable38(void*);
|
virtual void vtable38(void*);
|
||||||
virtual int vtable3c(MxBool);
|
virtual int vtable3c(MxBool);
|
||||||
virtual int vtable40(HDC p_hdc, int p_xSrc, int p_ySrc, int p_xDest, int p_yDest, int p_destWidth, int p_destHeight);
|
virtual MxResult MxBitmap::CopyColorData(HDC p_hdc, int p_xSrc, int p_ySrc, int p_xDest, int p_yDest, int p_destWidth, int p_destHeight); // vtable+40
|
||||||
|
|
||||||
private:
|
private:
|
||||||
BITMAPINFO *m_info;
|
BITMAPINFO *m_info;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user