bool WindowsScreenGrabber::fillPixelFormat(PixelFormat *pixelFormat, const BMI *bmi) { memset(pixelFormat, 0, sizeof(PixelFormat)); pixelFormat->bitsPerPixel = bmi->bmiHeader.biBitCount; if (bmi->bmiHeader.biCompression == BI_BITFIELDS) { pixelFormat->redShift = findFirstBit(bmi->red); pixelFormat->greenShift = findFirstBit(bmi->green); pixelFormat->blueShift = findFirstBit(bmi->blue); pixelFormat->redMax = bmi->red >> pixelFormat->redShift; pixelFormat->greenMax = bmi->green >> pixelFormat->greenShift; pixelFormat->blueMax = bmi->blue >> pixelFormat->blueShift; } else {
void Screen::fillPixelFormat(const BMI *bmi) { memset(&m_pixelFormat, 0, sizeof(PixelFormat)); m_pixelFormat.initBigEndianByNative(); m_pixelFormat.bitsPerPixel = bmi->bmiHeader.biBitCount; if (bmi->bmiHeader.biCompression == BI_BITFIELDS) { m_pixelFormat.redShift = findFirstBit(bmi->red); m_pixelFormat.greenShift = findFirstBit(bmi->green); m_pixelFormat.blueShift = findFirstBit(bmi->blue); m_pixelFormat.redMax = bmi->red >> m_pixelFormat.redShift; m_pixelFormat.greenMax = bmi->green >> m_pixelFormat.greenShift; m_pixelFormat.blueMax = bmi->blue >> m_pixelFormat.blueShift; } else {