diff options
Diffstat (limited to 'apps/recorder/backdrop.c')
| -rw-r--r-- | apps/recorder/backdrop.c | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/apps/recorder/backdrop.c b/apps/recorder/backdrop.c index e315435..0d02360 100644 --- a/apps/recorder/backdrop.c +++ b/apps/recorder/backdrop.c @@ -20,6 +20,9 @@ #include <stdio.h> #include "config.h" #include "lcd.h" +#ifdef HAVE_REMOTE_LCD +#include "lcd-remote.h" +#endif #include "backdrop.h" #if LCD_DEPTH >= 8 @@ -30,6 +33,11 @@ static fb_data main_backdrop[LCD_FBHEIGHT][LCD_FBWIDTH]; static fb_data wps_backdrop[LCD_FBHEIGHT][LCD_FBWIDTH]; #endif +#if defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1 +static fb_remote_data remote_wps_backdrop[LCD_REMOTE_FBHEIGHT][LCD_REMOTE_FBWIDTH]; +static bool remote_wps_backdrop_valid = false; +#endif + static bool main_backdrop_valid = false; static bool wps_backdrop_valid = false; @@ -93,3 +101,55 @@ void show_wps_backdrop(void) show_main_backdrop(); } } + +#if defined(HAVE_REMOTE_LCD) && LCD_REMOTE_DEPTH > 1 + +static bool load_remote_backdrop(char* filename, fb_remote_data* backdrop_buffer) +{ + struct bitmap bm; + int ret; + + /* load the image */ + bm.data=(char*)backdrop_buffer; + ret = read_bmp_file(filename, &bm, sizeof(main_backdrop), + FORMAT_NATIVE | FORMAT_DITHER | FORMAT_REMOTE); + + if ((ret > 0) && (bm.width == LCD_REMOTE_WIDTH) && (bm.height == LCD_REMOTE_HEIGHT)) + { + return true; + } + else + { + return false; + } +} + +bool load_remote_wps_backdrop(char* filename) +{ + remote_wps_backdrop_valid = load_remote_backdrop(filename, &remote_wps_backdrop[0][0]); + return remote_wps_backdrop_valid; +} + +void unload_remote_wps_backdrop(void) +{ + remote_wps_backdrop_valid = false; +} + +void show_remote_wps_backdrop(void) +{ + /* if no wps backdrop, fall back to main backdrop */ + if(remote_wps_backdrop_valid) + { + lcd_remote_set_backdrop(&remote_wps_backdrop[0][0]); + } + else + { + show_remote_main_backdrop(); + } +} + +void show_remote_main_backdrop(void) +{ + lcd_remote_set_backdrop(NULL); +} +#endif |