From 0c4f89370d05056faa789aa9cabcccc4e509fb9f Mon Sep 17 00:00:00 2001 From: Solomon Peachy Date: Sun, 19 Jul 2020 19:38:45 -0400 Subject: [2/4] get rid of HAVE_LCD_CHARCELLS HAVE_LCD_BITMAP is now redundant. lcd_bitmap is always-on in features.txt so manual and lang strings don't have to change Change-Id: I08eeb20de48099ffc2dc23782711af368c2ec794 --- apps/gui/charcell/list.c | 112 ----------------------- apps/gui/icon.h | 15 +-- apps/gui/line.c | 4 - apps/gui/list.c | 5 - apps/gui/skin_engine/skin_display.c | 1 - apps/gui/skin_engine/skin_parser.c | 8 -- apps/gui/skin_engine/skin_render.c | 12 --- apps/gui/skin_engine/skin_tokens.c | 173 ----------------------------------- apps/gui/skin_engine/wps_internals.h | 3 - apps/gui/splash.c | 17 ---- apps/gui/statusbar.c | 38 -------- apps/gui/usb_screen.c | 9 -- apps/gui/viewport.h | 4 - apps/gui/wps.c | 22 ----- apps/gui/yesno.c | 5 - 15 files changed, 1 insertion(+), 427 deletions(-) delete mode 100644 apps/gui/charcell/list.c (limited to 'apps/gui') diff --git a/apps/gui/charcell/list.c b/apps/gui/charcell/list.c deleted file mode 100644 index cbee8b0d9d..0000000000 --- a/apps/gui/charcell/list.c +++ /dev/null @@ -1,112 +0,0 @@ -/*************************************************************************** - * __________ __ ___. - * Open \______ \ ____ ____ | | _\_ |__ _______ ___ - * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / - * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < - * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ - * \/ \/ \/ \/ \/ - * $Id$ - * - * Copyright (C) 2007 by Jonathan Gordon - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY - * KIND, either express or implied. - * - ****************************************************************************/ - -/* This file contains the code to draw the list widget on BITMAP LCDs. */ - -#include "config.h" -#include "lcd.h" -#include "font.h" -#include "button.h" -#include "string.h" -#include "settings.h" -#include "kernel.h" -#include "system.h" -#include "file.h" - -#include "list.h" -#include "screen_access.h" -#include "scrollbar.h" -#include "lang.h" -#include "sound.h" -#include "misc.h" - -void gui_synclist_scroll_stop(struct gui_synclist *lists) -{ - (void)lists; - FOR_NB_SCREENS(i) - { - screens[i].scroll_stop(); - } -} - -void list_draw(struct screen *display, struct gui_synclist *gui_list) -{ - bool draw_icons = (gui_list->callback_get_item_icon != NULL); - bool selected; - int i; - int start, end; - - display->set_viewport(NULL); - - display->clear_display(); - start = 0; - end = display->getnblines(); - - struct line_desc desc = { - .height = -1, - .text_color = 1, - .line_color = 1, - .line_end_color = 1, - .style = STYLE_DEFAULT - }; - - for (i = start; i < end; i++) - { - unsigned const char *s; - char entry_buffer[MAX_PATH]; - unsigned char *entry_name; - int current_item = gui_list->start_item[display->screen_type] + i; - - /* When there are less items to display than the - * current available space on the screen, we stop*/ - if(current_item >= gui_list->nb_items) - break; - s = gui_list->callback_get_item_name(current_item, - gui_list->data, - entry_buffer, - sizeof(entry_buffer)); - entry_name = P2STR(s); - - if (gui_list->show_selection_marker && - current_item >= gui_list->selected_item && - current_item < gui_list->selected_item + gui_list->selected_size) - selected = true; /* The selected item must be displayed scrolling */ - else - selected = false; - - desc.nlines = gui_list->selected_size, - desc.line = gui_list->selected_size > 1 ? i : 0, - desc.scroll = selected ? true : gui_list->scroll_all; - - if (draw_icons) - put_line(display, 0, i, &desc, "$i$i$t", - selected ? Icon_Cursor : Icon_NOICON, - gui_list->callback_get_item_icon(current_item, gui_list->data), - entry_name); - else - put_line(display, 0, i, &desc, "$i$t", - selected ? Icon_Cursor : Icon_NOICON, - entry_name); - } - - display->update_viewport(); - display->update(); -} diff --git a/apps/gui/icon.h b/apps/gui/icon.h index e095ccfc4c..88449c61ca 100644 --- a/apps/gui/icon.h +++ b/apps/gui/icon.h @@ -89,10 +89,6 @@ extern void screen_put_cursorxy(struct screen * screen, int x, int y, bool on); */ extern void screen_put_iconxy(struct screen * screen, int x, int y, enum themable_icons icon); -#ifdef HAVE_LCD_CHARCELLS -# define screen_put_icon(s, x, y, i) screen_put_iconxy(s, x, y, i) -# define screen_put_icon_with_offset(s, x, y, w, h, i) screen_put_icon(s, x, y, i) -#else /* For both of these, the icon will be placed in the center of the rectangle */ /* as above, but x,y are letter position, NOT PIXEL */ extern void screen_put_icon(struct screen * screen, @@ -101,23 +97,14 @@ extern void screen_put_icon(struct screen * screen, extern void screen_put_icon_with_offset(struct screen * display, int x, int y, int off_x, int off_y, enum themable_icons icon); -#endif - void icons_init(void); -#ifdef HAVE_LCD_CHARCELLS -# define CURSOR_CHAR 0xe10c -# define get_icon_width(a) 1 -# define get_icon_height(a) 1 /* needs to be verified */ -#else int get_icon_width(enum screen_type screen_type); int get_icon_height(enum screen_type screen_type); int get_icon_format(enum screen_type screen_type); -#endif -#if (LCD_DEPTH > 1) || defined(HAVE_REMOTE_LCD) && (LCD_REMOTE_DEPTH > 1) \ - && !defined(HAVE_LCD_CHARCELLS) +#if (LCD_DEPTH > 1) || defined(HAVE_REMOTE_LCD) && (LCD_REMOTE_DEPTH > 1) int get_icon_format(enum screen_type screen_type); #else # define get_icon_format(a) FORMAT_MONO diff --git a/apps/gui/line.c b/apps/gui/line.c index 2b1bec2c6b..ea6bcea93b 100644 --- a/apps/gui/line.c +++ b/apps/gui/line.c @@ -41,11 +41,7 @@ #endif -#ifdef HAVE_LCD_CHARCELLS -#define style_line(d, x, y, l) -#else static void style_line(struct screen *display, int x, int y, struct line_desc *line); -#endif static void put_text(struct screen *display, int x, int y, struct line_desc *line, const char *text, bool prevent_scroll, int text_skip_pixels); diff --git a/apps/gui/list.c b/apps/gui/list.c index 8533f93275..ce444cc9c2 100644 --- a/apps/gui/list.c +++ b/apps/gui/list.c @@ -279,13 +279,8 @@ static void gui_list_put_selection_on_screen(struct gui_synclist * gui_list, int bottom = MAX(0, gui_list->nb_items - nb_lines); int new_start_item = gui_list->start_item[screen]; int difference = gui_list->selected_item - gui_list->start_item[screen]; -#ifdef HAVE_LCD_CHARCELLS - const int scroll_limit_up = 0; - const int scroll_limit_down = 1; -#else const int scroll_limit_up = (nb_lines < gui_list->selected_size+2 ? 0:1); const int scroll_limit_down = (scroll_limit_up+gui_list->selected_size); -#endif if (gui_list->show_selection_marker == false) { diff --git a/apps/gui/skin_engine/skin_display.c b/apps/gui/skin_engine/skin_display.c index 501d3a305a..7ee349b346 100644 --- a/apps/gui/skin_engine/skin_display.c +++ b/apps/gui/skin_engine/skin_display.c @@ -662,7 +662,6 @@ bool skin_has_sbs(enum screen_type screen, struct wps_data *data) */ int skin_wait_for_action(enum skinnable_screens skin, int context, int timeout) { - (void)skin; /* silence charcell warning */ int button = ACTION_NONE; #ifdef HAVE_LCD_BITMAP /* when the peak meter is enabled we want to have a diff --git a/apps/gui/skin_engine/skin_parser.c b/apps/gui/skin_engine/skin_parser.c index dce88e9c58..de7c1db372 100644 --- a/apps/gui/skin_engine/skin_parser.c +++ b/apps/gui/skin_engine/skin_parser.c @@ -1815,14 +1815,6 @@ static void skin_data_reset(struct wps_data *wps_data) wps_data->peak_meter_enabled = false; wps_data->wps_sb_tag = false; wps_data->show_sb_on_wps = false; -#else /* HAVE_LCD_CHARCELLS */ - /* progress bars */ - int i; - for (i = 0; i < 8; i++) - { - wps_data->wps_progress_pat[i] = 0; - } - wps_data->full_line_progressbar = false; #endif wps_data->wps_loaded = false; } diff --git a/apps/gui/skin_engine/skin_render.c b/apps/gui/skin_engine/skin_render.c index 4415619b7e..e14c882dd9 100644 --- a/apps/gui/skin_engine/skin_render.c +++ b/apps/gui/skin_engine/skin_render.c @@ -97,10 +97,6 @@ get_child(OFFSETTYPE(struct skin_element**) children, int child) static bool do_non_text_tags(struct gui_wps *gwps, struct skin_draw_info *info, struct skin_element *element, struct skin_viewport* skin_vp) { -#ifndef HAVE_LCD_BITMAP - (void)skin_vp; /* silence warnings */ - (void)info; -#endif struct wps_token *token = (struct wps_token *)SKINOFFSETTOPTR(skin_buffer, element->data); #ifdef HAVE_LCD_BITMAP @@ -832,14 +828,6 @@ void skin_render(struct gui_wps *gwps, unsigned refresh_mode) int old_refresh_mode = refresh_mode; skin_buffer = get_skin_buffer(gwps->data); -#ifdef HAVE_LCD_CHARCELLS - int i; - for (i = 0; i < 8; i++) - { - if (data->wps_progress_pat[i] == 0) - data->wps_progress_pat[i] = display->get_locked_pattern(); - } -#endif viewport = SKINOFFSETTOPTR(skin_buffer, data->tree); skin_viewport = SKINOFFSETTOPTR(skin_buffer, viewport->data); diff --git a/apps/gui/skin_engine/skin_tokens.c b/apps/gui/skin_engine/skin_tokens.c index 75c3203066..50704fd66e 100644 --- a/apps/gui/skin_engine/skin_tokens.c +++ b/apps/gui/skin_engine/skin_tokens.c @@ -37,9 +37,6 @@ #include "cuesheet.h" #include "replaygain.h" #include "core_alloc.h" -#ifdef HAVE_LCD_CHARCELLS -#include "hwcompat.h" -#endif #include "abrepeat.h" #include "lang.h" #include "misc.h" @@ -577,148 +574,6 @@ static struct mp3entry* get_mp3entry_from_offset(int offset, char **filename) return pid3; } -#ifdef HAVE_LCD_CHARCELLS -static void format_player_progress(struct gui_wps *gwps) -{ - struct wps_state *state = skin_get_global_state(); - struct screen *display = gwps->display; - unsigned char progress_pattern[7]; - int pos = 0; - int i; - - int elapsed, length; - if (LIKELY(state->id3)) - { - elapsed = state->id3->elapsed; - length = state->id3->length; - } - else - { - elapsed = 0; - length = 0; - } - - if (length) - pos = 36 * (elapsed + state->ff_rewind_count) / length; - - for (i = 0; i < 7; i++, pos -= 5) - { - if (pos <= 0) - progress_pattern[i] = 0x1fu; - else if (pos >= 5) - progress_pattern[i] = 0x00u; - else - progress_pattern[i] = 0x1fu >> pos; - } - - display->define_pattern(gwps->data->wps_progress_pat[0], progress_pattern); -} - -static void format_player_fullbar(struct gui_wps *gwps, char* buf, int buf_size) -{ - static const unsigned char numbers[10][4] = { - {0x0e, 0x0a, 0x0a, 0x0e}, /* 0 */ - {0x04, 0x0c, 0x04, 0x04}, /* 1 */ - {0x0e, 0x02, 0x04, 0x0e}, /* 2 */ - {0x0e, 0x02, 0x06, 0x0e}, /* 3 */ - {0x08, 0x0c, 0x0e, 0x04}, /* 4 */ - {0x0e, 0x0c, 0x02, 0x0c}, /* 5 */ - {0x0e, 0x08, 0x0e, 0x0e}, /* 6 */ - {0x0e, 0x02, 0x04, 0x08}, /* 7 */ - {0x0e, 0x0e, 0x0a, 0x0e}, /* 8 */ - {0x0e, 0x0e, 0x02, 0x0e} /* 9 */ - }; - - struct wps_state *state = skin_get_global_state(); - struct screen *display = gwps->display; - struct wps_data *data = gwps->data; - unsigned char progress_pattern[7]; - char timestr[10]; - int time; - int time_idx = 0; - int pos = 0; - int pat_idx = 1; - int digit, i, j; - bool softchar; - - int elapsed, length; - if (LIKELY(state->id3)) - { - elapsed = state->id3->elapsed; - length = state->id3->length; - } - else - { - elapsed = 0; - length = 0; - } - - if (buf_size < 34) /* worst case: 11x UTF-8 char + \0 */ - return; - - time = elapsed + state->ff_rewind_count; - if (length) - pos = 55 * time / length; - - memset(timestr, 0, sizeof(timestr)); - format_time(timestr, sizeof(timestr)-2, time); - timestr[strlen(timestr)] = ':'; /* always safe */ - - for (i = 0; i < 11; i++, pos -= 5) - { - softchar = false; - memset(progress_pattern, 0, sizeof(progress_pattern)); - - if ((digit = timestr[time_idx])) - { - softchar = true; - digit -= '0'; - - if (timestr[time_idx + 1] == ':') /* ones, left aligned */ - { - memcpy(progress_pattern, numbers[digit], 4); - time_idx += 2; - } - else /* tens, shifted right */ - { - for (j = 0; j < 4; j++) - progress_pattern[j] = numbers[digit][j] >> 1; - - if (time_idx > 0) /* not the first group, add colon in front */ - { - progress_pattern[1] |= 0x10u; - progress_pattern[3] |= 0x10u; - } - time_idx++; - } - - if (pos >= 5) - progress_pattern[5] = progress_pattern[6] = 0x1fu; - } - - if (pos > 0 && pos < 5) - { - softchar = true; - progress_pattern[5] = progress_pattern[6] = (~0x1fu >> pos) & 0x1fu; - } - - if (softchar && pat_idx < 8) - { - display->define_pattern(data->wps_progress_pat[pat_idx], - progress_pattern); - buf = utf8encode(data->wps_progress_pat[pat_idx], buf); - pat_idx++; - } - else if (pos <= 0) - buf = utf8encode(' ', buf); - else - buf = utf8encode(0xe115, buf); /* 2/7 _ */ - } - *buf = '\0'; -} - -#endif /* HAVE_LCD_CHARCELLS */ - /* Don't inline this; it was broken out of get_token_value to reduce stack * usage. */ @@ -1351,34 +1206,6 @@ const char *get_token_value(struct gui_wps *gwps, return "-"; #endif -#ifdef HAVE_LCD_CHARCELLS - case SKIN_TOKEN_PROGRESSBAR: - { - char *end; - format_player_progress(gwps); - end = utf8encode(data->wps_progress_pat[0], buf); - *end = '\0'; - return buf; - } - - case SKIN_TOKEN_PLAYER_PROGRESSBAR: - if(is_new_player()) - { - /* we need 11 characters (full line) for - progress-bar */ - strlcpy(buf, " ", buf_size); - format_player_fullbar(gwps,buf,buf_size); - DEBUGF("bar='%s'\n",buf); - } - else - { - /* Tell the user if we have an OldPlayer */ - strlcpy(buf, " ", buf_size); - } - return buf; -#endif - - #ifdef HAVE_LCD_BITMAP /* peakmeter */ case SKIN_TOKEN_PEAKMETER_LEFT: diff --git a/apps/gui/skin_engine/wps_internals.h b/apps/gui/skin_engine/wps_internals.h index e7996b0530..caf43b21cb 100644 --- a/apps/gui/skin_engine/wps_internals.h +++ b/apps/gui/skin_engine/wps_internals.h @@ -374,9 +374,6 @@ struct wps_data bool peak_meter_enabled; bool wps_sb_tag; bool show_sb_on_wps; -#else /*HAVE_LCD_CHARCELLS */ - unsigned short wps_progress_pat[8]; - bool full_line_progressbar; #endif bool wps_loaded; }; diff --git a/apps/gui/splash.c b/apps/gui/splash.c index 2608a2e02e..56df77d57a 100644 --- a/apps/gui/splash.c +++ b/apps/gui/splash.c @@ -38,12 +38,6 @@ #define RECT_SPACING 2 #define SPLASH_MEMORY_INTERVAL (HZ) -#else /* HAVE_LCD_CHARCELLS */ - -#define MAXLINES 2 -#define MAXBUFFER 64 -#define RECT_SPACING 0 - #endif @@ -68,12 +62,6 @@ static void splash_internal(struct screen * screen, const char *fmt, va_list ap) screen->set_viewport(&vp); screen->getstringsize(" ", &space_w, &h); -#else /* HAVE_LCD_CHARCELLS */ - vp.width = screen->lcdwidth; - vp.height = screen->lcdheight; - - space_w = h = 1; - screen->double_height (false); #endif y = h; @@ -178,9 +166,6 @@ static void splash_internal(struct screen * screen, const char *fmt, va_list ap) /* prepare putting the text */ y = RECT_SPACING; -#else /* HAVE_LCD_CHARCELLS */ - y = 0; /* vertical centering on 2 lines would be silly */ - screen->clear_display(); #endif /* print the message to screen */ @@ -188,8 +173,6 @@ static void splash_internal(struct screen * screen, const char *fmt, va_list ap) { #ifdef HAVE_LCD_BITMAP screen->putsxy(0, y, lines[i]); -#else - screen->puts(0, y, lines[i]); #endif } screen->update_viewport(); diff --git a/apps/gui/statusbar.c b/apps/gui/statusbar.c index 30dad95509..90d04a7930 100644 --- a/apps/gui/statusbar.c +++ b/apps/gui/statusbar.c @@ -191,12 +191,6 @@ void gui_statusbar_draw(struct gui_statusbar * bar, bool force_redraw, struct vi if (!display) return; -#ifdef HAVE_LCD_CHARCELLS - int val; - (void)force_redraw; /* The Player always has "redraw" */ - (void)vp; -#endif /* HAVE_LCD_CHARCELLS */ - bar->info.battlevel = battery_level(); #ifdef HAVE_USB_POWER bar->info.usb_inserted = usb_inserted(); @@ -359,38 +353,6 @@ void gui_statusbar_draw(struct gui_statusbar * bar, bool force_redraw, struct vi } #endif /* HAVE_LCD_BITMAP */ - -#ifdef HAVE_LCD_CHARCELLS - display->icon(ICON_BATTERY, bar->info.battery_state); - - if (bar->info.batt_charge_step > -1) - val = bar->info.batt_charge_step; - else - val = (bar->info.battlevel * 3 + 50) / 100; - display->icon(ICON_BATTERY_1, val >= 1); - display->icon(ICON_BATTERY_2, val >= 2); - display->icon(ICON_BATTERY_3, val >= 3); - - val = 10 * (bar->info.volume - sound_min(SOUND_VOLUME)) - / (sound_max(SOUND_VOLUME) - sound_min(SOUND_VOLUME)); - display->icon(ICON_VOLUME, true); - display->icon(ICON_VOLUME_1, val >= 1); - display->icon(ICON_VOLUME_2, val >= 3); - display->icon(ICON_VOLUME_3, val >= 5); - display->icon(ICON_VOLUME_4, val >= 7); - display->icon(ICON_VOLUME_5, val >= 9); - - display->icon(ICON_PLAY, current_playmode() == STATUS_PLAY); - display->icon(ICON_PAUSE, current_playmode() == STATUS_PAUSE); - - display->icon(ICON_REPEAT, global_settings.repeat_mode != REPEAT_OFF); - display->icon(ICON_1, global_settings.repeat_mode == REPEAT_ONE); - - display->icon(ICON_RECORD, record); - display->icon(ICON_AUDIO, audio); - display->icon(ICON_PARAM, param); - display->icon(ICON_USB, usb); -#endif /* HAVE_LCD_CHARCELLS */ } #ifdef HAVE_LCD_BITMAP diff --git a/apps/gui/usb_screen.c b/apps/gui/usb_screen.c index 1b6f9c3b2a..dd1d97df3c 100644 --- a/apps/gui/usb_screen.c +++ b/apps/gui/usb_screen.c @@ -269,12 +269,7 @@ void gui_usb_screen_run(bool early_usb) * generic cleanup here */ screen->set_viewport(NULL); screen->scroll_stop(); -#ifdef HAVE_LCD_CHARCELLS - /* Quick fix. Viewports should really be enabled proper for charcell */ - viewport_set_defaults(&usb_screen_vps_ar[i].parent, i); -#else usb_screen_fix_viewports(screen, &usb_screen_vps_ar[i]); -#endif } /* update the UI before disabling fonts, this maximizes the propability @@ -327,10 +322,6 @@ void gui_usb_screen_run(bool early_usb) touchscreen_set_mode(old_mode); #endif -#ifdef HAVE_LCD_CHARCELLS - status_set_usb(false); -#endif /* HAVE_LCD_CHARCELLS */ - #ifdef HAVE_LCD_BITMAP if(!early_usb) { diff --git a/apps/gui/viewport.h b/apps/gui/viewport.h index ecbd325946..c4b90aa64c 100644 --- a/apps/gui/viewport.h +++ b/apps/gui/viewport.h @@ -69,10 +69,6 @@ bool viewport_point_within_vp(const struct viewport *vp, const int x, const int y); #endif -#else /* HAVE_LCD_CHARCELL */ -#define viewportmanager_theme_changed(a) -#define viewportmanager_theme_enable(...) -#define viewportmanager_theme_undo(...) #endif #endif /* __PCTOOL__ */ diff --git a/apps/gui/wps.c b/apps/gui/wps.c index a930edaded..b417f82922 100644 --- a/apps/gui/wps.c +++ b/apps/gui/wps.c @@ -232,11 +232,6 @@ static bool update_onvol_change(enum screen_type screen) { skin_update(WPS, screen, SKIN_REFRESH_NON_STATIC); -#ifdef HAVE_LCD_CHARCELLS - splashf(0, "Vol: %3d dB", - sound_val2phys(SOUND_VOLUME, global_settings.volume)); - return true; -#endif return false; } @@ -401,10 +396,6 @@ bool ffwd_rew(int button) #if (CONFIG_CODEC != SWCODEC) if (!skin_get_global_state()->paused) audio_resume(); -#endif -#ifdef HAVE_LCD_CHARCELLS - FOR_NB_SCREENS(i) - skin_update(WPS, i, SKIN_REFRESH_ALL); #endif exit = true; break; @@ -741,11 +732,6 @@ long gui_wps_show(void) long last_left = 0, last_right = 0; struct wps_state *state = skin_get_global_state(); -#ifdef HAVE_LCD_CHARCELLS - status_set_audio(true); - status_set_param(false); -#endif - #ifdef AB_REPEAT_ENABLE ab_repeat_init(); ab_reset_markers(); @@ -833,10 +819,6 @@ long gui_wps_show(void) break; case ACTION_WPS_BROWSE: -#ifdef HAVE_LCD_CHARCELLS - status_set_record(false); - status_set_audio(false); -#endif gwps_leave_wps(); return GO_TO_PREVIOUS_BROWSER; break; @@ -1146,10 +1128,6 @@ long gui_wps_show(void) } if (exit) { -#ifdef HAVE_LCD_CHARCELLS - status_set_record(false); - status_set_audio(false); -#endif #if CONFIG_CODEC != SWCODEC if (global_settings.fade_on_stop) fade(false, true); diff --git a/apps/gui/yesno.c b/apps/gui/yesno.c index b754d5e477..45638b7076 100644 --- a/apps/gui/yesno.c +++ b/apps/gui/yesno.c @@ -160,12 +160,7 @@ enum yesno_res gui_syncyesno_run(const struct text_message * main_message, yn[i].result_message[YESNO_NO]=no_message; yn[i].display=&screens[i]; yn[i].vp = &vp[i]; -#ifdef HAVE_LCD_CHARCELLS - /* Quick fix. Viewports should really be enabled proper for charcell */ - viewport_set_defaults(yn[i].vp, i); -#else viewportmanager_theme_enable(i, true, yn[i].vp); -#endif screens[i].scroll_stop(); gui_yesno_draw(&(yn[i])); } -- cgit v1.2.3