[PATCH] inivisible cursor on vesafb

STALE8756d

2 messages, 2 authors, 2002-08-19 · open the first message on its own page

[PATCH] inivisible cursor on vesafb

From: Petr Vandrovec <hidden>
Date: 2002-08-18 23:07:47

Hi Linus,

Since vesafb was converted to the (strange) cfb* interface, it uses random
colors for the cursor, making cursor invisible when console uses black foreground
(f.e. Midnight Commander does that). Problem is common to all fbdevs which
use fbcon-accel interface.

This change tries to restore old behavior which existed before cfb* came in.
Unfortunately due to region.color semantic it is not possible to completely
restore previous behavior - 
+ for truecolor cfbfillrect always consults current palette, so we do not 
  have "always invert" constant available, and so we do inversion with palette
  color 15 (it is light white, ~0, by default)
+ for directcolor it assumes that display has at least 4 bits per color.
+ for pseudocolor it works as old code worked.

						Thanks,
							Petr Vandrovec
							vandrove@vc.cvut.cz


diff -urdN linux/drivers/video/fbcon-accel.c linux/drivers/video/fbcon-accel.c
--- linux/drivers/video/fbcon-accel.c	2002-08-18 01:35:06.000000000 +0200
+++ linux/drivers/video/fbcon-accel.c	2002-08-18 15:07:42.000000000 +0200
@@ -104,7 +104,10 @@
 	struct fb_info *info = p->fb_info;
 	struct fb_fillrect region;
 
-	region.color = attr_fgcol_ec(p, p->conp);
+	if (info->fix.visual == FB_VISUAL_PSEUDOCOLOR || info->fix.visual == FB_VISUAL_TRUECOLOR)
+		region.color = 0x0F;
+	else
+		region.color = (0x0F << info->var.red.offset) | (0x0F << info->var.green.offset) | (0x0F << info->var.blue.offset);
 	region.dx = xx * fontwidth(p);
 	region.dy = yy * fontheight(p);
 	region.width  = fontwidth(p);


-------------------------------------------------------
This sf.net email is sponsored by: OSDN - Tired of that same old
cell phone?  Get a new here for FREE!
https://www.inphonic.com/r.asp?r=sourceforge1&refcode1=vs3390

Re: [PATCH] inivisible cursor on vesafb

From: Antonino Daplas <hidden>
Date: 2002-08-19 01:01:37

On Mon, 2002-08-19 at 07:05, Petr Vandrovec wrote:
Hi Linus,

Since vesafb was converted to the (strange) cfb* interface, it uses random
colors for the cursor, making cursor invisible when console uses black foreground
(f.e. Midnight Commander does that). Problem is common to all fbdevs which
use fbcon-accel interface.

This change tries to restore old behavior which existed before cfb* came in.
Unfortunately due to region.color semantic it is not possible to completely
restore previous behavior - 
+ for truecolor cfbfillrect always consults current palette, so we do not 
  have "always invert" constant available, and so we do inversion with palette
  color 15 (it is light white, ~0, by default)
+ for directcolor it assumes that display has at least 4 bits per color.
+ for pseudocolor it works as old code worked.
I think it has been agreed that all color entries in fbcon-accel should
always be an index to the pseudopalette regardless of the visuals.  So a
more consistent change is to have cfbfillrect look up the color from the
pseudopalette assuming that the driver correctly loaded the value to the
pseudopalette.

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help