Ignore:
Timestamp:
Nov 13, 2001, 2:18:22 PM (24 years ago)
Author:
sandervl
Message:

workaround added for 32 bpp blitting with matrox display driver

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/gdi32/dibsect.cpp

    r7113 r7327  
    1 /* $Id: dibsect.cpp,v 1.58 2001-10-18 17:01:34 sandervl Exp $ */
     1/* $Id: dibsect.cpp,v 1.59 2001-11-13 13:18:22 sandervl Exp $ */
    22
    33/*
     
    157157
    158158           case 24:
    159                 dibinfo.dsBitfields[0] = 0xff;
    160                 dibinfo.dsBitfields[1] = 0xff00;
    161                 dibinfo.dsBitfields[2] = 0xff0000;
    162                 break;
    163 
    164159           case 32:
    165                 dibinfo.dsBitfields[0] = (pbmi->biCompression == BI_BITFIELDS_W) ? *(DWORD *)pColors : 0xff;
    166                 dibinfo.dsBitfields[1] = (pbmi->biCompression == BI_BITFIELDS_W) ? *((DWORD *)pColors + 1) : 0xff00;
    167                 dibinfo.dsBitfields[2] = (pbmi->biCompression == BI_BITFIELDS_W) ? *((DWORD *)pColors + 2) : 0xff0000;
    168                 if(dibinfo.dsBitfields[0] != 0xff && dibinfo.dsBitfields[1] != 0xff00 && dibinfo.dsBitfields[2] != 0xff0000) {
     160                dibinfo.dsBitfields[0] = (pbmi->biCompression == BI_BITFIELDS_W) ? *(DWORD *)pColors       : 0xff0000;
     161                dibinfo.dsBitfields[1] = (pbmi->biCompression == BI_BITFIELDS_W) ? *((DWORD *)pColors + 1) : 0x00ff00;
     162                dibinfo.dsBitfields[2] = (pbmi->biCompression == BI_BITFIELDS_W) ? *((DWORD *)pColors + 2) : 0x0000ff;
     163                if(dibinfo.dsBitfields[0] != 0xff0000 && dibinfo.dsBitfields[1] != 0xff00 && dibinfo.dsBitfields[2] != 0xff) {
    169164                    dprintf(("DIBSection: unsupported bitfields for 32 bits bitmap!!"));
    170165                }
     
    336331
    337332           case 24:
    338                 dibinfo.dsBitfields[0] = 0xff;
    339                 dibinfo.dsBitfields[1] = 0xff00;
    340                 dibinfo.dsBitfields[2] = 0xff0000;
    341                 break;
    342 
    343333           case 32:
    344                 dibinfo.dsBitfields[0] = (pbmi->biCompression == BI_BITFIELDS_W) ? *(DWORD *)pColors : 0xff;
    345                 dibinfo.dsBitfields[1] = (pbmi->biCompression == BI_BITFIELDS_W) ? *((DWORD *)pColors + 1) : 0xff00;
    346                 dibinfo.dsBitfields[2] = (pbmi->biCompression == BI_BITFIELDS_W) ? *((DWORD *)pColors + 2) : 0xff0000;
    347                 if(dibinfo.dsBitfields[0] != 0xff && dibinfo.dsBitfields[1] != 0xff00 && dibinfo.dsBitfields[2] != 0xff0000) {
     334                dibinfo.dsBitfields[0] = (pbmi->biCompression == BI_BITFIELDS_W) ? *(DWORD *)pColors       : 0xff0000;
     335                dibinfo.dsBitfields[1] = (pbmi->biCompression == BI_BITFIELDS_W) ? *((DWORD *)pColors + 1) : 0x00ff00;
     336                dibinfo.dsBitfields[2] = (pbmi->biCompression == BI_BITFIELDS_W) ? *((DWORD *)pColors + 2) : 0x0000ff;
     337                if(dibinfo.dsBitfields[0] != 0xff0000 && dibinfo.dsBitfields[1] != 0xff00 && dibinfo.dsBitfields[2] != 0xff) {
    348338                    dprintf(("DIBSection: unsupported bitfields for 32 bits bitmap!!"));
    349339                }
Note: See TracChangeset for help on using the changeset viewer.