Applied patch [ 802596 ] warning and error free Open GL samples
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23491 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -27,10 +27,6 @@
|
|||||||
|
|
||||||
#include "wx/log.h"
|
#include "wx/log.h"
|
||||||
|
|
||||||
#if !wxUSE_GLCANVAS
|
|
||||||
#error Please set wxUSE_GLCANVAS to 1 in setup.h.
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "cube.h"
|
#include "cube.h"
|
||||||
|
|
||||||
#ifndef __WXMSW__ // for wxStopWatch, see remark below
|
#ifndef __WXMSW__ // for wxStopWatch, see remark below
|
||||||
@@ -70,15 +66,16 @@ END_EVENT_TABLE()
|
|||||||
|
|
||||||
ScanCodeCtrl::ScanCodeCtrl( wxWindow* parent, wxWindowID id, int code,
|
ScanCodeCtrl::ScanCodeCtrl( wxWindow* parent, wxWindowID id, int code,
|
||||||
const wxPoint& pos, const wxSize& size )
|
const wxPoint& pos, const wxSize& size )
|
||||||
: wxTextCtrl( parent, id, "", pos, size )
|
: wxTextCtrl( parent, id, wxEmptyString, pos, size )
|
||||||
{ wxString buf;
|
{ wxString buf;
|
||||||
buf.Printf( "0x%04x", code );
|
buf.Printf( _T("0x%04x"), code );
|
||||||
SetValue( buf );
|
SetValue( buf );
|
||||||
}
|
}
|
||||||
|
|
||||||
void ScanCodeCtrl::OnKeyDown( wxKeyEvent& event )
|
void ScanCodeCtrl::OnKeyDown( wxKeyEvent& event )
|
||||||
{ wxString buf;
|
{
|
||||||
buf.Printf( "0x%04x", event.GetKeyCode() );
|
wxString buf;
|
||||||
|
buf.Printf( _T("0x%04x"), event.GetKeyCode() );
|
||||||
SetValue( buf );
|
SetValue( buf );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -101,18 +98,18 @@ ScanCodeDialog::ScanCodeDialog( wxWindow* parent, wxWindowID id,
|
|||||||
const int code, const wxString &descr, const wxString& title )
|
const int code, const wxString &descr, const wxString& title )
|
||||||
: wxDialog( parent, id, title, wxPoint(-1, -1), wxSize(96*2,76*2) )
|
: wxDialog( parent, id, title, wxPoint(-1, -1), wxSize(96*2,76*2) )
|
||||||
{
|
{
|
||||||
new wxStaticText( this, -1, "Scancode", wxPoint(4*2,3*2),
|
new wxStaticText( this, -1, _T("Scancode"), wxPoint(4*2,3*2),
|
||||||
wxSize(31*2,12*2) );
|
wxSize(31*2,12*2) );
|
||||||
m_ScanCode = new ScanCodeCtrl( this, -1, code, wxPoint(37*2,6*2),
|
m_ScanCode = new ScanCodeCtrl( this, -1, code, wxPoint(37*2,6*2),
|
||||||
wxSize(53*2,14*2) );
|
wxSize(53*2,14*2) );
|
||||||
|
|
||||||
new wxStaticText( this, -1, "Description", wxPoint(4*2,24*2),
|
new wxStaticText( this, -1, _T("Description"), wxPoint(4*2,24*2),
|
||||||
wxSize(32*2,12*2) );
|
wxSize(32*2,12*2) );
|
||||||
m_Description = new wxTextCtrl( this, -1, descr, wxPoint(37*2,27*2),
|
m_Description = new wxTextCtrl( this, -1, descr, wxPoint(37*2,27*2),
|
||||||
wxSize(53*2,14*2) );
|
wxSize(53*2,14*2) );
|
||||||
|
|
||||||
new wxButton( this, wxID_OK, "Ok", wxPoint(20*2,50*2), wxSize(20*2,13*2) );
|
new wxButton( this, wxID_OK, _T("Ok"), wxPoint(20*2,50*2), wxSize(20*2,13*2) );
|
||||||
new wxButton( this, wxID_CANCEL, "Cancel", wxPoint(44*2,50*2),
|
new wxButton( this, wxID_CANCEL, _T("Cancel"), wxPoint(44*2,50*2),
|
||||||
wxSize(25*2,13*2) );
|
wxSize(25*2,13*2) );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -120,7 +117,7 @@ int ScanCodeDialog::GetValue()
|
|||||||
{
|
{
|
||||||
int code;
|
int code;
|
||||||
wxString buf = m_ScanCode->GetValue();
|
wxString buf = m_ScanCode->GetValue();
|
||||||
sscanf( buf.c_str(), "%i", &code );
|
wxSscanf( buf.c_str(), _T("%i"), &code );
|
||||||
return( code );
|
return( code );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -160,6 +157,8 @@ unsigned long wxStopWatch( unsigned long *sec_base )
|
|||||||
Implementation of Test-GLCanvas
|
Implementation of Test-GLCanvas
|
||||||
-----------------------------------------------------------------*/
|
-----------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#if wxUSE_GLCANVAS
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(TestGLCanvas, wxGLCanvas)
|
BEGIN_EVENT_TABLE(TestGLCanvas, wxGLCanvas)
|
||||||
EVT_SIZE(TestGLCanvas::OnSize)
|
EVT_SIZE(TestGLCanvas::OnSize)
|
||||||
EVT_PAINT(TestGLCanvas::OnPaint)
|
EVT_PAINT(TestGLCanvas::OnPaint)
|
||||||
@@ -263,12 +262,12 @@ void TestGLCanvas::Render()
|
|||||||
SwapBuffers();
|
SwapBuffers();
|
||||||
}
|
}
|
||||||
|
|
||||||
void TestGLCanvas::OnEnterWindow( wxMouseEvent& event )
|
void TestGLCanvas::OnEnterWindow( wxMouseEvent& WXUNUSED(event) )
|
||||||
{
|
{
|
||||||
SetFocus();
|
SetFocus();
|
||||||
}
|
}
|
||||||
|
|
||||||
void TestGLCanvas::OnPaint( wxPaintEvent& event )
|
void TestGLCanvas::OnPaint( wxPaintEvent& WXUNUSED(event) )
|
||||||
{
|
{
|
||||||
Render();
|
Render();
|
||||||
}
|
}
|
||||||
@@ -290,7 +289,7 @@ void TestGLCanvas::OnSize(wxSizeEvent& event)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TestGLCanvas::OnEraseBackground(wxEraseEvent& event)
|
void TestGLCanvas::OnEraseBackground(wxEraseEvent& WXUNUSED(event))
|
||||||
{
|
{
|
||||||
// Do nothing, to avoid flashing.
|
// Do nothing, to avoid flashing.
|
||||||
}
|
}
|
||||||
@@ -415,6 +414,8 @@ void TestGLCanvas::Rotate( GLfloat deg )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#endif // wxUSE_GLCANVAS
|
||||||
|
|
||||||
/* -----------------------------------------------------------------------
|
/* -----------------------------------------------------------------------
|
||||||
Main Window
|
Main Window
|
||||||
-------------------------------------------------------------------------*/
|
-------------------------------------------------------------------------*/
|
||||||
@@ -435,57 +436,64 @@ MyFrame::MyFrame(wxFrame *frame, const wxString& title, const wxPoint& pos,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Intercept menu commands
|
// Intercept menu commands
|
||||||
void MyFrame::OnExit(wxCommandEvent& event)
|
void MyFrame::OnExit(wxCommandEvent& WXUNUSED(event))
|
||||||
{
|
{
|
||||||
Destroy();
|
Destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MyFrame::OnNewWindow(wxCommandEvent& event)
|
void MyFrame::OnNewWindow(wxCommandEvent& WXUNUSED(event))
|
||||||
{
|
{
|
||||||
MyFrame *frame = new MyFrame(NULL, "Cube OpenGL Demo Clone",
|
MyFrame *frame = new MyFrame(NULL, _T("Cube OpenGL Demo Clone"),
|
||||||
wxPoint(50, 50), wxSize(400, 300));
|
wxPoint(50, 50), wxSize(400, 300));
|
||||||
// Give it an icon
|
// Give it an icon
|
||||||
#ifdef __WXMSW__
|
#ifdef __WXMSW__
|
||||||
frame->SetIcon(wxIcon("mondrian"));
|
frame->SetIcon(wxIcon(_T("mondrian")));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Make a menubar
|
// Make a menubar
|
||||||
wxMenu *winMenu = new wxMenu;
|
wxMenu *winMenu = new wxMenu;
|
||||||
|
|
||||||
winMenu->Append(wxID_EXIT, "&Close");
|
winMenu->Append(wxID_EXIT, _T("&Close"));
|
||||||
winMenu->Append(ID_NEW_WINDOW, "&New" );
|
winMenu->Append(ID_NEW_WINDOW, _T("&New") );
|
||||||
wxMenuBar *menuBar = new wxMenuBar;
|
wxMenuBar *menuBar = new wxMenuBar;
|
||||||
menuBar->Append(winMenu, "&Window");
|
menuBar->Append(winMenu, _T("&Window"));
|
||||||
|
|
||||||
winMenu = new wxMenu;
|
winMenu = new wxMenu;
|
||||||
winMenu->Append(ID_DEF_ROTATE_LEFT_KEY, "Rotate &left");
|
winMenu->Append(ID_DEF_ROTATE_LEFT_KEY, _T("Rotate &left"));
|
||||||
winMenu->Append(ID_DEF_ROTATE_RIGHT_KEY, "Rotate &right");
|
winMenu->Append(ID_DEF_ROTATE_RIGHT_KEY, _T("Rotate &right"));
|
||||||
menuBar->Append(winMenu, "&Key");
|
menuBar->Append(winMenu, _T("&Key"));
|
||||||
|
|
||||||
frame->SetMenuBar(menuBar);
|
frame->SetMenuBar(menuBar);
|
||||||
|
|
||||||
|
#if wxUSE_GLCANVAS
|
||||||
frame->m_canvas = new TestGLCanvas( frame, *m_canvas, -1,
|
frame->m_canvas = new TestGLCanvas( frame, *m_canvas, -1,
|
||||||
wxDefaultPosition, wxDefaultSize );
|
wxDefaultPosition, wxDefaultSize );
|
||||||
|
#endif
|
||||||
|
|
||||||
// Show the frame
|
// Show the frame
|
||||||
frame->Show(TRUE);
|
frame->Show(TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MyFrame::OnDefRotateLeftKey(wxCommandEvent& event)
|
void MyFrame::OnDefRotateLeftKey(wxCommandEvent& WXUNUSED(event))
|
||||||
{
|
{
|
||||||
|
#if wxUSE_GLCANVAS
|
||||||
ScanCodeDialog dial( this, -1, m_canvas->m_rleft,
|
ScanCodeDialog dial( this, -1, m_canvas->m_rleft,
|
||||||
wxString("Left"), "Define key" );
|
wxString(_T("Left")), _T("Define key") );
|
||||||
int result = dial.ShowModal();
|
int result = dial.ShowModal();
|
||||||
if( result == wxID_OK )
|
if( result == wxID_OK )
|
||||||
m_canvas->m_rleft = dial.GetValue();
|
m_canvas->m_rleft = dial.GetValue();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
void MyFrame::OnDefRotateRightKey(wxCommandEvent& event)
|
|
||||||
|
void MyFrame::OnDefRotateRightKey(wxCommandEvent& WXUNUSED(event))
|
||||||
{
|
{
|
||||||
|
#if wxUSE_GLCANVAS
|
||||||
ScanCodeDialog dial( this, -1, m_canvas->m_rright,
|
ScanCodeDialog dial( this, -1, m_canvas->m_rright,
|
||||||
wxString("Right"), "Define key" );
|
wxString(_T("Right")), _T("Define key") );
|
||||||
int result = dial.ShowModal();
|
int result = dial.ShowModal();
|
||||||
if( result == wxID_OK )
|
if( result == wxID_OK )
|
||||||
m_canvas->m_rright = dial.GetValue();
|
m_canvas->m_rright = dial.GetValue();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/*------------------------------------------------------------------
|
/*------------------------------------------------------------------
|
||||||
@@ -499,7 +507,7 @@ bool MyApp::OnInit(void)
|
|||||||
wxLog::SetTraceMask(wxTraceMessages);
|
wxLog::SetTraceMask(wxTraceMessages);
|
||||||
|
|
||||||
// Create the main frame window
|
// Create the main frame window
|
||||||
MyFrame *frame = new MyFrame(NULL, "Cube OpenGL Demo", wxPoint(50, 50),
|
MyFrame *frame = new MyFrame(NULL, _T("Cube OpenGL Demo"), wxPoint(50, 50),
|
||||||
wxSize(400, 300));
|
wxSize(400, 300));
|
||||||
// Give it an icon
|
// Give it an icon
|
||||||
#ifdef wx_msw
|
#ifdef wx_msw
|
||||||
@@ -509,22 +517,33 @@ bool MyApp::OnInit(void)
|
|||||||
// Make a menubar
|
// Make a menubar
|
||||||
wxMenu *winMenu = new wxMenu;
|
wxMenu *winMenu = new wxMenu;
|
||||||
|
|
||||||
winMenu->Append(wxID_EXIT, "&Close");
|
winMenu->Append(wxID_EXIT, _T("&Close"));
|
||||||
winMenu->Append(ID_NEW_WINDOW, "&New" );
|
winMenu->Append(ID_NEW_WINDOW, _T("&New") );
|
||||||
wxMenuBar *menuBar = new wxMenuBar;
|
wxMenuBar *menuBar = new wxMenuBar;
|
||||||
menuBar->Append(winMenu, "&Window");
|
menuBar->Append(winMenu, _T("&Window"));
|
||||||
|
|
||||||
winMenu = new wxMenu;
|
winMenu = new wxMenu;
|
||||||
winMenu->Append(ID_DEF_ROTATE_LEFT_KEY, "Rotate &left");
|
winMenu->Append(ID_DEF_ROTATE_LEFT_KEY, _T("Rotate &left"));
|
||||||
winMenu->Append(ID_DEF_ROTATE_RIGHT_KEY, "Rotate &right");
|
winMenu->Append(ID_DEF_ROTATE_RIGHT_KEY, _T("Rotate &right"));
|
||||||
menuBar->Append(winMenu, "&Key");
|
menuBar->Append(winMenu, _T("&Key"));
|
||||||
|
|
||||||
frame->SetMenuBar(menuBar);
|
frame->SetMenuBar(menuBar);
|
||||||
|
|
||||||
|
#if wxUSE_GLCANVAS
|
||||||
|
|
||||||
frame->m_canvas = new TestGLCanvas(frame, -1, wxDefaultPosition, wxDefaultSize);
|
frame->m_canvas = new TestGLCanvas(frame, -1, wxDefaultPosition, wxDefaultSize);
|
||||||
|
|
||||||
// Show the frame
|
// Show the frame
|
||||||
frame->Show(TRUE);
|
frame->Show(TRUE);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
wxMessageBox( _T("This sample has to be compiled with wxUSE_GLCANVAS"), _T("Building error"), wxOK);
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -40,17 +40,19 @@ public:
|
|||||||
DECLARE_EVENT_TABLE()
|
DECLARE_EVENT_TABLE()
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#if wxUSE_GLCANVAS
|
||||||
|
|
||||||
class TestGLCanvas: public wxGLCanvas
|
class TestGLCanvas: public wxGLCanvas
|
||||||
{
|
{
|
||||||
friend class MyFrame;
|
friend class MyFrame;
|
||||||
public:
|
public:
|
||||||
TestGLCanvas(wxWindow *parent, const wxWindowID id = -1,
|
TestGLCanvas(wxWindow *parent, const wxWindowID id = -1,
|
||||||
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
|
const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
|
||||||
long style = 0, const wxString& name = "TestGLCanvas");
|
long style = 0, const wxString& name = _T("TestGLCanvas"));
|
||||||
TestGLCanvas(wxWindow *parent, const TestGLCanvas &other,
|
TestGLCanvas(wxWindow *parent, const TestGLCanvas &other,
|
||||||
const wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition,
|
const wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition,
|
||||||
const wxSize& size = wxDefaultSize, long style = 0,
|
const wxSize& size = wxDefaultSize, long style = 0,
|
||||||
const wxString& name = "TestGLCanvas" );
|
const wxString& name = _T("TestGLCanvas") );
|
||||||
|
|
||||||
~TestGLCanvas(void);
|
~TestGLCanvas(void);
|
||||||
|
|
||||||
@@ -91,3 +93,5 @@ DECLARE_EVENT_TABLE()
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
@@ -25,10 +25,6 @@
|
|||||||
#include "wx/wx.h"
|
#include "wx/wx.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !wxUSE_GLCANVAS
|
|
||||||
#error Please set wxUSE_GLCANVAS to 1 in setup.h.
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "wx/timer.h"
|
#include "wx/timer.h"
|
||||||
#include "wx/glcanvas.h"
|
#include "wx/glcanvas.h"
|
||||||
|
|
||||||
@@ -76,13 +72,13 @@ static GLfloat xrot;
|
|||||||
static GLfloat yrot;
|
static GLfloat yrot;
|
||||||
|
|
||||||
|
|
||||||
static void read_surface( char *filename )
|
static void read_surface( wxChar *filename )
|
||||||
{
|
{
|
||||||
FILE *f;
|
FILE *f;
|
||||||
|
|
||||||
f = fopen(filename,"r");
|
f = wxFopen(filename,_T("r"));
|
||||||
if (!f) {
|
if (!f) {
|
||||||
wxString msg("Couldn't read ");
|
wxString msg(_T("Couldn't read "));
|
||||||
msg += filename;
|
msg += filename;
|
||||||
wxMessageBox(msg);
|
wxMessageBox(msg);
|
||||||
return;
|
return;
|
||||||
@@ -97,7 +93,7 @@ static void read_surface( char *filename )
|
|||||||
}
|
}
|
||||||
numverts--;
|
numverts--;
|
||||||
|
|
||||||
printf("%d vertices, %d triangles\n", numverts, numverts-2);
|
wxPrintf(_T("%d vertices, %d triangles\n"), numverts, numverts-2);
|
||||||
fclose(f);
|
fclose(f);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -203,26 +199,26 @@ static void Init(void)
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static GLenum Args(int argc, char **argv)
|
static GLenum Args(int argc, wxChar **argv)
|
||||||
{
|
{
|
||||||
GLint i;
|
GLint i;
|
||||||
|
|
||||||
for (i = 1; i < argc; i++) {
|
for (i = 1; i < argc; i++) {
|
||||||
if (strcmp(argv[i], "-sb") == 0) {
|
if (wxStrcmp(argv[i], _T("-sb")) == 0) {
|
||||||
doubleBuffer = GL_FALSE;
|
doubleBuffer = GL_FALSE;
|
||||||
}
|
}
|
||||||
else if (strcmp(argv[i], "-db") == 0) {
|
else if (wxStrcmp(argv[i], _T("-db")) == 0) {
|
||||||
doubleBuffer = GL_TRUE;
|
doubleBuffer = GL_TRUE;
|
||||||
}
|
}
|
||||||
else if (strcmp(argv[i], "-speed") == 0) {
|
else if (wxStrcmp(argv[i], _T("-speed")) == 0) {
|
||||||
speed_test = GL_TRUE;
|
speed_test = GL_TRUE;
|
||||||
doubleBuffer = GL_TRUE;
|
doubleBuffer = GL_TRUE;
|
||||||
}
|
}
|
||||||
else if (strcmp(argv[i], "-va") == 0) {
|
else if (wxStrcmp(argv[i], _T("-va")) == 0) {
|
||||||
use_vertex_arrays = GL_TRUE;
|
use_vertex_arrays = GL_TRUE;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
wxString msg("Bad option: ");
|
wxString msg(_T("Bad option: "));
|
||||||
msg += argv[i];
|
msg += argv[i];
|
||||||
wxMessageBox(msg);
|
wxMessageBox(msg);
|
||||||
return GL_FALSE;
|
return GL_FALSE;
|
||||||
@@ -243,17 +239,17 @@ bool MyApp::OnInit(void)
|
|||||||
Args(argc, argv);
|
Args(argc, argv);
|
||||||
|
|
||||||
// Create the main frame window
|
// Create the main frame window
|
||||||
frame = new MyFrame(NULL, "Isosurf GL Sample", wxPoint(50, 50), wxSize(200, 200));
|
frame = new MyFrame(NULL, _T("Isosurf GL Sample"), wxPoint(50, 50), wxSize(200, 200));
|
||||||
|
|
||||||
// Give it an icon
|
// Give it an icon
|
||||||
frame->SetIcon(wxIcon("mondrian"));
|
frame->SetIcon(wxIcon(_T("mondrian")));
|
||||||
|
|
||||||
// Make a menubar
|
// Make a menubar
|
||||||
wxMenu *fileMenu = new wxMenu;
|
wxMenu *fileMenu = new wxMenu;
|
||||||
|
|
||||||
fileMenu->Append(wxID_EXIT, "E&xit");
|
fileMenu->Append(wxID_EXIT, _T("E&xit"));
|
||||||
wxMenuBar *menuBar = new wxMenuBar;
|
wxMenuBar *menuBar = new wxMenuBar;
|
||||||
menuBar->Append(fileMenu, "&File");
|
menuBar->Append(fileMenu, _T("&File"));
|
||||||
frame->SetMenuBar(menuBar);
|
frame->SetMenuBar(menuBar);
|
||||||
|
|
||||||
// Make a TestGLCanvas
|
// Make a TestGLCanvas
|
||||||
@@ -281,18 +277,27 @@ bool MyApp::OnInit(void)
|
|||||||
doubleBuffer = GL_FALSE;
|
doubleBuffer = GL_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if wxUSE_GLCANVAS
|
||||||
|
|
||||||
frame->m_canvas = new TestGLCanvas(frame, -1, wxDefaultPosition, wxDefaultSize,
|
frame->m_canvas = new TestGLCanvas(frame, -1, wxDefaultPosition, wxDefaultSize,
|
||||||
0, "TestGLCanvas", gl_attrib );
|
0, _T("TestGLCanvas"), gl_attrib );
|
||||||
|
|
||||||
// Show the frame
|
// Show the frame
|
||||||
frame->Show(TRUE);
|
frame->Show(TRUE);
|
||||||
|
|
||||||
frame->m_canvas->SetCurrent();
|
frame->m_canvas->SetCurrent();
|
||||||
read_surface( "isosurf.dat" );
|
read_surface( _T("isosurf.dat") );
|
||||||
|
|
||||||
Init();
|
Init();
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
wxMessageBox( _T("This sample has to be compiled with wxUSE_GLCANVAS"), _T("Building error"), wxOK);
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
|
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
|
||||||
@@ -304,11 +309,13 @@ MyFrame::MyFrame(wxFrame *frame, const wxString& title, const wxPoint& pos,
|
|||||||
const wxSize& size, long style):
|
const wxSize& size, long style):
|
||||||
wxFrame(frame, -1, title, pos, size, style)
|
wxFrame(frame, -1, title, pos, size, style)
|
||||||
{
|
{
|
||||||
|
#if wxUSE_GLCANVAS
|
||||||
m_canvas = NULL;
|
m_canvas = NULL;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
// Intercept menu commands
|
// Intercept menu commands
|
||||||
void MyFrame::OnExit(wxCommandEvent& event)
|
void MyFrame::OnExit(wxCommandEvent& WXUNUSED(event))
|
||||||
{
|
{
|
||||||
Destroy();
|
Destroy();
|
||||||
}
|
}
|
||||||
@@ -317,6 +324,8 @@ void MyFrame::OnExit(wxCommandEvent& event)
|
|||||||
* TestGLCanvas implementation
|
* TestGLCanvas implementation
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#if wxUSE_GLCANVAS
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(TestGLCanvas, wxGLCanvas)
|
BEGIN_EVENT_TABLE(TestGLCanvas, wxGLCanvas)
|
||||||
EVT_SIZE(TestGLCanvas::OnSize)
|
EVT_SIZE(TestGLCanvas::OnSize)
|
||||||
EVT_PAINT(TestGLCanvas::OnPaint)
|
EVT_PAINT(TestGLCanvas::OnPaint)
|
||||||
@@ -344,7 +353,7 @@ TestGLCanvas::~TestGLCanvas(void)
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void TestGLCanvas::OnPaint( wxPaintEvent& event )
|
void TestGLCanvas::OnPaint( wxPaintEvent& WXUNUSED(event) )
|
||||||
{
|
{
|
||||||
// This is a dummy, to avoid an endless succession of paint messages.
|
// This is a dummy, to avoid an endless succession of paint messages.
|
||||||
// OnPaint handlers must always create a wxPaintDC.
|
// OnPaint handlers must always create a wxPaintDC.
|
||||||
@@ -440,8 +449,9 @@ void TestGLCanvas::OnMouseEvent(wxMouseEvent& event)
|
|||||||
dragging = 0;
|
dragging = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TestGLCanvas::OnEraseBackground(wxEraseEvent& event)
|
void TestGLCanvas::OnEraseBackground(wxEraseEvent& WXUNUSED(event))
|
||||||
{
|
{
|
||||||
// Do nothing, to avoid flashing.
|
// Do nothing, to avoid flashing.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif
|
@@ -18,11 +18,12 @@ class MyApp: public wxApp
|
|||||||
bool OnInit(void);
|
bool OnInit(void);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#if wxUSE_GLCANVAS
|
||||||
class TestGLCanvas: public wxGLCanvas
|
class TestGLCanvas: public wxGLCanvas
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
TestGLCanvas(wxWindow *parent, const wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition,
|
TestGLCanvas(wxWindow *parent, const wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition,
|
||||||
const wxSize& size = wxDefaultSize, long style = 0, const wxString& name = "TestGLCanvas",
|
const wxSize& size = wxDefaultSize, long style = 0, const wxString& name = _T("TestGLCanvas"),
|
||||||
int* gl_attrib = NULL);
|
int* gl_attrib = NULL);
|
||||||
~TestGLCanvas(void);
|
~TestGLCanvas(void);
|
||||||
|
|
||||||
@@ -34,6 +35,7 @@ class TestGLCanvas: public wxGLCanvas
|
|||||||
|
|
||||||
DECLARE_EVENT_TABLE()
|
DECLARE_EVENT_TABLE()
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
class MyFrame: public wxFrame
|
class MyFrame: public wxFrame
|
||||||
{
|
{
|
||||||
@@ -43,7 +45,9 @@ public:
|
|||||||
|
|
||||||
void OnExit(wxCommandEvent& event);
|
void OnExit(wxCommandEvent& event);
|
||||||
public:
|
public:
|
||||||
|
#if wxUSE_GLCANVAS
|
||||||
TestGLCanvas* m_canvas;
|
TestGLCanvas* m_canvas;
|
||||||
|
#endif
|
||||||
|
|
||||||
DECLARE_EVENT_TABLE()
|
DECLARE_EVENT_TABLE()
|
||||||
};
|
};
|
||||||
|
@@ -36,6 +36,8 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
|
#if wxUSE_GLCANVAS
|
||||||
|
|
||||||
#define MK_ID(a,b,c,d) ((((wxUint32)(a))<<24)| \
|
#define MK_ID(a,b,c,d) ((((wxUint32)(a))<<24)| \
|
||||||
(((wxUint32)(b))<<16)| \
|
(((wxUint32)(b))<<16)| \
|
||||||
(((wxUint32)(c))<< 8)| \
|
(((wxUint32)(c))<< 8)| \
|
||||||
@@ -435,4 +437,5 @@ void lw_object_scale(lwObject *lwo, GLfloat scale)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
@@ -61,6 +61,7 @@ typedef struct {
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if wxUSE_GLCANVAS
|
||||||
int lw_is_lwobject(const char *lw_file);
|
int lw_is_lwobject(const char *lw_file);
|
||||||
lwObject *lw_object_read(const char *lw_file);
|
lwObject *lw_object_read(const char *lw_file);
|
||||||
void lw_object_free( lwObject *lw_object);
|
void lw_object_free( lwObject *lw_object);
|
||||||
@@ -68,6 +69,7 @@ void lw_object_show(const lwObject *lw_object);
|
|||||||
|
|
||||||
GLfloat lw_object_radius(const lwObject *lw_object);
|
GLfloat lw_object_radius(const lwObject *lw_object);
|
||||||
void lw_object_scale (lwObject *lw_object, GLfloat scale);
|
void lw_object_scale (lwObject *lw_object, GLfloat scale);
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
@@ -25,10 +25,6 @@
|
|||||||
#include "wx/wx.h"
|
#include "wx/wx.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !wxUSE_GLCANVAS
|
|
||||||
#error Please set wxUSE_GLCANVAS to 1 in setup.h.
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "penguin.h"
|
#include "penguin.h"
|
||||||
#ifdef __WXMAC__
|
#ifdef __WXMAC__
|
||||||
# ifdef __DARWIN__
|
# ifdef __DARWIN__
|
||||||
@@ -57,6 +53,7 @@ bool MyApp::OnInit()
|
|||||||
menuBar->Append(fileMenu, wxT("&File"));
|
menuBar->Append(fileMenu, wxT("&File"));
|
||||||
frame->SetMenuBar(menuBar);
|
frame->SetMenuBar(menuBar);
|
||||||
|
|
||||||
|
#if wxUSE_GLCANVAS
|
||||||
frame->SetCanvas( new TestGLCanvas(frame, -1, wxPoint(0, 0), wxSize(200, 200), wxSUNKEN_BORDER) );
|
frame->SetCanvas( new TestGLCanvas(frame, -1, wxPoint(0, 0), wxSize(200, 200), wxSUNKEN_BORDER) );
|
||||||
|
|
||||||
/* Load file wiht mesh data */
|
/* Load file wiht mesh data */
|
||||||
@@ -66,6 +63,13 @@ bool MyApp::OnInit()
|
|||||||
frame->Show(TRUE);
|
frame->Show(TRUE);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
#else
|
||||||
|
|
||||||
|
wxMessageBox( _T("This sample has to be compiled with wxUSE_GLCANVAS"), _T("Building error"), wxOK);
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
IMPLEMENT_APP(MyApp)
|
IMPLEMENT_APP(MyApp)
|
||||||
@@ -79,15 +83,19 @@ MyFrame::MyFrame(wxFrame *frame, const wxString& title, const wxPoint& pos,
|
|||||||
const wxSize& size, long style):
|
const wxSize& size, long style):
|
||||||
wxFrame(frame, -1, title, pos, size, style)
|
wxFrame(frame, -1, title, pos, size, style)
|
||||||
{
|
{
|
||||||
|
#if wxUSE_GLCANVAS
|
||||||
m_canvas = NULL;
|
m_canvas = NULL;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Intercept menu commands */
|
/* Intercept menu commands */
|
||||||
void MyFrame::OnExit(wxCommandEvent& event)
|
void MyFrame::OnExit(wxCommandEvent& WXUNUSED(event))
|
||||||
{
|
{
|
||||||
Destroy();
|
Destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if wxUSE_GLCANVAS
|
||||||
|
|
||||||
BEGIN_EVENT_TABLE(TestGLCanvas, wxGLCanvas)
|
BEGIN_EVENT_TABLE(TestGLCanvas, wxGLCanvas)
|
||||||
EVT_SIZE(TestGLCanvas::OnSize)
|
EVT_SIZE(TestGLCanvas::OnSize)
|
||||||
EVT_PAINT(TestGLCanvas::OnPaint)
|
EVT_PAINT(TestGLCanvas::OnPaint)
|
||||||
@@ -108,7 +116,7 @@ TestGLCanvas::~TestGLCanvas(void)
|
|||||||
lw_object_free(info.lwobject);
|
lw_object_free(info.lwobject);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TestGLCanvas::OnPaint( wxPaintEvent& event )
|
void TestGLCanvas::OnPaint( wxPaintEvent& WXUNUSED(event) )
|
||||||
{
|
{
|
||||||
/* must always be here */
|
/* must always be here */
|
||||||
wxPaintDC dc(this);
|
wxPaintDC dc(this);
|
||||||
@@ -170,7 +178,7 @@ void TestGLCanvas::OnSize(wxSizeEvent& event)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TestGLCanvas::OnEraseBackground(wxEraseEvent& event)
|
void TestGLCanvas::OnEraseBackground(wxEraseEvent& WXUNUSED(event))
|
||||||
{
|
{
|
||||||
/* Do nothing, to avoid flashing on MSW */
|
/* Do nothing, to avoid flashing on MSW */
|
||||||
}
|
}
|
||||||
@@ -249,3 +257,4 @@ void TestGLCanvas::InitGL(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
||||||
|
@@ -55,15 +55,19 @@ public:
|
|||||||
|
|
||||||
void OnExit(wxCommandEvent& event);
|
void OnExit(wxCommandEvent& event);
|
||||||
|
|
||||||
|
#if wxUSE_GLCANVAS
|
||||||
void SetCanvas( TestGLCanvas *canvas ) { m_canvas = canvas; }
|
void SetCanvas( TestGLCanvas *canvas ) { m_canvas = canvas; }
|
||||||
TestGLCanvas *GetCanvas() { return m_canvas; }
|
TestGLCanvas *GetCanvas() { return m_canvas; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
TestGLCanvas* m_canvas;
|
TestGLCanvas* m_canvas;
|
||||||
|
#endif
|
||||||
|
|
||||||
DECLARE_EVENT_TABLE()
|
DECLARE_EVENT_TABLE()
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#if wxUSE_GLCANVAS
|
||||||
|
|
||||||
class TestGLCanvas: public wxGLCanvas
|
class TestGLCanvas: public wxGLCanvas
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -87,3 +91,5 @@ private:
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user