diff options
author | Timo Sirainen <cras@irssi.org> | 2000-11-21 03:00:05 +0000 |
---|---|---|
committer | cras <cras@dbcabf3a-b0e7-0310-adc4-f8d773084564> | 2000-11-21 03:00:05 +0000 |
commit | e923b1651afc995cf75caf7c63cdf8b246272801 (patch) | |
tree | e640425514a26d764587d574bfe2335dfdde4538 /src/fe-text/gui-windows.h | |
parent | e3084d3ffae3e57ddf89507e69f61b83c5ceaf90 (diff) | |
download | irssi-e923b1651afc995cf75caf7c63cdf8b246272801.zip |
/SCROLLBACK REDRAW - redraw the contents of current window according to
active formats, ie. changing theme changes scrollback.
It's still a bit buggy (can crash) with multiline formats, need to fix
it as soon as I figure out where the problem is..
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@852 dbcabf3a-b0e7-0310-adc4-f8d773084564
Diffstat (limited to 'src/fe-text/gui-windows.h')
-rw-r--r-- | src/fe-text/gui-windows.h | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/fe-text/gui-windows.h b/src/fe-text/gui-windows.h index 1d037722..ec2d8760 100644 --- a/src/fe-text/gui-windows.h +++ b/src/fe-text/gui-windows.h @@ -15,16 +15,16 @@ enum { LINE_CMD_EOL=0x80, /* line ends here. */ LINE_CMD_CONTINUE, /* line continues in next block */ - LINE_CMD_OVERFLOW, /* buffer overflow! */ LINE_CMD_COLOR0, /* change to black, would be same as \0\0 but it breaks things.. */ LINE_CMD_COLOR8, /* change to dark grey, normally 8 = bold black */ LINE_CMD_UNDERLINE, /* enable/disable underlining */ LINE_CMD_INDENT, /* if line is split, indent it at this position */ LINE_CMD_BLINK, /* blinking background */ - LINE_CMD_FORMAT /* end of line, but next will come the format that was used to create the + LINE_CMD_FORMAT, /* end of line, but next will come the format that was used to create the text in format <module><format_name><arg><arg2...> - fields are separated with \0<format> and last argument ends with \0<eol>. \0<continue> is allowed anywhere */ + LINE_CMD_FORMAT_CONT /* multiline format, continues to next line */ }; typedef struct { @@ -56,7 +56,6 @@ typedef struct { typedef struct { char buffer[LINE_TEXT_CHUNK_SIZE]; - char overflow[2]; int pos; int lines; } TEXT_CHUNK_REC; @@ -69,7 +68,7 @@ typedef struct { GList *lines; GHashTable *line_cache; - LINE_REC *cur_line; + LINE_REC *cur_line, *temp_line; TEXT_CHUNK_REC *cur_text; int xpos, ypos; /* cursor position in screen */ @@ -80,7 +79,8 @@ typedef struct { int bottom_subline; int empty_linecount; /* how many empty lines are in screen. a screenful when started or used /CLEAR */ - int bottom; /* window is at the bottom of the text buffer */ + int bottom:1; /* window is at the bottom of the text buffer */ + int eol_marked:1; /* last line marked for eol */ /* For /LAST -new and -away */ GList *lastlog_last_check; @@ -106,6 +106,7 @@ int gui_window_line_draw(GUI_WINDOW_REC *gui, LINE_REC *line, int ypos, int skip void gui_window_clear(WINDOW_REC *window); void gui_window_redraw(WINDOW_REC *window); +void gui_window_reformat_line(WINDOW_REC *window, LINE_REC *line); void gui_window_resize(WINDOW_REC *window, int ychange, int xchange); void gui_window_reparent(WINDOW_REC *window, MAIN_WINDOW_REC *parent); |