00001 /* COPYRIGHT 00002 * 00003 * This file is part of the Visual Effects Engine - VEE 00004 * 00005 * Read the "VEE-LICENSE" file for the license. 00006 * 00007 * Authors & Copyright: 00008 * 00009 * Tommi Ilmonen, Tuukka Heikura, Marko Myllymaa and 00010 * Janne Kontkanen 2001-2004 00011 * 00012 * Additional copyrights: Tekes 2003-2004 00013 * 00014 * firstname.lastname@hut.fi 00015 * 00016 */ 00017 00018 #ifndef VEE_OPERATOR_CALLBACK_H 00019 #define VEE_OPERATOR_CALLBACK_H 00020 00021 #include <vee_operator.h> 00022 00023 typedef void (*VEE_OPERATOR_FUNC)(VEE_Object *, float, void *); 00024 00025 class VEE_OperatorCallback : public VEE_Operator 00026 { 00027 public: 00028 VEE_OperatorCallback() : m_func(0), m_clienData(0) {} 00029 virtual ~VEE_OperatorCallback(); 00030 00031 virtual void operate(VEE_Object *, float); 00032 virtual VEE_Operator * clone() const; 00033 00034 void setCallback(VEE_OPERATOR_FUNC func, void * clientData) 00035 { m_func = func; m_clienData = clientData; } 00036 00037 protected: 00038 00039 VEE_OPERATOR_FUNC m_func; 00040 void * m_clienData; 00041 }; 00042 00043 #endif