2004-05-30 02:46:58 +02:00
|
|
|
/////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
// navicam.h
|
|
|
|
//
|
|
|
|
// - header containing NaviCam class, used to produce MAX style navigation controls
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef _NAVICAM_H
|
|
|
|
#define _NAVICAM_H
|
|
|
|
|
|
|
|
#include "res/res.h"
|
|
|
|
#include "Camera.h"
|
|
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
// CNaviCam: MAX style navigation controller
|
|
|
|
class CNaviCam
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
// constructor
|
|
|
|
CNaviCam();
|
|
|
|
|
|
|
|
// handler for wheel scroll event - dir is positive for
|
|
|
|
// upward scroll (away from user), or negative for downward scroll (towards
|
|
|
|
// user)
|
|
|
|
void OnMouseWheelScroll(u32 flags,int px,int py,float dir);
|
|
|
|
// handler for middle button down event
|
|
|
|
void OnMButtonDown(u32 flags,int px,int py);
|
|
|
|
// handler for middle button up event
|
|
|
|
void OnMButtonUp(u32 flags,int px,int py);
|
|
|
|
// handler for mouse move (only called when middle button down)
|
|
|
|
void OnMouseMove(u32 flags,int px,int py);
|
|
|
|
|
|
|
|
// return the regular camera object
|
|
|
|
CCamera& GetCamera() { return m_Camera; }
|
|
|
|
|
|
|
|
private:
|
|
|
|
// the regular camera object that defines FOV, orientation, etc
|
|
|
|
CCamera m_Camera;
|
|
|
|
// current zoom of camera
|
|
|
|
float m_CameraZoom;
|
|
|
|
};
|
|
|
|
|
|
|
|
extern CNaviCam g_NaviCam;
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|