X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/71432ef81fcd99814dc5eab49622e7af04c668e1..aae24d21a33faa2a23fccde24255365ca845c46f:/utils/glcanvas/samples/penguin/penguin.h diff --git a/utils/glcanvas/samples/penguin/penguin.h b/utils/glcanvas/samples/penguin/penguin.h new file mode 100644 index 0000000000..83b0708e1c --- /dev/null +++ b/utils/glcanvas/samples/penguin/penguin.h @@ -0,0 +1,84 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: penguin.h +// Purpose: wxGLCanvas demo program +// Author: Robert Roebling +// Modified by: +// Created: 04/01/98 +// RCS-ID: $Id$ +// Copyright: (c) Robert Roebling +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +#ifndef _WX_PENGUIN_H_ +#define _WX_PENGUIN_H_ + + +#include "wx/defs.h" +#include "wx/app.h" +#include "wx/menu.h" +#include "wx/dcclient.h" + +#include "glcanvas.h" + +extern "C" { +#include "lw.h" +#include "trackball.h" +} + +/* information needed to display lightwave mesh */ +typedef struct +{ + gint do_init; /* true if initgl not yet called */ + lwObject *lwobject; /* lightwave object mesh */ + float beginx,beginy; /* position of mouse */ + float quat[4]; /* orientation of object */ + float zoom; /* field of view in degrees */ +} mesh_info; + + +/* Define a new application type */ +class MyApp: public wxApp +{ +public: + bool OnInit(void); +}; + +/* Define a new frame type */ +class TestGLCanvas; +class MyFrame: public wxFrame +{ +public: + MyFrame(wxFrame *frame, const wxString& title, const wxPoint& pos, const wxSize& size, + long style = wxDEFAULT_FRAME_STYLE); + + void OnExit(wxCommandEvent& event); + bool OnClose(void); +public: + TestGLCanvas* m_canvas; + +DECLARE_EVENT_TABLE() +}; + + +class TestGLCanvas: public wxGLCanvas +{ + public: + TestGLCanvas(wxWindow *parent, const wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, long style = 0, const wxString& name = "TestGLCanvas"); + ~TestGLCanvas(void); + + void OnPaint(wxPaintEvent& event); + void OnSize(wxSizeEvent& event); + void OnEraseBackground(wxEraseEvent& event); + void LoadLWO( const wxString &filename); + void OnMouse( wxMouseEvent& event ); + void InitGL(void); + + mesh_info info; + bool block; + +DECLARE_EVENT_TABLE() +}; + +#endif +