claw 1.9.0
 
Loading...
Searching...
No Matches
claw::graphic::rgba_pixel Struct Reference

RGBA pixel. More...

#include <pixel.hpp>

Public Types

typedef unsigned char component_type
 The type of the components of the color.
 

Public Member Functions

 rgba_pixel ()
 Default constructor.
 
 rgba_pixel (const rgb_pixel &that)
 Constructor.
 
 rgba_pixel (component_type r, component_type g, component_type b, component_type a)
 Constructor.
 
 rgba_pixel (const std::string &c)
 Constructor from a color name or code.
 
rgba_pixeloperator= (const rgb_pixel &that)
 Assignement operator.
 
bool operator== (const rgba_pixel &that) const
 Tell if two pixels are equal.
 
bool operator!= (const rgba_pixel &that) const
 Tell if two pixels are different.
 
component_type luminosity () const
 Get the luminosity of the pixel.
 

Public Attributes

union { 
 
   unsigned int   pixel 
 Compressed representation. More...
 
   struct { 
 
      component_type   red 
 Red component. More...
 
      component_type   green 
 Green component. More...
 
      component_type   blue 
 Blue component. More...
 
      component_type   alpha 
 Translucy. More...
 
   }   components 
 Component by component representation.
 
};  
 

Detailed Description

RGBA pixel.

Definition at line 79 of file pixel.hpp.

Member Typedef Documentation

◆ component_type

The type of the components of the color.

Definition at line 82 of file pixel.hpp.

Constructor & Destructor Documentation

◆ rgba_pixel() [1/4]

claw::graphic::rgba_pixel::rgba_pixel ( )

Default constructor.

Definition at line 179 of file pixel.cpp.

◆ rgba_pixel() [2/4]

claw::graphic::rgba_pixel::rgba_pixel ( const rgb_pixel & that)

Constructor.

Parameters
thatThe other pixel.
Remarks
The alpha component of this is set to 255.

Definition at line 187 of file pixel.cpp.

◆ rgba_pixel() [3/4]

claw::graphic::rgba_pixel::rgba_pixel ( component_type r,
component_type g,
component_type b,
component_type a )

Constructor.

Parameters
rThe value of the red field.
gThe value of the green field.
bThe value of the blue field.
aThe value of the alpha field.

Definition at line 202 of file pixel.cpp.

◆ rgba_pixel() [4/4]

claw::graphic::rgba_pixel::rgba_pixel ( const std::string & c)
explicit

Constructor from a color name or code.

Parameters
cThe color name or code.

Definition at line 215 of file pixel.cpp.

Member Function Documentation

◆ luminosity()

claw::graphic::rgba_pixel::component_type claw::graphic::rgba_pixel::luminosity ( ) const

Get the luminosity of the pixel.

Returns
The luminosity between 0 (dark) and 255 (light).

The luminosity is approximated with integers: $0,715160 \simeq 183 \div 256 = 0,71484375 $ $0,212671 \simeq 54 \div 256 = 0,2109375 $ $0,072169 \simeq 18 \div 256 = 0,0703125 $

Definition at line 286 of file pixel.cpp.

◆ operator!=()

bool claw::graphic::rgba_pixel::operator!= ( const rgba_pixel & that) const

Tell if two pixels are different.

Parameters
thatThe other pixel.

Definition at line 271 of file pixel.cpp.

◆ operator=()

claw::graphic::rgba_pixel & claw::graphic::rgba_pixel::operator= ( const rgb_pixel & that)

Assignement operator.

Parameters
thatThe other pixel.
Remarks
The alpha component of this is set to 255.

Definition at line 248 of file pixel.cpp.

◆ operator==()

bool claw::graphic::rgba_pixel::operator== ( const rgba_pixel & that) const

Tell if two pixels are equal.

Parameters
thatThe other pixel.

Definition at line 262 of file pixel.cpp.

Member Data Documentation

◆ alpha

component_type claw::graphic::rgba_pixel::alpha

Translucy.

Definition at line 102 of file pixel.hpp.

◆ blue

component_type claw::graphic::rgba_pixel::blue

Blue component.

Definition at line 99 of file pixel.hpp.

◆ green

component_type claw::graphic::rgba_pixel::green

Green component.

Definition at line 96 of file pixel.hpp.

◆ pixel

unsigned int claw::graphic::rgba_pixel::pixel

Compressed representation.

Definition at line 87 of file pixel.hpp.

◆ red

component_type claw::graphic::rgba_pixel::red

Red component.

Definition at line 93 of file pixel.hpp.


The documentation for this struct was generated from the following files: