diff --git a/examples/osgsimpleviewerWX/osgsimpleviewerWX.cpp b/examples/osgsimpleviewerWX/osgsimpleviewerWX.cpp index cb760ad23..115efd82e 100644 --- a/examples/osgsimpleviewerWX/osgsimpleviewerWX.cpp +++ b/examples/osgsimpleviewerWX/osgsimpleviewerWX.cpp @@ -19,71 +19,71 @@ bool wxOsgApp::OnInit() { // Create the main frame window - MainFrame *frame = new MainFrame(NULL, wxT("wxWidgets OSG Sample"), - wxDefaultPosition, wxDefaultSize); + MainFrame *frame = new MainFrame(NULL, wxT("wxWidgets OSG Sample"), + wxDefaultPosition, wxDefaultSize); - // create osg canvas - // - initialize - SimpleViewerWX *viewerWindow = new SimpleViewerWX(frame, wxID_ANY, wxDefaultPosition, + // create osg canvas + // - initialize + SimpleViewerWX *viewerWindow = new SimpleViewerWX(frame, wxID_ANY, wxDefaultPosition, wxSize(200, 200), wxSUNKEN_BORDER); - - // load the scene. - osg::ref_ptr loadedModel = osgDB::readNodeFile("cow.osg"); - if (!loadedModel) - { - return false; - } - viewerWindow->setSceneData(loadedModel.get()); - viewerWindow->setCameraManipulator(new osgGA::TrackballManipulator); + + // load the scene. + osg::ref_ptr loadedModel = osgDB::readNodeFile("cow.osg"); + if (!loadedModel) + { + return false; + } + viewerWindow->setSceneData(loadedModel.get()); + viewerWindow->setCameraManipulator(new osgGA::TrackballManipulator); - frame->SetSimpleViewer(viewerWindow); + frame->SetSimpleViewer(viewerWindow); /* Show the frame */ - frame->Show(true); + frame->Show(true); - return true; + return true; } IMPLEMENT_APP(wxOsgApp) BEGIN_EVENT_TABLE(MainFrame, wxFrame) - EVT_IDLE(MainFrame::OnIdle) + EVT_IDLE(MainFrame::OnIdle) END_EVENT_TABLE() /* My frame constructor */ MainFrame::MainFrame(wxFrame *frame, const wxString& title, const wxPoint& pos, - const wxSize& size, long style) - : wxFrame(frame, wxID_ANY, title, pos, size, style) + const wxSize& size, long style) + : wxFrame(frame, wxID_ANY, title, pos, size, style) { - _viewerWindow = NULL; + _viewerWindow = NULL; } void MainFrame::SetSimpleViewer(SimpleViewerWX *viewer) { - _viewerWindow = viewer; + _viewerWindow = viewer; } void MainFrame::OnIdle(wxIdleEvent &event) { - _viewerWindow->render(); - event.RequestMore(); + _viewerWindow->render(); + event.RequestMore(); } BEGIN_EVENT_TABLE(GraphicsWindowWX, wxGLCanvas) - EVT_SIZE (GraphicsWindowWX::OnSize ) - EVT_PAINT (GraphicsWindowWX::OnPaint ) - EVT_ERASE_BACKGROUND(GraphicsWindowWX::OnEraseBackground) - EVT_KEY_DOWN (GraphicsWindowWX::OnKeyDown ) - EVT_KEY_UP (GraphicsWindowWX::OnKeyUp ) - EVT_MOUSE_EVENTS (GraphicsWindowWX::OnMouse ) + EVT_SIZE (GraphicsWindowWX::OnSize ) + EVT_PAINT (GraphicsWindowWX::OnPaint ) + EVT_ERASE_BACKGROUND(GraphicsWindowWX::OnEraseBackground) + EVT_KEY_DOWN (GraphicsWindowWX::OnKeyDown ) + EVT_KEY_UP (GraphicsWindowWX::OnKeyUp ) + EVT_MOUSE_EVENTS (GraphicsWindowWX::OnMouse ) END_EVENT_TABLE() GraphicsWindowWX::GraphicsWindowWX(wxWindow *parent, wxWindowID id, - const wxPoint& pos, const wxSize& size, long style, const wxString& name) - : wxGLCanvas(parent, id, pos, size, style|wxFULL_REPAINT_ON_RESIZE, name) + const wxPoint& pos, const wxSize& size, long style, const wxString& name) + : wxGLCanvas(parent, id, pos, size, style|wxFULL_REPAINT_ON_RESIZE, name) { - // default cursor to standard - _oldCursor = *wxSTANDARD_CURSOR; + // default cursor to standard + _oldCursor = *wxSTANDARD_CURSOR; } GraphicsWindowWX::~GraphicsWindowWX() @@ -93,104 +93,104 @@ GraphicsWindowWX::~GraphicsWindowWX() void GraphicsWindowWX::OnPaint( wxPaintEvent& WXUNUSED(event) ) { /* must always be here */ - wxPaintDC dc(this); + wxPaintDC dc(this); } void GraphicsWindowWX::OnSize(wxSizeEvent& event) { // this is also necessary to update the context on some platforms - wxGLCanvas::OnSize(event); + wxGLCanvas::OnSize(event); // set GL viewport (not called by wxGLCanvas::OnSize on all platforms...) - int width, height; - GetClientSize(&width, &height); - - // update the window dimensions, in case the window has been resized. - getEventQueue()->windowResize(0, 0, width, height); + int width, height; + GetClientSize(&width, &height); + + // update the window dimensions, in case the window has been resized. + getEventQueue()->windowResize(0, 0, width, height); } void GraphicsWindowWX::OnEraseBackground(wxEraseEvent& WXUNUSED(event)) { - /* Do nothing, to avoid flashing on MSW */ + /* Do nothing, to avoid flashing on MSW */ } void GraphicsWindowWX::OnKeyDown(wxKeyEvent &event) { - int key = event.GetKeyCode(); - getEventQueue()->keyPress(key); + int key = event.GetKeyCode(); + getEventQueue()->keyPress(key); - // propagate event - event.Skip(); + // propagate event + event.Skip(); } void GraphicsWindowWX::OnKeyUp(wxKeyEvent &event) { - int key = event.GetKeyCode(); - getEventQueue()->keyRelease(key); + int key = event.GetKeyCode(); + getEventQueue()->keyRelease(key); - // propagate event - event.Skip(); + // propagate event + event.Skip(); } void GraphicsWindowWX::OnMouse(wxMouseEvent& event) { - if (event.ButtonDown()) { - int button = event.GetButton(); - getEventQueue()->mouseButtonPress(event.GetX(), event.GetY(), button); - } - else if (event.ButtonUp()) { - int button = event.GetButton(); - getEventQueue()->mouseButtonRelease(event.GetX(), event.GetY(), button); - } - else if (event.Dragging()) { - getEventQueue()->mouseMotion(event.GetX(), event.GetY()); - } + if (event.ButtonDown()) { + int button = event.GetButton(); + getEventQueue()->mouseButtonPress(event.GetX(), event.GetY(), button); + } + else if (event.ButtonUp()) { + int button = event.GetButton(); + getEventQueue()->mouseButtonRelease(event.GetX(), event.GetY(), button); + } + else if (event.Dragging()) { + getEventQueue()->mouseMotion(event.GetX(), event.GetY()); + } } void GraphicsWindowWX::grabFocus() { - // focus this window - SetFocus(); + // focus this window + SetFocus(); } void GraphicsWindowWX::grabFocusIfPointerInWindow() { - // focus this window, if the pointer is in the window - wxPoint pos = wxGetMousePosition(); - if (this == wxFindWindowAtPoint(pos)) { - SetFocus(); - } + // focus this window, if the pointer is in the window + wxPoint pos = wxGetMousePosition(); + if (this == wxFindWindowAtPoint(pos)) { + SetFocus(); + } } void GraphicsWindowWX::useCursor(bool cursorOn) { - if (cursorOn) { + if (cursorOn) { - // show the old cursor - SetCursor(_oldCursor); - } - else { + // show the old cursor + SetCursor(_oldCursor); + } + else { - // remember the old cursor - _oldCursor = GetCursor(); + // remember the old cursor + _oldCursor = GetCursor(); - // hide the cursor - // - can't find a way to do this neatly, so create a 1x1, transparent image - wxImage image(1,1); - image.SetMask(true); - image.SetMaskColour(0, 0, 0); - wxCursor cursor(image); - SetCursor(cursor); - } + // hide the cursor + // - can't find a way to do this neatly, so create a 1x1, transparent image + wxImage image(1,1); + image.SetMask(true); + image.SetMaskColour(0, 0, 0); + wxCursor cursor(image); + SetCursor(cursor); + } } bool GraphicsWindowWX::makeCurrentImplementation() { - SetCurrent(); - return true; + SetCurrent(); + return true; } void GraphicsWindowWX::swapBuffersImplementation() { - SwapBuffers(); + SwapBuffers(); } diff --git a/examples/osgsimpleviewerWX/osgsimpleviewerWX.h b/examples/osgsimpleviewerWX/osgsimpleviewerWX.h index e20929986..954e2c19d 100644 --- a/examples/osgsimpleviewerWX/osgsimpleviewerWX.h +++ b/examples/osgsimpleviewerWX/osgsimpleviewerWX.h @@ -11,79 +11,79 @@ class GraphicsWindowWX: public wxGLCanvas, virtual osgViewer::GraphicsWindow { public: - GraphicsWindowWX(wxWindow *parent, wxWindowID id = wxID_ANY, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, long style = 0, - const wxString& name = wxT("TestGLCanvas")); + GraphicsWindowWX(wxWindow *parent, wxWindowID id = wxID_ANY, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, long style = 0, + const wxString& name = wxT("TestGLCanvas")); - ~GraphicsWindowWX(); + ~GraphicsWindowWX(); - void OnPaint(wxPaintEvent& event); - void OnSize(wxSizeEvent& event); - void OnEraseBackground(wxEraseEvent& event); - void OnKeyDown(wxKeyEvent &event); - void OnKeyUp(wxKeyEvent &event); - void OnMouse(wxMouseEvent &event); + void OnPaint(wxPaintEvent& event); + void OnSize(wxSizeEvent& event); + void OnEraseBackground(wxEraseEvent& event); + void OnKeyDown(wxKeyEvent &event); + void OnKeyUp(wxKeyEvent &event); + void OnMouse(wxMouseEvent &event); - // - // GraphicsWindow interface - // + // + // GraphicsWindow interface + // - void grabFocus(); + void grabFocus(); void grabFocusIfPointerInWindow(); void useCursor(bool cursorOn); - bool makeCurrentImplementation(); - void swapBuffersImplementation(); + bool makeCurrentImplementation(); + void swapBuffersImplementation(); private: - wxCursor _oldCursor; + wxCursor _oldCursor; - DECLARE_EVENT_TABLE() + DECLARE_EVENT_TABLE() }; class SimpleViewerWX : public osgViewer::SimpleViewer, public GraphicsWindowWX { public: SimpleViewerWX(wxWindow *parent, wxWindowID id = wxID_ANY, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, long style = 0, - const wxString& name = wxT("TestGLCanvas")) : - GraphicsWindowWX(parent, id, pos, size, style, name) - { - } + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, long style = 0, + const wxString& name = wxT("TestGLCanvas")) : + GraphicsWindowWX(parent, id, pos, size, style, name) + { + } - void render() - { - makeCurrentImplementation(); + void render() + { + makeCurrentImplementation(); - // update and render the scene graph - frame(); + // update and render the scene graph + frame(); - swapBuffersImplementation(); - } + swapBuffersImplementation(); + } }; class MainFrame : public wxFrame { public: - MainFrame(wxFrame *frame, const wxString& title, const wxPoint& pos, - const wxSize& size, long style = wxDEFAULT_FRAME_STYLE); + MainFrame(wxFrame *frame, const wxString& title, const wxPoint& pos, + const wxSize& size, long style = wxDEFAULT_FRAME_STYLE); - void SetSimpleViewer(SimpleViewerWX *viewer); - void OnIdle(wxIdleEvent& event); + void SetSimpleViewer(SimpleViewerWX *viewer); + void OnIdle(wxIdleEvent& event); private: - SimpleViewerWX *_viewerWindow; + SimpleViewerWX *_viewerWindow; - DECLARE_EVENT_TABLE() + DECLARE_EVENT_TABLE() }; /* Define a new application type */ class wxOsgApp : public wxApp { public: - bool OnInit(); + bool OnInit(); }; #endif // _WXSIMPLEVIEWERWX_H_