2012-01-27 14:47:08 +00:00
|
|
|
#ifndef _PAYSAGES_QT_WIDGETWANDERER_H_
|
|
|
|
#define _PAYSAGES_QT_WIDGETWANDERER_H_
|
|
|
|
|
|
|
|
#include <QGLWidget>
|
|
|
|
#include "../lib_paysages/camera.h"
|
|
|
|
#include "../lib_paysages/terrain.h"
|
|
|
|
#include "../lib_paysages/water.h"
|
|
|
|
|
|
|
|
class WidgetWanderer : public QGLWidget
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
public:
|
|
|
|
WidgetWanderer(QWidget* parent, CameraDefinition* camera);
|
|
|
|
|
2012-01-27 23:01:21 +00:00
|
|
|
public slots:
|
|
|
|
void resetCamera();
|
|
|
|
void validateCamera();
|
|
|
|
|
2012-01-27 14:47:08 +00:00
|
|
|
protected:
|
2012-01-27 16:01:34 +00:00
|
|
|
void keyPressEvent(QKeyEvent* event);
|
|
|
|
void mousePressEvent(QMouseEvent* event);
|
|
|
|
void mouseMoveEvent(QMouseEvent* event);
|
|
|
|
void wheelEvent(QWheelEvent* event);
|
|
|
|
|
2012-01-27 14:47:08 +00:00
|
|
|
void initializeGL();
|
|
|
|
void resizeGL(int w, int h);
|
|
|
|
void paintGL();
|
|
|
|
|
|
|
|
private:
|
2012-01-27 23:01:21 +00:00
|
|
|
CameraDefinition _current_camera;
|
|
|
|
CameraDefinition* _base_camera;
|
|
|
|
|
2012-01-27 14:47:08 +00:00
|
|
|
TerrainDefinition terrain;
|
|
|
|
WaterDefinition water;
|
2012-01-27 16:01:34 +00:00
|
|
|
|
|
|
|
int last_mouse_x;
|
|
|
|
int last_mouse_y;
|
2012-01-27 14:47:08 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|