Textdateiankuckdingviech.
[hackover2013-badge-firmware.git] / badge / ui / browser.c
1 #include "browser.h"
2 #include "menu.h"
3
4 #include <drivers/fatfs/ff.h>
5
6 enum {
7 LINE_LENGTH = 16
8 };
9
10 static void badge_browse_textfile_fd(FIL *fd) {
11 unsigned linecount = 0;
12
13 {
14 char buf[LINE_LENGTH];
15 while(f_gets(buf, LINE_LENGTH, fd)) {
16 ++linecount;
17 }
18 }
19
20 if(FR_OK != f_lseek(fd, 0)) {
21 return;
22 }
23
24 char lines_buf[linecount][LINE_LENGTH];
25 char const *lines[linecount];
26 unsigned i;
27
28 for(i = 0; i < linecount && f_gets(lines_buf[i], LINE_LENGTH, fd); ++i) {
29 lines[i] = lines_buf[i];
30 }
31
32 badge_scroll_text(lines, i);
33 }
34
35 void badge_browse_textfile(char const *fname) {
36 FIL fd;
37 if(FR_OK == f_open(&fd, fname, FA_OPEN_EXISTING | FA_READ)) {
38 badge_browse_textfile_fd(&fd);
39 f_close(&fd);
40 }
41 }
This page took 0.046846 seconds and 5 git commands to generate.