Changelog
All notable changes to micro will be documented here. The format follows Keep a Changelog.
[0.5.0] — 2026-04-06
Added
textclass — multiline text with pre-calculated layout for efficient rendering:- Parses strings into lines (split on
\n) with resolved glyphs lines()— iterate over text lineswidth()andheight()— get text block dimensionsline::has_newline()— check if line was terminated by\n- Horizontal text alignment —
text_options::align()withalign::left,align::center, andalign::right renderer::draw(const text&, pointf, text_options)— draw text objects with alignmentrenderer::draw(const font&, string_view, pointf, text_options)— draw text strings (moved fromfont)font::find_glyph(char)— look up glyph info for a specific characterfont::atlas()— read-only access to the texture atlas for custom rendering
Changed
- Font drawing moved from
font::draw()torenderer::draw(const font&, ...)
Deprecated
font::draw()— userenderer::draw(const font&, ...)instead
[0.4.0] — 2026-04-03
Added
text_optionsclass — configure text rendering with tint and scale using a fluent APIfont::height()— returns the maximum glyph height for the font
Changed
draw_optionsnow uses fluent API — instead of public fields, use method chaining:cpp // Old: draw_options{.scale = 2.f, .flip = flip::horizontal} // New: draw_options{}.scale(2.f).flip(flip::horizontal)font::draw()andfont::measure()now accepttext_optionsparameter instead of separate arguments
[0.3.0] — 2026-03-29
Added
window::fps()— returns current frames per second based on a sliding window average
[0.2.0] — 2026-03-23
Added
window::dtime()— returns delta time in seconds since the last frame
Changed
- Simplified main loop API — users now write a manual
while (win.running())loop instead of using callbacks - Delta time is now tracked internally by the window and accessed via
dtime()
Deprecated
window::run()— use manual loop withrunning()anddtime()instead:cpp while (win.running()) { pos += vel * win.dtime(); rend.present(); }
[0.1.0] — 2026-03-22
Initial release.