]> git.lizzy.rs Git - nothing.git/blob - src/camera.h
Remove the wave state (#90)
[nothing.git] / src / camera.h
1 #ifndef CAMERA_H_
2 #define CAMERA_H_
3
4 #include "./rect.h"
5 #include "./point.h"
6
7 typedef struct camera_t camera_t;
8
9 camera_t *create_camera(point_t position);
10 void destroy_camera(camera_t *camera);
11
12 int camera_fill_rect(const camera_t *camera,
13                      SDL_Renderer *render,
14                      const rect_t *rect);
15 int camera_draw_rect(const camera_t * camera,
16                      SDL_Renderer *render,
17                      const rect_t *rect);
18
19 // TODO(#87): make all of the triangle rendering functions accept triangle_t
20 //
21 // The list of functions:
22 // - camera_draw_triangle
23 // - camera_fill_triangle
24 // - draw_triangle
25 // - fill_triangle
26
27 int camera_draw_triangle(const camera_t *camera,
28                          SDL_Renderer *render,
29                          point_t p1,
30                          point_t p2,
31                          point_t p3);
32
33 int camera_fill_triangle(const camera_t *camera,
34                          SDL_Renderer *render,
35                          point_t p1,
36                          point_t p2,
37                          point_t p3);
38
39 void camera_center_at(camera_t *camera, point_t position);
40
41 void camera_toggle_debug_mode(camera_t *camera);
42
43 #endif  // CAMERA_H_