mirror of
https://github.com/irssi/irssi.git
synced 2025-02-02 15:08:01 -05:00
/SET scrollback_save_formats + /SB REDRAW is broken currently. There's some other minor things that might need to be changed. This time it allows the same window to be visible multiple times in screen, like you could make a new split window where to scroll back and find something while still seeing the new messages at the other window, this however doesn't work yet but it should be quite easy to make it :) I've tested that pretty much everything should work with this, new lines can be added at any position and lines can be removed from any position and screen should be updated properly. Screen resizing should also work perfectly now (maybe it did previously too, not sure) and hopefully now we won't see any of those ugly strange bugs some people were having. Also this time the same code isn't written 2-3 times to do some specific thing, like scrolling has now only one view_scroll() function instead of the 3 separate functions it used to have :) git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1442 dbcabf3a-b0e7-0310-adc4-f8d773084564
37 lines
909 B
C
37 lines
909 B
C
#ifndef __GUI_WINDOWS_H
|
|
#define __GUI_WINDOWS_H
|
|
|
|
#include "mainwindows.h"
|
|
#include "textbuffer-view.h"
|
|
|
|
#define WINDOW_GUI(a) ((GUI_WINDOW_REC *) ((a)->gui_data))
|
|
|
|
#define is_window_visible(win) \
|
|
(WINDOW_GUI(win)->parent->active == (win))
|
|
|
|
typedef struct {
|
|
MAIN_WINDOW_REC *parent;
|
|
TEXT_BUFFER_VIEW_REC *view;
|
|
|
|
unsigned int use_insert_after:1;
|
|
LINE_REC *insert_after;
|
|
} GUI_WINDOW_REC;
|
|
|
|
void gui_windows_init(void);
|
|
void gui_windows_deinit(void);
|
|
|
|
WINDOW_REC *gui_window_create(MAIN_WINDOW_REC *parent);
|
|
|
|
void gui_window_resize(WINDOW_REC *window, int width, int height);
|
|
void gui_window_reparent(WINDOW_REC *window, MAIN_WINDOW_REC *parent);
|
|
|
|
#define gui_window_redraw(window) \
|
|
textbuffer_view_redraw(WINDOW_GUI(window)->view)
|
|
|
|
void gui_window_scroll(WINDOW_REC *window, int lines);
|
|
void gui_window_scroll_line(WINDOW_REC *window, LINE_REC *line);
|
|
|
|
void window_update_prompt(void);
|
|
|
|
#endif
|