/*
* $Log$
+ * Revision 1.7 2008/02/07 12:41:06 james
+ * *** empty log message ***
+ *
* Revision 1.6 2008/02/07 12:16:04 james
* *** empty log message ***
*
int i;
crt_erase (c, s, e, 1);
-
+ c->sh.dir=0;
}
void
int l, n;
int p;
+ c->sh.s=s;
+ c->sh.e=e;
+ c->sh.dir=-1;
+
s.x = 0;
e.x = CRT_COLS - 1;
n = e.y - s.y;
+
p = CRT_ADDR_POS (&s);
while (n--)
int l, n;
int p;
+ c->sh.s=s;
+ c->sh.e=e;
+ c->sh.dir=1;
+
+
s.x = 0;
e.x = CRT_COLS - 1;
c->pos.x = 0;
c->pos.y = 0;
c->hide_cursor = 1;
+ c->sh.dir=0;
}
void
c->screen[CRT_ADDR (c->pos.y, c->pos.x)] = ca;
-
-
+ c->sh.dir=0;
}
/*
* $Log$
+ * Revision 1.5 2008/02/07 12:41:06 james
+ * *** empty log message ***
+ *
* Revision 1.4 2008/02/07 12:16:04 james
* *** empty log message ***
*
} CRT_Pos;
+typedef struct {
+ CRT_Pos s;
+ CRT_Pos e;
+ int dir;
+} CRT_ScrollHint;
+
typedef struct
{
CRT_CA screen[CRT_CELS];
CRT_Pos pos;
+ CRT_ScrollHint sh;
int hide_cursor;
} CRT;
void ansi_move(ANSI *a, CRT_Pos p);
void ansi_showhide_cursor(ANSI *a, int hide);
void ansi_force_attr_normal(ANSI *a);
+void ansi_set_color(ANSI *a, int color);
void ansi_set_attr(ANSI *a, int attr);
void ansi_render(ANSI *a, CRT_CA ca);
void ansi_cls(ANSI *a);