[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: unable to set black text color for cdk
From: |
Thomas Dickey |
Subject: |
Re: unable to set black text color for cdk |
Date: |
Wed, 1 Apr 2015 21:01:50 -0400 |
User-agent: |
Mutt/1.5.20 (2009-06-14) |
On Wed, Apr 01, 2015 at 10:50:26AM +0200, daggs wrote:
>
>
> > Sent: Wednesday, April 01, 2015 at 3:54 AM
> > From: "Thomas Dickey" <address@hidden>
> > To: daggs <address@hidden>
> > Cc: address@hidden
> > Subject: Re: unable to set black text color for cdk
> >
> > On Mon, Mar 30, 2015 at 12:31:33PM +0200, daggs wrote:
> > > Greetings,
> > >
> > > I'm trying to setup a text in black color and it ends up in gray, looping
> > > over the first 49 colors (with and without bold) didn't returned any label
> > > with black text color, is it possible that there is no black color text in
> > > cdk?
> >
> > hmm - it's more complicated than that - partly Cdk and partly (n)curses.
> >
> > The initCDKColor function is probably what you're looking at, since
> > it is the only place that calls init_pair(). It's a little odd (I think)
> > because it maps the colors 0-7 in this order:
> >
> > COLOR_WHITE, COLOR_RED, COLOR_GREEN,
> > COLOR_YELLOW, COLOR_BLUE, COLOR_MAGENTA,
> > COLOR_CYAN, COLOR_BLACK
> >
> > If the terminal supports more than 8, cdk uses only 8. You can always
> > override that by calling init_pair() in your application.
> >
> > Normally in curses, black is zero. That raises a point, i.e., that color
> > pair 0 is special in curses (no colors as such). So cdk does not use that.
> >
> > In any case, since black is last, you would see black text on pairs 57-64,
> > due to the way the loops are ordered.
>
> Greeting Thomas,
>
> my issue in fact is with the (0,0) pair, e.g. black text over black
> background.
> you might ask why one need such option, well using black background color
> ober a background image gives me a transparency affect.
> for example, I want to create a background image that has a white square in
> it and write inside it text.
I see. I think the issue is that Cdk is putting black-on-black in the last
color pair which it requests -- the 65th slot. However, for an 8-color
terminal, the description would say the terminal supports only 64 = 8*8
color pairs.
> as I see that all the other same combinations works ((n,n) for n:=1->7) and
> it works when using special esc chars I can only assume that it is a either
> ncurses or cdk limitation.
It's more cdk than ncurses in this case -- cdk's design tries to allocate
more color pairs than the terminal supports. Going past the maximum color
pairs value doesn't work...
--
Thomas E. Dickey <address@hidden>
http://invisible-island.net
ftp://invisible-island.net
signature.asc
Description: Digital signature