消除警告,规范日志输出
This commit is contained in:
parent
546c40a18b
commit
12b6d058df
@ -13,17 +13,17 @@
|
||||
|
||||
void test_color() {
|
||||
const char* test_cases[] = {
|
||||
"#FFF", // hex rgb
|
||||
"#ff0000", // hex RRGGBB
|
||||
"#00ff0080", // hex RRGGBBAA
|
||||
"#1234", // hex RGBA
|
||||
"rgb(255,0,0)", // rgb int
|
||||
"rgba(0,255,0,128)",// rgba int
|
||||
"rgba(0, 0, 255, 255)", // rgba int with spaces
|
||||
"rgb(1.0, 0.0, 0.0)", // rgb float
|
||||
"rgba(0.0, 1.0, 0.0, 0.5)",// rgba float
|
||||
" rgb(0.0, 0.0, 1.0) ", // rgb float with spaces
|
||||
"rgba(1, 0.5, 0, 1.0)", // rgba mixed - should parse as float
|
||||
"#FFF", // hex rgb
|
||||
"#ff0000", // hex RRGGBB
|
||||
"#00ff0080", // hex RRGGBBAA
|
||||
"#1234", // hex RGBA
|
||||
"rgb(255,0,0)", // rgb int
|
||||
"rgba(0,255,0,128)", // rgba int
|
||||
"rgba(0, 0, 255, 255)", // rgba int with spaces
|
||||
"rgb(1.0, 0.0, 0.0)", // rgb float
|
||||
"rgba(0.0, 1.0, 0.0, 0.5)", // rgba float
|
||||
" rgb(0.0, 0.0, 1.0) ", // rgb float with spaces
|
||||
"rgba(1, 0.5, 0, 1.0)", // rgba mixed - should parse as float
|
||||
"invalid",
|
||||
"#12345",
|
||||
"rgb(300,0,0)",
|
||||
@ -31,14 +31,13 @@ void test_color() {
|
||||
"rgba(100,100,100)" // missing alpha
|
||||
};
|
||||
|
||||
for (const char* test_str : test_cases) {
|
||||
for (const char* test_str: test_cases) {
|
||||
std::optional<linear_color> color = linear_color::from_string(test_str);
|
||||
std::println(std::cout, "Parsing '{}': ", test_str);
|
||||
if (color) {
|
||||
std::println(std::cout, "Success -> r:{}, g:{}, b:{}, a:{}", color->r, color->g, color->b, color->a);
|
||||
} else {
|
||||
std::println(std::cerr, "Failed to parse color string: {}", test_str);
|
||||
}
|
||||
else { std::println(std::cerr, "Failed to parse color string: {}", test_str); }
|
||||
}
|
||||
}
|
||||
|
||||
@ -70,22 +69,22 @@ int main(int argc, char* argv[]) {
|
||||
[
|
||||
mslot(mv_box)
|
||||
.horizontal_alignment(horizontal_alignment_t::left)
|
||||
+mnew(mbutton)
|
||||
+ mnew(mbutton)
|
||||
[
|
||||
mslot(mbutton)
|
||||
.margin({ 10 })
|
||||
.visibility(visibility_t::visible)
|
||||
[
|
||||
mnew(mtext_block,
|
||||
.text(config_info_str)
|
||||
.font_size(24)
|
||||
)
|
||||
.text(config_info_str)
|
||||
.font_size(24)
|
||||
)
|
||||
]
|
||||
],
|
||||
|
||||
mslot(mv_box)
|
||||
.horizontal_alignment(horizontal_alignment_t::right)
|
||||
+mnew(mbutton)
|
||||
+ mnew(mbutton)
|
||||
[
|
||||
mslot(mbutton)
|
||||
.margin({ 10 })
|
||||
@ -94,7 +93,7 @@ int main(int argc, char* argv[]) {
|
||||
mnew(mtext_block,
|
||||
.text(U"Hello, World!")
|
||||
.font_size(24)
|
||||
)
|
||||
)
|
||||
]
|
||||
]
|
||||
]
|
||||
|
@ -18,34 +18,34 @@ void mirage_log(const char* tag, uint32_t log_level, uint32_t log_ite
|
||||
const char* file_str = filename_or_null ? filename_or_null : "(unknown)";
|
||||
|
||||
/* 根据log_level确定日志级别字符串和输出流 */
|
||||
const char* level_str;
|
||||
FILE* output_stream;
|
||||
const char* level_str;
|
||||
std::ostream* output_stream;
|
||||
|
||||
switch (log_level) {
|
||||
case 0:
|
||||
level_str = "PANIC";
|
||||
output_stream = stderr;
|
||||
output_stream = &std::cerr;
|
||||
break;
|
||||
case 1:
|
||||
level_str = "ERROR";
|
||||
output_stream = stderr;
|
||||
output_stream = &std::cerr;
|
||||
break;
|
||||
case 2:
|
||||
level_str = "WARNING";
|
||||
output_stream = stderr;
|
||||
output_stream = &std::cerr;
|
||||
break;
|
||||
case 3:
|
||||
level_str = "INFO";
|
||||
output_stream = stdout;
|
||||
output_stream = &std::cout;
|
||||
break;
|
||||
default:
|
||||
level_str = "UNKNOWN";
|
||||
output_stream = stderr; // 默认使用stderr
|
||||
output_stream = &std::cerr; // 默认使用stderr
|
||||
break;
|
||||
}
|
||||
|
||||
/* 打印格式化的日志消息到相应的流 */
|
||||
fprintf(output_stream, "[%s][%s][ID:%u][%s:%u] %s\n", tag_str, level_str, log_item_id, file_str, line_nr, msg_str);
|
||||
std::println(*output_stream, "sokol_gfx: [{}][{}][ID:{}][{}:{}] {}", tag_str, level_str, log_item_id, file_str, line_nr, msg_str);
|
||||
|
||||
/* 在此实现中未使用user_data */
|
||||
(void) user_data;
|
||||
@ -59,7 +59,7 @@ void mirage_app::init() {
|
||||
|
||||
last_time = get_current_time();
|
||||
if (!mirage_style::get().load_config("default_style.toml")) {
|
||||
fprintf(stderr, "mirage: 无法加载样式配置\n");
|
||||
std::println(std::cerr, "mirage: 无法加载样式配置");
|
||||
}
|
||||
render_context = mirage_create_render_context();
|
||||
render_context->init();
|
||||
@ -73,10 +73,9 @@ void mirage_app::init() {
|
||||
render_context->end_init();
|
||||
}
|
||||
// 初始化用时
|
||||
fprintf(stderr, "mirage: 初始化耗时 %lld ms\n", std::chrono::duration_cast<std::chrono::milliseconds>(duration).count());
|
||||
std::println(std::cout, "mirage: 初始化耗时 {} ms", std::chrono::duration_cast<std::chrono::milliseconds>(duration).count());
|
||||
}
|
||||
|
||||
|
||||
void mirage_app::run() {
|
||||
while (!platform_window::get_windows().empty()) {
|
||||
delta_time = get_current_time() - last_time;
|
||||
|
@ -7,7 +7,7 @@ bool config_t::load_config(const std::filesystem::path& in_filename) {
|
||||
tbl = toml::parse_file(in_filename.string());
|
||||
}
|
||||
catch (const toml::parse_error& err) {
|
||||
std::println(std::cerr, "{}", err.what());
|
||||
std::println(std::cerr, "mirage: {}", err.what());
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
@ -115,7 +115,9 @@ std::optional<linear_color> parse_hex_color(const std::string& in_str) {
|
||||
std::optional<linear_color> parse_rgb_rgba_color(const std::string& in_str) {
|
||||
std::string lower_str = in_str;
|
||||
// 转换为小写以便检查 "rgb(" 和 "rgba("
|
||||
std::ranges::transform(lower_str, lower_str.begin(), ::tolower);
|
||||
std::ranges::transform(lower_str, lower_str.begin(), [](const char c) {
|
||||
return static_cast<char>(tolower(c));
|
||||
});
|
||||
|
||||
const auto open_paren = lower_str.find('(');
|
||||
const auto close_paren = lower_str.find(')');
|
||||
@ -226,7 +228,9 @@ std::optional<linear_color> linear_color::from_string(const std::string& in_str)
|
||||
}
|
||||
|
||||
std::string lower_trimmed_str = trimmed_str;
|
||||
std::ranges::transform(lower_trimmed_str, lower_trimmed_str.begin(), ::tolower);
|
||||
std::ranges::transform(lower_trimmed_str, lower_trimmed_str.begin(), [](const char c) {
|
||||
return static_cast<char>(tolower(c));
|
||||
});
|
||||
|
||||
// **委托给 RGB/RGBA 解析器**
|
||||
if (lower_trimmed_str.rfind("rgb", 0) == 0) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user