#include <stdbool.h>
#include <stdlib.h>
#include <string.h>
-#include "log.h"
#include "shl_llog.h"
#include "shl_timer.h"
#include "tsm_screen.h"
#include "tsm_unicode.h"
-#define LOG_SUBSYSTEM "tsm_screen"
+#define LLOG_SUBSYSTEM "tsm_screen"
struct cell {
tsm_symbol_t ch;
struct line *line;
if (x >= con->size_x || y >= con->size_y) {
- log_warn("writing beyond buffer boundary");
+ llog_warn(con, "writing beyond buffer boundary");
return;
}
if (ret)
goto err_timer;
- log_debug("new screen");
+ llog_debug(con, "new screen");
*out = con;
return 0;
if (!con || !con->ref || --con->ref)
return;
- log_debug("destroying screen");
+ llog_debug(con, "destroying screen");
for (i = 0; i < con->line_num; ++i)
line_free(con->lines[i]);
ret = prepare_cb(con, data);
if (ret) {
- log_warning("cannot prepare text-renderer for rendering");
+ llog_warning(con,
+ "cannot prepare text-renderer for rendering");
return;
}
ret = draw_cb(con, cell->ch, ch, len, j, i, &attr,
data);
if (ret && warned++ < 3) {
- log_debug("cannot draw glyph at %ux%u via text-renderer",
- j, i);
+ llog_debug(con,
+ "cannot draw glyph at %ux%u via text-renderer",
+ j, i);
if (warned == 3)
- log_debug("suppressing further warnings during this rendering");
+ llog_debug(con,
+ "suppressing further warnings during this rendering round");
}
}
ret = render_cb(con, data);
if (ret)
- log_warning("cannot render via text-renderer");
+ llog_warning(con,
+ "cannot render via text-renderer");
if (con->opts & TSM_SCREEN_OPT_RENDER_TIMING)
time_rend = shl_timer_elapsed(con->timer);
}
if (con->opts & TSM_SCREEN_OPT_RENDER_TIMING)
- log_debug("timing: prepare: %llu draw: %llu render: %llu",
- time_prep, time_draw, time_rend);
+ llog_debug(con,
+ "timing: sum: %llu prepare: %llu draw: %llu render: %llu",
+ time_prep + time_draw + time_rend,
+ time_prep, time_draw, time_rend);
}