Sept 2023

  • Wrote utf8Check and updated utf8Tools.
  • Minor work on the internal spacing and layout of checkbox and radio button widgets:
    • Widget spacing is now split horizontally, with one rectangle for the tick box, and another rectangle for the text label. The tick box can be aligned within its rectangle (center, top-left, etc.), and the text alignment can be left, center, right or justify.
    • Better handling of multi-line text labels. The widget calculates the number of wrapped lines so that the text height can be cached for render time. The skinner applies a scissor box to prevent overly-long text from spilling out of the widget.
  • Experimented with a LÖVE function to get the height of some text without making a temporary table. There is probably a better way to do this (this function is just a copy of font:getWrap() with a few changes), but my C++ knowledge is limited. Maybe later…


The checkbox widget with debug visualizations of its internal viewports. Blue: The widget outline. Red: viewport region dedicated to text. Green: region dedicated to the tick box.