X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=src%2Fgraph3dview.h;h=b21072fe45f9a65ae7c28037c5ebedc4bedf4326;hp=bcd40ca3580a1201c32d77249a37feda130826a9;hb=9ac3b88884957e2c07bf365c2503c6c1fbeaa60e;hpb=fa1246da51720a6cd7fe4879a0a25795b13b2455 diff --git a/src/graph3dview.h b/src/graph3dview.h index bcd40ca..b21072f 100644 --- a/src/graph3dview.h +++ b/src/graph3dview.h @@ -7,9 +7,7 @@ ** Date Started: Jan 2001 ** ** This is part of the CTSim program -** Copyright (c) 1983-2001 Kevin Rosenberg -** -** $Id: graph3dview.h,v 1.10 2002/06/02 19:01:58 kevin Exp $ +** Copyright (c) 1983-2009 Kevin Rosenberg ** ** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU General Public License (version 2) as @@ -37,27 +35,29 @@ class Graph3dFileCanvas; -class Graph3dFileView : public wxView +class Graph3dFileView : public wxView { friend class Graph3dFileCanvas; private: - DECLARE_DYNAMIC_CLASS(Graph3dFileView) + DECLARE_DYNAMIC_CLASS(Graph3dFileView) DECLARE_EVENT_TABLE() - + wxMenu* m_pFileMenu; wxMenu *m_pViewMenu; wxStatusBar* m_pStatusBar; + Graph3dFileCanvas* m_pCanvas; GLfloat m_dXRotate; GLfloat m_dYRotate; GLfloat m_dZRotate; - bool m_bUseVertexArrays; bool m_bDoubleBuffer; bool m_bSmooth; - bool m_bLighting; bool m_bWireframe; + bool m_bLighting; bool m_bColor; + bool m_bColorScaleMinSet; + bool m_bColorScaleMaxSet; enum { DISPLAYLIST_COLOR = 1, DISPLAYLIST_NO_COLOR = 2, @@ -67,17 +67,7 @@ private: double m_dGraphMax; double m_dColorScaleMin; double m_dColorScaleMax; - bool m_bColorScaleMinSet; - bool m_bColorScaleMaxSet; - - void Draw(); - void DrawSurface(); - void CreateDisplayList(); - void InitMaterials(); - void InitGL(); - - Graph3dFileCanvas* m_pCanvas; - Graph3dFileCanvas *CreateCanvas (wxFrame* parent); + wxGLContext *m_pGLContext; #if CTSIM_MDI wxDocMDIChildFrame* m_pFrame; @@ -87,7 +77,15 @@ private: wxDocChildFrame* CreateChildFrame(wxDocument *doc, wxView *view); #endif - wxWindow* getFrameForChild() + void Draw(); + void DrawSurface(); + void CreateDisplayList(); + void InitMaterials(); + void InitGL(); + + Graph3dFileCanvas *CreateCanvas (wxFrame* parent); + + wxWindow* getFrameForChild() #if CTSIM_MDI { return theApp->getMainFrame(); } #else @@ -114,14 +112,16 @@ public: void OnScaleSet (wxCommandEvent& event); void OnScaleAuto (wxCommandEvent& event); void OnScaleFull (wxCommandEvent& event); - + + void setInitialClientSize(); + #if CTSIM_MDI wxDocMDIChildFrame* getFrame() { return m_pFrame; } #else wxDocChildFrame* getFrame() { return m_pFrame; } #endif Graph3dFileCanvas* getCanvas() { return m_pCanvas; } - Graph3dFileDocument* GetDocument() + Graph3dFileDocument* GetDocument() { return dynamic_cast(wxView::GetDocument()); } }; @@ -135,11 +135,13 @@ private: Graph3dFileView* m_pView; public: - Graph3dFileCanvas (Graph3dFileView* view, wxWindow *parent, const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, long style = 0); + Graph3dFileCanvas (Graph3dFileView* view, wxWindow *parent, + int* attribList, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, long style = 0); virtual ~Graph3dFileCanvas(); - virtual void OnDraw(wxDC& dc); + void OnPaint(wxPaintEvent& event); virtual wxSize GetBestSize() const; void OnSize(wxSizeEvent& event); void OnEraseBackground(wxEraseEvent& event);