diff options
author | cinap_lenrek <cinap_lenrek@centraldogma> | 2011-09-10 23:15:39 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@centraldogma> | 2011-09-10 23:15:39 +0200 |
commit | faf8b47f415acb6c1492798d86d4e2fa6eb500c6 (patch) | |
tree | d4f9aeed544f64b5c3c1ec8a01a4d1699173ff29 /sys/src/cmd/rotate.c | |
parent | 0a229586f2d576bd0595bd783ccc800d2cb11fe6 (diff) |
adding experimental page(1) replacement npage
Diffstat (limited to 'sys/src/cmd/rotate.c')
-rw-r--r-- | sys/src/cmd/rotate.c | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/sys/src/cmd/rotate.c b/sys/src/cmd/rotate.c index 5c4d4fa94..a9f4d0158 100644 --- a/sys/src/cmd/rotate.c +++ b/sys/src/cmd/rotate.c @@ -74,7 +74,7 @@ rot90(Memimage *m) } Memimage* -rot180(Memimage *m) +upsidedown(Memimage *m) { uchar *s, *d, *t; int w, y, dy; @@ -94,12 +94,6 @@ rot180(Memimage *m) return m; } -Memimage* -rot270(Memimage *m) -{ - return rot90(rot180(m)); -} - void usage(void) { @@ -112,10 +106,18 @@ main(int argc, char *argv[]) { Memimage *m; int fd, r; + char f; + f = 0; r = 0; fd = 0; ARGBEGIN { + case 'u': + f = 'u'; + break; + case 'l': + f = 'l'; + break; case 'r': r = atoi(EARGF(usage())); break; @@ -130,15 +132,18 @@ main(int argc, char *argv[]) memimageinit(); if((m = readmemimage(fd)) == nil) sysfatal("readmemimage: %r"); + if(f == 'u' || f == 'l'){ + m = upsidedown(m); + if(f == 'l') + r = 180; + } switch(r % 360){ - case 90: + case 270: m = rot90(m); - break; case 180: - m = rot180(m); - break; - case 270: - m = rot270(m); + m = rot90(m); + case 90: + m = rot90(m); break; } if(writememimage(1, m) < 0) |