Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

Color.cpp

00001 /*************************************************************************** 00002 * This file is part of OpenCAL: Open Computer Animation Library * 00003 * I created OpenCAL as my master's thesis Computer Science (multimedia) * 00004 * at the tUL university in Diepenbeek, Belgium * 00005 * * 00006 * Copyright (C) 2003-2004 by Jeroen Dierckx * 00007 * jeroen.dierckx@student.luc.ac.be * 00008 * * 00009 ***************************************************************************/ 00010 00011 // Includes 00012 #include "Color.h" 00013 using namespace OpenCAL::Utils; 00014 00015 // Static members 00016 Color Color::white(1.0f, 1.0f, 1.0f); 00017 Color Color::black(0.0f, 0.0f, 0.0f); 00018 Color Color::red(1.0f, 0.0f, 0.0f); 00019 Color Color::green(0.0f, 1.0f, 0.0f); 00020 Color Color::blue(0.0f, 0.0f, 1.0f); 00021 Color Color::yellow(1.0f, 1.0f, 0.0f); 00022 00023 00024 /****************************** 00025 * Constructors and destructor * 00026 ******************************/ 00027 00028 Color::Color(float r, float g, float b, float a) 00029 { 00030 m_values[0] = r; 00031 m_values[1] = g; 00032 m_values[2] = b; 00033 m_values[3] = a; 00034 } 00035 00036 Color::Color(float *values) 00037 { 00038 m_values[0] = values[0]; 00039 m_values[1] = values[1]; 00040 m_values[2] = values[2]; 00041 m_values[3] = values[3]; 00042 } 00043 00044 Color::Color(const Color &source) 00045 { 00046 m_values[0] = source.m_values[0]; 00047 m_values[1] = source.m_values[1]; 00048 m_values[2] = source.m_values[2]; 00049 m_values[3] = source.m_values[3]; 00050 } 00051 00052 Color::~Color() 00053 { 00054 } 00055 00056 00057 /************************ 00058 * Get and set functions * 00059 ************************/ 00060 00061 void Color::set(float r, float g, float b, float a) 00062 { 00063 m_values[0] = r; 00064 m_values[1] = g; 00065 m_values[2] = b; 00066 m_values[3] = a; 00067 } 00068 00069 void Color::set(float *values) 00070 { 00071 m_values[0] = values[0]; 00072 m_values[1] = values[1]; 00073 m_values[2] = values[2]; 00074 m_values[3] = values[3]; 00075 } 00076 00077 00078 /************ 00079 * Operators * 00080 ************/ 00081 00082 Color Color::operator/(float factor) const 00083 { 00084 return Color( 00085 m_values[0] / factor, 00086 m_values[1] / factor, 00087 m_values[2] / factor, 00088 m_values[3]/* / factor*/ 00089 ); 00090 } 00091 00092 /* 00093 #ifdef USE_QT 00094 Color::operator QColor() const 00095 { 00096 int r = (int) (m_values[0] * 255.0f); 00097 int g = (int) (m_values[1] * 255.0f); 00098 int b = (int) (m_values[2] * 255.0f); 00099 00100 return QColor(r, g, b); 00101 } 00102 #endif // USE_QT 00103 */

Generated on Sun Aug 15 19:19:22 2004 for OpenCAL: Open Computer Animation Library by doxygen 1.3.8