rename the project into madtty.
[apps/madtty.git] / inject_csi.h
index 15fbde7..b350a12 100644 (file)
@@ -1,3 +1,24 @@
+/*
+LICENSE INFORMATION:
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License (LGPL) as published by the Free Software Foundation.
+
+Please refer to the COPYING file for more information.
+
+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 Lesser 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
+
+Copyright (c) 2004 Bruno T. C. de Oliveira
+*/
+
+
 #ifndef btco_ROTE_inject_csi_h
 #define btco_ROTE_inject_csi_h
 
@@ -9,5 +30,15 @@
  * related fields in it */
 void rote_es_interpret_csi(RoteTerm *rt);
 
+static inline void clamp_cursor_to_bounds(RoteTerm *rt) {
+   if (rt->crow < 0) rt->curpos_dirty = true, rt->crow = 0;
+   if (rt->ccol < 0) rt->curpos_dirty = true, rt->ccol = 0;
+
+   if (rt->crow >= rt->rows) 
+      rt->curpos_dirty = true, rt->crow = rt->rows - 1;
+
+   if (rt->ccol >= rt->cols)
+      rt->curpos_dirty = true, rt->ccol = rt->cols - 1;
+}
 #endif