handle newlines

This commit is contained in:
Babz 2021-09-01 13:33:21 +02:00
parent 49b4a863fe
commit 304e30eff6
2 changed files with 28 additions and 14 deletions

View File

@ -7,17 +7,19 @@
#include "ui.h"
static char *LOREM_IPSUM =
"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam vitae purus dolor. Praesent in ex tempus, auctor velit at, "
"vulputate sapien. Aenean semper, dui vitae iaculis mattis, odio libero aliquet elit, nec tempor nisl turpis vel arcu. "
"Vestibulum eleifend maximus enim at sollicitudin. Nulla eu commodo justo. Ut vitae pellentesque erat. Duis magna nisl, "
"eleifend ac massa at, blandit sollicitudin ipsum. Interdum et malesuada fames ac ante ipsum primis in faucibus. "
"Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Ut at libero in turpis porttitor "
"viverra. Ut eu pellentesque purus. Vestibulum aliquet facilisis ante, eget volutpat metus. Cras semper lacus ac mauris "
"imperdiet, vel egestas est luctus. Aliquam elit enim, dignissim nec enim vel, consequat ullamcorper libero. Pellentesque at "
"iaculis lctus. Praesent sed velit at tellus hendrerit mattis eu nec velit. Phasellus eu quam nec nisi mattis elementum quis "
"nec enim. Nulla efficitur turpis id tempus ultricies. Pellentesque semper lacinia mi vitae feugiat. Vestibulum leo nisi, "
"pretium quis felis non, mattis varius risus. "
"Suspendisse porttitor purus lacinia ante euismod, ut eleifend massa fermentum. Proin pretium elementum massa, at efficitur "
"Lorem ipsum dolor sit amet, consectetur adipiscing elit.\nNam vitae purus dolor.\nPraesent in ex tempus, auctor velit at, "
"vulputate sapien.\nAenean semper, dui vitae iaculis mattis, odio libero aliquet elit, nec tempor nisl turpis vel arcu.\n"
"Vestibulum eleifend maximus enim at sollicitudin.\nNulla eu commodo justo.\nUt vitae pellentesque erat.\nDuis magna nisl, "
"eleifend ac massa at, blandit sollicitudin ipsum.\nInterdum et malesuada fames ac ante ipsum primis in faucibus.\n"
"Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.\nUt at libero in turpis porttitor "
"viverra.\nUt eu pellentesque purus.\nVestibulum aliquet facilisis ante, eget volutpat metus.\nCras semper lacus ac mauris "
"imperdiet, vel egestas est luctus.\nAliquam elit enim, dignissim nec enim vel, consequat ullamcorper libero.\nPellentesque "
"at "
"iaculis lctus.\nPraesent sed velit at tellus hendrerit mattis eu nec velit.\nPhasellus eu quam nec nisi mattis elementum "
"quis "
"nec enim.\nNulla efficitur turpis id tempus ultricies.\nPellentesque semper lacinia mi vitae feugiat.\nVestibulum leo nisi, "
"pretium quis felis non, mattis varius risus.\n"
"Suspendisse porttitor purus lacinia ante euismod, ut eleifend massa fermentum.\nProin pretium elementum massa, at efficitur "
"risus iaculis sed.";
static volatile int key_poll_timeout;

View File

@ -2,6 +2,7 @@
#include <gint/display.h>
#include <stdio.h>
#include <string.h>
extern font_t uf5x7;
@ -28,7 +29,7 @@ void tgrid_sets(int row, int col, int fg, int bg, const char *s) {
for (int i = 0; s[i] != '\0';) {
if (_col >= UNS_TERM_COLS) {
_col = col;
_col = 0;
_row++;
}
@ -52,9 +53,20 @@ void tgrid_sets(int row, int col, int fg, int bg, const char *s) {
for (int j = 0; j < charlen; j++)
unichar[j] = s[i + j];
tgrid_set(_row, _col, fg, bg, unichar);
const int char_is_newline = (strncmp(unichar, "\n", 4) == 0);
if (char_is_newline) {
for (; _col < UNS_TERM_COLS; _col++)
tgrid_set(_row, _col, fg, bg, " \0\0\0");
_col = 0;
_row++;
} else {
tgrid_set(_row, _col, fg, bg, unichar);
_col++;
}
_col++;
i += charlen;
}
}