#pragma section-numbers off #pragma disable-camelcase = SDL_CreateRenderer = Use this function to create a 2D rendering context for a window. <> == Syntax == {{{#!highlight cpp SDL_Renderer* SDL_CreateRenderer(SDL_Window* window, int index, Uint32 flags) }}} == Function Parameters == ||'''window'''||the window where rendering is displayed|| ||'''index'''||the index of the rendering driver to initialize, or -1 to initialize the first one supporting the requested flags|| ||'''flags'''||0, or one or more [[SDL_RendererFlags]] OR'd together; see [[#flags|Remarks]] for details|| == Return Value == Returns a valid rendering context or NULL if there was an error; call [[SDL_GetError]]() for more information. == Code Examples == {{{#!highlight cpp #include "SDL.h" int main(int argc, char *argv[]) { SDL_Window *win = NULL; SDL_Renderer *renderer = NULL; SDL_Texture *bitmapTex = NULL; SDL_Surface *bitmapSurface = NULL; int posX = 100, posY = 100, width = 320, height = 240; SDL_Init(SDL_INIT_VIDEO); win = SDL_CreateWindow("Hello World", posX, posY, width, height, 0); renderer = SDL_CreateRenderer(win, -1, SDL_RENDERER_ACCELERATED); bitmapSurface = SDL_LoadBMP("img/hello.bmp"); bitmapTex = SDL_CreateTextureFromSurface(renderer, bitmapSurface); SDL_FreeSurface(bitmapSurface); while (1) { SDL_Event e; if (SDL_PollEvent(&e)) { if (e.type == SDL_QUIT) { break; } } SDL_RenderClear(renderer); SDL_RenderCopy(renderer, bitmapTex, NULL, NULL); SDL_RenderPresent(renderer); } SDL_DestroyTexture(bitmapTex); SDL_DestroyRenderer(renderer); SDL_DestroyWindow(win); SDL_Quit(); return 0; } }}} == Remarks == <> '''flags''' may be any of the following OR'd together: <> == Related Functions == .[[SDL_CreateSoftwareRenderer]] .[[SDL_DestroyRenderer]] .[[SDL_GetNumRenderDrivers]] .[[SDL_GetRendererInfo]] ---- [[CategoryAPI]], [[CategoryRender]]