1 /*
2  * Copyright (C) 2014 haru <uobikiemukot at gmail dot com>
3  * Copyright (C) 2014 Hayaki Saito <user@zuse.jp>
4  *
5  * This program is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation, either version 3 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
17  */
18 
19 void erase_cell(struct terminal *term, int y, int x);
20 void copy_cell(struct terminal *term, int dst_y, int dst_x, int src_y, int src_x);
21 int set_cell(struct terminal *term, int y, int x, const struct glyph_t *glyphp);
22 void scroll(struct terminal *term, int from, int to, int offset);
23 
24 /* relative movement: cause scrolling */
25 void move_cursor(struct terminal *term, int y_offset, int x_offset);
26 
27 /* absolute movement: never scroll */
28 void set_cursor(struct terminal *term, int y, int x);
29 const struct glyph_t *drcsch(struct terminal *term, uint32_t code);
30 void addch(struct terminal *term, uint32_t code);
31 void reset_esc(struct terminal *term);
32 bool push_esc(struct terminal *term, uint8_t ch);
33 void reset_charset(struct terminal *term);
34 void reset(struct terminal *term);
35 void term_init(struct terminal *term, int width, int height,
36                int foreground_color, int background_color,
37                int cursor_color, int tabwidth, int cjkwidth);
38 void term_die(struct terminal *term);
39 
40 /* emacs, -*- Mode: C; tab-width: 4; indent-tabs-mode: nil -*- */
41 /* vim: set expandtab ts=4 : */
42 /* EOF */
43