Index: sys/dev/wscons/wsdisplayvar.h
===================================================================
RCS file: /cvsroot/src/sys/dev/wscons/wsdisplayvar.h,v
retrieving revision 1.53
diff -p -u -r1.53 wsdisplayvar.h
--- sys/dev/wscons/wsdisplayvar.h 26 Sep 2018 09:04:12 -0000 1.53
+++ sys/dev/wscons/wsdisplayvar.h 4 Dec 2018 09:14:05 -0000
@@ -83,6 +83,12 @@ struct wsdisplay_emulops {
#define WSATTR_BLINK 4
#define WSATTR_UNDERLINE 8
#define WSATTR_WSCOLORS 16
+#define WSATTR_USERMASK 0x0fff
+/* private flags used by the driver */
+#define WSATTR_PRIVATE1 4096
+#define WSATTR_PRIVATE2 8192
+#define WSATTR_PRIVATE3 16384
+#define WSATTR_PRIVATE4 32768
/* XXX need a free_attr() ??? */
void (*replaceattr)(void *, long, long);
};
Index: sys/dev/rasops/rasops.c
===================================================================
RCS file: /cvsroot/src/sys/dev/rasops/rasops.c,v
retrieving revision 1.78
diff -p -u -r1.78 rasops.c
--- sys/dev/rasops/rasops.c 29 Nov 2018 23:44:50 -0000 1.78
+++ sys/dev/rasops/rasops.c 4 Dec 2018 09:14:05 -0000
@@ -570,13 +570,13 @@ rasops_allocattr_color(void *cookie, int
if ((flg & WSATTR_HILIT) != 0)
fg += 8;
- flg = ((flg & WSATTR_UNDERLINE) ? 1 : 0);
+ flg = flg & WSATTR_USERMASK;
if (rasops_isgray[fg])
- flg |= 2;
+ flg |= WSATTR_PRIVATE1;
if (rasops_isgray[bg])
- flg |= 4;
+ flg |= WSATTR_PRIVATE2;
*attr = (bg << 16) | (fg << 24) | flg;
return (0);
@@ -903,7 +903,7 @@ rasops_unpack_attr(long attr, int *fg, i
*fg = ((u_int)attr >> 24) & 0xf;
*bg = ((u_int)attr >> 16) & 0xf;
if (underline != NULL)
- *underline = (u_int)attr & 1;
+ *underline = (u_int)attr & WSATTR_UNDERLINE;
}
/*
@@ -1366,7 +1366,7 @@ rasops_putchar_rotated_cw(void *cookie,
/* Do rotated char sans (side)underline */
ri->ri_real_ops.putchar(cookie, col, ri->ri_rows - row - 1, uc,
- attr & ~1);
+ attr & ~WSATTR_UNDERLINE);
/* Do rotated underline */
rp = ri->ri_bits + col * ri->ri_yscale + (ri->ri_rows - row - 1) *
@@ -1374,7 +1374,7 @@ rasops_putchar_rotated_cw(void *cookie,
height = ri->ri_font->fontheight;
/* XXX this assumes 16-bit color depth */
- if ((attr & 1) != 0) {
+ if ((attr & WSATTR_UNDERLINE) != 0) {
int16_t c = (int16_t)ri->ri_devcmap[((u_int)attr >> 24) & 0xf];
while (height--) {
@@ -1493,7 +1493,7 @@ rasops_putchar_rotated_ccw(void *cookie,
/* Do rotated char sans (side)underline */
ri->ri_real_ops.putchar(cookie, ri->ri_cols - col - 1, row, uc,
- attr & ~1);
+ attr & ~WSATTR_UNDERLINE);
/* Do rotated underline */
rp = ri->ri_bits + (ri->ri_cols - col - 1) * ri->ri_yscale +
@@ -1502,7 +1502,7 @@ rasops_putchar_rotated_ccw(void *cookie,
height = ri->ri_font->fontheight;
/* XXX this assumes 16-bit color depth */
- if ((attr & 1) != 0) {
+ if ((attr & WSATTR_UNDERLINE) != 0) {
int16_t c = (int16_t)ri->ri_devcmap[((u_int)attr >> 24) & 0xf];
while (height--) {
Index: sys/dev/rasops/rasops1.c
===================================================================
RCS file: /cvsroot/src/sys/dev/rasops/rasops1.c,v
retrieving revision 1.23
diff -p -u -r1.23 rasops1.c
--- sys/dev/rasops/rasops1.c 4 May 2010 04:57:34 -0000 1.23
+++ sys/dev/rasops/rasops1.c 4 Dec 2018 09:14:05 -0000
@@ -180,7 +180,7 @@ rasops1_putchar(void *cookie, int row, i
}
/* Do underline */
- if ((attr & 1) != 0) {
+ if ((attr & WSATTR_UNDERLINE) != 0) {
DELTA(rp, -(ri->ri_stride << 1), int32_t *);
tmp = (*rp & lmask) | (fg & rmask);
*rp = tmp;
@@ -257,7 +257,7 @@ rasops1_putchar(void *cookie, int row, i
}
/* Do underline */
- if ((attr & 1) != 0) {
+ if ((attr & WSATTR_UNDERLINE) != 0) {
DELTA(rp, -(ri->ri_stride << 1), int32_t *);
tmp = (rp[0] & lmask) | (fg & ~lmask);
tmp2 = (rp[1] & rmask) | (fg & ~rmask);
@@ -344,7 +344,7 @@ rasops1_putchar8(void *cookie, int row,
}
/* Do underline */
- if ((attr & 1) != 0) {
+ if ((attr & WSATTR_UNDERLINE) != 0) {
rp[-(ri->ri_stride << 1)] = fg;
if (ri->ri_hwbits) {
hrp[-(ri->ri_stride << 1)] = fg;
@@ -426,7 +426,7 @@ rasops1_putchar16(void *cookie, int row,
}
/* Do underline */
- if ((attr & 1) != 0) {
+ if ((attr & WSATTR_UNDERLINE) != 0) {
/* XXX alignment?! */
*(int16_t *)(rp - (ri->ri_stride << 1)) = fg;
if (ri->ri_hwbits) {
Index: sys/dev/rasops/rasops15.c
===================================================================
RCS file: /cvsroot/src/sys/dev/rasops/rasops15.c,v
retrieving revision 1.21
diff -p -u -r1.21 rasops15.c
--- sys/dev/rasops/rasops15.c 25 Jan 2017 14:53:43 -0000 1.21
+++ sys/dev/rasops/rasops15.c 4 Dec 2018 09:14:05 -0000
@@ -191,7 +191,7 @@ rasops15_putchar(void *cookie, int row,
}
/* Do underline */
- if ((attr & 1) != 0) {
+ if ((attr & WSATTR_UNDERLINE) != 0) {
int16_t c = (int16_t)clr[1];
rp -= ri->ri_stride << 1;
if (ri->ri_hwbits)
@@ -292,7 +292,7 @@ rasops15_putchar_aa(void *cookie, int ro
}
/* Do underline */
- if ((attr & 1) != 0) {
+ if ((attr & WSATTR_UNDERLINE) != 0) {
rp = (uint16_t *)rrp;
DELTA(rp, (ri->ri_stride * (height - 2)), int16_t *);
while (width--)
@@ -412,7 +412,7 @@ rasops15_putchar8(void *cookie, int row,
}
/* Do underline */
- if ((attr & 1) != 0) {
+ if ((attr & WSATTR_UNDERLINE) != 0) {
int32_t c = STAMP_READ(28);
DELTA(rp, -(ri->ri_stride << 1), int32_t *);
@@ -518,7 +518,7 @@ rasops15_putchar12(void *cookie, int row
}
/* Do underline */
- if (attr & 1) {
+ if (attr & WSATTR_UNDERLINE) {
int32_t c = STAMP_READ(28);
DELTA(rp, -(ri->ri_stride << 1), int32_t *);
@@ -633,7 +633,7 @@ rasops15_putchar16(void *cookie, int row
}
/* Do underline */
- if (attr & 1) {
+ if (attr & WSATTR_UNDERLINE) {
int32_t c = STAMP_READ(28);
DELTA(rp, -(ri->ri_stride << 1), int32_t *);
Index: sys/dev/rasops/rasops2.c
===================================================================
RCS file: /cvsroot/src/sys/dev/rasops/rasops2.c,v
retrieving revision 1.18
diff -p -u -r1.18 rasops2.c
--- sys/dev/rasops/rasops2.c 21 Apr 2013 04:28:05 -0000 1.18
+++ sys/dev/rasops/rasops2.c 4 Dec 2018 09:14:05 -0000
@@ -159,7 +159,7 @@ rasops2_putchar(void *cookie, int row, i
}
/* Do underline */
- if (attr & 1) {
+ if (attr & WSATTR_UNDERLINE) {
DELTA(rp, -(ri->ri_stride << 1), int32_t *);
*rp = (*rp & lmask) | (fg & rmask);
}
@@ -196,7 +196,7 @@ rasops2_putchar(void *cookie, int row, i
}
/* Do underline */
- if (attr & 1) {
+ if (attr & WSATTR_UNDERLINE) {
DELTA(rp, -(ri->ri_stride << 1), int32_t *);
rp[0] = (rp[0] & lmask) | (fg & ~lmask);
rp[1] = (rp[1] & rmask) | (fg & ~rmask);
@@ -309,7 +309,7 @@ rasops2_putchar8(void *cookie, int row,
}
/* Do underline */
- if ((attr & 1) != 0)
+ if ((attr & WSATTR_UNDERLINE) != 0)
*(int16_t *)(rp - (ri->ri_stride << 1)) = stamp[15];
stamp_mutex--;
@@ -375,7 +375,7 @@ rasops2_putchar12(void *cookie, int row,
}
/* Do underline */
- if ((attr & 1) != 0) {
+ if ((attr & WSATTR_UNDERLINE) != 0) {
rp -= ri->ri_stride << 1;
rp[0] = rp[1] = rp[2] = stamp[15];
}
@@ -444,7 +444,7 @@ rasops2_putchar16(void *cookie, int row,
}
/* Do underline */
- if ((attr & 1) != 0)
+ if ((attr & WSATTR_UNDERLINE) != 0)
*(int32_t *)(rp - (ri->ri_stride << 1)) = stamp[15];
stamp_mutex--;
Index: sys/dev/rasops/rasops24.c
===================================================================
RCS file: /cvsroot/src/sys/dev/rasops/rasops24.c,v
retrieving revision 1.29
diff -p -u -r1.29 rasops24.c
--- sys/dev/rasops/rasops24.c 25 Jul 2011 18:02:47 -0000 1.29
+++ sys/dev/rasops/rasops24.c 4 Dec 2018 09:14:05 -0000
@@ -178,7 +178,7 @@ rasops24_putchar(void *cookie, int row,
}
/* Do underline */
- if ((attr & 1) != 0) {
+ if ((attr & WSATTR_UNDERLINE) != 0) {
u_char c = clr[1];
rp -= ri->ri_stride << 1;
@@ -299,7 +299,7 @@ rasops24_putchar8(void *cookie, int row,
}
/* Do underline */
- if ((attr & 1) != 0) {
+ if ((attr & WSATTR_UNDERLINE) != 0) {
int32_t c = STAMP_READ(52);
DELTA(rp, -(ri->ri_stride << 1), int32_t *);
@@ -381,7 +381,7 @@ rasops24_putchar12(void *cookie, int row
}
/* Do underline */
- if ((attr & 1) != 0) {
+ if ((attr & WSATTR_UNDERLINE) != 0) {
int32_t c = STAMP_READ(52);
DELTA(rp, -(ri->ri_stride << 1), int32_t *);
@@ -470,7 +470,7 @@ rasops24_putchar16(void *cookie, int row
}
/* Do underline */
- if ((attr & 1) != 0) {
+ if ((attr & WSATTR_UNDERLINE) != 0) {
int32_t c = STAMP_READ(52);
DELTA(rp, -(ri->ri_stride << 1), int32_t *);
@@ -497,7 +497,7 @@ rasops24_eraserows(void *cookie, int row
* If the color is gray, we can cheat and use the generic routines
* (which are faster, hopefully) since the r,g,b values are the same.
*/
- if ((attr & 4) != 0) {
+ if ((attr & WSATTR_PRIVATE2) != 0) {
rasops_eraserows(cookie, row, num, attr);
return;
}
@@ -599,7 +599,7 @@ rasops24_erasecols(void *cookie, int row
* If the color is gray, we can cheat and use the generic routines
* (which are faster, hopefully) since the r,g,b values are the same.
*/
- if ((attr & 4) != 0) {
+ if ((attr & WSATTR_PRIVATE2) != 0) {
rasops_erasecols(cookie, row, col, num, attr);
return;
}
Index: sys/dev/rasops/rasops4.c
===================================================================
RCS file: /cvsroot/src/sys/dev/rasops/rasops4.c,v
retrieving revision 1.11
diff -p -u -r1.11 rasops4.c
--- sys/dev/rasops/rasops4.c 21 Apr 2013 04:28:05 -0000 1.11
+++ sys/dev/rasops/rasops4.c 4 Dec 2018 09:14:05 -0000
@@ -159,7 +159,7 @@ rasops4_putchar(void *cookie, int row, i
}
/* Do underline */
- if (attr & 1) {
+ if (attr & WS_UNDERLINE) {
DELTA(rp, -(ri->ri_stride << 1), int32_t *);
*rp = (*rp & lmask) | (fg & rmask);
}
@@ -196,7 +196,7 @@ rasops4_putchar(void *cookie, int row, i
}
/* Do underline */
- if (attr & 1) {
+ if (attr & WS_UNDERLINE) {
DELTA(rp, -(ri->ri_stride << 1), int32_t *);
rp[0] = (rp[0] & lmask) | (fg & ~lmask);
rp[1] = (rp[1] & rmask) | (fg & ~rmask);
@@ -311,7 +311,7 @@ rasops4_putchar8(void *cookie, int row,
}
/* Do underline */
- if ((attr & 1) != 0) {
+ if ((attr & WS_UNDERLINE) != 0) {
rp -= (rs << 1);
rp[0] = stamp[15];
rp[1] = stamp[15];
@@ -383,7 +383,7 @@ rasops4_putchar12(void *cookie, int row,
}
/* Do underline */
- if ((attr & 1) != 0) {
+ if ((attr & WS_UNDERLINE) != 0) {
rp -= (rs << 1);
rp[0] = stamp[15];
rp[1] = stamp[15];
@@ -458,7 +458,7 @@ rasops4_putchar16(void *cookie, int row,
}
/* Do underline */
- if ((attr & 1) != 0) {
+ if ((attr & WS_UNDERLINE) != 0) {
rp -= (rs << 1);
rp[0] = stamp[15];
rp[1] = stamp[15];
Index: sys/dev/rasops/rasops8.c
===================================================================
RCS file: /cvsroot/src/sys/dev/rasops/rasops8.c,v
retrieving revision 1.34
diff -p -u -r1.34 rasops8.c
--- sys/dev/rasops/rasops8.c 15 Sep 2013 09:41:55 -0000 1.34
+++ sys/dev/rasops/rasops8.c 4 Dec 2018 09:14:05 -0000
@@ -175,7 +175,7 @@ rasops8_putchar(void *cookie, int row, i
}
/* Do underline */
- if ((attr & 1) != 0) {
+ if ((attr & WSATTR_UNDERLINE) != 0) {
u_char c = clr[1];
rp -= (ri->ri_stride << 1);
@@ -278,7 +278,7 @@ rasops8_putchar_aa(void *cookie, int row
}
/* Do underline */
- if ((attr & 1) != 0) {
+ if ((attr & WSATTR_UNDERLINE) != 0) {
rp -= (ri->ri_stride << 1);
if (ri->ri_hwbits)
@@ -406,7 +406,7 @@ rasops8_putchar8(void *cookie, int row,
}
/* Do underline */
- if ((attr & 1) != 0) {
+ if ((attr & WSATTR_UNDERLINE) != 0) {
DELTA(rp, -(ri->ri_stride << 1), int32_t *);
rp[0] = rp[1] = stamp[15];
if (ri->ri_hwbits) {
@@ -500,7 +500,7 @@ rasops8_putchar12(void *cookie, int row,
}
/* Do underline */
- if ((attr & 1) != 0) {
+ if ((attr & WSATTR_UNDERLINE) != 0) {
DELTA(rp, -(ri->ri_stride << 1), int32_t *);
rp[0] = rp[1] = rp[2] = stamp[15];
if (ri->ri_hwbits) {
@@ -595,7 +595,7 @@ rasops8_putchar16(void *cookie, int row,
}
/* Do underline */
- if ((attr & 1) != 0) {
+ if ((attr & WSATTR_UNDERLINE) != 0) {
DELTA(rp, -(ri->ri_stride << 1), int32_t *);
rp[0] = rp[1] = rp[2] = rp[3] = stamp[15];
if (ri->ri_hwbits) {