Home » Community » U++ community news and announcements » DarkTheme function parameters changed
Re: DarkTheme function parameters changed [message #60917 is a reply to message #60916] |
Mon, 07 October 2024 16:49   |
Lance
Messages: 656 Registered: March 2007
|
Contributor |
|
|
I see the challenge now.
We need something like theme-dependent color.
With regard to Blend(), would it ever need more than 2 colors?
I have a hackish solution.
class DynColor{
struct _combo{
Color c;
char f[4];
};
operator Color()const{
switch(f[3] & 3){
case 0: // the 64 bits are a Color*
return * reinterpret_cast<const Color*>(this);
case 1: // a normal color hold at data.c
return c;
case 2: // Blend, with f[0], f[1] the index
// of System colors, hopefully
// we don't have more than 256 of them
// , and f[2] hold the third paramenter of Blend
return Blend(GetSysColorFromIndex(f[0],
GetSysColorFromIndex(f[1]),
f[2]);
case 3: // let's handle the
//ctrl.Add(AttrText("Hello there!").Ink(IsDarkTheme() ? Blend(White(), LtBlue()) : Blue());
// case here
// theme dependant blend
return IsDarkTheme() ?
Blend( treat_c as byte[4], and store blend information there) :
Blend(GetSysColorFromIndex(f[0],
GetSysColorFromIndex(f[1]),
f[2]);
}
}
private:
combo data;
};
Just a prototype for conception. We need to consider endianness at least.
Now, we can
ctrl.Add(AttrText("Hello there!").Ink(ConstructDynColor(DarkBlender{...}, NormalBlender{...}));
Yes I am aware this requires changes to AttrText code. I can imagine it's quite involving.
Also this will require everywhere that requires dynamic color to use 64-bit color, a double in storage space.
[Updated on: Mon, 07 October 2024 17:31] Report message to a moderator
|
|
|
 |
|
DarkTheme function parameters changed
By: mirek on Tue, 10 September 2024 16:29
|
 |
|
Re: DarkTheme function parameters changed
By: Tom1 on Thu, 12 September 2024 12:03
|
 |
|
Re: DarkTheme function parameters changed
By: Tom1 on Thu, 12 September 2024 16:32
|
 |
|
Re: DarkTheme function parameters changed
By: mirek on Sat, 14 September 2024 16:31
|
 |
|
Re: DarkTheme function parameters changed
By: Tom1 on Sat, 14 September 2024 22:32
|
 |
|
Re: DarkTheme function parameters changed
By: mirek on Sun, 15 September 2024 10:10
|
 |
|
Re: DarkTheme function parameters changed
By: Tom1 on Mon, 16 September 2024 13:01
|
 |
|
Re: DarkTheme function parameters changed
By: mirek on Tue, 17 September 2024 09:10
|
 |
|
Re: DarkTheme function parameters changed
By: mirek on Tue, 17 September 2024 17:00
|
 |
|
Re: DarkTheme function parameters changed
By: Tom1 on Tue, 17 September 2024 20:31
|
 |
|
Re: DarkTheme function parameters changed
By: mirek on Tue, 17 September 2024 23:45
|
 |
|
Re: DarkTheme function parameters changed
By: Tom1 on Wed, 18 September 2024 21:11
|
 |
|
Re: DarkTheme function parameters changed
By: mirek on Wed, 18 September 2024 21:59
|
 |
|
Re: DarkTheme function parameters changed
By: Tom1 on Wed, 18 September 2024 22:37
|
 |
|
Re: DarkTheme function parameters changed
By: Lance on Sun, 06 October 2024 14:46
|
 |
|
Re: DarkTheme function parameters changed
By: mirek on Sun, 06 October 2024 21:35
|
 |
|
Re: DarkTheme function parameters changed
By: Lance on Sun, 06 October 2024 22:32
|
 |
|
Re: DarkTheme function parameters changed
By: mirek on Sun, 06 October 2024 21:37
|
 |
|
Re: DarkTheme function parameters changed
By: Lance on Sun, 06 October 2024 22:34
|
 |
|
Re: DarkTheme function parameters changed
By: Lance on Sun, 06 October 2024 22:52
|
 |
|
Re: DarkTheme function parameters changed
By: mirek on Mon, 07 October 2024 00:26
|
 |
|
Re: DarkTheme function parameters changed
By: Lance on Mon, 07 October 2024 01:59
|
 |
|
Re: DarkTheme function parameters changed
By: Tom1 on Mon, 07 October 2024 08:51
|
 |
|
Re: DarkTheme function parameters changed
By: mirek on Mon, 07 October 2024 09:40
|
 |
|
Re: DarkTheme function parameters changed
By: Tom1 on Mon, 07 October 2024 10:36
|
 |
|
Re: DarkTheme function parameters changed
By: Lance on Mon, 07 October 2024 14:03
|
 |
|
Re: DarkTheme function parameters changed
By: Tom1 on Mon, 07 October 2024 14:22
|
 |
|
Re: DarkTheme function parameters changed
By: mirek on Mon, 07 October 2024 09:43
|
 |
|
Re: DarkTheme function parameters changed
By: Lance on Mon, 07 October 2024 13:57
|
 |
|
Re: DarkTheme function parameters changed
By: mirek on Mon, 07 October 2024 14:48
|
 |
|
Re: DarkTheme function parameters changed
By: Lance on Mon, 07 October 2024 16:49
|
 |
|
Re: DarkTheme function parameters changed
By: Lance on Mon, 07 October 2024 17:24
|
 |
|
Re: DarkTheme function parameters changed
By: Lance on Mon, 07 October 2024 17:34
|
 |
|
Re: DarkTheme function parameters changed
By: Lance on Wed, 09 October 2024 23:39
|
 |
|
Re: DarkTheme function parameters changed
By: mirek on Wed, 13 November 2024 23:54
|
 |
|
Re: DarkTheme function parameters changed
By: Tom1 on Sat, 14 September 2024 23:18
|
Goto Forum:
Current Time: Mon Jun 09 17:10:15 CEST 2025
Total time taken to generate the page: 0.04288 seconds
|