aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/facade/SDLApp.h
blob: 6d8f3f42a41ad2c02abf2d89df6dc98ee5c2e68f (plain)
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
#pragma once

#include <SDL2/SDL.h>

#include "../api/ParticleEmitter.h"

class SDLApp {
public:
	SDLApp(int window_width, int window_height);
	~SDLApp();

	bool initialize();
	void handle_events(bool & running);
	void clear_screen();
	void present_screen();
	void draw_square(int x, int y, int size);
	void clean_up();
	void draw_particles(const std::vector<crepe::ParticleEmitter> & emitters);
	void draw_multiple_squares(const std::vector<SDL_Rect> & squares);

private:
	int window_width;
	int window_height;
	SDL_Window * window;
	SDL_Renderer * renderer;
};