A bit more cleanup of render but kind of stuck on what to do further.

This commit is contained in:
Zed A. Shaw 2024-11-18 13:29:22 -05:00
parent 7cb03594a3
commit c8fa68815b
2 changed files with 24 additions and 22 deletions

View file

@ -122,29 +122,32 @@ void SFMLRender::render_grid(const std::wstring &text, float x, float y) {
}, },
[&](wchar_t tile) { [&](wchar_t tile) {
if(tile == '\n') { switch(tile) {
// don't bother processing newlines, just skip case '\r': break; // ignore it
y += $line_spacing; case '\n': {
x = start_x; // don't bother processing newlines, just skip
} else if(tile == L'\r') { y += $line_spacing;
return; // skip these, just windows junk x = start_x;
} else { }
$bg_sprite.setPosition({x, y}); break;
default: {
$bg_sprite.setPosition({x, y});
// only get a new sprite if the tile changed // only get a new sprite if the tile changed
if(last_tile != tile) { if(last_tile != tile) {
last_tile = tile; // update last tile seen last_tile = tile; // update last tile seen
sprite = get_text_sprite(tile); sprite = get_text_sprite(tile);
configure_tile(sprite, sp_bounds, $bg_bounds, width_delta, height_delta); configure_tile(sprite, sp_bounds, $bg_bounds, width_delta, height_delta);
}
sprite.setPosition({x+width_delta, y+height_delta});
sprite.setColor(cur_fg);
$window.draw($bg_sprite);
$window.draw(sprite);
// next cell
x += $base_glyph.advance;
} }
sprite.setPosition({x+width_delta, y+height_delta});
sprite.setColor(cur_fg);
$window.draw($bg_sprite);
$window.draw(sprite);
// next cell
x += $base_glyph.advance;
} }
}); });
} }

View file

@ -1,6 +1,5 @@
TODAY'S GOAL: TODAY'S GOAL:
* Clean up renderer.
* panels and everything except renderer should use character coodinates * panels and everything except renderer should use character coodinates
* Image -> Text converter. * Image -> Text converter.