summaryrefslogtreecommitdiff
path: root/sys/src/cmd/rotate.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@centraldogma>2011-09-10 23:15:39 +0200
committercinap_lenrek <cinap_lenrek@centraldogma>2011-09-10 23:15:39 +0200
commitfaf8b47f415acb6c1492798d86d4e2fa6eb500c6 (patch)
treed4f9aeed544f64b5c3c1ec8a01a4d1699173ff29 /sys/src/cmd/rotate.c
parent0a229586f2d576bd0595bd783ccc800d2cb11fe6 (diff)
adding experimental page(1) replacement npage
Diffstat (limited to 'sys/src/cmd/rotate.c')
-rw-r--r--sys/src/cmd/rotate.c31
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)