= SDL_CreateRenderer = Create a 2D rendering context for a window. == Syntax == 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 |} == Return Value == Returns a valid rendering context or NULL if there was an error; call [[SDL_GetError]]() for more information. == Version == This function is available since SDL 2.0.0. == Code Examples == #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_bool loopShouldStop = SDL_FALSE; 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 (!loopShouldStop) { SDL_Event event; while (SDL_PollEvent(&event)) { switch (event.type) { case SDL_QUIT: loopShouldStop = SDL_TRUE; 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; } == Related Functions == :[[SDL_CreateSoftwareRenderer]] :[[SDL_DestroyRenderer]] :[[SDL_GetNumRenderDrivers]] :[[SDL_GetRendererInfo]] ---- [[CategoryAPI]], [[CategoryRender]]