MotionCal/gui.h

99 lines
1.8 KiB
C
Raw Normal View History

2016-02-16 17:19:44 -08:00
#ifndef gui__h_
#define gui__h_
#include <wx/wx.h>
2016-02-18 01:31:30 -08:00
#include "wx/timer.h"
#include "wx/glcanvas.h"
#include "wx/math.h"
#include "wx/log.h"
#include "wx/wfstream.h"
#include "wx/zstream.h"
#include "wx/txtstrm.h"
#if defined(__WXMAC__) || defined(__WXCOCOA__)
#ifdef __DARWIN__
#include <OpenGL/gl.h>
#include <OpenGL/glu.h>
#else
#include <gl.h>
#include <glu.h>
#endif
#else
#include <GL/gl.h>
#include <GL/glu.h>
#endif
#define ID_TIMER 10000
2016-03-15 16:04:11 -07:00
#define ID_SENDCAL 10001
2016-02-18 01:31:30 -08:00
class MyCanvas : public wxGLCanvas
{
public:
MyCanvas(wxWindow *parent,
wxWindowID id = wxID_ANY,
int *gl_attrib = NULL);
virtual ~MyCanvas();
void OnPaint(wxPaintEvent& event);
void OnSize(wxSizeEvent& event);
void OnChar(wxKeyEvent& event);
void OnMouseEvent(wxMouseEvent& event);
void LoadSurface(const wxString& filename);
void InitMaterials();
void InitGL();
private:
wxGLContext *m_glRC;
wxDECLARE_NO_COPY_CLASS(MyCanvas);
wxDECLARE_EVENT_TABLE();
};
2016-02-16 17:19:44 -08:00
class MyFrame: public wxFrame
{
public:
MyFrame(wxWindow *parent, wxWindowID id,
const wxString &title,
const wxPoint &pos = wxDefaultPosition,
const wxSize &size = wxDefaultSize,
long style = wxDEFAULT_FRAME_STYLE);
~MyFrame(void);
2016-02-18 01:31:30 -08:00
void InitGL();
2016-03-15 15:32:15 -07:00
void OnPort(wxCommandEvent &event);
2016-03-15 16:04:11 -07:00
void OnSendCal(wxCommandEvent &event);
2016-02-16 17:19:44 -08:00
private:
2016-02-18 01:31:30 -08:00
MyCanvas *m_canvas;
wxTimer *m_timer;
2016-02-16 17:19:44 -08:00
void OnAbout(wxCommandEvent &event);
void OnQuit(wxCommandEvent &event);
2016-02-18 01:31:30 -08:00
void OnTimer(wxTimerEvent &event);
2016-02-16 17:19:44 -08:00
DECLARE_EVENT_TABLE()
};
2016-03-15 15:32:15 -07:00
class MyMenu: public wxMenu
{
public:
MyMenu(const wxString& title = "", long style = 0);
void OnShowPortList(wxMenuEvent &event);
void OnHighlight(wxMenuEvent &event);
};
2016-02-16 17:19:44 -08:00
class MyApp: public wxApp
{
public:
MyApp();
virtual bool OnInit();
virtual int OnExit();
private:
//wxSingleInstanceChecker *m_instance;
};
2016-03-15 15:32:15 -07:00
// portlist.cpp
wxArrayString serial_port_list();
2016-02-16 17:19:44 -08:00
#endif