summaryrefslogtreecommitdiff
path: root/tools/bmp2rb.c
diff options
context:
space:
mode:
authorGreg White <gwhite@rockbox.org>2007-01-18 02:25:21 +0000
committerGreg White <gwhite@rockbox.org>2007-01-18 02:25:21 +0000
commitf21122dff75ebfa391ffbcf7de4e7d00d66e9997 (patch)
treeaf65d8a234d16849446b4b7aecab540aeef70a25 /tools/bmp2rb.c
parentfd27a9d2bfa5b4ba46489ff203c70794c3770923 (diff)
downloadrockbox-f21122dff75ebfa391ffbcf7de4e7d00d66e9997.tar.gz
rockbox-f21122dff75ebfa391ffbcf7de4e7d00d66e9997.zip
Add swap bytes option
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12060 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'tools/bmp2rb.c')
-rw-r--r--tools/bmp2rb.c22
1 files changed, 16 insertions, 6 deletions
diff --git a/tools/bmp2rb.c b/tools/bmp2rb.c
index 9e80fe563b..345f682499 100644
--- a/tools/bmp2rb.c
+++ b/tools/bmp2rb.c
@@ -497,9 +497,7 @@ void generate_c_source(char *id, char* header_dir, int width, int height,
497 fprintf(f, "\n};\n"); 497 fprintf(f, "\n};\n");
498} 498}
499 499
500void generate_raw_file(char *id, char* header_dir, int width, int height, 500void generate_raw_file(char *id, char* header_dir, int width, int height, const unsigned short *t_bitmap, int t_width, int t_height, int t_depth, bool swap)
501 const unsigned short *t_bitmap, int t_width,
502 int t_height, int t_depth)
503{ 501{
504 FILE *f; 502 FILE *f;
505 int i, a; 503 int i, a;
@@ -512,8 +510,14 @@ void generate_raw_file(char *id, char* header_dir, int width, int height,
512 { 510 {
513 if (t_depth <= 8) 511 if (t_depth <= 8)
514 fwrite(&t_bitmap[i * t_width + a], 1, 1, f); 512 fwrite(&t_bitmap[i * t_width + a], 1, 1, f);
515 else 513 else {
516 fwrite(&t_bitmap[i * t_width + a], 2, 1, f); 514 unsigned short w;
515
516 w = t_bitmap[i * t_width + a];
517 if(swap)
518 w = swab(w);
519 fwrite(&w, 2, 1, f);
520 }
517 } 521 }
518 } 522 }
519} 523}
@@ -549,6 +553,7 @@ void print_usage(void)
549 "\t-h <dir> Create header file in <dir>/<id>.h\n" 553 "\t-h <dir> Create header file in <dir>/<id>.h\n"
550 "\t-a Show ascii picture of bitmap\n" 554 "\t-a Show ascii picture of bitmap\n"
551 "\t-r Generate RAW file\n" 555 "\t-r Generate RAW file\n"
556 "\t-b swap bytes\n"
552 "\t-f <n> Generate destination format n, default = 0\n" 557 "\t-f <n> Generate destination format n, default = 0\n"
553 "\t 0 Archos recorder, Ondio, Iriver H1x0 mono\n" 558 "\t 0 Archos recorder, Ondio, Iriver H1x0 mono\n"
554 "\t 1 Archos player graphics library\n" 559 "\t 1 Archos player graphics library\n"
@@ -575,6 +580,7 @@ int main(int argc, char **argv)
575 int width, height; 580 int width, height;
576 int t_width, t_height, t_depth; 581 int t_width, t_height, t_depth;
577 bool raw = false; 582 bool raw = false;
583 bool swap = false;
578 584
579 585
580 for (i = 1;i < argc;i++) 586 for (i = 1;i < argc;i++)
@@ -624,6 +630,10 @@ int main(int argc, char **argv)
624 case 'r': /* Raw File */ 630 case 'r': /* Raw File */
625 raw = true; 631 raw = true;
626 break; 632 break;
633
634 case 'b': /* Swap bytes */
635 swap = true;
636 break;
627 637
628 case 'f': 638 case 'f':
629 if (argv[i][2]) 639 if (argv[i][2])
@@ -694,7 +704,7 @@ int main(int argc, char **argv)
694 if (transform_bitmap(bitmap, width, height, format, &t_bitmap, &t_width, &t_height, &t_depth)) 704 if (transform_bitmap(bitmap, width, height, format, &t_bitmap, &t_width, &t_height, &t_depth))
695 exit(1); 705 exit(1);
696 if(raw) 706 if(raw)
697 generate_raw_file(id, header_dir, width, height, t_bitmap, t_width, t_height, t_depth); 707 generate_raw_file(id, header_dir, width, height, t_bitmap, t_width, t_height, t_depth, swap);
698 else 708 else
699 generate_c_source(id, header_dir, width, height, t_bitmap, t_width, t_height, t_depth); 709 generate_c_source(id, header_dir, width, height, t_bitmap, t_width, t_height, t_depth);
700 } 710 }