const SDL_Color sdl_color = color_for_sdl(camera->blackwhite_mode ? color_desaturate(color) : color);
-
if (camera->debug_mode) {
if (SDL_SetRenderDrawColor(camera->renderer, sdl_color.r, sdl_color.g, sdl_color.b, sdl_color.a / 2) < 0) {
throw_error(ERROR_TYPE_SDL2);
int camera_render_text(camera_t *camera,
const char *text,
- float size,
+ 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,
- size,
+ vec(size.x * scale.x, size.y * scale.y),
camera->blackwhite_mode ? color_desaturate(color) : color,
text) < 0) {
return -1;
w, h);
}
+int camera_is_text_visible(const camera_t *camera,
+ vec_t size,
+ vec_t position,
+ const char *text)
+{
+ assert(camera);
+ assert(text);
+ (void) size;
+ (void) position;
+
+ /* TODO: camera_is_text_visible not implemented */
+
+ return 0;
+}
/* ---------- Private Function ---------- */