summary refs log tree commit diff
path: root/buffer.c
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2020-09-02 00:27:16 -0400
committerJune McEnroe <june@causal.agency>2020-09-02 00:27:16 -0400
commit149cafc5abe7f8a7709d8d100a5e6c547eab0b52 (patch)
tree16890d8bf4f5a0e488a633f3b3b00f455827aed9 /buffer.c
parentImplement buffer line wrapping (diff)
downloadcatgirl-149cafc5abe7f8a7709d8d100a5e6c547eab0b52.tar.gz
catgirl-149cafc5abe7f8a7709d8d100a5e6c547eab0b52.zip
Render one main window from buffers
Still missing: split scrolling and preserving a blank on reflow either
from resize or ignore toggling.

Anecdata: on one of my instances of catgirl, RAM usage of the previous
release was ~30M, RAM usage of this commit was ~12M.
Diffstat (limited to 'buffer.c')
-rw-r--r--buffer.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/buffer.c b/buffer.c
index 32eb1fb..8c6d6b3 100644
--- a/buffer.c
+++ b/buffer.c
@@ -178,6 +178,11 @@ int bufferPush(
 	return flow(&buffer->hard, cols, soft);
 }
 
+int bufferBlank(struct Buffer *buffer) {
+	struct Line blank = { .heat = Cold, .str = "" };
+	return flow(&buffer->hard, 1, &blank);
+}
+
 void bufferReflow(struct Buffer *buffer, int cols) {
 	buffer->hard.len = 0;
 	for (size_t i = 0; i < BufferCap; ++i) {