From 9bcf2667e7e239873597b7ec2172206a9af18071 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Tue, 14 Mar 2017 16:53:53 +0100 Subject: Restructure display code Use pull instead of push based model for display code. Previously view.c was calling into the ui frontend code, with the new scheme this switches around: the necessary data is fetched by the ui as necessary. The UI independent display code is moved out of view.c/ui-curses.c into vis.c. The cell styles are now directly embedded into the Cell struct. New UI styles are introduced for: - status bar (focused / non-focused) - info message - window separator - EOF symbol You will have to update your color themes. The terminal output code is further abstracted into a generic ui-terminal.c part which keeps track of the whole in-memory cell matrix and #includes ui-terminal-curses.c for the actual terminal output. This architecture currently assumes that there are no overlapping windows. It will also allow non-curses based terminal user interfaces. --- vis.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'vis.h') diff --git a/vis.h b/vis.h index fb9f4b1..46123ea 100644 --- a/vis.h +++ b/vis.h @@ -96,6 +96,7 @@ void vis_redraw(Vis*); void vis_update(Vis*); /* temporarily supsend the editor process, resumes upon receiving SIGCONT */ void vis_suspend(Vis*); +void vis_resume(Vis*); /* creates a new window, and loads the given file. if filename is NULL * an unamed / empty buffer is created. If the given file is already opened @@ -118,6 +119,7 @@ void vis_window_close(Win*); bool vis_window_split(Win*); /* change status message of this window */ void vis_window_status(Win*, const char *status); +void vis_window_draw(Win*); /* focus the next / previous window */ void vis_window_next(Vis*); void vis_window_prev(Vis*); -- cgit v1.2.3