1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#include <stdarg.h>
#include <stdio.h>
#include "logger.h"
#include "nuklear.h"
static struct logger logger = {0};
struct logger *setup_logger(void) {
return &logger;
}
void append_log(const char *fmt, ...) {
va_list ap1;
va_start(ap1, fmt);
va_list ap2;
va_copy(ap2, ap1);
char buf[vsnprintf(NULL, 0, fmt, ap1) + 1];
va_end(ap1);
vsnprintf(buf, sizeof(buf), fmt, ap2);
va_end(ap2);
nk_str_append_str_char(&logger.text_edit->string, buf);
logger.box_lines++;
logger.scrollbar->y += logger.extend_box ? (logger.font_height + 2) : 0;
DEBUG_PRINT("scrollbar w: %u, h: %u\n", logger.scrollbar->x,
logger.scrollbar->y);
}
void clear_log() {
nk_textedit_delete(logger.text_edit, 0, logger.text_edit->string.len);
logger.box_lines = 0;
}
|