src/video/win32/SDL_gdirender.c
changeset 1898 f89e49e51e89
parent 1897 c2a27da60b18
child 1899 6a11e61bf805
equal deleted inserted replaced
1897:c2a27da60b18 1898:f89e49e51e89
    77 
    77 
    78 SDL_RenderDriver SDL_GDI_RenderDriver = {
    78 SDL_RenderDriver SDL_GDI_RenderDriver = {
    79     SDL_GDI_CreateRenderer,
    79     SDL_GDI_CreateRenderer,
    80     {
    80     {
    81      "gdi",
    81      "gdi",
    82      (SDL_Renderer_SingleBuffer | SDL_Renderer_PresentCopy |
    82      (//SDL_Renderer_Minimal |
       
    83       SDL_Renderer_SingleBuffer | SDL_Renderer_PresentCopy |
    83       SDL_Renderer_PresentFlip2 | SDL_Renderer_PresentFlip3 |
    84       SDL_Renderer_PresentFlip2 | SDL_Renderer_PresentFlip3 |
    84       SDL_Renderer_PresentDiscard | SDL_Renderer_RenderTarget),
    85       SDL_Renderer_PresentDiscard | SDL_Renderer_RenderTarget),
    85      (SDL_TextureBlendMode_None | SDL_TextureBlendMode_Mask |
    86      (SDL_TextureBlendMode_None | SDL_TextureBlendMode_Mask |
    86       SDL_TextureBlendMode_Blend),
    87       SDL_TextureBlendMode_Blend),
    87      (SDL_TextureScaleMode_None | SDL_TextureScaleMode_Fast),
    88      (SDL_TextureScaleMode_None | SDL_TextureScaleMode_Fast),
   489     SDL_GDI_TextureData *data = (SDL_GDI_TextureData *) texture->driverdata;
   490     SDL_GDI_TextureData *data = (SDL_GDI_TextureData *) texture->driverdata;
   490 
   491 
   491     if (data->yuv) {
   492     if (data->yuv) {
   492         return SDL_SW_LockYUVTexture(data->yuv, rect, markDirty, pixels,
   493         return SDL_SW_LockYUVTexture(data->yuv, rect, markDirty, pixels,
   493                                      pitch);
   494                                      pitch);
   494     } else {
   495     } else if (data->pixels) {
   495         GdiFlush();
   496         GdiFlush();
   496         *pixels =
   497         *pixels =
   497             (void *) ((Uint8 *) data->pixels + rect->y * data->pitch +
   498             (void *) ((Uint8 *) data->pixels + rect->y * data->pitch +
   498                       rect->x * SDL_BYTESPERPIXEL(texture->format));
   499                       rect->x * SDL_BYTESPERPIXEL(texture->format));
   499         *pitch = data->pitch;
   500         *pitch = data->pitch;
   500         return 0;
   501         return 0;
       
   502     } else {
       
   503         SDL_SetError("No pixels available");
       
   504         return -1;
   501     }
   505     }
   502 }
   506 }
   503 
   507 
   504 static void
   508 static void
   505 SDL_GDI_UnlockTexture(SDL_Renderer * renderer, SDL_Texture * texture)
   509 SDL_GDI_UnlockTexture(SDL_Renderer * renderer, SDL_Texture * texture)