/*=========================================================================*/
/* CPACont.hpp : main header file for the CPA_Contact class*/
/* This is a part of the CPA project.*/
/**/
/* Version			1.0*/
/* Creation date	13/06/96*/
/* Revision date*/
/**/
/* (c) Ubi Studio 1996*/
/**/
/* DO NOT MODIFY THAT FILE. IF SOMETHING NEEDS TO BE CHANGE, PLEASE CONTACT */
/* VINCENT GRECO OR CHRISTOPHE BEAUDET.*/
/*=========================================================================*/
 
#ifndef __CPACONT_HPP__
#define __CPACONT_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
 
#include "CPADllb.hpp"
class DEV_MultiDevice;
class CPA_Interface;
 
/*#########################*/
/* Definition of base frame*/
/*#########################*/
class CPA_EXPORT CPA_Contact : public CObject
{
	DECLARE_DYNCREATE(CPA_Contact)
 
protected:
	DEV_MultiDevice *m_p_oDevice;
 
public: 
	CPA_Contact(DEV_MultiDevice *p_oDevice = NULL);
	~CPA_Contact();
 
	void SetDevice(DEV_MultiDevice *p_oDevice)	{ m_p_oDevice = p_oDevice;}
	DEV_MultiDevice *GetDevice()				{ return m_p_oDevice; }
 
	CPA_Interface * GetInterface (void);
 
    virtual BOOL _OnCommand				(UINT); 
    virtual BOOL _OnUpdateCommandUI		(CCmdUI *);
    virtual BOOL _OnKeyDown				(UINT, UINT, UINT);
    virtual BOOL _OnKeyUp				(UINT, UINT, UINT);
    virtual BOOL _OnMouseMove			(UINT, tdstMousePos *, MTH3D_tdstVector *);
    virtual BOOL _OnLButtonDblClk		(UINT, tdstMousePos *, ACP_tdxIndex, HIE_tdstPickInfo *);
    virtual BOOL _OnRButtonDblClk		(UINT, tdstMousePos *, ACP_tdxIndex, HIE_tdstPickInfo *);
    virtual BOOL _OnLButtonDown			(UINT, tdstMousePos *, ACP_tdxIndex, HIE_tdstPickInfo *);
    virtual BOOL _OnRButtonDown			(UINT, tdstMousePos *, ACP_tdxIndex, HIE_tdstPickInfo *);
    virtual BOOL _OnLButtonUp			(UINT, tdstMousePos *);
    virtual BOOL _OnRButtonUp			(UINT, tdstMousePos *);
    virtual BOOL _OnDragDropEnd			(WPARAM wParam, LPARAM lParam);
    virtual BOOL _OnDragDropMove		(WPARAM wParam, LPARAM lParam);
    virtual BOOL _OnDragDropLooseFocus	(WPARAM wParam, LPARAM lParam);
    virtual BOOL _OnDragDropGainFocus	(WPARAM wParam, LPARAM lParam);
 
	virtual void fn_vBeforeDrawingWorld(GLD_tdstViewportAttributes *p1, GLI_tdxHandleToLight p2, DEV_ViewPort* p3);
	virtual void fn_vAddObjectsToDraw(GLD_tdstViewportAttributes *p1, GLI_tdxHandleToLight p2, DEV_ViewPort* p3);
	virtual void fn_vAddObjectsToDraw2(GLD_tdstViewportAttributes *p1, GLI_tdxHandleToLight p2);
	virtual BOOL fn_bPreTranslateMessage(MSG *p_stMsg);
};
 
/*///////////////////////////////////////////////////////////////////////////*/
 
#endif /* ACTIVE_EDITOR*/
#endif /* __CPACONT_HPP__*/
