Rgba.inl
Go to the documentation of this file.00001 /**<!--------------------------------------------------------------------> 00002 @file Rgba.inl 00003 @author Travis Fischer (fisch0920@gmail.com) 00004 @author Matthew Jacobs (jacobs.mh@gmail.com) 00005 @date Fall 2008 00006 00007 @brief 00008 32-bit and 128-bit Rgba structs 00009 <!-------------------------------------------------------------------->**/ 00010 00011 #ifndef MILTON_RGBA_INL_ 00012 #define MILTON_RGBA_INL_ 00013 00014 00015 inline Rgba32::Rgba32(unsigned char r_, unsigned char g_, 00016 unsigned char b_, unsigned char a_) 00017 : b(b_), g(g_), r(r_), a(a_) 00018 { } 00019 00020 inline Rgba32::operator Vector3() const { 00021 return Vector3(CAP(r / 255.0, 0, 1), 00022 CAP(g / 255.0, 0, 1), 00023 CAP(b / 255.0, 0, 1)); 00024 } 00025 00026 inline Rgba32::operator RgbaHDR() const { 00027 return RgbaHDR::fromVector(*this); 00028 } 00029 00030 inline real_t Rgba32::luminance() const { 00031 return (0.299 * r + 0.587 * g + 0.11 * b) / 255; 00032 } 00033 00034 00035 inline RgbaHDR::RgbaHDR(real_t r_, real_t g_, 00036 real_t b_, real_t a_) 00037 : r(r_), g(g_), b(b_), a(a_) 00038 { } 00039 00040 inline RgbaHDR::operator Vector3() const { 00041 return Vector3(r, g, b); 00042 } 00043 00044 inline RgbaHDR::operator Rgba32() const { 00045 return Rgba32::fromVector(*this); 00046 } 00047 00048 inline real_t RgbaHDR::luminance() const { 00049 return (0.299 * r + 0.587 * g + 0.11 * b); 00050 } 00051 00052 inline RgbaHDR RgbaHDR::operator*(real_t scalar) const { 00053 return RgbaHDR(r * scalar, g * scalar, b * scalar, a); 00054 } 00055 00056 inline RgbaHDR &RgbaHDR::operator*=(real_t scalar) { 00057 r *= scalar; 00058 g *= scalar; 00059 b *= scalar; 00060 00061 return *this; 00062 } 00063 00064 #endif // MILTON_RGBA_INL_ 00065
Generated on 28 Feb 2009 for Milton by
1.5.6