diff options
Diffstat (limited to 'tools/bmp2rb.c')
-rw-r--r-- | tools/bmp2rb.c | 18 |
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 { |