#include "../include/font_writer.hpp" #include #include #include #include using JabyEngine::Make::PositionI8; static constexpr auto FontWriterTIM = JabyEngine::SimpleTIM(320, 0, 320, JabyEngine::DefaultFont::Info.texture_size.height); static JabyEngine::FontPrimitive font_buffer[2][256]; static JabyEngine::Wiggle wiggle = {PositionI8(0, 0), PositionI8(1, -2), PositionI8(0, -4), PositionI8(-1, -2), PositionI8(0, 0), PositionI8(1, 2), PositionI8(0, 4), PositionI8(-1, 2)}; static JabyEngine::FontWriter new_font_writer = JabyEngine::FontWriter::empty(); static JabyEngine::SimpleTimer timer; static uint8_t wiggle_count = 0; void font_writer_setup() { JabyEngine::DefaultFont::load(&__heap_start, FontWriterTIM); new_font_writer.setup(JabyEngine::FontBufferInfo::from(font_buffer), FontWriterTIM, JabyEngine::DefaultFont::Info); timer.reset(); } void font_writer_update() { auto state = JabyEngine::State::create(JabyEngine::Make::PositionI16(8, 8), wiggle_count); new_font_writer.write(state, "012345 ABCDEFGHIJKL\nabcedfghijkl\n", JabyEngine::GPU::Color24::Blue(), &wiggle); new_font_writer.write(state, "Miau: %i", JabyEngine::GPU::Color24::Red(), &wiggle, 12345); if(timer.is_expired_for(50_ms)) { timer.reset(); wiggle_count++; } } void font_writer_render() { new_font_writer.render(); }