diff options
Diffstat (limited to 'apps/recorder/keyboard.c')
-rw-r--r-- | apps/recorder/keyboard.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/apps/recorder/keyboard.c b/apps/recorder/keyboard.c index b6b5affb6a..736e9738c8 100644 --- a/apps/recorder/keyboard.c +++ b/apps/recorder/keyboard.c @@ -176,7 +176,11 @@ static void keyboard_layout(struct viewport *kbd_vp, vp = &kbd_vp[eKBD_VP_MENU]; int menu_w = 0;//pm->font_w * MENU_CHARS; /* NOT IMPLEMENTED */ vp->x = 0; /* LEFT */ +#ifdef HAVE_LCD_SPLIT + vp->y = MAX(LCD_SPLIT_POS, text_height); /* Sansa Clip/Clip+ */ +#else vp->y = text_height; /* TOP */ +#endif vp->width = menu_w; vp->height = 0; vp->font = pm->curfont; @@ -185,7 +189,11 @@ static void keyboard_layout(struct viewport *kbd_vp, /* PICKER */ vp = &kbd_vp[eKBD_VP_PICKER]; vp->x = menu_w; /* LEFT */ +#ifdef HAVE_LCD_SPLIT + vp->y = MAX(LCD_SPLIT_POS, text_height - 2); /* Sansa Clip/Clip+ */ +#else vp->y = text_height - 2; /* TOP */ +#endif vp->width = sc_w - menu_w; vp->height = sc_h - vp->y; /* (MAX SIZE) - OVERWRITTEN */ vp->font = pm->curfont; @@ -549,8 +557,8 @@ int kbd_input(char* text, int buflen, unsigned short *kbd) { /* declare scoped pointers inside screen loops - hide the declarations from previous block level */ - struct keyboard_parameters *pm = ¶m[l]; struct screen *sc = &screens[l]; + pm = ¶m[l]; sc->clear_display(); kbd_draw_picker(pm, sc, &state); kbd_draw_edit_line(pm, sc, &state); @@ -1063,7 +1071,7 @@ static void kbd_draw_edit_line(struct keyboard_parameters *pm, while (*utf8 && i < pm->max_chars_text) { j = utf8seek(utf8, 1); - strlcpy(outline, utf8, j+1); + strmemccpy(outline, utf8, j+1); sc->getstringsize(outline, &w, NULL); sc->putsxy(text_margin + i*pm->text_w + (pm->text_w-w)/2, y, outline); |