Changeset 3227 for trunk/src/gdi32/dibsect.cpp
- Timestamp:
- Mar 24, 2000, 8:24:48 PM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/gdi32/dibsect.cpp
r3184 r3227 1 /* $Id: dibsect.cpp,v 1.2 1 2000-03-21 19:46:47 sandervl Exp $ */1 /* $Id: dibsect.cpp,v 1.22 2000-03-24 19:24:47 sandervl Exp $ */ 2 2 3 3 /* … … 73 73 bmpsize *= 4; 74 74 break; 75 default: 76 dprintf(("Unsupported nr of bits %d", pbmi->biBitCount)); 77 DebugInt3(); 78 break; 75 79 } 76 80 … … 130 134 dibinfo.dsOffset = 0; // TODO: put the correct value here (if createdibsection with file handle) 131 135 132 if(pbmi->biCompression == BI_BITFIELDS) { 133 dibinfo.dsBitfields[0] = *((DWORD *)pColors); 134 dibinfo.dsBitfields[1] = *((DWORD *)pColors+1); 135 dibinfo.dsBitfields[2] = *((DWORD *)pColors+2); 136 if(iUsage == DIB_PAL_COLORS || pbmi->biBitCount <= 8) 137 { 138 dibinfo.dsBitfields[0] = dibinfo.dsBitfields[1] = dibinfo.dsBitfields[2] = 0; 139 } 140 else { 141 switch(pbmi->biBitCount) 142 { 143 case 16: 144 dibinfo.dsBitfields[0] = (pbmi->biCompression == BI_BITFIELDS) ? *(DWORD *)pColors : 0x7c00; 145 dibinfo.dsBitfields[1] = (pbmi->biCompression == BI_BITFIELDS) ? *((DWORD *)pColors + 1) : 0x03e0; 146 dibinfo.dsBitfields[2] = (pbmi->biCompression == BI_BITFIELDS) ? *((DWORD *)pColors + 2) : 0x001f; 147 break; 148 149 case 24: 150 dibinfo.dsBitfields[0] = 0xff; 151 dibinfo.dsBitfields[1] = 0xff00; 152 dibinfo.dsBitfields[2] = 0xff0000; 153 break; 154 155 case 32: 156 dibinfo.dsBitfields[0] = (pbmi->biCompression == BI_BITFIELDS) ? *(DWORD *)pColors : 0xff; 157 dibinfo.dsBitfields[1] = (pbmi->biCompression == BI_BITFIELDS) ? *((DWORD *)pColors + 1) : 0xff00; 158 dibinfo.dsBitfields[2] = (pbmi->biCompression == BI_BITFIELDS) ? *((DWORD *)pColors + 2) : 0xff0000; 159 if(dibinfo.dsBitfields[0] != 0xff && dibinfo.dsBitfields[1] != 0xff00 && dibinfo.dsBitfields[2] != 0xff0000) { 160 dprintf(("DIBSection: unsupported bitfields for 32 bits bitmap!!")); 161 } 162 break; 163 } 136 164 dprintf(("BI_BITFIELDS %x %x %x", dibinfo.dsBitfields[0], dibinfo.dsBitfields[1], dibinfo.dsBitfields[2])); 137 165 }
Note:
See TracChangeset
for help on using the changeset viewer.