X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcrt.h;h=93941d591a2db8eea5263dbe473f302582c90bbc;hb=refs%2Fheads%2Fmaster;hp=addaed8a90bd89d772e58f8a32d4fc6a7513e186;hpb=89fa7c69158bf37823875c61345024308b156772;p=sympathy.git diff --git a/src/crt.h b/src/crt.h index addaed8..93941d5 100644 --- a/src/crt.h +++ b/src/crt.h @@ -1,17 +1,50 @@ -/* +/* * crt.h: * - * Copyright (c) 2008 James McKenzie , + * Copyright (c) 2008 James McKenzie , * All rights reserved. * */ -/* - * $Id$ +/* + * $Id: crt.h,v 1.18 2008/03/10 11:49:33 james Exp $ */ -/* - * $Log$ +/* + * $Log: crt.h,v $ + * Revision 1.18 2008/03/10 11:49:33 james + * *** empty log message *** + * + * Revision 1.17 2008/03/07 12:37:04 james + * *** empty log message *** + * + * Revision 1.16 2008/03/03 06:04:42 james + * *** empty log message *** + * + * Revision 1.15 2008/03/02 10:37:56 james + * *** empty log message *** + * + * Revision 1.14 2008/02/28 16:57:51 james + * *** empty log message *** + * + * Revision 1.13 2008/02/27 09:42:22 james + * *** empty log message *** + * + * Revision 1.12 2008/02/26 23:23:17 james + * *** empty log message *** + * + * Revision 1.11 2008/02/26 19:08:27 james + * *** empty log message *** + * + * Revision 1.10 2008/02/24 00:42:53 james + * *** empty log message *** + * + * Revision 1.9 2008/02/20 19:25:09 james + * *** empty log message *** + * + * Revision 1.8 2008/02/13 09:12:21 james + * *** empty log message *** + * * Revision 1.7 2008/02/13 01:08:18 james * *** empty log message *** * @@ -38,8 +71,8 @@ #ifndef __CRT_H__ #define __CRT_H__ -#define CRT_ROWS 25 -#define CRT_COLS 80 +#define CRT_ROWS 60 +#define CRT_COLS 132 #define CRT_CELS (CRT_ROWS*CRT_COLS) #define CRT_ADDR(r,c) (((r)*CRT_COLS)+(c)) @@ -78,33 +111,29 @@ #define CRT_COLOR_NORMAL CRT_MAKE_COLOR(CRT_FGCOLOR_NORMAL,CRT_BGCOLOR_NORMAL) -typedef struct -{ - uint8_t chr; +typedef struct __attribute__ ((packed)) { + uint32_t chr; uint8_t attr; uint8_t color; } CRT_CA; -typedef struct -{ +typedef struct { int x; int y; } CRT_Pos; -typedef struct -{ +typedef struct { CRT_Pos s; CRT_Pos e; int dir; } CRT_ScrollHint; -typedef struct -{ +typedef struct CRT_struct { CRT_CA screen[CRT_CELS]; CRT_Pos pos; - CRT_ScrollHint sh; int hide_cursor; + CRT_Pos size; } CRT; @@ -115,7 +144,7 @@ crt_ca_cmp (CRT_CA a, CRT_CA b) } static inline -crt_pos_cmp (CRT_POS a, CRT_POS b) +crt_pos_cmp (CRT_Pos a, CRT_Pos b) { return memcmp (&a, &b, sizeof (a)); }