svn commit: r316977 - head/sys/dev/syscons

O. Hartmann ohartmann at walstatt.org
Sat Apr 15 20:21:52 UTC 2017


Am Sat, 15 Apr 2017 20:03:50 +0000 (UTC)
Bruce Evans <bde at FreeBSD.org> schrieb:

> Author: bde
> Date: Sat Apr 15 20:03:50 2017
> New Revision: 316977
> URL: https://svnweb.freebsd.org/changeset/base/316977
> 
> Log:
>   Add a 10x16 mouse cursor and use it in all graphics (strictly, pixel)
>   modes if the font size is >= 14.
>   
>   This is the X cursor XC_left_ptr (#68) (glyph #45 in an X cursor font).
>   Also found in vt.  The old 9x13 cursor is the 10x16 one trimmed not very
>   well.
>   
>   8x8 fonts need a smaller cursor instead of a larger one, except when
>   the pixel size is small.  Text mode is still limited to width and height
>   1 more than the font (so the 9x13 is already 4 pixels too high for it).
> 
> Modified:
>   head/sys/dev/syscons/scvgarndr.c
> 
> Modified: head/sys/dev/syscons/scvgarndr.c
> ==============================================================================
> --- head/sys/dev/syscons/scvgarndr.c	Sat Apr 15 19:47:50 2017	(r316976)
> +++ head/sys/dev/syscons/scvgarndr.c	Sat Apr 15 20:03:50 2017	(r316977)
> @@ -173,6 +173,14 @@ static const struct mousedata mouse9x13 
>  	0x0c00, 0x0c00, 0x0600, 0x0600, 0x0000, 0x0000, 0x0000, 0x0000, },
>  	9, 13,
>  };
> +
> +static const struct mousedata mouse10x16 = { {
> +	0xc000, 0xa000, 0x9000, 0x8800, 0x8400, 0x8200, 0x8100, 0x8080,
> +	0x8040, 0x83c0, 0x9200, 0xa900, 0xc900, 0x0480, 0x0480, 0x0300, }, {
> +	0x0000, 0x4000, 0x6000, 0x7000, 0x7800, 0x7c00, 0x7e00, 0x7f00,
> +	0x7f80, 0x7c00, 0x6c00, 0x4600, 0x0600, 0x0300, 0x0300, 0x0000, },
> +	10, 16,
> +};
>  #endif
>  #endif
>  
> @@ -1042,7 +1050,7 @@ draw_pxlmouse_planar(scr_stat *scp, int 
>  	int i, j, k;
>  	uint8_t m1;
>  
> -	mdp = &mouse9x13;
> +	mdp = (scp->font_size < 14) ? &mouse9x13 : &mouse10x16;
>  	line_width = scp->sc->adp->va_line_width;
>  	xoff = (x - scp->xoff*8)%8;
>  	yoff = y - rounddown(y, line_width);
> @@ -1087,7 +1095,7 @@ remove_pxlmouse_planar(scr_stat *scp, in
>  	vm_offset_t p;
>  	int bx, by, i, line_width, xend, xoff, yend, yoff;
>  
> -	mdp = &mouse9x13;
> +	mdp = (scp->font_size < 14) ? &mouse9x13 : &mouse10x16;
>  
>  	/*
>  	 * It is only necessary to remove the mouse image where it overlaps
> @@ -1132,7 +1140,7 @@ vga_pxlmouse_direct(scr_stat *scp, int x
>  	uint8_t  *u8;
>  	int bpp;
>  
> -	mdp = &mouse9x13;
> +	mdp = (scp->font_size < 14) ? &mouse9x13 : &mouse10x16;
>  
>  	/*
>  	 * Determine overlap with the border and then if removing, do nothing


There is a lot of development going on theses days for syscons. What's about vt()? vt() is
considered broken for x11/nvidia-driver and vt() is considered a requirement when UEFI is
boot scheme, isn't it?

I'm just curious.

regards,

oh
-- 
O. Hartmann

Ich widerspreche der Nutzung oder Übermittlung meiner Daten für
Werbezwecke oder für die Markt- oder Meinungsforschung (§ 28 Abs. 4 BDSG).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 313 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/svn-src-head/attachments/20170415/21d8ef78/attachment.sig>


More information about the svn-src-head mailing list