From 8dcd82f193500659f5edb949d069278282a85795 Mon Sep 17 00:00:00 2001 From: Curtis McEnroe Date: Tue, 13 Aug 2019 12:40:16 -0400 Subject: Add minimums of 1 to some parameters --- term.c | 18 ++++++++++-------- term.h | 2 -- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/term.c b/term.c index 5814f33..0554ec2 100644 --- a/term.c +++ b/term.c @@ -26,6 +26,10 @@ #include "term.h" +#define MIN(a, b) ((a) < (b) ? (a) : (b)) +#define MAX(a, b) ((a) > (b) ? (a) : (b)) +#define BOX(l, x, u) MIN(MAX((x), (l)), (u)) + static void unhandled(const char *format, ...) { if (isatty(STDERR_FILENO)) return; va_list ap; @@ -54,7 +58,6 @@ static void move(struct Cell *dst, struct Cell *src, uint len) { } static void scrollUp(struct Term *term, uint top, uint n) { - if (!n) return; move( cell(term, top, 0), cell(term, top + n, 0), @@ -68,7 +71,6 @@ static void scrollUp(struct Term *term, uint top, uint n) { } static void scrollDown(struct Term *term, uint top, uint n) { - if (!n) return; move( cell(term, top + n, 0), cell(term, top, 0), @@ -179,18 +181,18 @@ ACTION(ech) { } ACTION(dch) { - uint n = MIN(P(0, 1), t->cols - X); if (!n) return; + uint n = BOX(1, P(0, 1), t->cols - X); move(C(Y, X), C(Y, X + n), t->cols - X - n); erase(t->style, C(Y, t->cols - n), C(Y, R)); } ACTION(ich) { - uint n = MIN(P(0, 1), t->cols - X); if (!n) return; + uint n = BOX(1, P(0, 1), t->cols - X); move(C(Y, X + n), C(Y, X), t->cols - X - n); erase(t->style, C(Y, X), C(Y, X + n - 1)); } -ACTION(dl) { scrollUp(t, Y, MIN(P(0, 1), t->scroll.bot - Y)); } -ACTION(il) { scrollDown(t, Y, MIN(P(0, 1), t->scroll.bot - Y)); } +ACTION(dl) { scrollUp(t, Y, BOX(1, P(0, 1), t->scroll.bot - Y)); } +ACTION(il) { scrollDown(t, Y, BOX(1, P(0, 1), t->scroll.bot - Y)); } ACTION(nl) { if (Y == t->scroll.bot) { @@ -207,10 +209,10 @@ ACTION(ri) { } } ACTION(su) { - scrollUp(t, t->scroll.top, MIN(P(0, 1), t->scroll.bot - t->scroll.top)); + scrollUp(t, t->scroll.top, BOX(1, P(0, 1), t->scroll.bot - t->scroll.top)); } ACTION(sd) { - scrollDown(t, t->scroll.top, MIN(P(0, 1), t->scroll.bot - t->scroll.top)); + scrollDown(t, t->scroll.top, BOX(1, P(0, 1), t->scroll.bot - t->scroll.top)); } ACTION(decstbm) { t->scroll.bot = MIN(P(1, t->rows) - 1, B); diff --git a/term.h b/term.h index 2bc4dcb..b4a96af 100644 --- a/term.h +++ b/term.h @@ -17,8 +17,6 @@ #include #include -#define MIN(a, b) ((a) < (b) ? (a) : (b)) - typedef unsigned uint; enum { -- cgit 1.4.1 a>/2025-03-15/film (unfollow)
Commit message (Collapse)Author
2025-04-18Add camera template foldersJune McEnroe
2025-04-13Add A Half-Built GardenJune McEnroe
Good one.
2025-04-13Also hide lens for trips if it hasn't changedJune McEnroe
2025-04-12Don't list lens in trips if fixedJune McEnroe
2025-04-12Allow setting exposures when loading filmJune McEnroe
2025-04-08Those were supposed to be en-dashes...June McEnroe
2025-04-08Generate pages per rollJune McEnroe
2025-04-08Add metadata from many rolls of filmJune McEnroe
2025-03-25Add emoji for lens, replace all f/'sJune McEnroe
2024-12-29Add photos from December 28June McEnroe
2024-12-29Fancify the manual lens textJune McEnroe
2024-12-28Update film preset list with what I expect to keep shootingJune McEnroe
2024-12-28Add the past few months of rolls of filmJune McEnroe
2024-11-13Add Tea with the Black DragonJune McEnroe
I found this in a box on the side of the road being thrown own. It's decent pulp but nothing special. Not even as racist as I expected it to be. Also as one might guess, the author using their initials is a woman, so I only broke one of my rules when it comes to book selection.
2024-11-05Add a bunch of photosJune McEnroe
2024-10-12Publish "film review"June McEnroe
2024-10-12Add photos from October 6June McEnroe
2024-10-12Add photos from October 5June McEnroe
2024-10-09Add photos from October 1June McEnroe
Ok the first 3 are from September 29 but I didn't want to spoil the black and white roll.
2024-10-07Add photos from September 29June McEnroe
2024-10-07Add photos from September 28June McEnroe
2024-10-07Add photos from September 22June McEnroe
2024-09-25Add photos from September 15June McEnroe
2024-09-24Add photos from September 14June McEnroe
2024-09-24Add photos from September 12June McEnroe
2024-09-24Add photos from September 7June McEnroe
2024-09-24Allow not having descriptionsJune McEnroe
I'm sorry, I can't keep writing descriptions. It makes posting photos take too long, I often don't know the words for what I'm looking at, and a good description is an entirely different work of art than the photo I took, and I'm just a photographer. It's visual art.
2024-09-23Automatically select the last used lens for a bodyJune McEnroe
2024-09-19Add photos from September 5June McEnroe
Had to prefix the folder number onto these file names manually because they must have come out of a different scanner or something.
2024-09-15Add some more film stocks to the listJune McEnroe
2024-09-13Add photos from September 2June McEnroe
2024-09-13Add Fomapan 200 to films listJune McEnroe
2024-09-10Add August 29 picnic photosJune McEnroe
2024-09-08Apply some bold to trips renderingJune McEnroe
This seems easier to visually scan. The only other thing I'd like is a nicer date rendering but JavaScript is useless for that.
2024-09-08Render trips hopefully more efficientlyJune McEnroe
2024-09-08Allow removing bodies and lensesJune McEnroe
2024-09-08Limit body width so it looks less silly on desktopJune McEnroe
2024-09-07Handle no film being loadedJune McEnroe
2024-09-07Fancy up the text a littleJune McEnroe