Sabinni
Sabinni

Reputation: 11

Retina Display Support with SDL

I can't find a single useful thing from any Google search about SDL (2.0) supporting retina displays. Could anyone point me in the right direction?

I'm using this code:

//Start SDL
    SDL_Init(SDL_INIT_EVERYTHING);
    SDL_Window *screen = NULL;
    SDL_Renderer *render = NULL;
    SDL_Texture *texture = NULL;
    SDL_Event e;
    bool quit = false;
    screen = SDL_CreateWindow("Sample Image",100,100,500,500,SDL_WINDOW_SHOWN);
    render = SDL_CreateRenderer(screen,-1,SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);
    texture = IMG_LoadTexture(render,"image.bmp");
    if (texture == NULL)
    {
        printf("%s",IMG_GetError());
    }
    //Render all graphics
    SDL_RenderClear(render);
    SDL_RenderCopy(render,texture,NULL,NULL);
    SDL_RenderPresent(render);
    while (quit == false) {
        while (SDL_PollEvent(&e)) {
            if (e.type == SDL_QUIT)
                quit = true;
        }
    }
    //Remove all graphics from memory
    SDL_DestroyRenderer(render);
    SDL_DestroyTexture(texture);
    SDL_DestroyWindow(screen);
    //Quit SDL
    SDL_Quit();

Upvotes: 1

Views: 878

Answers (1)

ZhuYaDong
ZhuYaDong

Reputation: 231

SDL_Window* win = SDL_CreateWindow("test",
    SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 600, 480,
    SDL_WINDOW_RESIZABLE|SDL_WINDOW_OPENGL|SDL_WINDOW_ALLOW_HIGHDPI);

the "SDL_WINDOW_ALLOW_HIGHDPI" flag can do it for you.

Upvotes: 2

Related Questions