23 #if SDL_VIDEO_DRIVER_WINDOWS
39 DeleteObject(data->
hbm);
43 size =
sizeof(BITMAPINFOHEADER) + 256 *
sizeof (RGBQUAD);
47 info->bmiHeader.biSize =
sizeof(BITMAPINFOHEADER);
50 hbm = CreateCompatibleBitmap(data->
hdc, 1, 1);
51 GetDIBits(data->
hdc, hbm, 0, 0,
NULL, info, DIB_RGB_COLORS);
52 GetDIBits(data->
hdc, hbm, 0, 0,
NULL, info, DIB_RGB_COLORS);
60 bpp = info->bmiHeader.biPlanes * info->bmiHeader.biBitCount;
61 masks = (
Uint32*)((
Uint8*)info + info->bmiHeader.biSize);
71 info->bmiHeader.biSize =
sizeof(BITMAPINFOHEADER);
72 info->bmiHeader.biPlanes = 1;
73 info->bmiHeader.biBitCount = 32;
74 info->bmiHeader.biCompression =
BI_RGB;
79 info->bmiHeader.biWidth = window->
w;
80 info->bmiHeader.biHeight = -window->
h;
81 info->bmiHeader.biSizeImage = window->
h * (*pitch);
83 data->
mdc = CreateCompatibleDC(data->
hdc);
84 data->
hbm = CreateDIBSection(data->
hdc, info, DIB_RGB_COLORS, pixels,
NULL, 0);
90 SelectObject(data->
mdc, data->
hbm);
99 BitBlt(data->
hdc, 0, 0, window->
w, window->
h, data->
mdc, 0, 0, SRCCOPY);
117 DeleteObject(data->
hbm);
#define SDL_stack_free(data)
DECLSPEC Uint32 SDLCALL SDL_MasksToPixelFormatEnum(int bpp, Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask)
Convert a bpp and RGBA masks to an enumerated pixel format.
#define SDL_BYTESPERPIXEL(X)
int WIN_CreateWindowFramebuffer(_THIS, SDL_Window *window, Uint32 *format, void **pixels, int *pitch)
uint32_t Uint32
An unsigned 32-bit integer type.
void WIN_DestroyWindowFramebuffer(_THIS, SDL_Window *window)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
DECLSPEC void *SDLCALL SDL_memset(void *dst, int c, size_t len)
GLint GLenum GLsizei GLsizei GLsizei GLint GLenum format
GLint GLenum GLsizei GLsizei GLsizei GLint GLenum GLenum const GLvoid * pixels
int WIN_SetError(const char *prefix)
uint8_t Uint8
An unsigned 8-bit integer type.
#define SDL_stack_alloc(type, count)
A rectangle, with the origin at the upper left.
int WIN_UpdateWindowFramebuffer(_THIS, SDL_Window *window, const SDL_Rect *rects, int numrects)