Changeset 6182 for trunk/src


Ignore:
Timestamp:
Jul 6, 2001, 3:46:07 PM (24 years ago)
Author:
sandervl
Message:

GetDIBits fix

File:
1 edited

Legend:

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

    r6163 r6182  
    1 /* $Id: dibitmap.cpp,v 1.24 2001-07-04 08:03:54 sandervl Exp $ */
     1/* $Id: dibitmap.cpp,v 1.25 2001-07-06 13:46:07 sandervl Exp $ */
    22
    33/*
     
    326326    DeleteDC(hdcMem);
    327327
    328     // set proper color masks
    329     switch(lpbi->bmiHeader.biBitCount) {
    330     case 15:
    331     case 16: //RGB 565
    332        ((DWORD*)(lpbi->bmiColors))[0] = 0x7c00;
    333        ((DWORD*)(lpbi->bmiColors))[1] = 0x03E0;
    334        ((DWORD*)(lpbi->bmiColors))[2] = 0x001F;
    335        break;
    336     case 24:
    337     case 32:
    338        ((DWORD*)(lpbi->bmiColors))[0] = 0x0000FF;
    339        ((DWORD*)(lpbi->bmiColors))[1] = 0x00FF00;
    340        ((DWORD*)(lpbi->bmiColors))[2] = 0xFF0000;
    341        break;
     328    if(lpvBits) {
     329        // set proper color masks (only if lpvBits not NULL)
     330        switch(lpbi->bmiHeader.biBitCount) {
     331        case 15:
     332        case 16: //RGB 565
     333           ((DWORD*)(lpbi->bmiColors))[0] = 0x7c00;
     334           ((DWORD*)(lpbi->bmiColors))[1] = 0x03E0;
     335           ((DWORD*)(lpbi->bmiColors))[2] = 0x001F;
     336           break;
     337        case 24:
     338        case 32:
     339           ((DWORD*)(lpbi->bmiColors))[0] = 0x0000FF;
     340           ((DWORD*)(lpbi->bmiColors))[1] = 0x00FF00;
     341           ((DWORD*)(lpbi->bmiColors))[2] = 0xFF0000;
     342           break;
     343        }
    342344    }
    343345    if(nrlines && lpvBits && lpbi->bmiHeader.biBitCount == 16 && ((DWORD*)(lpbi->bmiColors))[1] == 0x3E0)
Note: See TracChangeset for help on using the changeset viewer.