sdl_runtime_compiler git · main
SDL3 game for running and compiling code at runtime
C++ 72.3% C 26.2%git clone https://git.christianimmanuel.de/sdl-graphics/sdl_runtime_compiler.gitwget https://git.christianimmanuel.de/sdl-graphics/sdl_runtime_compiler/archive/sdl_runtime_compiler.tar.gzsrc/text/line.cpp raw
// text/line.cpp
#include "text/token.hpp"
namespace
Nimbin
{
namespace
Text
{
double
Line::width(double gap) const
{
if (tokens.empty()) return 0.0;
double w = 0.0;
for (const TokenPtr& t : tokens)
if (t) w += 2.0 * static_cast<double>(t->half_extent);
w += gap * static_cast<double>(tokens.size() - 1);
return w;
}
Token::Data*
Line::token_At_Byte(size_t off) const
{
for (const TokenPtr& t : tokens)
if (t && off >= t->byte_begin && off < t->byte_end)
return t.get();
return nullptr;
}
void
Line::clear()
{
tokens.clear();
num_left .reset();
num_right.reset();
number = -1;
show_number = false;
bounce_off = 0.0;
bounce_vel = 0.0;
}
} // namespace Text
} // namespace Nimbin