trunk/src/osd/windows/drawgdi.c
| r29288 | r29289 | |
| 27 | 27 | struct gdi_info |
| 28 | 28 | { |
| 29 | 29 | BITMAPINFO bminfo; |
| 30 | | RGBQUAD colors[256]; |
| 31 | 30 | UINT8 * bmdata; |
| 32 | 31 | size_t bmsize; |
| 33 | 32 | }; |
| r29288 | r29289 | |
| 88 | 87 | // fill in the bitmap info header |
| 89 | 88 | gdi->bminfo.bmiHeader.biSize = sizeof(gdi->bminfo.bmiHeader); |
| 90 | 89 | gdi->bminfo.bmiHeader.biPlanes = 1; |
| 90 | gdi->bminfo.bmiHeader.biBitCount = 32; |
| 91 | 91 | gdi->bminfo.bmiHeader.biCompression = BI_RGB; |
| 92 | 92 | gdi->bminfo.bmiHeader.biSizeImage = 0; |
| 93 | 93 | gdi->bminfo.bmiHeader.biXPelsPerMeter = 0; |
| r29288 | r29289 | |
| 95 | 95 | gdi->bminfo.bmiHeader.biClrUsed = 0; |
| 96 | 96 | gdi->bminfo.bmiHeader.biClrImportant = 0; |
| 97 | 97 | |
| 98 | | // initialize the palette to a gray ramp |
| 99 | | for (int i = 0; i < 256; i++) |
| 100 | | { |
| 101 | | gdi->colors[i].rgbRed = i; |
| 102 | | gdi->colors[i].rgbGreen = i; |
| 103 | | gdi->colors[i].rgbBlue = i; |
| 104 | | gdi->colors[i].rgbReserved = i; |
| 105 | | } |
| 106 | | |
| 107 | 98 | return 0; |
| 108 | 99 | } |
| 109 | 100 | |
| r29288 | r29289 | |
| 182 | 173 | // fill in bitmap-specific info |
| 183 | 174 | gdi->bminfo.bmiHeader.biWidth = pitch; |
| 184 | 175 | gdi->bminfo.bmiHeader.biHeight = -height; |
| 185 | | gdi->bminfo.bmiHeader.biBitCount = 32; |
| 186 | 176 | |
| 187 | 177 | // blit to the screen |
| 188 | 178 | StretchDIBits(dc, 0, 0, width, height, |