summary refs log tree commit diff stats
path: root/src/editor.cpp
blob: 92c6b677c587f442313d3d054fa2b57fb9f1c824 (plain) (blame)
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
#include "editor.h"
#include "consts.h"

void Editor::tick(
  double dt,
  const Uint8* keystate)
{

}

void Editor::render(SDL_Renderer* ren)
{
  if (!background_)
  {
    surface_ptr bgSurf(IMG_Load("../res/editor_bg.png"));

    if (!bgSurf)
    {
      throw img_error();
    }

    background_.reset(SDL_CreateTextureFromSurface(ren, bgSurf.get()));
    bgSize_ = { bgSurf->w, bgSurf->h };
  }

  for (int y = 0; y < WINDOW_SIZE.h() / bgSize_.h(); y++)
  {
    for (int x = 0; x < WINDOW_SIZE.w() / bgSize_.w(); x++)
    {
      SDL_Rect rect {
        x * bgSize_.w(),
        y * bgSize_.h(),
        bgSize_.w(),
        bgSize_.h()
      };

      SDL_RenderCopy(ren, background_.get(), nullptr, &rect);
    }
  }
}