| |
| |
| #ifndef TPARAMCHANGE_INCLUDED |
| #define TPARAMCHANGE_INCLUDED |
| |
| // TnzCore includes |
| #include "tcommon.h" |
| |
| #undef DVAPI |
| #undef DVVAR |
| #ifdef TPARAM_EXPORTS |
| #define DVAPI DV_EXPORT_API |
| #define DVVAR DV_EXPORT_VAR |
| #else |
| #define DVAPI DV_IMPORT_API |
| #define DVVAR DV_IMPORT_VAR |
| #endif |
| |
| //=========================================================== |
| |
| // Forward declarations |
| |
| class TParam; |
| |
| //=========================================================== |
| |
| //***************************************************************************************** |
| // TParamChange declaration |
| //***************************************************************************************** |
| |
| class DVAPI TParamChange |
| { |
| public: |
| TParam *m_param; //!< (not owned) The parameter being changed |
| |
| double m_firstAffectedFrame, |
| m_lastAffectedFrame; //!< First and last frames affected by the change |
| |
| bool m_keyframeChanged; //!< Whether a keyframe has been altered by the change |
| bool m_dragging; //!< Whether the change is about a mouse being dragged |
| bool m_undoing; //!< Whether the change is happening within an undo operation |
| |
| static double m_minFrame; |
| static double m_maxFrame; |
| |
| public: |
| TParamChange(TParam *param, |
| double firstAffectedFrame, double lastAffectedFrame, |
| bool keyframeChanged, bool dragging, bool undoing); |
| |
| virtual ~TParamChange() {} |
| }; |
| |
| //***************************************************************************************** |
| // TParamObserver definition |
| //***************************************************************************************** |
| |
| class DVAPI TParamObserver |
| { |
| public: |
| virtual ~TParamObserver() {} |
| |
| virtual void onChange(const TParamChange &) = 0; |
| }; |
| |
| #endif // TPARAMCHANGE_INCLUDED |
| |