/*
* $Log$
+ * Revision 1.9 2008/02/20 19:36:06 james
+ * @@
+ *
* Revision 1.8 2008/02/20 19:25:09 james
* *** empty log message ***
*
int history_ptr;
void (*dispatch)(struct ANSI_struct *,struct Context_struct *);
- void (*update)(struct ANSI_struct *,struct CRT_struct *);
+ void (*update)(struct ANSI_struct *,struct Context_struct *);
+ void (*oneshot)(struct ANSI_struct *,struct CRT_struct *);
void (*reset)(struct ANSI_struct *,struct CRT_struct *);
void (*terminal_reset)(struct ANSI_struct *);
+ void (*close)(struct ANSI_struct *);
} ANSI;
/* ansi.c */
-extern void ansi_move(ANSI *a, CRT_Pos p);
-extern void ansi_showhide_cursor(ANSI *a, int hide);
-extern void ansi_force_attr_normal(ANSI *a);
-extern void ansi_set_color(ANSI *a, int color);
-extern void ansi_set_attr(ANSI *a, int attr);
-extern void ansi_render(ANSI *a, CRT_CA ca);
-extern void ansi_cls(ANSI *a);
-extern void ansi_draw_line(ANSI *a, CRT_CA *cap, int y);
-extern void ansi_resize_check(ANSI *a);
-extern void ansi_history(ANSI *a, History *h);
-extern void ansi_draw(ANSI *a, CRT *c);
-extern void ansi_reset(ANSI *a, CRT *c);
-extern void ansi_terminal_reset(ANSI *a);
-extern void ansi_flush_escape(ANSI *a, Context *c);
-extern void ansi_parse_deckey(ANSI *a, Context *c);
-extern void ansi_parse_ansikey(ANSI *a, Context *c);
-extern void ansi_parse_escape(ANSI *a, Context *c);
-extern void ansi_check_escape(ANSI *a, Context *c);
-extern void ansi_parse_char(ANSI *a, Context *c, int ch);
-extern void ansi_parse(ANSI *a, Context *c, char *buf, int len);
extern int ansi_dispatch(ANSI *a, Context *c);
-extern void ansi_update(ANSI *a, Context *c);
+extern ANSI *ansi_new_from_terminal(ANSI *a, TTY *t);
/* crt.c */
extern void crt_erase(CRT *c, CRT_Pos s, CRT_Pos e, int ea);
extern void crt_cls(CRT *c);