@@ -188,19 +188,25 @@ void c_draw_string::set_scale(real32 scale)
188188
189189void c_draw_string::set_shadow_color (uns32 color)
190190{
191- real_argb_color real_color{};
192- set_shadow_color (pixel32_to_real_argb_color ({ .value = color }, &real_color));
191+ real_argb_color argb_color;
192+ pixel32_to_real_argb_color ({ .value = color }, &argb_color);
193+ set_shadow_color (&argb_color);
193194}
194195
195196void c_draw_string::set_shadow_color (const real_argb_color* color)
196197{
197198 ASSERT (color != nullptr );
198199
199200 real_argb_color use_color = *color;
200- use_color.alpha = PIN (color->alpha , 0 .0f , 1 .0f );
201- use_color.red = PIN (color->red , 0 .0f , 1 .0f );
202- use_color.green = PIN (color->green , 0 .0f , 1 .0f );
203- use_color.blue = PIN (color->blue , 0 .0f , 1 .0f );
201+
202+ bool valid_color = valid_real_argb_color (color);
203+ if (!valid_color)
204+ {
205+ use_color.alpha = real_pin (color->alpha , 0 .0f , 1 .0f );
206+ use_color.red = real_pin (color->red , 0 .0f , 1 .0f );
207+ use_color.green = real_pin (color->green , 0 .0f , 1 .0f );
208+ use_color.blue = real_pin (color->blue , 0 .0f , 1 .0f );
209+ }
204210
205211 m_shadow_color = use_color;
206212}
@@ -313,7 +319,7 @@ c_simple_font_draw_string::s_character_group_render_data::s_character_group_rend
313319
314320bool c_simple_font_draw_string::s_character_group_render_data::is_full ()
315321{
316- return count == 255 ;
322+ return count == NUMBEROF (characters) - 1 ;
317323}
318324
319325void c_simple_font_draw_string::s_character_group_render_data::reset ()
0 commit comments