From 1f6a82de32c2ae6b6cf752053d5b9f8f8f859815 Mon Sep 17 00:00:00 2001 From: Mikko Rasa Date: Tue, 15 Dec 2015 00:44:55 +0200 Subject: [PATCH] Add a reset key to interactive control mode --- source/control.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/source/control.c b/source/control.c index 533bb80..64fdf56 100644 --- a/source/control.c +++ b/source/control.c @@ -104,6 +104,15 @@ static const char *flat_fshader_src = "}\n"; +void reset_correction(GeometryCorrection *correction) +{ + correction->keystone_vertical = 0.0f; + correction->curvature_type = 1; + correction->curvature_depth = 0.0f; + correction->vertical_center = 0.5f; + correction->perspective = 1.0f; +} + GeometryCorrection *get_corrections(Display *display) { Window root; @@ -417,6 +426,8 @@ int interactive(Display *display, GeometryCorrection *corrections, GeometryCorre target->perspective -= 1.0f/16; else if(keysym==XK_z) target->curvature_type = target->curvature_type%2+1; + else if(keysym==XK_0) + reset_correction(target); else break; @@ -488,11 +499,7 @@ int main(int argc, char **argv) corrections[i].monitor_name = (char *)malloc(namelen+1); strcpy(corrections[i].monitor_name, argv[1]); corrections[i+1].monitor_name = NULL; - corrections[i].keystone_vertical = 0.0f; - corrections[i].curvature_type = 1; - corrections[i].curvature_depth = 0.0f; - corrections[i].vertical_center = 0.5f; - corrections[i].perspective = 1.0f; + reset_correction(&corrections[i]); } if(argc==2) -- 2.45.2