Ubuntu Pastebin

Paste from bschaefer at Wed, 1 Jun 2016 22:13:01 +0000

Download as text
 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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
/* g++ -std=c++11 <name_of_file>.cpp -o simple-sdl2 -lSDL2 */


#include <SDL2/SDL.h>
#include <iostream>
#include <stdexcept>

namespace
{
int const WIDTH  = 320;
int const HEIGHT = 320;
}

int main()
{
    if (SDL_Init(SDL_INIT_EVERYTHING) < 0)
    {
        throw std::runtime_error("Failed to init SDL2");
    }

    SDL_Window* window = SDL_CreateWindow("SDL2 - Test",
        SDL_WINDOWPOS_UNDEFINED,
        SDL_WINDOWPOS_UNDEFINED,
        WIDTH, HEIGHT,
        SDL_WINDOW_SHOWN);
    
    if (window == nullptr)
    {
        throw std::runtime_error("Failed to create SDL2 window");
    }
    
    SDL_Renderer* renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);

    if (renderer == nullptr)
    {
        throw std::runtime_error("Failed to create SDL2 renderer");
    }

    bool done = false;

    while (!done)
    {
        SDL_Event event;
        while (SDL_PollEvent(&event))
        {
            switch (event.type)
            {
                case SDL_KEYUP:
                    if (event.key.keysym.sym == SDLK_ESCAPE)
                    {
                        done = true;
                    }
                    break;
                case SDL_QUIT:
                    done = true;
                    break;

            }
        }

        SDL_RenderClear(renderer);
        SDL_SetRenderDrawColor(renderer, 0x00, 0xFF, 0x00, 0xFF);
        SDL_RenderPresent(renderer);
    }

    SDL_DestroyRenderer(renderer);
    SDL_DestroyWindow(window);
    SDL_Quit();
}
Download as text