summary refs log tree commit diff stats
path: root/src/editor.cpp
diff options
context:
space:
mode:
authorKelly Rauchenberger <fefferburbia@gmail.com>2019-02-24 13:11:12 -0500
committerKelly Rauchenberger <fefferburbia@gmail.com>2019-02-24 13:11:12 -0500
commitbf34f891c5c09e6c8a42797085860fa80ab53814 (patch)
tree80b52c2b7efd0b195f7e3c692a1c05a5469e1e9d /src/editor.cpp
parent41593f09b47537ccae1b19dc390f7d7dbb532937 (diff)
downloaddispatcher-bf34f891c5c09e6c8a42797085860fa80ab53814.tar.gz
dispatcher-bf34f891c5c09e6c8a42797085860fa80ab53814.tar.bz2
dispatcher-bf34f891c5c09e6c8a42797085860fa80ab53814.zip
Editor now renders a tiled background image
Diffstat (limited to 'src/editor.cpp')
-rw-r--r--src/editor.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/editor.cpp b/src/editor.cpp index 6e53ac3..92c6b67 100644 --- a/src/editor.cpp +++ b/src/editor.cpp
@@ -1,4 +1,5 @@
1#include "editor.h" 1#include "editor.h"
2#include "consts.h"
2 3
3void Editor::tick( 4void Editor::tick(
4 double dt, 5 double dt,
@@ -9,5 +10,31 @@ void Editor::tick(
9 10
10void Editor::render(SDL_Renderer* ren) 11void Editor::render(SDL_Renderer* ren)
11{ 12{
13 if (!background_)
14 {
15 surface_ptr bgSurf(IMG_Load("../res/editor_bg.png"));
12 16
17 if (!bgSurf)
18 {
19 throw img_error();
20 }
21
22 background_.reset(SDL_CreateTextureFromSurface(ren, bgSurf.get()));
23 bgSize_ = { bgSurf->w, bgSurf->h };
24 }
25
26 for (int y = 0; y < WINDOW_SIZE.h() / bgSize_.h(); y++)
27 {
28 for (int x = 0; x < WINDOW_SIZE.w() / bgSize_.w(); x++)
29 {
30 SDL_Rect rect {
31 x * bgSize_.w(),
32 y * bgSize_.h(),
33 bgSize_.w(),
34 bgSize_.h()
35 };
36
37 SDL_RenderCopy(ren, background_.get(), nullptr, &rect);
38 }
39 }
13} 40}