diff options
author | nicm <nicm> | 2019-07-01 06:56:00 +0000 |
---|---|---|
committer | nicm <nicm> | 2019-07-01 06:56:00 +0000 |
commit | 2da050413c17e587be8bede710112096ce6b5f5a (patch) | |
tree | d551271f4c62a338d22daee38865ffb3bd043937 /style.c | |
parent | cf30e0f9357b7e42491645a87eeae06ffb8e8066 (diff) | |
download | rtmux-2da050413c17e587be8bede710112096ce6b5f5a.tar.gz rtmux-2da050413c17e587be8bede710112096ce6b5f5a.tar.bz2 rtmux-2da050413c17e587be8bede710112096ce6b5f5a.zip |
Add a "fill" style attribute to clear the entire format drawing area in
a colour, GitHub issue 1815.
Diffstat (limited to 'style.c')
-rw-r--r-- | style.c | 12 |
1 files changed, 12 insertions, 0 deletions
@@ -32,6 +32,7 @@ static struct style style_default = { { 0, 0, 8, 8, 0, { { ' ' }, 0, 1, 1 } }, + 8, STYLE_ALIGN_DEFAULT, STYLE_LIST_OFF, @@ -127,6 +128,10 @@ style_parse(struct style *sy, const struct grid_cell *base, const char *in) sy->align = STYLE_ALIGN_RIGHT; else goto error; + } else if (end > 5 && strncasecmp(tmp, "fill=", 5) == 0) { + if ((value = colour_fromstring(tmp + 5)) == -1) + goto error; + sy->fill = value; } else if (end > 3 && strncasecmp(tmp + 1, "g=", 2) == 0) { if ((value = colour_fromstring(tmp + 3)) == -1) goto error; @@ -213,6 +218,11 @@ style_tostring(struct style *sy) tmp); comma = ","; } + if (sy->fill != 8) { + off += xsnprintf(s + off, sizeof s - off, "%sfill=%s", comma, + colour_tostring(sy->fill)); + comma = ","; + } if (gc->fg != 8) { off += xsnprintf(s + off, sizeof s - off, "%sfg=%s", comma, colour_tostring(gc->fg)); @@ -290,6 +300,8 @@ style_equal(struct style *sy1, struct style *sy2) return (0); if ((gc1->attr & STYLE_ATTR_MASK) != (gc2->attr & STYLE_ATTR_MASK)) return (0); + if (sy1->fill != sy2->fill) + return (0); if (sy1->align != sy2->align) return (0); return (1); |