All pastes #457449 Raw Edit

remote.patch

public text v1 · immutable
#457449 ·published 2007-04-25 12:11 UTC
rendered paste body
Index: apps/recorder/backdrop.c
===================================================================
--- apps/recorder/backdrop.c	(révision 13256)
+++ apps/recorder/backdrop.c	(copie de travail)
@@ -26,14 +26,9 @@
 static fb_data main_backdrop[LCD_HEIGHT][LCD_WIDTH]  __attribute__ ((aligned (16)));
 static fb_data wps_backdrop[LCD_HEIGHT][LCD_WIDTH]  __attribute__ ((aligned (16)));
 #elif LCD_DEPTH == 2
-#if LCD_PIXELFORMAT == VERTICAL_PACKING
-static fb_data main_backdrop[(LCD_HEIGHT+3)/4][LCD_WIDTH];
-static fb_data wps_backdrop[(LCD_HEIGHT+3)/4][LCD_WIDTH];
-#else
-static fb_data main_backdrop[LCD_HEIGHT][LCD_FBWIDTH];
-static fb_data wps_backdrop[LCD_HEIGHT][LCD_FBWIDTH];
+static fb_data main_backdrop[LCD_FBHEIGHT][LCD_FBWIDTH];
+static fb_data wps_backdrop[LCD_FBHEIGHT][LCD_FBWIDTH];
 #endif
-#endif
 
 static bool main_backdrop_valid = false;
 static bool wps_backdrop_valid = false;
Index: apps/settings.c
===================================================================
--- apps/settings.c	(révision 13256)
+++ apps/settings.c	(copie de travail)
@@ -751,6 +751,9 @@
     else
     {
         wps_data_init(gui_wps[0].data);
+#ifdef HAVE_REMOTE_LCD
+        gui_wps[0].data->remote_wps = false;
+#endif
     }
 
 #if LCD_DEPTH > 1
@@ -777,7 +780,10 @@
         wps_data_load(gui_wps[1].data, buf, true);
     }
     else
+    {
         wps_data_init(gui_wps[1].data);
+        gui_wps[1].data->remote_wps = false;
+    }
 #endif
 
 #ifdef HAVE_LCD_BITMAP
Index: apps/gui/gwps.c
===================================================================
--- apps/gui/gwps.c	(révision 13256)
+++ apps/gui/gwps.c	(copie de travail)
@@ -741,6 +741,9 @@
     FOR_NB_SCREENS(i)
     {
         wps_data_init(&wps_datas[i]);
+#ifdef HAVE_REMOTE_LCD
+        wps_datas[i].remote_wps = (i != 0);
+#endif
         gui_wps_init(&gui_wps[i]);
         gui_wps_set_data(&gui_wps[i], &wps_datas[i]);
         gui_wps_set_statusbar(&gui_wps[i], &statusbars.statusbars[i]);
Index: apps/gui/gwps.h
===================================================================
--- apps/gui/gwps.h	(révision 13256)
+++ apps/gui/gwps.h	(copie de travail)
@@ -312,6 +312,11 @@
     unsigned short wps_progress_pat[8];
     bool full_line_progressbar;
 #endif
+
+#ifdef HAVE_REMOTE_LCD
+    bool remote_wps;
+#endif
+
     /* Number of lines in the WPS. During WPS parsing, this is
        the index of the line being parsed. */
     int num_lines;
Index: apps/gui/wps_parser.c
===================================================================
--- apps/gui/wps_parser.c	(révision 13257)
+++ apps/gui/wps_parser.c	(copie de travail)
@@ -311,9 +311,17 @@
                         char* filename,
                         struct bitmap *bm)
 {
+    int format;
+#ifdef HAVE_REMOTE_LCD
+    if (wps_data->remote_wps)
+        format = FORMAT_ANY|FORMAT_REMOTE;
+    else
+#endif
+        format = FORMAT_ANY|FORMAT_TRANSPARENT;
+
     int ret = read_bmp_file(filename, bm,
                             wps_data->img_buf_free,
-                            FORMAT_ANY|FORMAT_TRANSPARENT);
+                            format);
 
     if (ret > 0)
     {
@@ -840,9 +848,14 @@
 
 static void wps_reset(struct wps_data *data)
 {
+#ifdef HAVE_REMOTE_LCD
+    bool rwps = data->remote_wps; /* remember whether the data is for a RWPS */
+#endif
     memset(data, 0, sizeof(*data));
-    data->wps_loaded = false;
     wps_data_init(data);
+#ifdef HAVE_REMOTE_LCD
+    data->remote_wps = rwps;
+#endif
 }
 
 #ifdef HAVE_LCD_BITMAP
@@ -896,13 +909,16 @@
     }
 
 #if LCD_DEPTH > 1
-    if (backdrop_bmp_name)
-    {
-        get_image_filename(backdrop_bmp_name, bmpdir,
-                           img_path, sizeof(img_path));
-        load_wps_backdrop(img_path);
-    }
+#ifdef HAVE_REMOTE_LCD
+    if (!wps_data->remote_wps)
 #endif
+        if (backdrop_bmp_name)
+        {
+            get_image_filename(backdrop_bmp_name, bmpdir,
+                               img_path, sizeof(img_path));
+            load_wps_backdrop(img_path);
+        }
+#endif
 }
 
 #endif /* HAVE_LCD_BITMAP */