/* tbwm.h by Michael Thorpe and Nathan Hellweg 97-10-08 */ #ifndef _TBWM_H #define _TBWM_H #include #include #include "screen.h" typedef struct TerminalWindow TW; typedef int (*func)(TW *,int); struct TerminalWindow { TW *prev,*next; pid_t pid; int fd; int flags; int y,x; int rows,cols; int cur_y,cur_x; int data_y,data_x; int data_rows,data_cols; int mark; char *title; int **image; int **virtual_image; int curstate; int save_y,save_x,save_state; char *outputbacklog; int outputbackloglen; int sub_win_start,sub_win_end; }; #define TW_NOTITLE 1 #define TW_CANTMOVE 2 #define TW_NOBORDER 4 #define TW_INVISIBLE 8 #define TW_ONBOTT 16 #define TW_ONTOP 32 #define TW_CANTRESIZE 64 extern TW *TopWindow; extern FILE *debug; int TBWM_init(); void TBWM_putch(TW *Window,int y, int x,int c,int internal); void TBWM_AbsDraw(int y, int x,int internal); void TBWM_Clean(int y, int x, int rows, int cols,int internal); void TBWM_Refresh(TW *Window,int internal); void TBWM_Mark(TW *Window, int c,int internal); void TBWM_BorderToggle(TW *Window,int internal); void TBWM_TitleToggle(TW *Window,int internal); void TBWM_TitleChange(TW *Window,char *title,int internal); TW * TBWM_Create(int y,int x,int rows,int cols,char *title,char **proc,void *foo,int flags,int internal); void TBWM_Kill(TW *Window,int internal); void TBWM_Move(TW *Window,int y, int x,int internal); void TBWM_End(); void TBWM_MoveBefore(TW *MoveMe, TW *MoveHere,int internal); void TBWM_Resize(TW *Window, int NewRows, int NewCols,int internal); void TBWM_dputch(TW *Window, char c); void TBWM_MoveCur(TW *Window,int y, int x,int internal); void TBWM_Scroll(TW *Window,int rows,int internal); void TBWM_SubWindowScroll(TW *Window,int rows,int internal); void TBWM_SubWindowSet(TW *Window,int top_row,int bottom_row); #endif