00001 /* -*- C++ -*- */ 00002 00003 /* COPYRIGHT 00004 * 00005 * This file is part of the Visual Effects Engine - VEE 00006 * 00007 * Read the "VEE-LICENSE" file for the license. 00008 * 00009 * Authors & Copyright: 00010 * 00011 * Tommi Ilmonen, Tuukka Heikura, Marko Myllymaa and 00012 * Janne Kontkanen 2001-2004 00013 * 00014 * Additional copyrights: Tekes 2003-2004 00015 * 00016 * firstname.lastname@hut.fi 00017 * 00018 */ 00019 00020 #ifndef VEE_LOOKS_COLOR_TABLE_H 00021 #define VEE_LOOKS_COLOR_TABLE_H 00022 00023 #include <vee_looks.h> 00024 00025 #include <vee_color_table.h> 00026 #include <vee_reference_object.h> 00027 00028 class VEE_LooksColorTable : public VEE_Looks 00029 { 00030 public: 00031 VEE_LooksColorTable() {} 00032 VEE_LooksColorTable(VEE_RgbaTable *colorTable) 00033 : m_colorTable(*colorTable) {} 00034 00035 virtual ~VEE_LooksColorTable(); 00036 00037 virtual VEE_Rgba color(); 00038 virtual VEE_Looks *clone() const; 00039 00040 VEE_RgbaTable & colorTable() { return *m_colorTable; } 00041 00042 protected: 00043 00044 VEE_ReferenceObject<VEE_RgbaTable> m_colorTable; 00045 }; 00046 00047 00049 class VEE_LooksColorTable2 : public VEE_Looks 00050 { 00051 public: 00052 VEE_LooksColorTable2() : m_maxAge(1.0) {} 00053 VEE_LooksColorTable2(VEE_RgbaTable *colorTable, float maxAge = 1.0) 00054 : m_maxAge(maxAge), m_colorTable(*colorTable) {} 00055 00056 virtual ~VEE_LooksColorTable2(); 00057 00058 virtual VEE_Rgba color(); 00059 virtual VEE_Looks *clone() const; 00060 00061 VEE_RgbaTable & colorTable() { return *m_colorTable; } 00062 00063 void setMaxAge(float max) { m_maxAge = max; } 00064 00065 protected: 00066 00067 float m_maxAge; 00068 00069 VEE_ReferenceObject<VEE_RgbaTable> m_colorTable; 00070 }; 00071 00072 00073 00074 #endif