// daemon/Screen.hh // This file is part of AnyTerm; see http://anyterm.org/ // (C) 2006-2007 Philip Endecott // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #ifndef Screen_hh #define Screen_hh #include #include #include "Cell.hh" class Screen { int rows_; int cols_; int scrollback_; typedef std::vector row_t; typedef std::vector cells_t; cells_t cells; unsigned int wrap; public: Screen(int rows, int cols, int scrollback=0): rows_(rows), cols_(cols), scrollback_(scrollback), wrap(0), cursor_row(0), cursor_col(0), cursor_visible(true) { for (int r=0; r