reman3/Rayman_X/cpa/public/ITF/cpamcapt.hpp

58 lines
1.7 KiB
C++

/*=========================================================================*/
/* CPAMCapt.hpp : MouseCapturer class. virtual class that all objects capturing*/
/* mouse movement messages must derive from.*/
/**/
/* Version 1.0*/
/* Creation date 24/01/97*/
/* Revision date*/
/**/
/* (c) Ubi Studios 1997*/
/**/
/* DO NOT MODIFY THAT FILE. IF SOMETHING NEEDS TO BE CHANGE, PLEASE CONTACT*/
/* BENOIT GERMAIN.*/
/*=========================================================================*/
#ifndef __CPAMCAPT_HPP__
#define __CPAMCAPT_HPP__
/****************************************/
#ifndef CPA_EXPORT
#if defined(CPA_WANTS_IMPORT)
#define CPA_EXPORT __declspec(dllimport)
#elif defined(CPA_WANTS_EXPORT)
#define CPA_EXPORT __declspec(dllexport)
#else
#define CPA_EXPORT
#endif
#endif
/****************************************/
#ifdef ACTIVE_EDITOR
class CPA_MouseCapturer
{
public:
CPA_MouseCapturer();
~CPA_MouseCapturer();
/*any class deriving from CPA_MouseCapturer one must declare these methods as follows,*/
/*because CPA_MouseCapturer does not derive from CWnd*/
/*CWnd *m_p_oGrabCapture() { return m_p_oGrabCaptureFor(this); }*/
/*if the object deriving from CPA_MouseCapturer does not derive from CWnd,*/
/*an alternative is provided to the no-argument method, but the first one must overloaded as is:*/
/*CWnd *m_p_oGrabCapture() { ASSERT(FALSE); return (CWnd *) NULL; }*/
virtual CWnd *m_p_oGrabCapture() = 0;
CWnd *m_p_oGrabCaptureFor(CWnd *pWnd);
CWnd *m_p_oSurrenderCapture(BOOL bCheckCoherence = TRUE);
private:
CWnd *m_p_oPreviousCapturer;
CWnd *m_p_oCurrentCapturer;
BOOL m_bDestruction;
};
#endif /* ACTIVE_EDITOR*/
/*///////////////////////////////////////////////////////////////////////////*/
#endif /* __CPAMCAPT_HPP__*/