Elaztek Developer Hub
Blamite Game Engine - Strings  00428.01.13.25.2134.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 
58  BlamColor(std::string string);
59 
60  bool operator==(const BlamColor& other);
61 
67  std::string ToString();
68 
74  float GetRedAsFloat();
75 
81  float GetGreenAsFloat();
82 
88  float GetBlueAsFloat();
89 
95  float GetAlphaAsFloat();
96 
105  int GetColorAsInt();
106 
123  std::string ToString(std::string format);
124 
130  std::string ToStringForCSS(bool include_alpha = true);
131 
139  std::string ToHexString(bool include_alpha = true);
140 
151  bool FromString(std::string string);
152 
162  BlamVector4 ToVector4();
163 
172  void FromVector4(BlamVector4 vector);
173 
184  bool Equals(BlamColor other_color);
185 
195  BlamVector3 ToVector3();
196 
205  void FromVector3(BlamVector3 vector);
206 };
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:225
string.h
BlamColor::GetColorAsInt
int GetColorAsInt()
Gets the color's value as an integer.
Definition: BlamColor.cpp:80
BlamVector3::y
float y
The Y-coordinate of the 3D vector, representing horizontal Y (depth) position.
Definition: vector.h:103
BlamVector3::x
float x
The X-coordinate of the 3D vector, representing horizontal X (width) position.
Definition: vector.h:102
BlamVector3
Structure representing a 3D vector.
Definition: vector.h:100
BlamColor::ToStringForCSS
std::string ToStringForCSS(bool include_alpha=true)
Converts the color to a string that can be used with CSS.
Definition: BlamColor.cpp:111
BlamColor.h
BlamVector4::y
float y
The Y-coordinate of the 4D vector.
Definition: vector.h:223
BlamColor::ToVector4
BlamVector4 ToVector4()
Converts the color into a BlamVector4.
Definition: BlamColor.cpp:209
BlamVector3::z
float z
The Z-coordinate of the 3D vector, representing vertical position.
Definition: vector.h:104
BlamColor::FromVector3
void FromVector3(BlamVector3 vector)
Parses color information from a BlamVector3.
Definition: BlamColor.cpp:267
byte
unsigned char byte
Definition: BlamColor.h:12
BlamVector4
Structure representing a 4D vector.
Definition: vector.h:220
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:70
BlamColor::operator==
bool operator==(const BlamColor &other)
Definition: BlamColor.cpp:274
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:60
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:222
BlamColor::GetGreenAsFloat
float GetGreenAsFloat()
Gets the color's red value as a float, between 0 and 1.
Definition: BlamColor.cpp:65
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:55
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:137
converters.h
BlamColor::GetAlphaAsFloat
float GetAlphaAsFloat()
Gets the color's red value as a float, between 0 and 1.
Definition: BlamColor.cpp:75
BlamVector4::x
float x
The X-coordinate of the 4D vector.
Definition: vector.h:222
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:224
BlamColor::ToVector3
BlamVector3 ToVector3()
Converts the color into a BlamVector3.
Definition: BlamColor.cpp:255
BlamColor::ToHexString
std::string ToHexString(bool include_alpha=true)
Converts the color to a hex color code, such as #FFFFFF80.
Definition: BlamColor.cpp:121
BlamColor::Equals
bool Equals(BlamColor other_color)
Checks if this color is equal to another color.
Definition: BlamColor.cpp:230