diff --git a/test/controllermap.c b/test/controllermap.c index e72174ca1..f990ff4f4 100644 --- a/test/controllermap.c +++ b/test/controllermap.c @@ -101,7 +101,7 @@ WatchJoystick(SDL_Joystick * joystick) { SDL_Window *window = NULL; SDL_Renderer *screen = NULL; - SDL_Texture *background, *button, *axis, *marker; + SDL_Texture *target, *background, *button, *axis, *marker; const char *name = NULL; SDL_bool retval = SDL_FALSE; SDL_bool done = SDL_FALSE, next=SDL_FALSE; @@ -152,6 +152,7 @@ WatchJoystick(SDL_Joystick * joystick) return SDL_FALSE; } + target = SDL_CreateTexture(screen, SDL_PIXELFORMAT_RGB888, SDL_TEXTUREACCESS_TARGET, MAP_WIDTH, MAP_HEIGHT); background = LoadTexture(screen, "controllermap.bmp", SDL_FALSE); button = LoadTexture(screen, "button.bmp", SDL_TRUE); axis = LoadTexture(screen, "axis.bmp", SDL_TRUE); @@ -218,10 +219,13 @@ WatchJoystick(SDL_Joystick * joystick) } } + SDL_SetRenderTarget(screen, target); SDL_RenderCopy(screen, background, NULL, NULL); SDL_SetTextureAlphaMod(marker, alpha); SDL_SetTextureColorMod(marker, 10, 255, 21); SDL_RenderCopyEx(screen, marker, NULL, &dst, step->angle, NULL, 0); + SDL_SetRenderTarget(screen, NULL); + SDL_RenderCopy(screen, target, NULL, NULL); SDL_RenderPresent(screen); if (SDL_PollEvent(&event)) {