summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2008-03-30 19:03:29 -0700
committerKeith Packard <keithp@keithp.com>2008-03-30 19:03:29 -0700
commit206bfbea4ebe854fdfa66e8a6fbd9296b6004c0e (patch)
tree4a880452a3b63c778dd2fdafde2e892097b86cf3
parent443e1f80c885133ae6df590f1a7663833c76b7f3 (diff)
add --transform none to reset to identity
-rw-r--r--xrandr.c30
1 files changed, 17 insertions, 13 deletions
diff --git a/xrandr.c b/xrandr.c
index d5c0bc8..e334d13 100644
--- a/xrandr.c
+++ b/xrandr.c
@@ -2105,20 +2105,24 @@ main (int argc, char **argv)
double transform[3][3];
int k, l;
if (++i>=argc) usage ();
- if (sscanf(argv[i], "%lf,%lf,%lf,%lf,%lf,%lf,%lf,%lf,%lf",
- &transform[0][0],&transform[0][1],&transform[0][2],
- &transform[1][0],&transform[1][1],&transform[1][2],
- &transform[2][0],&transform[2][1],&transform[2][2])
- != 9)
- usage ();
init_transform (&output->transform);
- for (k = 0; k < 3; k++)
- for (l = 0; l < 3; l++) {
- output->transform.transform.matrix[k][l] = XDoubleToFixed (transform[k][l]);
- }
- output->transform.filter = "bilinear";
- output->transform.nparams = 0;
- output->transform.params = NULL;
+ if (strcmp (argv[i], "none") != 0)
+ {
+ if (sscanf(argv[i], "%lf,%lf,%lf,%lf,%lf,%lf,%lf,%lf,%lf",
+ &transform[0][0],&transform[0][1],&transform[0][2],
+ &transform[1][0],&transform[1][1],&transform[1][2],
+ &transform[2][0],&transform[2][1],&transform[2][2])
+ != 9)
+ usage ();
+ init_transform (&output->transform);
+ for (k = 0; k < 3; k++)
+ for (l = 0; l < 3; l++) {
+ output->transform.transform.matrix[k][l] = XDoubleToFixed (transform[k][l]);
+ }
+ output->transform.filter = "bilinear";
+ output->transform.nparams = 0;
+ output->transform.params = NULL;
+ }
output->changes |= changes_transform;
continue;
}