absence_thelab

annotate src/common/color.h @ 0:1cffe3409164

initial commit
author John Tsiombikas <nuclear@member.fsf.org>
date Thu, 23 Oct 2014 01:46:07 +0300
parents
children
rev   line source
nuclear@0 1 #ifndef _COLORS_H_
nuclear@0 2 #define _COLORS_H_
nuclear@0 3
nuclear@0 4 #include <cmath>
nuclear@0 5 #include "typedefs.h"
nuclear@0 6
nuclear@0 7 #ifdef _MSC_VER
nuclear@0 8 #ifdef DOUBLE_PRECISION_MATH
nuclear@0 9 typedef double float_t;
nuclear@0 10 #else
nuclear@0 11 typedef float float_t;
nuclear@0 12 #endif // DOUBLE_PRECISION_MATH
nuclear@0 13 #endif // _MSC_VER
nuclear@0 14
nuclear@0 15 #ifdef NUC3D_VER_DIRECT3D
nuclear@0 16
nuclear@0 17 #include "d3d8.h"
nuclear@0 18
nuclear@0 19 class Color : public D3DCOLORVALUE {
nuclear@0 20 public:
nuclear@0 21
nuclear@0 22 #else
nuclear@0 23
nuclear@0 24 class Color {
nuclear@0 25 public:
nuclear@0 26 float_t r, g, b, a;
nuclear@0 27
nuclear@0 28 #endif // NUC3D_VER_DIRECT3D
nuclear@0 29
nuclear@0 30 Color(float_t intensity = 1.0f);
nuclear@0 31 Color(float_t r, float_t g, float_t b, float_t a = 1.0f);
nuclear@0 32 Color(unsigned int r, unsigned int g, unsigned int b, unsigned int a = 255);
nuclear@0 33 Color(int r, int g, int b, int a = 255);
nuclear@0 34 Color(dword pcol);
nuclear@0 35 Color(long pcol);
nuclear@0 36
nuclear@0 37 Color operator +(const Color &col) const;
nuclear@0 38 Color operator -(const Color &col) const;
nuclear@0 39 Color operator *(const Color &col) const;
nuclear@0 40 Color operator *(float_t scalar) const;
nuclear@0 41
nuclear@0 42 void operator +=(const Color &col);
nuclear@0 43 void operator -=(const Color &col);
nuclear@0 44 void operator *=(const Color &col);
nuclear@0 45 void operator *=(float_t scalar);
nuclear@0 46
nuclear@0 47 dword GetPacked32() const;
nuclear@0 48 word GetPacked16() const;
nuclear@0 49 word GetPacked15() const;
nuclear@0 50 byte GetNearest8(const byte **pal) const;
nuclear@0 51 };
nuclear@0 52
nuclear@0 53 Color BlendColors(const Color &c1, const Color &c2, float_t t);
nuclear@0 54
nuclear@0 55 #endif // _COLORS_H_