+static ui_px ui_text_line_offset( const char *str, ui_px scale, enum ui_text_align align )
+{
+ if( align == k_text_align_left )
+ return 0;
+
+ int length = 0;
+ const char *_c = str;
+ char c;
+
+ while( (c = *(_c ++)) )
+ if( c >= 32 && c <= 126 )
+ length ++;
+ else if( c == '\n' )
+ break;
+
+ if( align == k_text_align_right )
+ return -length * scale*8;
+ else
+ return (-length * scale*8) / 2;
+}
+
+static void ui_text( ui_ctx *ctx, ui_px pos[2], const char *str, ui_px scale, enum ui_text_align align )