chiark / gitweb /
*** empty log message ***
[sympathy.git] / src / crt.h
index 002f67fe4d8e650d0deb65997a895cb140b8837e..f92c99ad6d249020ad5c377f9824d3c6361a90fa 100644 (file)
--- a/src/crt.h
+++ b/src/crt.h
@@ -12,6 +12,9 @@
 
 /*
  * $Log$
+ * Revision 1.4  2008/02/07 12:16:04  james
+ * *** empty log message ***
+ *
  * Revision 1.3  2008/02/06 11:30:37  james
  * *** empty log message ***
  *
 #define CRT_ATTR_BLINK    0x4
 #define CRT_ATTR_BOLD     0x8
 
+
+#define CRT_COLOR_BLACK                0x0     
+#define CRT_COLOR_RED          0x1
+#define CRT_COLOR_GREEN                0x2
+#define CRT_COLOR_YELLOW       0x3
+#define CRT_COLOR_BLUE         0x4
+#define CRT_COLOR_MAGENTA      0x5
+#define CRT_COLOR_CYAN         0x6
+#define CRT_COLOR_WHITE                0x7
+#define CRT_COLOR_INTENSITY    0x8
+
+#define CRT_COLOR_FG_MASK      0xf0
+#define CRT_COLOR_FG_SHIFT     4
+
+#define CRT_COLOR_BG_MASK      0xf
+#define CRT_COLOR_BG_SHIFT     0
+
+#define CRT_COLOR_BG(a)                (((a) & CRT_COLOR_BG_MASK) >> CRT_COLOR_BG_SHIFT)
+#define CRT_COLOR_FG(a)                (((a) & CRT_COLOR_FG_MASK) >> CRT_COLOR_FG_SHIFT)
+
+#define CRT_MAKE_COLOR(f,b)    (((f) << CRT_COLOR_FG_SHIFT)|(b))
+
+#define CRT_BGCOLOR_NORMAL     CRT_COLOR_BLACK
+#define CRT_FGCOLOR_NORMAL     CRT_COLOR_WHITE
+
+#define CRT_COLOR_NORMAL       CRT_MAKE_COLOR(CRT_FGCOLOR_NORMAL,CRT_BGCOLOR_NORMAL)
+
 typedef struct
 {
   uint8_t chr;
   uint8_t attr;
+  uint8_t color;
 } CRT_CA;
 
 typedef struct