 |
Gorgon Game Engine
|
Go to the documentation of this file.
62 throw std::runtime_error(
"Unknown mode");
117 Blend(second, alpha);
122 Blend(second, (
float)alpha);
126 RGBA(
const RGBA &first,
const RGBA &second,
int alpha) :
RGBA(first, second, alpha/255.f) { }
139 constexpr
RGBA(
int color) :
R((color>>0)&0xff),
G((color>>8)&0xff),
B((color>>16)&0xff),
A((color>>24)&0xff) {
140 static_assert(
sizeof(
int)>=4,
"This conversion requires size of int to be at least 4 bytes");
145 constexpr
RGBA(uint32_t color) :
R((color>>0)&0xff),
G((color>>8)&0xff),
B((color>>16)&0xff),
A((color>>24)&0xff) {
146 static_assert(
sizeof(
int)>=4,
"This conversion requires size of int to be at least 4 bytes");
158 explicit RGBA(
double lum) :
A(255) {
166 operator int()
const {
167 static_assert(
sizeof(
int)>=4,
"This conversion requires size of int to be at least 4 bytes");
170 memcpy(&ret,
this, 4);
176 operator uint32_t()
const {
178 memcpy(&ret,
this, 4);
188 static_assert(
sizeof(
int)>=4,
"This conversion requires size of int to be at least 4 bytes");
190 memcpy(
this, &color, 4);
197 memcpy(
this, &color, 4);
215 return (
int)(*this) == (uint32_t)other;
220 return (uint32_t)(*this) != (uint32_t)other;
228 return (
R>>3) + (
R>>4) + (
R>>5) + (
G>>1) + (
G>>3) + (
G>>4) + (
G>>5) + (
B>>4) + (
B>>5);
234 return (0.2126f/255)*
R + (0.7151f/255)*
G + (0.0722f/255)*
B;
239 std::stringstream str;
241 str<<
"#"<<std::fixed<<std::setfill(
'0')<<std::setw(2)<<
R<<std::setw(2)<<
G<<std::setw(2)<<
B;
255 if (color.
A * alpha == 255) {
262 float a = color.
A*alpha / 255;
263 float alpham1 = (1 - a);
265 alpham1 *=
A / 255.f;
267 float aa = a +
A/255.f * (1 - a);
270 R =
Byte((
R*alpham1 + color.
R*a)/aa);
271 G =
Byte((
G*alpham1 + color.
G*a)/aa);
272 B =
Byte((
B*alpham1 + color.
B*a)/aa);
288 n.
Blend(color, alpha);
293 operator std::string()
const {
294 std::stringstream str;
295 str<<std::fixed<<std::setw(8)<<std::setfill(
'0')<<std::hex<<((
const uint32_t)(*
this));
320 stream<<(std::string)color;
328 while(
isspace(in.peek())) in.ignore();
334 auto flags=in.flags();
335 in>>std::hex>>color.
R>>color.
G>>color.
B;
349 auto flags=in.flags();
350 in>>std::hex>>(*(
unsigned int*)&color);
367 first.
Blend(second, alpha);
383 RGBAf(
float r,
float g,
float b,
float a=1.f) :
R(r),
G(g),
B(b),
A(a) { }
390 explicit RGBAf(
double lum,
float a=1.0f) :
RGBAf((float)lum, (float)lum, (float)lum, a) { }
394 RGBAf(
const RGBA &color) :
R(color.
R/255.f),
G(color.
G/255.f),
B(color.
B/255.f),
A(color.
A/255.f) { }
397 RGBAf(
const RGBA &color,
float alpha) :
R(color.
R/255.f),
G(color.
G/255.f),
B(color.
B/255.f),
A(color.
A/255.f * alpha) { }
400 RGBAf(
const RGBA &color,
double alpha) :
R(color.
R/255.f),
G(color.
G/255.f),
B(color.
B/255.f),
A(float(color.
A/255. * alpha)) { }
427 return (*
this =
RGBA(color));
451 explicit operator RGBA()
const {
456 explicit operator int()
const {
457 return int(this->
operator RGBA());
460 operator std::string()
const {
461 std::stringstream ss;
463 ss<<
"("<<
R<<
", "<<
G<<
", "<<
B<<
", "<<
A<<
")";
469 return {
R * other.
R,
G * other.
G,
B * other.
B,
A * other.
A};
484 Byte(
R<0.f ? 0 : (
R>1.f ? 255 :
R*255)),
485 Byte(
G<0.f ? 0 : (
G>1.f ? 255 :
G*255)),
486 Byte(
B<0.f ? 0 : (
B>1.f ? 255 :
B*255)),
487 Byte(
A<0.f ? 0 : (
A>1.f ? 255 :
A*255))
494 return 0.2126f*
R + 0.7151f*
G + 0.0722f*
B;
499 return R==other.
R &&
G==other.
G &&
B==other.
B &&
A==other.
A;
504 return R!=other.
R ||
G!=other.
G ||
B!=other.
B ||
A!=other.
A;
517 float alpham1=1.f-color.
A;
519 R=
R*alpham1*
A + color.
R*color.
A;
520 G=
G*alpham1*
A + color.
G*color.
A;
521 B=
B*alpham1*
A + color.
B*color.
A;
522 A = color.
A +
A * alpham1;
539 float a = color.
A*factor;
542 R=
R*alpham1 *
A + color.
R * a;
543 G=
G*alpham1 *
A + color.
G * a;
544 B=
B*alpham1 *
A + color.
B * a;
545 A = color.
A +
A * alpham1;
556 auto ma = 1 - factor;
558 R = ma *
R + factor * color.
R;
559 G = ma *
G + factor * color.
G;
560 B = ma *
B + factor * color.
B;
561 A = ma *
A + factor * color.
A;
566 void Slide(
const RGBAf &color,
float factor_color,
float factor_alpha) {
567 auto mc = 1 - factor_color;
568 auto ma = 1 - factor_alpha;
570 R = mc *
R + factor_color * color.
R;
571 G = mc *
G + factor_color * color.
G;
572 B = mc *
B + factor_color * color.
B;
573 A = ma *
A + factor_alpha * color.
A;
579 R = (1 - factor.
R) *
R + factor.
R * color.
R;
580 G = (1 - factor.
G) *
G + factor.
G * color.
G;
581 B = (1 - factor.
B) *
B + factor.
B * color.
B;
582 A = (1 - factor.
A) *
A + factor.
A * color.
A;
610 stream<<(std::string)color;
903 inline const std::vector<std::pair<std::string, RGBA>> &
Names() {
904 static std::vector<std::pair<std::string, RGBA>> names = {
constexpr RGBA RedViolet
Definition: Color.h:882
constexpr RGBA GreenishYellow
Definition: Color.h:747
constexpr RGBA SpringGreen
Definition: Color.h:699
constexpr RGBA CornflowerBlue
Definition: Color.h:753
constexpr RGBA DustyRose
Definition: Color.h:746
constexpr RGBA Silver
Definition: Color.h:888
constexpr RGBA TealGreen
Definition: Color.h:869
constexpr RGBA Aubergine
Definition: Color.h:851
constexpr RGBA PeaGreen
Definition: Color.h:688
constexpr RGBA Pinkish
Definition: Color.h:768
constexpr RGBA SalmonPink
Definition: Color.h:804
RGBA(const RGBA &other, int newalpha)
Copy constructor with new alpha value.
Definition: Color.h:107
constexpr RGBA GreenishGrey
Definition: Color.h:826
constexpr RGBA(int color)
Conversion from integer.
Definition: Color.h:139
This class represents a color information.
Definition: Color.h:91
constexpr RGBA PinkPurple
Definition: Color.h:842
constexpr RGBA Crimson
Definition: Color.h:717
constexpr RGBA Terracotta
Definition: Color.h:787
constexpr RGBA LeafGreen
Definition: Color.h:726
constexpr RGBA Lime
Definition: Color.h:662
void Blend(const RGBA &color)
Blends the given color into this one.
Definition: Color.h:248
constexpr RGBA GreyishPurple
Definition: Color.h:807
constexpr RGBA Greenish
Definition: Color.h:740
constexpr RGBA PinkishPurple
Definition: Color.h:724
constexpr RGBA LightTan
Definition: Color.h:856
constexpr RGBA Copper
Definition: Color.h:896
constexpr RGBA Brownish
Definition: Color.h:838
constexpr RGBA Strawberry
Definition: Color.h:898
RGBA(double lum)
Conversion from float. Assumes the given float value is a 0 to 1 luminance. Sets alpha to 255.
Definition: Color.h:158
constexpr RGBA DustyPink
Definition: Color.h:846
Byte ChannelType
Data type for each channel.
Definition: Color.h:94
RGBA(const RGBA &other, Byte newalpha)
Copy constructor with new alpha value.
Definition: Color.h:104
constexpr RGBA PurplePink
Definition: Color.h:847
constexpr RGBA Seafoam
Definition: Color.h:701
bool operator==(const RGBAf &other) const
Compares two colors.
Definition: Color.h:498
constexpr RGBA Salmon
Definition: Color.h:648
constexpr RGBA BlueGrey
Definition: Color.h:720
constexpr RGBA Azure
Definition: Color.h:756
constexpr RGBA Dirt
Definition: Color.h:884
constexpr RGBA Turquoise
Definition: Color.h:636
constexpr RGBA LightTeal
Definition: Color.h:708
constexpr RGBA Mauve
Definition: Color.h:643
float ChannelType
Data type for each channel.
Definition: Color.h:376
constexpr RGBA PurplishBlue
Definition: Color.h:749
constexpr RGBA FadedRed
Definition: Color.h:891
constexpr RGBA SageGreen
Definition: Color.h:785
ColorMode
Color modes for images.
Definition: Color.h:16
constexpr RGBA LightRed
Definition: Color.h:713
constexpr RGBA Rust
Definition: Color.h:709
constexpr RGBA ElectricBlue
Definition: Color.h:759
constexpr RGBA NeonBlue
Definition: Color.h:858
constexpr RGBA Rose
Definition: Color.h:666
constexpr RGBA Mahogany
Definition: Color.h:850
constexpr RGBA Pumpkin
Definition: Color.h:799
constexpr RGBA Purple
Definition: Color.h:618
@ RGB
24bit red, green, blue color mode that has red component in the lowest byte order
constexpr RGBA SkyBlue
Definition: Color.h:630
RGBA(const RGBA &first, const RGBA &second, float alpha=1.0f)
Blending constructor.
Definition: Color.h:116
constexpr RGBA(uint32_t color)
Conversion from uint32_t.
Definition: Color.h:145
RGBA(const RGBA &other, float newalpha)
Copy constructor with new alpha value.
Definition: Color.h:113
RGBA(float lum)
Conversion from float. Assumes the given float value is a 0 to 1 luminance. Sets alpha to 255.
Definition: Color.h:150
constexpr RGBA DarkRose
Definition: Color.h:840
constexpr RGBA Chartreuse
Definition: Color.h:692
@ Invalid
This is used to mark invalid color data.
constexpr RGBA OffWhite
Definition: Color.h:760
constexpr RGBA DarkGreen
Definition: Color.h:635
RGBA BlendWith(const RGBA &color, float alpha) const
Blends the current color with the given color and returns the result.
Definition: Color.h:286
constexpr RGBA DarkLavender
Definition: Color.h:773
constexpr RGBA OrangeRed
Definition: Color.h:813
constexpr RGBA LightPurple
Definition: Color.h:633
constexpr RGBA White
Definition: Color.h:731
constexpr RGBA DarkRed
Definition: Color.h:674
constexpr RGBA Sky
Definition: Color.h:820
constexpr RGBA Marigold
Definition: Color.h:876
constexpr RGBA Violet
Definition: Color.h:634
constexpr RGBA Pistachio
Definition: Color.h:880
@ RGBA
32bit red, green, blue and alpha channel image. Red component is in the lowest byte order and
constexpr RGBA DarkPurple
Definition: Color.h:644
constexpr RGBA Teal
Definition: Color.h:625
constexpr RGBA PurplishPink
Definition: Color.h:828
constexpr RGBA Pine
Definition: Color.h:885
constexpr RGBA Black
Definition: Color.h:653
constexpr RGBA LemonYellow
Definition: Color.h:881
RGBAf operator*(const RGBAf &other) const
Definition: Color.h:468
constexpr RGBA Mud
Definition: Color.h:839
constexpr RGBA Blue
Definition: Color.h:620
constexpr RGBA BabyPink
Definition: Color.h:796
constexpr RGBA Amber
Definition: Color.h:887
constexpr RGBA JungleGreen
Definition: Color.h:861
float Vector[4]
Representation of this class as a float vector.
Definition: Color.h:601
constexpr RGBA DirtyGreen
Definition: Color.h:857
constexpr RGBA BluePurple
Definition: Color.h:757
constexpr RGBA PaleBrown
Definition: Color.h:836
constexpr RGBA Khaki
Definition: Color.h:685
constexpr RGBA PurpleBlue
Definition: Color.h:771
@ Automatic
This is used by some functions to mark color mode should be determined automatically.
constexpr RGBA Sage
Definition: Color.h:733
constexpr RGBA BabyBlue
Definition: Color.h:677
std::ostream & operator<<(std::ostream &stream, const RGBA &color)
Prints the given color to the stream.
Definition: Color.h:319
Represents a four channel 32 bit float per channel color information.
Definition: Color.h:373
void Slide(const RGBAf &color, float factor)
Blends the given color into this one with the given factor that is applied to color and alpha channel...
Definition: Color.h:555
constexpr RGBA Ocre
Definition: Color.h:894
RGBAf(const RGBA &color, double alpha)
Converts a RGBA to RGBAf.
Definition: Color.h:400
constexpr RGBA BlueViolet
Definition: Color.h:795
constexpr RGBA LightGreen
Definition: Color.h:627
constexpr RGBA ReddishPink
Definition: Color.h:816
RGBAf(const RGBA &color)
Converts a RGBA to RGBAf.
Definition: Color.h:394
constexpr RGBA AppleGreen
Definition: Color.h:764
constexpr RGBA Cyan
Definition: Color.h:640
constexpr RGBA DarkGrey
Definition: Color.h:704
constexpr RGBA Vermillion
Definition: Color.h:886
constexpr RGBA BrightPurple
Definition: Color.h:675
constexpr RGBA DarkMagenta
Definition: Color.h:741
bool operator!=(const RGBAf &other) const
Compares two colors.
Definition: Color.h:503
constexpr RGBA LightOliveGreen
Definition: Color.h:831
constexpr RGBA BurntOrange
Definition: Color.h:669
constexpr RGBA RoyalPurple
Definition: Color.h:681
constexpr RGBA Magenta
Definition: Color.h:628
Byte A
Alpha channel.
Definition: Color.h:312
constexpr RGBA SlateGrey
Definition: Color.h:868
constexpr RGBA Charcoal
Definition: Color.h:797
constexpr RGBA FadedGreen
Definition: Color.h:845
constexpr RGBA MidnightBlue
Definition: Color.h:744
constexpr RGBA GreyBlue
Definition: Color.h:702
constexpr RGBA Burgundy
Definition: Color.h:684
RGBA(int lum, int a)
Constructs a grayscale color from the given luminance.
Definition: Color.h:135
const std::vector< std::pair< std::string, RGBA > > & Names()
Definition: Color.h:903
constexpr RGBA BlueGreen
Definition: Color.h:686
constexpr RGBA BrownishRed
Definition: Color.h:841
constexpr RGBA Eggshell
Definition: Color.h:860
constexpr RGBA Umber
Definition: Color.h:863
constexpr RGBA RosePink
Definition: Color.h:808
@ Grayscale
8bit gray scale color mode
bool isspace(Glyph g)
Definition: Font.cpp:96
constexpr RGBA Evergreen
Definition: Color.h:853
constexpr RGBA ArmyGreen
Definition: Color.h:703
constexpr RGBA PaleRed
Definition: Color.h:822
constexpr RGBA YellowGreen
Definition: Color.h:676
RGBAf(unsigned color)
Converts from an unsigned int.
Definition: Color.h:404
constexpr RGBA DarkLime
Definition: Color.h:897
constexpr RGBA DarkBeige
Definition: Color.h:824
constexpr RGBA Avocado
Definition: Color.h:871
constexpr RGBA PineGreen
Definition: Color.h:798
Root namespace for Gorgon Game Engine.
Definition: Any.h:19
RGBAf(double lum, float a=1.0f)
Constructor that sets all color channels to the given value to create a grayscale color....
Definition: Color.h:390
RGBA BlendWith(const RGBA &color) const
Blends the current color with the given color and returns the result.
Definition: Color.h:279
constexpr RGBA Sand
Definition: Color.h:697
constexpr RGBA ReddishPurple
Definition: Color.h:817
RGBAf(bool)=delete
Converts from an unsigned int.
constexpr RGBA Tangerine
Definition: Color.h:803
constexpr RGBA OceanBlue
Definition: Color.h:739
float R
Red channel.
Definition: Color.h:588
RGBA()
Default constructor does not perform initialization.
Definition: Color.h:98
constexpr RGBA OliveDrab
Definition: Color.h:769
constexpr RGBA LightAqua
Definition: Color.h:832
bool operator!=(const RGBA &other) const
Compares two colors.
Definition: Color.h:219
constexpr RGBA Brick
Definition: Color.h:734
constexpr RGBA Aquamarine
Definition: Color.h:670
constexpr RGBA Peach
Definition: Color.h:657
constexpr RGBA DarkTeal
Definition: Color.h:683
constexpr RGBA Tan
Definition: Color.h:639
constexpr RGBA HunterGreen
Definition: Color.h:719
constexpr RGBA CloudyBlue
Definition: Color.h:901
constexpr RGBA GreyGreen
Definition: Color.h:732
constexpr RGBA SlateBlue
Definition: Color.h:721
constexpr RGBA DarkCyan
Definition: Color.h:770
RGBAf(float lum, float a=1.0f)
Constructor that sets all color channels to the given value to create a grayscale color....
Definition: Color.h:387
constexpr RGBA Yellow
Definition: Color.h:629
constexpr RGBA RoyalBlue
Definition: Color.h:650
constexpr RGBA ReddishBrown
Definition: Color.h:736
int GetAlphaIndex(ColorMode mode)
Returns the index of alpha channel. If alpha channel does not exists, this function returns -1.
Definition: Color.h:74
constexpr RGBA BrickRed
Definition: Color.h:682
constexpr RGBA BurntSienna
Definition: Color.h:735
constexpr RGBA RedBrown
Definition: Color.h:801
constexpr RGBA Navy
Definition: Color.h:671
constexpr RGBA GreyishBlue
Definition: Color.h:750
constexpr RGBA Lilac
Definition: Color.h:652
constexpr RGBA LightPink
Definition: Color.h:665
constexpr RGBA Orchid
Definition: Color.h:815
constexpr RGBA Plum
Definition: Color.h:680
constexpr RGBA SteelBlue
Definition: Color.h:729
RGBAf()
Default constructor does not perform initialization.
Definition: Color.h:380
constexpr RGBA SeaGreen
Definition: Color.h:661
constexpr RGBA Cinnamon
Definition: Color.h:900
constexpr RGBA DarkBrown
Definition: Color.h:690
float G
Green channel.
Definition: Color.h:591
constexpr RGBA Clay
Definition: Color.h:833
constexpr RGBA Taupe
Definition: Color.h:689
constexpr RGBA ForrestGreen
Definition: Color.h:774
RGBA(const RGBA &first, const RGBA &second, int alpha)
Blending constructor.
Definition: Color.h:126
bool HasAlpha(ColorMode mode)
Returns if the given color mode has alpha channel.
Definition: Color.h:69
RGBA Blend(RGBA first, const RGBA &second)
Blends two colors together, you do not need to use namespace if calling on an RGBA object.
Definition: Color.h:358
constexpr RGBA DustyBlue
Definition: Color.h:865
constexpr RGBA SeafoamGreen
Definition: Color.h:687
constexpr RGBA Beige
Definition: Color.h:649
constexpr RGBA BloodRed
Definition: Color.h:784
constexpr RGBA CherryRed
Definition: Color.h:893
constexpr RGBA Pink
Definition: Color.h:621
constexpr RGBA Ocean
Definition: Color.h:877
constexpr RGBA PinkyPurple
Definition: Color.h:843
constexpr RGBA Eggplant
Definition: Color.h:728
constexpr RGBA PastelBlue
Definition: Color.h:780
constexpr RGBA Moss
Definition: Color.h:781
constexpr RGBA DarkOlive
Definition: Color.h:790
Byte Luminance() const
Returns the luminance of this color as a single byte number.
Definition: Color.h:227
constexpr RGBA Indigo
Definition: Color.h:663
constexpr RGBA LimeGreen
Definition: Color.h:632
constexpr RGBA Wine
Definition: Color.h:762
constexpr RGBA Puce
Definition: Color.h:700
constexpr RGBA BrightPink
Definition: Color.h:693
constexpr RGBA CamoGreen
Definition: Color.h:844
constexpr RGBA GreyishGreen
Definition: Color.h:793
constexpr RGBA DullPink
Definition: Color.h:852
constexpr RGBA LightTurquoise
Definition: Color.h:765
constexpr RGBA Grey
Definition: Color.h:631
constexpr RGBA ElectricGreen
Definition: Color.h:866
void Blend(const RGBA &color, float alpha)
Blends the given color into this one.
Definition: Color.h:254
@ Alpha
8bit alpha only color mode
constexpr RGBA Cream
Definition: Color.h:737
Byte B
Blue channel.
Definition: Color.h:309
constexpr RGBA MarineBlue
Definition: Color.h:870
constexpr RGBA DarkViolet
Definition: Color.h:772
constexpr RGBA LightMagenta
Definition: Color.h:821
constexpr RGBA DeepRed
Definition: Color.h:812
std::istream & operator>>(std::istream &in, RGBA &color)
Reads a color from the stream.
Definition: Color.h:327
constexpr RGBA DarkTan
Definition: Color.h:777
constexpr RGBA Coffee
Definition: Color.h:889
constexpr RGBA Sienna
Definition: Color.h:789
void Blend(const RGBAf &color)
Blends the given color into this one.
Definition: Color.h:509
constexpr RGBA Ivory
Definition: Color.h:895
constexpr RGBA Grass
Definition: Color.h:782
constexpr RGBA NeonPink
Definition: Color.h:809
constexpr RGBA BrightBlue
Definition: Color.h:667
constexpr RGBA PaleOrange
Definition: Color.h:775
constexpr RGBA Fuchsia
Definition: Color.h:718
constexpr RGBA MuddyGreen
Definition: Color.h:875
constexpr RGBA Cobalt
Definition: Color.h:767
constexpr RGBA BrightGreen
Definition: Color.h:645
constexpr RGBA Grape
Definition: Color.h:751
constexpr RGBA Slate
Definition: Color.h:707
constexpr RGBA MustardYellow
Definition: Color.h:714
constexpr RGBA LighterGreen
Definition: Color.h:867
float B
Blue channel.
Definition: Color.h:594
constexpr RGBA Goldenrod
Definition: Color.h:706
Byte G
Green channel.
Definition: Color.h:306
void Slide(const RGBAf &color, float factor_color, float factor_alpha)
Blends the given color into this one with the given factor that is applied to color and alpha channel...
Definition: Color.h:566
constexpr RGBA DullBlue
Definition: Color.h:835
constexpr RGBA DeepPink
Definition: Color.h:783
constexpr RGBA BluishGreen
Definition: Color.h:779
constexpr RGBA MintGreen
Definition: Color.h:679
unsigned char Byte
Represents smallest cell in memory.
Definition: Types.h:9
constexpr RGBA DarkBlue
Definition: Color.h:638
unsigned long GetChannelsPerPixel(ColorMode mode)
Returns bytes per pixel for the given color mode.
Definition: Color.h:47
constexpr RGBA DarkTurquoise
Definition: Color.h:758
constexpr RGBA PinkishRed
Definition: Color.h:754
constexpr RGBA Sepia
Definition: Color.h:890
constexpr RGBA Jade
Definition: Color.h:825
bool operator==(const RGBA &other) const
Compares two colors.
Definition: Color.h:214
@ Graphics
Definition: Template.h:164
constexpr RGBA DullGreen
Definition: Color.h:763
constexpr RGBA DarkNavy
Definition: Color.h:899
constexpr RGBA BrownishGreen
Definition: Color.h:802
constexpr RGBA BluishPurple
Definition: Color.h:743
constexpr RGBA Periwinkle
Definition: Color.h:660
constexpr RGBA YellowishGreen
Definition: Color.h:748
RGBA(Byte r, Byte g, Byte b, Byte a=255)
Filling constructor.
Definition: Color.h:129
constexpr RGBA DarkOrange
Definition: Color.h:698
std::string HTMLColor() const
Returns a six nibble HTML color.
Definition: Color.h:238
constexpr RGBA LightMauve
Definition: Color.h:878
constexpr RGBA SeaBlue
Definition: Color.h:723
void Slide(const RGBAf &color, const RGBAf &factor)
Blends the given color into this one with the given factor that is applied to color and alpha channel...
Definition: Color.h:578
RGBAf & operator*=(const RGBAf &other)
Definition: Color.h:472
constexpr RGBA AquaGreen
Definition: Color.h:805
constexpr RGBA Maroon
Definition: Color.h:646
constexpr RGBA DarkPink
Definition: Color.h:659
RGBA Convert() const
Converts this color to RGBA by clipping the values.
Definition: Color.h:482
constexpr RGBA Bordeaux
Definition: Color.h:879
constexpr RGBA Aqua
Definition: Color.h:641
constexpr RGBA EmeraldGreen
Definition: Color.h:837
constexpr RGBA MossGreen
Definition: Color.h:730
constexpr RGBA IceBlue
Definition: Color.h:855
constexpr RGBA BrightRed
Definition: Color.h:755
constexpr RGBA Lavender
Definition: Color.h:637
constexpr RGBA GreenishBlue
Definition: Color.h:776
constexpr RGBA LightGrey
Definition: Color.h:725
constexpr RGBA AquaBlue
Definition: Color.h:786
constexpr RGBA PaleGreen
Definition: Color.h:656
RGBAf(int)=delete
Converts from an unsigned int.
constexpr RGBA Orange
Definition: Color.h:626
constexpr RGBA LightOlive
Definition: Color.h:752
constexpr RGBA LightBlue
Definition: Color.h:624
Byte R
Red channel.
Definition: Color.h:303
constexpr RGBA PeaSoup
Definition: Color.h:873
constexpr RGBA DeepGreen
Definition: Color.h:848
constexpr RGBA RedOrange
Definition: Color.h:742
constexpr RGBA Ochre
Definition: Color.h:715
constexpr RGBA Gold
Definition: Color.h:678
constexpr RGBA NeonGreen
Definition: Color.h:668
constexpr RGBA YellowOrange
Definition: Color.h:818
constexpr RGBA Green
Definition: Color.h:619
constexpr RGBA Emerald
Definition: Color.h:823
constexpr RGBA PowderBlue
Definition: Color.h:761
void Blend(const RGBAf &color, float factor)
Blends the given color into this one with the given factor that is applied to all channels.
Definition: Color.h:531
constexpr RGBA PastelPurple
Definition: Color.h:788
constexpr RGBA BrownishOrange
Definition: Color.h:830
constexpr RGBA CanaryYellow
Definition: Color.h:892
constexpr RGBA Chocolate
Definition: Color.h:794
constexpr RGBA PalePurple
Definition: Color.h:722
constexpr RGBA ReddishOrange
Definition: Color.h:849
RGBAf & operator=(const RGBAf &)=default
Copy assignment.
constexpr RGBA DarkSalmon
Definition: Color.h:827
constexpr RGBA Olive
Definition: Color.h:647
constexpr RGBA OrangeBrown
Definition: Color.h:811
constexpr RGBA DeepBlue
Definition: Color.h:710
float A
Alpha channel.
Definition: Color.h:597
constexpr RGBA PalePink
Definition: Color.h:711
constexpr RGBA DarkPeach
Definition: Color.h:862
constexpr RGBA NeonPurple
Definition: Color.h:766
RGBAf(float r, float g, float b, float a=1.f)
Filling constructor.
Definition: Color.h:383
constexpr RGBA LightViolet
Definition: Color.h:745
constexpr RGBA DeepPurple
Definition: Color.h:691
constexpr RGBA Raspberry
Definition: Color.h:806
constexpr RGBA DuskyPink
Definition: Color.h:883
constexpr RGBA GrassGreen
Definition: Color.h:672
constexpr RGBA PaleBlue
Definition: Color.h:673
constexpr RGBA BrightYellow
Definition: Color.h:864
constexpr RGBA LightBrown
Definition: Color.h:655
constexpr RGBA LightCyan
Definition: Color.h:819
constexpr RGBA Lemon
Definition: Color.h:874
constexpr RGBA PastelGreen
Definition: Color.h:696
constexpr RGBA ForestGreen
Definition: Color.h:642
constexpr RGBA DarkYellow
Definition: Color.h:705
constexpr RGBA OliveGreen
Definition: Color.h:658
RGBA(Byte lum, Byte a=255)
Constructs a grayscale color from the given luminance.
Definition: Color.h:132
constexpr RGBA GreenYellow
Definition: Color.h:791
constexpr RGBA DarkAqua
Definition: Color.h:829
float Luminance() const
Returns the luminance of this color as a floating point value between 0 and 1.
Definition: Color.h:493
constexpr RGBA Mint
Definition: Color.h:695
constexpr RGBA Cerulean
Definition: Color.h:712
constexpr RGBA Brown
Definition: Color.h:622
constexpr RGBA CobaltBlue
Definition: Color.h:810
constexpr RGBA Red
Definition: Color.h:623
constexpr RGBA NavyBlue
Definition: Color.h:651
constexpr RGBA PaleYellow
Definition: Color.h:716
constexpr RGBA DarkSkyBlue
Definition: Color.h:854
constexpr RGBA Coral
Definition: Color.h:738
RGBA(const RGBA &)=default
Copy constructor.
constexpr RGBA LightYellow
Definition: Color.h:727
constexpr RGBA BurntUmber
Definition: Color.h:834
constexpr RGBA LightOrange
Definition: Color.h:694
constexpr RGBA Scarlet
Definition: Color.h:792
float AccurateLuminance() const
Returns the luminance of this color as a floating point value between 0 and 1.
Definition: Color.h:233
constexpr RGBA DirtyYellow
Definition: Color.h:814
constexpr RGBA Mustard
Definition: Color.h:664
RGBA & operator=(const RGBA &)=default
Copy assignment.
constexpr RGBA GreenishBrown
Definition: Color.h:800
constexpr RGBA GreenBlue
Definition: Color.h:778
RGBA(const RGBA &first, const RGBA &second, double alpha)
Blending constructor.
Definition: Color.h:121
RGBA(const RGBA &other, double newalpha)
Copy constructor with new alpha value.
Definition: Color.h:110
RGBAf(const RGBA &color, float alpha)
Converts a RGBA to RGBAf.
Definition: Color.h:397
constexpr RGBA Denim
Definition: Color.h:859
constexpr RGBA Forest
Definition: Color.h:872
constexpr RGBA HotPink
Definition: Color.h:654