prime/include/Kyoto/Graphics/CColor.hpp

48 lines
1022 B
C++

#ifndef __CCOLOR_HPP__
#define __CCOLOR_HPP__
#include "types.h"
#pragma cpp_extensions on
class CColor {
public:
CColor() {}
CColor(u32 col) : mRgba(col) {}
CColor(f32 r, f32 g, f32 b, f32 a = 1.f);
// : mR(r * 255.f), mG(g * 255.f), mB(b * 255.f), mA(a * 255.f) {}
static const CColor& Black();
static const CColor& White();
static const CColor& Grey();
static const CColor& Red();
static const CColor& Green();
static const CColor& Blue();
static const CColor& Yellow();
static const CColor& Purple();
static const CColor& Orange();
private:
union {
struct {
u8 mR;
u8 mG;
u8 mB;
u8 mA;
};
u32 mRgba;
};
static const CColor sBlackColor;
static const CColor sWhiteColor;
static const CColor sGreyColor;
static const CColor sRedColor;
static const CColor sGreenColor;
static const CColor sBlueColor;
static const CColor sYellowColor;
static const CColor sPurpleColor;
static const CColor sOrangeColor;
};
#endif // __CCOLOR_HPP__