summaryrefslogtreecommitdiffstats
path: root/tools/bmp2rb.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/bmp2rb.c')
-rw-r--r--tools/bmp2rb.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/tools/bmp2rb.c b/tools/bmp2rb.c
index 387bcc05fe..1a10a17b49 100644
--- a/tools/bmp2rb.c
+++ b/tools/bmp2rb.c
@@ -512,6 +512,9 @@ void generate_c_source(char *id, char* header_dir, int width, int height,
if (!id || !id[0])
id = "bitmap";
+ bool initdata = create_bm && ((strcmp(id,"rockboxlogo") == 0)
+ || (strcmp(id,"remote_rockboxlogo") == 0));
+
f = stdout;
if (have_header)
@@ -527,19 +530,24 @@ void generate_c_source(char *id, char* header_dir, int width, int height,
fprintf(fh,
"#define BMPHEIGHT_%s %d\n"
"#define BMPWIDTH_%s %d\n",
- id, height, id, width);
+ id, height, id, width);
+
if (t_depth <= 8)
- fprintf(fh, "extern const unsigned char %s[];\n", id);
+ fprintf(fh, "extern const unsigned char %s[]%s;\n", id,
+ initdata ? " INITDATA_ATTR":"");
else if (t_depth <= 16)
- fprintf(fh, "extern const unsigned short %s[];\n", id);
+ fprintf(fh, "extern const unsigned short %s[]%s;\n", id,
+ initdata ? " INITDATA_ATTR":"");
else
- fprintf(fh, "extern const fb_data %s[];\n", id);
+ fprintf(fh, "extern const fb_data %s[]%s;\n", id,
+ initdata ? " INITDATA_ATTR":"");
if (create_bm)
{
fprintf(f, "#include \"lcd.h\"\n");
- fprintf(fh, "extern const struct bitmap bm_%s;\n", id);
+ fprintf(fh, "extern const struct bitmap bm_%s%s;\n", id,
+ initdata ? " INITDATA_ATTR":"");
}
fclose(fh);
} else {