]> git.lizzy.rs Git - nothing.git/blobdiff - src/game/camera.h
Merge pull request #1 from tsoding/master
[nothing.git] / src / game / camera.h
index b3fe4749912a3c6d0f563031253fee5e0fb4a243..2086590c0f46faf59beea16c6f25d1e92c271f4e 100644 (file)
@@ -7,46 +7,74 @@
 #include "math/rect.h"
 #include "math/triangle.h"
 
-typedef struct camera_t camera_t;
+typedef struct Camera Camera;
 
-camera_t *create_camera(SDL_Renderer *renderer,
-                        sprite_font_t *font);
-void destroy_camera(camera_t *camera);
+Camera *create_camera(SDL_Renderer *renderer,
+                      Sprite_font *font);
+void destroy_camera(Camera *camera);
 
-int camera_clear_background(camera_t *camera,
-                            color_t color);
+int camera_clear_background(Camera *camera,
+                            Color color);
 
-int camera_fill_rect(camera_t *camera,
-                     rect_t rect,
-                     color_t color);
+int camera_fill_rect(Camera *camera,
+                     Rect rect,
+                     Color color);
 
-int camera_draw_rect(camera_t * camera,
-                     rect_t rect,
-                     color_t color);
+int camera_draw_rect(Camera * camera,
+                     Rect rect,
+                     Color color);
 
-int camera_draw_triangle(camera_t *camera,
-                         triangle_t t,
-                         color_t color);
+int camera_draw_triangle(Camera *camera,
+                         Triangle t,
+                         Color color);
 
-int camera_fill_triangle(camera_t *camera,
-                         triangle_t t,
-                         color_t color);
+int camera_fill_triangle(Camera *camera,
+                         Triangle t,
+                         Color color);
 
-int camera_render_text(camera_t *camera,
+int camera_render_text(Camera *camera,
                        const char *text,
-                       int size,
-                       color_t color,
-                       vec_t position);
+                       Vec size,
+                       Color color,
+                       Vec position);
 
-void camera_center_at(camera_t *camera, point_t position);
+int camera_render_text_screen(Camera *camera,
+                              const char *text,
+                              Vec size,
+                              Color color,
+                              Vec position);
 
-void camera_toggle_debug_mode(camera_t *camera);
-void camera_disable_debug_mode(camera_t *camera);
+int camera_render_debug_text(Camera *camera,
+                             const char *text,
+                             Vec position);
 
-void camera_toggle_blackwhite_mode(camera_t *camera);
+int camera_render_debug_rect(Camera *camera,
+                             Rect rect,
+                             Color color);
 
-int camera_is_point_visible(const camera_t *camera, point_t p);
+void camera_center_at(Camera *camera, Point position);
+void camera_scale(Camera *came, float scale);
 
-rect_t camera_view_port(const camera_t *camera);
+void camera_toggle_debug_mode(Camera *camera);
+void camera_disable_debug_mode(Camera *camera);
+
+void camera_toggle_blackwhite_mode(Camera *camera);
+
+int camera_is_point_visible(const Camera *camera, Point p);
+int camera_is_text_visible(const Camera *camera,
+                           Vec size,
+                           Vec position,
+                           const char *text);
+
+Rect camera_view_port(const Camera *camera);
+
+Rect camera_view_port_screen(const Camera *camera);
+
+Vec camera_map_screen(const Camera *camera,
+                      Sint32 x, Sint32 y);
+
+int camera_fill_rect_screen(Camera *camera,
+                            Rect rect,
+                            Color color);
 
 #endif  // CAMERA_H_