00001 /* === S Y N F I G ========================================================= */ 00021 /* ========================================================================= */ 00022 00023 /* === S T A R T =========================================================== */ 00024 00025 #ifndef __SYNFIG_APP_ACTION_COLORSET_H 00026 #define __SYNFIG_APP_ACTION_COLORSET_H 00027 00028 /* === H E A D E R S ======================================================= */ 00029 00030 #include <synfigapp/action.h> 00031 #include <synfigapp/value_desc.h> 00032 #include <list> 00033 00034 /* === M A C R O S ========================================================= */ 00035 00036 /* === T Y P E D E F S ===================================================== */ 00037 00038 /* === C L A S S E S & S T R U C T S ======================================= */ 00039 00040 namespace synfigapp { 00041 00042 namespace Action { 00043 00044 class ColorSet : 00045 public Super 00046 { 00047 private: 00048 00049 std::list<ValueDesc> value_desc_list; 00050 synfig::Color color; 00051 synfig::Time time; 00052 bool use_outline_color; 00053 00054 public: 00055 00056 ColorSet(bool use_outline_color); 00057 00058 static ParamVocab get_param_vocab(); 00059 static bool is_candidate(const ParamList &x); 00060 00061 virtual bool set_param(const synfig::String& name, const Param &); 00062 virtual bool is_ready() const; 00063 00064 virtual void prepare(); 00065 }; 00066 00067 class ColorSetFromOC : public ColorSet 00068 { 00069 public: 00070 00071 ColorSetFromOC() : ColorSet(true) {} 00072 00073 ACTION_MODULE_EXT 00074 00075 }; 00076 00077 class ColorSetFromFC : public ColorSet 00078 { 00079 public: 00080 00081 ColorSetFromFC() : ColorSet(false) {} 00082 00083 ACTION_MODULE_EXT 00084 00085 }; 00086 00087 }; // END of namespace action 00088 }; // END of namespace studio 00089 00090 /* === E N D =============================================================== */ 00091 00092 #endif