mirror of
https://github.com/NoelFB/blah.git
synced 2024-11-29 17:08:56 +08:00
cleaning up color struct
This commit is contained in:
parent
6f0ac3e8c2
commit
5ba620c066
|
@ -34,8 +34,8 @@ namespace Blah
|
||||||
Image& operator=(Image&& src) noexcept;
|
Image& operator=(Image&& src) noexcept;
|
||||||
~Image();
|
~Image();
|
||||||
|
|
||||||
// disposes the existing image and recreates it from a stream
|
// creates the image from a stream, and returns true if successful
|
||||||
void from_stream(Stream& stream);
|
bool from_stream(Stream& stream);
|
||||||
|
|
||||||
// disposes the image and resets its values to defaults
|
// disposes the image and resets its values to defaults
|
||||||
void dispose();
|
void dispose();
|
||||||
|
|
|
@ -73,15 +73,15 @@ namespace Blah
|
||||||
while (len < 8 && *(hex_string + len) != '\0')
|
while (len < 8 && *(hex_string + len) != '\0')
|
||||||
len++;
|
len++;
|
||||||
|
|
||||||
if (len >= 8)
|
|
||||||
a = (BLAH_HEX_VALUE(hex_string[6]) << 4) + BLAH_HEX_VALUE(hex_string[7]);
|
|
||||||
|
|
||||||
if (len >= 6)
|
if (len >= 6)
|
||||||
{
|
{
|
||||||
r = (BLAH_HEX_VALUE(hex_string[0]) << 4) + BLAH_HEX_VALUE(hex_string[1]);
|
r = (BLAH_HEX_VALUE(hex_string[0]) << 4) + BLAH_HEX_VALUE(hex_string[1]);
|
||||||
g = (BLAH_HEX_VALUE(hex_string[2]) << 4) + BLAH_HEX_VALUE(hex_string[3]);
|
g = (BLAH_HEX_VALUE(hex_string[2]) << 4) + BLAH_HEX_VALUE(hex_string[3]);
|
||||||
b = (BLAH_HEX_VALUE(hex_string[4]) << 4) + BLAH_HEX_VALUE(hex_string[5]);
|
b = (BLAH_HEX_VALUE(hex_string[4]) << 4) + BLAH_HEX_VALUE(hex_string[5]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (len >= 8)
|
||||||
|
a = (BLAH_HEX_VALUE(hex_string[6]) << 4) + BLAH_HEX_VALUE(hex_string[7]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Premultiplies the Color
|
// Premultiplies the Color
|
||||||
|
@ -99,10 +99,16 @@ namespace Blah
|
||||||
String to_hex_rgb() const;
|
String to_hex_rgb() const;
|
||||||
|
|
||||||
// Converts the Color to a Vec3 (RGB)
|
// Converts the Color to a Vec3 (RGB)
|
||||||
Vec3 to_vec3() const;
|
constexpr Vec3 to_vec3() const
|
||||||
|
{
|
||||||
|
return Vec3(r / 255.0f, g / 255.0f, b / 255.0f);
|
||||||
|
}
|
||||||
|
|
||||||
// Converts the Color to a Vec4 (RGBA)
|
// Converts the Color to a Vec4 (RGBA)
|
||||||
Vec4 to_vec4() const;
|
constexpr Vec4 to_vec4() const
|
||||||
|
{
|
||||||
|
return Vec4(r / 255.0f, g / 255.0f, b / 255.0f, a / 255.0f);
|
||||||
|
}
|
||||||
|
|
||||||
// Convers the Color to a u32
|
// Convers the Color to a u32
|
||||||
constexpr u32 to_rgba() const
|
constexpr u32 to_rgba() const
|
||||||
|
|
|
@ -1,23 +1,11 @@
|
||||||
#include <blah/numerics/color.h>
|
#include <blah/numerics/color.h>
|
||||||
#include <blah/numerics/vec3.h>
|
|
||||||
#include <blah/numerics/vec4.h>
|
|
||||||
|
|
||||||
using namespace Blah;
|
using namespace Blah;
|
||||||
|
|
||||||
char const hex[16] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
|
|
||||||
|
|
||||||
Vec3 Color::to_vec3() const
|
|
||||||
{
|
|
||||||
return Vec3(r / 255.0f, g / 255.0f, b / 255.0f);
|
|
||||||
}
|
|
||||||
|
|
||||||
Vec4 Color::to_vec4() const
|
|
||||||
{
|
|
||||||
return Vec4(r / 255.0f, g / 255.0f, b / 255.0f, a / 255.0f);
|
|
||||||
}
|
|
||||||
|
|
||||||
String Color::to_hex_rgba() const
|
String Color::to_hex_rgba() const
|
||||||
{
|
{
|
||||||
|
static const char* hex = "0123456789ABCDEF";
|
||||||
|
|
||||||
String str = "00000000";
|
String str = "00000000";
|
||||||
str[0] = hex[(r & 0xF0) >> 4];
|
str[0] = hex[(r & 0xF0) >> 4];
|
||||||
str[1] = hex[(r & 0x0F) >> 0];
|
str[1] = hex[(r & 0x0F) >> 0];
|
||||||
|
@ -32,6 +20,8 @@ String Color::to_hex_rgba() const
|
||||||
|
|
||||||
String Color::to_hex_rgb() const
|
String Color::to_hex_rgb() const
|
||||||
{
|
{
|
||||||
|
static const char* hex = "0123456789ABCDEF";
|
||||||
|
|
||||||
String str = "000000";
|
String str = "000000";
|
||||||
str[0] = hex[(r & 0xF0) >> 4];
|
str[0] = hex[(r & 0xF0) >> 4];
|
||||||
str[1] = hex[(r & 0x0F) >> 0];
|
str[1] = hex[(r & 0x0F) >> 0];
|
||||||
|
|
Loading…
Reference in New Issue
Block a user