diff --git a/common/include/gr.h b/common/include/gr.h index cb2c03cc5..38bd8dbfe 100644 --- a/common/include/gr.h +++ b/common/include/gr.h @@ -174,8 +174,8 @@ struct grs_canvas : prohibit_void_ptr } grs_bitmap cv_bitmap; // the bitmap for this canvas const grs_font * cv_font; // the currently selected font - short cv_font_fg_color; // current font foreground color (-1==Invisible) - short cv_font_bg_color; // current font background color (-1==Invisible) + color_palette_index cv_font_fg_color; // current font foreground color (255==Invisible) + color_palette_index cv_font_bg_color; // current font background color (255==Invisible) unsigned cv_fade_level; // transparency level protected: grs_canvas() = default; diff --git a/similar/2d/font.cpp b/similar/2d/font.cpp index ab16b9b11..b9693c138 100644 --- a/similar/2d/font.cpp +++ b/similar/2d/font.cpp @@ -182,7 +182,7 @@ constexpr std::integral_constant gr_message_color_level{}; text_ptr++; \ if (*text_ptr){ \ if (gr_message_color_level >= control_code) \ - canvas.cv_font_fg_color = static_cast(*text_ptr); \ + canvas.cv_font_fg_color = *text_ptr; \ text_ptr++; \ } \ } \ @@ -193,7 +193,7 @@ constexpr std::integral_constant gr_message_color_level{}; } \ else if (control_code >= 0x04 && control_code <= 0x06) { \ if (gr_message_color_level >= control_code - 3) \ - canvas.cv_font_fg_color= static_cast(orig_color); \ + canvas.cv_font_fg_color= orig_color; \ text_ptr++; \ } @@ -678,7 +678,7 @@ static void gr_ustring_mono(grs_canvas &canvas, const grs_font &cv_font, const i switch (canvas.cv_bitmap.get_type()) { case bm_mode::linear: - if (canvas.cv_font_bg_color == -1) + if (canvas.cv_font_bg_color == TRANSPARENCY_COLOR) gr_internal_string0m(canvas, cv_font, x, y, s); else gr_internal_string0(canvas, cv_font, x, y, s); @@ -725,7 +725,7 @@ void gr_string(grs_canvas &canvas, const grs_font &cv_font, const int x, const i return; } - if (canvas.cv_font_bg_color == -1) + if (canvas.cv_font_bg_color == TRANSPARENCY_COLOR) { gr_internal_string_clipped_m(canvas, cv_font, x, y, s); return;