Elaztek Developer Hub
Blamite Game Engine - Strings  00411.04.21.24.0017.blamite
A library containing general purpose utilities and classes for use in multiple projects.
BlamColor.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
5 
6 #ifdef STRINGS_EXPORTS
7 #define STRINGS_API __declspec(dllexport)
8 #else
9 #define STRINGS_API __declspec(dllimport)
10 #endif
11 
12 typedef unsigned char byte;
13 
20 {
21 private:
22  byte convert_float_clamped(float f);
23 
24 public:
25  byte r = 255;
26  byte g = 255;
27  byte b = 255;
28  byte a = 255;
29 
30  BlamColor();
31 
39  BlamColor(byte _r, byte _g, byte _b);
40 
49  BlamColor(byte _r, byte _g, byte _b, byte _a);
50 
51  bool operator==(const BlamColor& other);
52 
58  std::string ToString();
59 
65  float GetRedAsFloat();
66 
72  float GetGreenAsFloat();
73 
79  float GetBlueAsFloat();
80 
86  float GetAlphaAsFloat();
87 
96  int GetColorAsInt();
97 
114  std::string ToString(std::string format);
115 
121  std::string ToStringForCSS(bool include_alpha = true);
122 
130  std::string ToHexString(bool include_alpha = true);
131 
141  bool FromString(std::string string);
142 
152  BlamVector4 ToVector4();
153 
162  void FromVector4(BlamVector4 vector);
163 
174  bool Equals(BlamColor other_color);
175 
185  BlamVector3 ToVector3();
186 
195  void FromVector3(BlamVector3 vector);
196 };
BlamStrings::Utils::String::Split
STRINGS_API std::vector< std::string > Split(std::string string, std::string splitter)
Splits a string around any instance of a substring.
Definition: string.cpp:136
BlamColor::BlamColor
BlamColor()
Definition: BlamColor.cpp:26
BlamColor::b
byte b
The Blue value of the color.
Definition: BlamColor.h:27
BlamVector4::w
float w
The W-coordinate of the 4D vector.
Definition: vector.h:170
string.h
BlamColor::GetColorAsInt
int GetColorAsInt()
Gets the color's value as an integer.
Definition: BlamColor.cpp:75
BlamVector3::y
float y
The Y-coordinate of the 3D vector, representing horizontal Y (depth) position.
Definition: vector.h:86
BlamVector3::x
float x
The X-coordinate of the 3D vector, representing horizontal X (width) position.
Definition: vector.h:85
BlamVector3
Structure representing a 3D vector.
Definition: vector.h:83
BlamColor::ToStringForCSS
std::string ToStringForCSS(bool include_alpha=true)
Converts the color to a string that can be used with CSS.
Definition: BlamColor.cpp:106
BlamColor.h
BlamVector4::y
float y
The Y-coordinate of the 4D vector.
Definition: vector.h:168
BlamColor::ToVector4
BlamVector4 ToVector4()
Converts the color into a BlamVector4.
Definition: BlamColor.cpp:204
BlamVector3::z
float z
The Z-coordinate of the 3D vector, representing vertical position.
Definition: vector.h:87
BlamColor::FromVector3
void FromVector3(BlamVector3 vector)
Parses color information from a BlamVector3.
Definition: BlamColor.cpp:262
byte
unsigned char byte
Definition: BlamColor.h:12
BlamVector4
Structure representing a 4D vector.
Definition: vector.h:165
BlamStrings::Utils::String::Replace
STRINGS_API std::string Replace(std::string orig, std::string to_replace, std::string replace_with)
Replaces part of a string with another string.
Definition: string.cpp:94
BlamColor::a
byte a
The Alpha value of the color.
Definition: BlamColor.h:28
STRINGS_API
#define STRINGS_API
Definition: BlamColor.h:9
BlamColor::GetBlueAsFloat
float GetBlueAsFloat()
Gets the color's red value as a float, between 0 and 1.
Definition: BlamColor.cpp:65
BlamColor::operator==
bool operator==(const BlamColor &other)
Definition: BlamColor.cpp:269
BlamStrings::Converters::BytesToString
STRINGS_API std::string BytesToString(void *bytes, int bytes_length, bool uppercase=false)
Converts a series of bytes to a string.
Definition: converters.cpp:214
BlamColor::GetRedAsFloat
float GetRedAsFloat()
Gets the color's red value as a float, between 0 and 1.
Definition: BlamColor.cpp:55
vector.h
uuids::to_string
std::basic_string< CharT, Traits, Allocator > to_string(uuid const &id)
Definition: uuid.h:581
BlamColor::FromVector4
void FromVector4(BlamVector4 vector)
Parses color information from a BlamVector4.
Definition: BlamColor.cpp:217
BlamColor::GetGreenAsFloat
float GetGreenAsFloat()
Gets the color's red value as a float, between 0 and 1.
Definition: BlamColor.cpp:60
uuids::operator==
bool operator==(uuid const &lhs, uuid const &rhs) noexcept
Definition: uuid.h:563
BlamColor::ToString
std::string ToString()
Converts the color value to a string.
Definition: BlamColor.cpp:50
BlamColor::g
byte g
The Green value of the color.
Definition: BlamColor.h:26
BlamColor::FromString
bool FromString(std::string string)
Attempts to set color information from a string.
Definition: BlamColor.cpp:132
converters.h
BlamColor::GetAlphaAsFloat
float GetAlphaAsFloat()
Gets the color's red value as a float, between 0 and 1.
Definition: BlamColor.cpp:70
BlamVector4::x
float x
The X-coordinate of the 4D vector.
Definition: vector.h:167
BlamColor
Class representing a color.
Definition: BlamColor.h:19
BlamColor::r
byte r
The Red value of the color.
Definition: BlamColor.h:25
BlamVector4::z
float z
The Z-coordinate of the 4D vector.
Definition: vector.h:169
BlamColor::ToVector3
BlamVector3 ToVector3()
Converts the color into a BlamVector3.
Definition: BlamColor.cpp:250
BlamColor::ToHexString
std::string ToHexString(bool include_alpha=true)
Converts the color to a hex color code, such as #FFFFFF80.
Definition: BlamColor.cpp:116
BlamColor::Equals
bool Equals(BlamColor other_color)
Checks if this color is equal to another color.
Definition: BlamColor.cpp:225