summaryrefslogtreecommitdiffstats
path: root/sys/isa/syscons.h
diff options
context:
space:
mode:
authorsos <sos@FreeBSD.org>1995-04-04 20:06:26 +0000
committersos <sos@FreeBSD.org>1995-04-04 20:06:26 +0000
commitd2045dc812a6b5957800399dce1c2c125fbf2050 (patch)
tree47408e27c9b35745fe900573cd50c22470ea711f /sys/isa/syscons.h
parent329838744ce93564672143b61e8424abbacac162 (diff)
downloadFreeBSD-src-d2045dc812a6b5957800399dce1c2c125fbf2050.zip
FreeBSD-src-d2045dc812a6b5957800399dce1c2c125fbf2050.tar.gz
Fixes to the hardware cursor emulation.
Submitted by: ache
Diffstat (limited to 'sys/isa/syscons.h')
-rw-r--r--sys/isa/syscons.h27
1 files changed, 19 insertions, 8 deletions
diff --git a/sys/isa/syscons.h b/sys/isa/syscons.h
index 1e431a8..9e70143 100644
--- a/sys/isa/syscons.h
+++ b/sys/isa/syscons.h
@@ -40,6 +40,16 @@
/* printable chars */
#define PRINTABLE(ch) ((ch)>0x1B || ((ch)>0x0d && (ch)<0x1b) || (ch)<0x07)
+/* macros for "intelligent" screen update */
+#define mark_for_update(scp, x) {\
+ if ((x) < scp->start) scp->start = (x);\
+ else if ((x) > scp->end) scp->end = (x);\
+ }
+#define mark_all(scp) {\
+ scp->start = 0;\
+ scp->end = scp->xsize * scp->ysize;\
+ }
+
/* status flags */
#define LOCK_KEY_MASK 0x0000F
#define LED_MASK 0x00007
@@ -52,7 +62,6 @@
#define CURSOR_SHOWN 0x00400
#define MOUSE_ENABLED 0x00800
#define UPDATE_MOUSE 0x01000
-#define UPDATE_SCREEN 0x02000
/* configuration flags */
#define VISUAL_BELL 0x00001
@@ -95,12 +104,14 @@
#define GDCREG IO_VGA+0x0F /* graph data controller data */
/* special characters */
-#define cntlc 0x03
-#define cntld 0x04
-#define bs 0x08
-#define lf 0x0a
-#define cr 0x0d
-#define del 0x7f
+#define cntlc 0x03
+#define cntld 0x04
+#define bs 0x08
+#define lf 0x0a
+#define cr 0x0d
+#define del 0x7f
+
+#define DEAD_CHAR 0x07 /* char used for cursor */
typedef struct term_stat {
int esc; /* processing escape sequence */
@@ -199,7 +210,7 @@ static void set_vgaregs(char *modetable);
static void set_font_mode();
static void set_normal_mode();
static void copy_font(int operation, int font_type, char* font_image);
-static void set_destructive_cursor(scr_stat *scp);
+static void set_destructive_cursor(scr_stat *scp, int force);
static void draw_mouse_image(scr_stat *scp);
static void save_palette(void);
void load_palette(void);
OpenPOWER on IntegriCloud