summaryrefslogtreecommitdiff
path: root/apps/recorder/backdrop.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/recorder/backdrop.c')
-rw-r--r--apps/recorder/backdrop.c63
1 files changed, 56 insertions, 7 deletions
diff --git a/apps/recorder/backdrop.c b/apps/recorder/backdrop.c
index 6fc5e24118..d230a6ec5a 100644
--- a/apps/recorder/backdrop.c
+++ b/apps/recorder/backdrop.c
@@ -21,25 +21,74 @@
21#include "config.h" 21#include "config.h"
22#include "lcd.h" 22#include "lcd.h"
23#include "backdrop.h" 23#include "backdrop.h"
24#include "splash.h" /* debugging */
24 25
25fb_data main_backdrop[LCD_HEIGHT][LCD_WIDTH]; 26fb_data main_backdrop[LCD_HEIGHT][LCD_WIDTH];
26fb_data wps_backdrop[LCD_HEIGHT][LCD_WIDTH]; 27fb_data wps_backdrop[LCD_HEIGHT][LCD_WIDTH];
28bool main_backdrop_valid = false;
29bool wps_backdrop_valid = false;
27 30
28bool load_main_backdrop(char* filename) 31/* load a backdrop into a buffer */
32bool load_backdrop(char* filename, fb_data* backdrop_buffer)
29{ 33{
30 struct bitmap bm; 34 struct bitmap bm;
31 int ret; 35 int ret;
32 36
33 /* load the image */ 37 /* load the image */
34 bm.data=(char*)&main_backdrop[0][0]; 38 bm.data=(char*)backdrop_buffer;
35 ret = read_bmp_file(filename, &bm, sizeof(main_backdrop), FORMAT_NATIVE); 39 ret = read_bmp_file(filename, &bm, sizeof(main_backdrop), FORMAT_NATIVE);
36 40
37 if ((ret > 0) && (bm.width == LCD_WIDTH) 41 if ((ret > 0) && (bm.width == LCD_WIDTH) && (bm.height == LCD_HEIGHT))
38 && (bm.height == LCD_HEIGHT)) { 42 {
39 lcd_set_backdrop(&main_backdrop[0][0]);
40 return true; 43 return true;
41 } else { 44 }
42 lcd_set_backdrop(NULL); 45 else
46 {
43 return false; 47 return false;
44 } 48 }
45} 49}
50
51bool load_main_backdrop(char* filename)
52{
53 main_backdrop_valid = load_backdrop(filename, &main_backdrop[0][0]);
54/* gui_syncsplash(100, true, "MAIN backdrop load: %s", main_backdrop_valid ? "OK" : "FAIL");*/
55 return main_backdrop_valid;
56}
57
58bool load_wps_backdrop(char* filename)
59{
60 wps_backdrop_valid = load_backdrop(filename, &wps_backdrop[0][0]);
61/* gui_syncsplash(100, true, "WPS backdrop load: %s", main_backdrop_valid ? "OK" : "FAIL");*/
62 return wps_backdrop_valid;
63}
64
65void unload_main_backdrop(void)
66{
67 main_backdrop_valid = false;
68/* gui_syncsplash(100, true, "MAIN backdrop unload");*/
69}
70
71void unload_wps_backdrop(void)
72{
73 wps_backdrop_valid = false;
74/* gui_syncsplash(100, true, "WPS backdrop unload");*/
75}
76
77void show_main_backdrop(void)
78{
79 lcd_set_backdrop(main_backdrop_valid ? &main_backdrop[0][0] : NULL);
80}
81
82void show_wps_backdrop(void)
83{
84 /* if no wps backdrop, fall back to main backdrop */
85 if(wps_backdrop_valid)
86 {
87 lcd_set_backdrop(&wps_backdrop[0][0]);
88 }
89 else
90 {
91/* gui_syncsplash(100, true, "WPS backdrop show: fallback to MAIN");*/
92 show_main_backdrop();
93 }
94}