21 #include "../../SDL_internal.h" 23 #if SDL_VIDEO_DRIVER_WINDOWS 39 DeleteObject(data->
hbm);
43 size =
sizeof(BITMAPINFOHEADER) + 256 *
sizeof (RGBQUAD);
50 info->bmiHeader.biSize =
sizeof(BITMAPINFOHEADER);
53 hbm = CreateCompatibleBitmap(data->
hdc, 1, 1);
54 GetDIBits(data->
hdc, hbm, 0, 0,
NULL, info, DIB_RGB_COLORS);
55 GetDIBits(data->
hdc, hbm, 0, 0,
NULL, info, DIB_RGB_COLORS);
63 bpp = info->bmiHeader.biPlanes * info->bmiHeader.biBitCount;
64 masks = (
Uint32*)((
Uint8*)info + info->bmiHeader.biSize);
74 info->bmiHeader.biSize =
sizeof(BITMAPINFOHEADER);
75 info->bmiHeader.biPlanes = 1;
76 info->bmiHeader.biBitCount = 32;
77 info->bmiHeader.biCompression =
BI_RGB;
82 info->bmiHeader.biWidth = window->
w;
83 info->bmiHeader.biHeight = -window->
h;
84 info->bmiHeader.biSizeImage = window->
h * (*pitch);
86 data->
mdc = CreateCompatibleDC(data->
hdc);
87 data->
hbm = CreateDIBSection(data->
hdc, info, DIB_RGB_COLORS, pixels,
NULL, 0);
93 SelectObject(data->
mdc, data->
hbm);
102 BitBlt(data->
hdc, 0, 0, window->
w, window->
h, data->
mdc, 0, 0, SRCCOPY);
120 DeleteObject(data->
hbm);
#define SDL_MasksToPixelFormatEnum
#define SDL_BYTESPERPIXEL(X)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
int WIN_CreateWindowFramebuffer(_THIS, SDL_Window *window, Uint32 *format, void **pixels, int *pitch)
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
void WIN_DestroyWindowFramebuffer(_THIS, SDL_Window *window)
#define SDL_stack_alloc(type, count)
GLint GLint GLsizei GLsizei GLsizei GLint GLenum GLenum const GLvoid * pixels
#define SDL_OutOfMemory()
int WIN_SetError(const char *prefix)
EGLSurface EGLNativeWindowType * window
The type used to identify a window.
EGLSurface EGLint * rects
#define SDL_stack_free(data)
A rectangle, with the origin at the upper left.
int WIN_UpdateWindowFramebuffer(_THIS, SDL_Window *window, const SDL_Rect *rects, int numrects)