1 #ifndef _GLCVIEWPORT_H
2 #define _GLCVIEWPORT_H
3 /*
4  * Created by Ian "Goober5000" Warfield and "z64555" for the FreeSpace2 Source
5  * Code Project.
6  *
7  * You may not sell or otherwise commercially exploit the source or things you
8  * create based on the source.
9  */
10 
11 #include "base/wxFRED_base.h"
12 
13 #include "globalincs/pstypes.h"
14 #include "physics/physics.h"
15 
16 #include "wx/glcanvas.h"
17 
18 
19 #if !wxUSE_GLCANVAS
20     #error "OpenGL required: set wxUSE_GLCANVAS to 1 and rebuild the library"
21 #endif
22 
23 enum cmode
24 {
25 	cmode_standard,	// Standard camera movement controls
26 	cmode_orbit,	// Camera orbits select object(s)
27 	cmode_ship		// Controls selected object
28 };
29 
30 class glcViewport : public wxGLCanvas
31 {
32 public:
33 	glcViewport( wxWindow *parent, wxWindowID id = wxID_ANY, int*gl_attrib = NULL);
34 
35 protected:
36 	// Handlers for glcViewport
37 	void OnPaint( wxPaintEvent& event );
38 	void OnSize( wxSizeEvent& event);
39 	void OnEraseBackgroun( wxEraseEvent& event);
40 
41 	void OnMouse( wxMouseEvent& event );
42 private:
43 	// Member data
44 	vec3d	c_pos;	// Camera Position
45 	matrix	c_rot;	// Camera Rotation/Orientation
46 
47 	// Viewport modes and options
48 	cmode Control_mode;
49 
50 	bool show_coordinates;
51 	bool show_distances;
52 	bool show_grid;
53 	bool show_grid_aa;
54 	bool show_grid_positions;
55 	bool show_horizon;
56 	bool show_outlines;
57 
58 
59 };
60 
61 #endif // _GLCVIEWPORT_H
62