From f77dec5c758e381c2a07246432245312fe480221 Mon Sep 17 00:00:00 2001 From: Lassulus Date: Fri, 12 Aug 2011 19:17:29 +0200 Subject: added nick_krebs for r0ket --- cholerab/bling/nick_krebs.c | 60 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 cholerab/bling/nick_krebs.c (limited to 'cholerab/bling') diff --git a/cholerab/bling/nick_krebs.c b/cholerab/bling/nick_krebs.c new file mode 100644 index 00000000..039b7ed3 --- /dev/null +++ b/cholerab/bling/nick_krebs.c @@ -0,0 +1,60 @@ +#include + +#include "basic/basic.h" +#include "basic/config.h" + +#include "lcd/lcd.h" +#include "lcd/print.h" +#include "filesystem/ff.h" + +#include "usetable.h" + +#define IMAGEFILE "krebs.lcd" + +void ram(void) { + FIL file; + int res; + UINT readbytes; + uint8_t state = 0; + int dx, dy, dwidth; + + uint32_t framems = 100; + + res = f_open(&file, IMAGEFILE, FA_OPEN_EXISTING|FA_READ); + if(res) + return; + + /* calculate height */ + setExtFont(GLOBAL(nickfont)); + dwidth = DoString(0, 0, GLOBAL(nickname)); + dy = (RESY - getFontHeight()); + dx = (95 - dwidth)/2; + + getInputWaitRelease(); + while(!getInputRaw()) { + lcdFill(0x55); + + res = f_read(&file, (char *)lcdBuffer, RESX*RESY_B, &readbytes); + if (res) + return; + + if (readbytes < RESX*RESY_B) { + f_lseek(&file, 0); + continue; + } + + setExtFont(GLOBAL(nickfont)); + DoString(dx, dy, GLOBAL(nickname)); + + lcdDisplay(); + + if(framems < 100) { + state = delayms_queue_plus(framems, 0); + } else { + getInputWaitTimeout(framems); + } + } + + if(state) + work_queue(); +} -- cgit v1.2.3