summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2018-04-11 22:03:30 -0400
committerJune McEnroe <june@causal.agency>2018-04-11 22:03:30 -0400
commitb0e29fe373368f9cd39859a7b428315fdd823005 (patch)
treeb72208cbd6951ec4ebf4f85438611b709da70807
parentFix brot scaling for window aspect ratio (diff)
downloadsrc-b0e29fe373368f9cd39859a7b428315fdd823005.tar.gz
src-b0e29fe373368f9cd39859a7b428315fdd823005.zip
Clean up brot input and status
-rw-r--r--bin/brot.c30
1 files changed, 16 insertions, 14 deletions
diff --git a/bin/brot.c b/bin/brot.c
index 3302ee9e..b12e4208 100644
--- a/bin/brot.c
+++ b/bin/brot.c
@@ -62,23 +62,25 @@ void draw(uint32_t *buf, size_t width, size_t height) {
     }
 }
 
+static uint32_t depthDelta = 1;
+static double translateDelta = 0.01;
+static double rotateDelta = 0.01;
+static double scaleFactor = 1.1;
+
 bool input(char in) {
     const double PI = acos(-1.0);
-    double complex realTrans = 0.01 * scale * rotate;
-    double complex imagTrans = 0.01*I * scale * rotate;
-    double complex theta = cexp(0.01 * PI * I);
     switch (in) {
         case 'q': return false;
-        case '.': depth++; break;
-        case ',': if (depth) depth--; break;
-        case '+': scale *= 0.9; break;
-        case '-': scale *= 1.1; break;
-        case 'l': translate += realTrans; break;
-        case 'h': translate -= realTrans; break;
-        case 'j': translate += imagTrans; break;
-        case 'k': translate -= imagTrans; break;
-        case 'u': rotate *= theta; break;
-        case 'i': rotate /= theta; break;
+        case '.': depth += depthDelta; break;
+        case ',': if (depth > depthDelta) depth -= depthDelta; break;
+        case 'l': translate += translateDelta * scale * rotate; break;
+        case 'h': translate -= translateDelta * scale * rotate; break;
+        case 'j': translate += translateDelta * I * scale * rotate; break;
+        case 'k': translate -= translateDelta * I * scale * rotate; break;
+        case 'u': rotate *= cexp(rotateDelta * PI * I); break;
+        case 'i': rotate /= cexp(rotateDelta * PI * I); break;
+        case '+': scale /= scaleFactor; break;
+        case '-': scale *= scaleFactor; break;
     }
     return true;
 }
@@ -87,7 +89,7 @@ const char *status(void) {
     static char buf[256];
     snprintf(
         buf, sizeof(buf),
-        "%u %g+%gi %g+%gi %g",
+        "-d %u -t %g+%gi -r %g+%gi -z %g",
         depth,
         creal(translate), cimag(translate),
         creal(rotate), cimag(rotate),
ass='logheader'>2020-05-21Explicitly set stdout line buffered when pagingJune McEnroe 2020-05-21Do not sort results in scoop by defaultJune McEnroe The -s flag now enables sorting (-g and -l also imply it), while the -S flag now launches the sqlite3 shell. Avoiding sorting by default is much faster and less memory-intensive as it doesn't require loading the entire result set into memory at once. 2020-05-21Expand and clarify documentationJune McEnroe 2020-05-21Execute PAGER with the SHELLJune McEnroe Same as how git executes it. Allows flags to be set in PAGER. 2020-05-21Automatically perform database migrations in litterboxJune McEnroe To simplify upgrades, restarting litterbox should be sufficient. The database can still be explicitly migrated with -m. 2020-05-20Don't install rc scripts on other platformsJune McEnroe Oops, meant to do this in the last commit. 2020-05-20Rewrite build and install like pounce 1.3June McEnroe man pages are no longer compressed! 2020-05-20Update email addressesJune McEnroe 2020-04-23Call updateConsumer from handleError 1.2p1June McEnroe This should prevent continually crashing on the same ERROR in the pounce buffer. 2020-04-20Use . as ${LDLIBS.$@} separatorJune McEnroe 2020-04-05Error on invalid ISUPPORT values 1.2June McEnroe 2020-04-05Only set RCS on FreeBSDJune McEnroe 2020-04-05Log bans and unbansJune McEnroe 2020-04-05Parse mode types from ISUPPORTJune McEnroe 2020-04-05Add unscoop matchers for ban/unban eventsJune McEnroe The IRC and Textual matchers miss bans mixed with other mode changes, but those are rare. 2020-04-05Check unscoop regexps with make testJune McEnroe 2020-04-05Add unscoop -n flag for checking regexpsJune McEnroe 2020-04-05Add Ban and Unban event typesJune McEnroe 2020-04-02Update styleJune McEnroe Replacing declarations followed by while loops with for loops and generating the short option string from the long options. 2020-03-31Update unscoop catgirl matchersJune McEnroe I'm not concerned about keeping the old matchers since I'm almost entirely certain I was the only one who ever used the old version of catgirl, and I already imported those logs. 2020-03-31Fix writing verbose to stderrJune McEnroe 2020-03-02Include <>/-/* around nicks in scoop coloring 1.1June McEnroe 2020-03-02Replace .mk files with configure scriptJune McEnroe 2020-02-28Implement the causal.agency/consumer capabilityJune McEnroe 2020-02-22Include <>/-/* around nicks in coloringJune McEnroe 2020-02-22Use (almost) the full range of IRC colors for nicksJune McEnroe