LibreCAD
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
lc::MetaColorByValue Class Reference

#include <metacolor.h>

Inheritance diagram for lc::MetaColorByValue:
Collaboration diagram for lc::MetaColorByValue:

Public Member Functions

 MetaColorByValue ()
 
 MetaColorByValue (const MetaColorByValue &other)
 
 MetaColorByValue (const Color &other)
 
 MetaColorByValue (double r, double g, double b, double a=1.)
 
virtual ~MetaColorByValue ()=default
 
virtual const std::string id () const override
 
Color color () const
 
double red () const
 
double green () const
 
double blue () const
 
double alpha () const
 
unsigned char redI () const
 
unsigned char greenI () const
 
unsigned char blueI () const
 
unsigned char alphaI () const
 
- Public Member Functions inherited from lc::MetaColor
virtual const std::string metaTypeID () const override
 
- Public Member Functions inherited from lc::MetaType
 MetaType ()
 
virtual ~MetaType ()=default
 

Private Attributes

Color _color
 

Friends

std::ostream & operator<< (std::ostream &os, const MetaColorByValue &metaColor)
 

Additional Inherited Members

- Static Public Member Functions inherited from lc::MetaColor
static const std::string LCMETANAME ()
 
- Protected Member Functions inherited from lc::MetaColor
 MetaColor ()
 

Detailed Description

Definition at line 28 of file metacolor.h.

Constructor & Destructor Documentation

lc::MetaColorByValue::MetaColorByValue ( )
inline

Definition at line 31 of file metacolor.h.

31  : MetaColor(), _color(1., 1., 1., 1.) {
32  }
lc::MetaColorByValue::MetaColorByValue ( const MetaColorByValue other)
inline

Definition at line 34 of file metacolor.h.

34  : MetaColor(), _color(other.color()) {
35  }
lc::MetaColorByValue::MetaColorByValue ( const Color other)
inline

Definition at line 37 of file metacolor.h.

37  : MetaColor(), _color(other) {
38  }
lc::MetaColorByValue::MetaColorByValue ( double  r,
double  g,
double  b,
double  a = 1. 
)
inline

Definition at line 40 of file metacolor.h.

40  : MetaColor(), _color(r, g, b, a) {
41  }
virtual lc::MetaColorByValue::~MetaColorByValue ( )
virtualdefault

Member Function Documentation

double lc::MetaColorByValue::alpha ( ) const
inline

Definition at line 66 of file metacolor.h.

66  {
67  return _color.alpha();
68  }
double alpha() const
Definition: color.h:50
unsigned char lc::MetaColorByValue::alphaI ( ) const
inline

Definition at line 82 of file metacolor.h.

82  {
83  return _color.alphaI();
84  }
unsigned char alphaI() const
Definition: color.h:63
double lc::MetaColorByValue::blue ( ) const
inline

Definition at line 62 of file metacolor.h.

62  {
63  return _color.blue();
64  }
double blue() const
Definition: color.h:47
unsigned char lc::MetaColorByValue::blueI ( ) const
inline

Definition at line 78 of file metacolor.h.

78  {
79  return _color.blueI();
80  }
unsigned char blueI() const
Definition: color.h:60
Color lc::MetaColorByValue::color ( ) const
inline

Definition at line 50 of file metacolor.h.

50  {
51  return _color;
52  }
double lc::MetaColorByValue::green ( ) const
inline

Definition at line 58 of file metacolor.h.

58  {
59  return _color.green();
60  }
double green() const
Definition: color.h:44
unsigned char lc::MetaColorByValue::greenI ( ) const
inline

Definition at line 74 of file metacolor.h.

74  {
75  return _color.greenI();
76  }
unsigned char greenI() const
Definition: color.h:57
virtual const std::string lc::MetaColorByValue::id ( ) const
inlineoverridevirtual

ID or primary key of this MetaType. This can be used in a storage manager to identify each individual meta type.

Implements lc::MetaType.

Definition at line 45 of file metacolor.h.

45  {
46  // TODO create proper ID
47  return LCMETANAME() + "_" + std::to_string(red()) + "_" + std::to_string(green()) + "_" + std::to_string(blue());
48  }
static const std::string LCMETANAME()
Definition: metacolor.h:23
double green() const
Definition: metacolor.h:58
double red() const
Definition: metacolor.h:54
double blue() const
Definition: metacolor.h:62
double lc::MetaColorByValue::red ( ) const
inline

Definition at line 54 of file metacolor.h.

54  {
55  return _color.red();
56  }
double red() const
Definition: color.h:41
unsigned char lc::MetaColorByValue::redI ( ) const
inline

Definition at line 70 of file metacolor.h.

70  {
71  return _color.redI();
72  }
unsigned char redI() const
Definition: color.h:54

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const MetaColorByValue metaColor 
)
friend

Definition at line 89 of file metacolor.h.

89  {
90  os << "MetaColorByValue(red=" << metaColor.red() << " green=" << metaColor.green() << " blue=" << metaColor.blue() << " alpha" << metaColor.alpha() << ")";
91  return os;
92  }

Member Data Documentation

Color lc::MetaColorByValue::_color
private

Definition at line 87 of file metacolor.h.


The documentation for this class was generated from the following file: