/*************************************************************************
* TinyFugue - programmable mud client
* Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2003, 2004, 2005, 2006-2007 Ken Keys
*
* TinyFugue (aka "tf") is protected under the terms of the GNU
* General Public License. See the file "COPYING" for details.
************************************************************************/
/* $Id: output.h,v 35004.68 2007/01/13 23:12:39 kkeys Exp $ */
#ifndef OUTPUT_H
#define OUTPUT_H
#if TERMCAP
# define SCREEN
#endif
#if HARDCODE
# define SCREEN
#endif
/* refresh types */
typedef enum { REF_NONE, REF_PHYSICAL, REF_PROMPT, REF_LOGICAL } ref_type_t;
#define set_refresh_pending(type) (need_refresh |= (type))
#define display_screen (virtscreen ? fg_screen : default_screen)
extern int lines, columns;
extern struct timeval clock_update; /* when to update clock */
extern ref_type_t need_refresh; /* Input needs refresh? */
extern int need_more_refresh; /* Visual more prompt needs refresh? */
extern struct timeval alert_timeout; /* when to clear alert */
extern unsigned long alert_id;
extern void dobell(int n);
extern void init_output(void);
extern int change_term(Var *var);
extern void setup_screen(void);
extern int winlines(void);
extern int redraw(void);
extern int redraw_window(Screen *screen, int already_clear);
extern int clear_display_screen(void);
extern void oflush(void);
extern int tog_more(Var *var);
extern int tog_keypad(Var *var);
extern int clear_more(int new);
extern int pause_screen(void);
extern int ch_visual(Var *var);
extern int ch_expnonvis(Var *var);
extern int ch_wrap(Var *var);
extern int ch_status_int(Var *var);
extern int ch_status_fields(Var *var);
extern int ch_status_height(Var *var);
extern void update_status_field(Var *var, stat_id_t internal);
extern void format_status_line(void);
extern int display_status_line(void);
extern int update_status_line(Var *var);
extern int handle_status_width_func(const char *name);
extern conString *status_field_text(int row);
extern void fix_screen(void);
extern void minimal_fix_screen(void);
extern void iput(int len);
extern void inewline(void);
extern void idel(int place);
extern int igoto(int place);
extern int dokey_page(void);
extern int dokey_hpage(void);
extern int dokey_line(void);
extern int screen_end(int need_redraw);
extern int selflush(void);
extern void do_refresh(void);
extern void logical_refresh(void);
extern void physical_refresh(void);
extern void reset_outcount(Screen *screen);
extern void enscreen(Screen *screen, conString *line);
extern void screenout(conString *line);
extern void update_prompt(conString *newprompt, int display);
extern int wraplen(const char *str, int len, int indent);
extern const char *get_keycode(const char *name);
extern int moresize(Screen *screen);
extern int screen_has_filter(struct Screen *screen);
extern void clear_screen_filter(struct Screen *screen);
extern int enable_screen_filter(struct Screen *screen);
extern void set_screen_filter(struct Screen *screen, Pattern *pat,
attr_t attr_flag, int sense);
extern void alert(conString *msg);
extern void clear_alert(void);
#if USE_DMALLOC
extern void free_output(void);
#endif
#endif /* OUTPUT_H */
syntax highlighted by Code2HTML, v. 0.9.1