reman3/Rayman_X/cpa/tempgrp/OCA/inc/camslots.hpp

41 lines
1005 B
C++

#ifndef __CAMSLOTS_HPP__
#define __CAMSLOTS_HPP__
#include "itf.h"
#include "camera.hpp"
class Camera_Interface;
//typedef enum {MakeACopy = 0,DontMakeACopy} tdeMakeCopy;
class Camera_Slots
{
private:
CArray<Camera*,Camera*> m_oCameraSlots;
CArray<CString,CString> m_oNameSlots;
Camera_Interface *m_p_oInterface;
public:
Camera_Slots(void);
void SaveCameraInSlot(long lNum,CStrin csName,Camera *p_oCamera,tdeMakeCopy = MakeACopy);
void RestoreCameraFromSlot(long lNum,DEV_ViewPort3D *p_oViewport);
void PutCameraInViewPort(Camera *p_oCamera,DEV_ViewPort3D *p_oViewPort,tdeMakeCopy = MakeACopy);
void SetInterface(Camera_Interface *p_oInterface) { m_p_oInterface = p_oInterface;};
long GetNbBusySlots();
CString GetNameOfSlotIfBusy(long lNum);
Camera *GetCameraFromPopUpMenu(CWnd *p_oParent, tdeMakeCopy eCopy = MakeACopy);
long GetSlotFromPopUpMenu(CWnd *p_oParent);
BOOL IsEmpty(long lNum) { return (m_oCameraSlots[lNum] == NULL);};
};
#endif // __CAMSLOTS_HPP__