58 lines
1.7 KiB
C++
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__*/
|
|
|