1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| int main(int argc, char *argv[])
{
ScreenContext *screen;
SDL_Texture *texture = NULL;
SDL_Rect rect = {0, 0, 240, 160};
SDL_Event event;
if(SDL_Init(SDL_INIT_VIDEO) == -1)
errSDL();
screen = createScreenContext("Texture creation", SCREEN_WIDTH, SCREEN_HEIGHT, 0);
SDL_SetRenderDrawColor(screen->renderer, 0xFF, 0xFF, 0xFF, 0x0);
if((texture = SDL_CreateTexture(screen->renderer, SDL_PIXELFORMAT_RGB888, SDL_TEXTUREACCESS_STATIC, rect.w, rect.h)) == 0)
errSDL();
rect.x = (SCREEN_WIDTH / 2) - (rect.w / 2);
rect.y = (SCREEN_HEIGHT / 2) - (rect.h / 2);
do
{
SDL_PollEvent(&event);
SDL_RenderClear(screen->renderer);
SDL_RenderCopy(screen->renderer, texture, NULL, &rect);
SDL_RenderPresent(screen->renderer);
SDL_Delay(5);
}while(event.type != SDL_KEYDOWN);
SDL_DestroyTexture(texture);
SDL_Quit();
return 0;
} |
Partager