diff options
author | Greg White <gwhite@rockbox.org> | 2007-01-18 02:25:21 +0000 |
---|---|---|
committer | Greg White <gwhite@rockbox.org> | 2007-01-18 02:25:21 +0000 |
commit | f21122dff75ebfa391ffbcf7de4e7d00d66e9997 (patch) | |
tree | af65d8a234d16849446b4b7aecab540aeef70a25 /tools/bmp2rb.c | |
parent | fd27a9d2bfa5b4ba46489ff203c70794c3770923 (diff) | |
download | rockbox-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.c | 22 |
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 | ||
500 | void generate_raw_file(char *id, char* header_dir, int width, int height, | 500 | void 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 | } |