+int camera_render_text(camera_t *camera,
+ const char *text,
+ vec_t size,
+ color_t color,
+ vec_t position)
+{
+ SDL_Rect view_port;
+ SDL_RenderGetViewport(camera->renderer, &view_port);
+
+ const vec_t scale = effective_scale(&view_port);
+ const vec_t screen_position = camera_point(camera, &view_port, position);
+
+ if (sprite_font_render_text(
+ camera->font,
+ camera->renderer,
+ screen_position,
+ vec(size.x * scale.x, size.y * scale.y),
+ camera->blackwhite_mode ? color_desaturate(color) : color,
+ text) < 0) {
+ return -1;
+ }
+
+ return 0;
+}
+