chiark / gitweb /
*** empty log message ***
[sympathy.git] / src / vt102.h
index 5a2d68603d73762b834ce3bd6a77b460ef76091c..1007353b502a7eae453d7f5bbe4da4c32f0defa9 100644 (file)
 
 /*
  * $Log$
+ * Revision 1.4  2008/02/06 11:30:37  james
+ * *** empty log message ***
+ *
+ * Revision 1.3  2008/02/04 20:23:55  james
+ * *** empty log message ***
+ *
  * Revision 1.2  2008/02/04 02:05:06  james
  * *** empty log message ***
  *
 
 #define VT102_CSI_LEN 128
 
+#define VT102_ROWS             24
+#define VT102_COLS             80
+#define VT102_STATUS_ROW       24
+
+#define VT102_NMODES           32
+
 typedef struct
 {
   int in_escape;
@@ -35,11 +47,29 @@ typedef struct
 
 typedef struct
 {
+  CRT_Pos top_margin, bottom_margin;
+  CRT_Pos screen_start, screen_end;
   VT102_parser parser;
   int attr;
   CRT crt;
   CRT_Pos pos;
+
+  uint8_t modes[VT102_NMODES];
+  uint8_t private_modes[VT102_NMODES];
 } VT102;
 
+#define VT102_PRIVATE_MODE_CURSOR_MODE         1
+#define VT102_PRIVATE_MODE_VT52                        2
+#define VT102_PRIVATE_MODE_132COLS             3
+#define VT102_PRIVATE_MODE_SMOOTH_SCROLL       4
+#define VT102_PRIVATE_MODE_REVERSE_SCREEN      5
+#define VT102_PRIVATE_MODE_ORIGIN_MODE         6
+#define VT102_PRIVATE_MODE_AUTO_WRAP           7
+#define VT102_PRIVATE_MODE_AUTO_REPEAT         8
+
+#define VT102_MODE_KEYBOARD_DISABLE            2
+#define VT102_MODE_INSERT                      4
+#define VT102_PRIVATE_MODE_LOCAL_ECHO_OFF      12
+#define VT102_MODE_NEWLINE_MODE                        20
 
 #endif /* __VT102_H__ */