home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / wxos2233.zip / wxOS2-2_3_3.zip / wxWindows-2.3.3 / samples / opengl / penguin / penguin.h < prev    next >
C/C++ Source or Header  |  2002-03-20  |  2KB  |  84 lines

  1. /////////////////////////////////////////////////////////////////////////////
  2. // Name:        penguin.h
  3. // Purpose:     wxGLCanvas demo program
  4. // Author:      Robert Roebling
  5. // Modified by:
  6. // Created:     04/01/98
  7. // RCS-ID:      $Id: penguin.h,v 1.3 2002/03/17 14:15:54 VZ Exp $
  8. // Copyright:   (c) Robert Roebling
  9. // Licence:     wxWindows licence
  10. /////////////////////////////////////////////////////////////////////////////
  11.  
  12. #ifndef _WX_PENGUIN_H_
  13. #define _WX_PENGUIN_H_
  14.  
  15.  
  16. #include "wx/defs.h"
  17. #include "wx/app.h"
  18. #include "wx/menu.h"
  19. #include "wx/dcclient.h"
  20.  
  21. #include "wx/glcanvas.h"
  22.  
  23. extern "C" {
  24. #include "lw.h"
  25. #include "trackball.h"
  26. }
  27.  
  28. /* information needed to display lightwave mesh */
  29. typedef struct 
  30. {
  31. //  gint do_init;         /* true if initgl not yet called */
  32.   int do_init;
  33.   lwObject *lwobject;   /* lightwave object mesh */
  34.   float beginx,beginy;  /* position of mouse */
  35.   float quat[4];        /* orientation of object */
  36.   float zoom;           /* field of view in degrees */
  37. } mesh_info;
  38.  
  39.  
  40. /* Define a new application type */
  41. class MyApp: public wxApp
  42. {
  43. public:
  44.     bool OnInit(void);
  45. };
  46.  
  47. /* Define a new frame type */
  48. class TestGLCanvas;
  49. class MyFrame: public wxFrame
  50. {
  51. public:
  52.     MyFrame(wxFrame *frame, const wxString& title, const wxPoint& pos, const wxSize& size,
  53.         long style = wxDEFAULT_FRAME_STYLE);
  54.  
  55.     void OnExit(wxCommandEvent& event);
  56. public:
  57.     TestGLCanvas*    m_canvas;
  58.  
  59. DECLARE_EVENT_TABLE()
  60. };
  61.  
  62. class TestGLCanvas: public wxGLCanvas
  63. {
  64.  public:
  65.    TestGLCanvas(wxWindow *parent, const wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition,
  66.       const wxSize& size = wxDefaultSize, long style = 0, const wxString& name = "TestGLCanvas");
  67.    ~TestGLCanvas(void);
  68.  
  69.    void OnPaint(wxPaintEvent& event);
  70.    void OnSize(wxSizeEvent& event);
  71.    void OnEraseBackground(wxEraseEvent& event);
  72.    void LoadLWO( const wxString &filename);
  73.    void OnMouse( wxMouseEvent& event );
  74.    void InitGL(void);
  75.    
  76.    mesh_info  info;
  77.    bool       block;
  78.  
  79. DECLARE_EVENT_TABLE()
  80. };
  81.  
  82. #endif
  83.  
  84.