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_ |