3 This program is free software; you can redistribute it and/or
4 modify it under the terms of the GNU Lesser General Public
5 License (LGPL) as published by the Free Software Foundation.
7 Please refer to the COPYING file for more information.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 General Public License for more details.
14 You should have received a copy of the GNU Lesser General Public
15 License along with this program; if not, write to the Free Software
16 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 Copyright © 2004 Bruno T. C. de Oliveira
19 Copyright © 2006 Pierre Habouzit
22 #ifndef MADTTY_MADTTY_PRIV_H
23 #define MADTTY_MADTTY_PRIV_H
25 #define ESEQ_BUF_SIZE 128 /* size of escape sequence buffer */
27 /* Terminal private data */
28 struct RoteTermPrivate_ {
29 unsigned escaped : 1; /* whether we are currently reading an
32 unsigned graphmode : 1; /* whether terminal is in graphical
33 * character mode or not */
35 int scrolltop, scrollbottom; /* current scrolling region of terminal */
36 int saved_x, saved_y; /* saved cursor position */
38 char esbuf[ESEQ_BUF_SIZE]; /* 0-terminated string. Does NOT include
39 * the initial escape (\x1B) character. */
40 int esbuf_len; /* length of buffer. The following property
41 * is always kept: esbuf[esbuf_len] == '\0' */
44 /* Interprets a CSI escape sequence stored in rt->pd->esbuf,
45 * changing rt to reflect the effect of the sequence. This function
46 * will not change rt->pd->esbuf, rt->pd->escaped or other escape-sequence
47 * related fields in it */
48 void rote_es_interpret_csi(RoteTerm *rt);
50 #endif /* MADTTY_MADTTY_PRIV_H */