GLWindow
Default User Defined Methods
Here are all the user defined methods. We will create a bunch of default ones so they don’t have to define every single method just to make a window
void
GLWindow::reshape(int width, int height)
{
glViewport(0, 0, (GLsizei)(width), (GLsizei)(height));
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0f, (GLfloat)(width)/(GLfloat)(height),1.0f, 1000.0f);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
current_width = width; current_height = height;
}
bool
GLWindow::init()
{
glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
glDepthFunc(GL_LEQUAL);
glEnable(GL_DEPTH_TEST);
return true;
}
void
GLWindow::deinit()
{
return;
}
void
GLWindow::update(DWORD elapsedTime)
{
if(keys[VK_ESCAPE] == true)
{
keys[VK_ESCAPE] = false;
terminateApplication();
}
if(keys[VK_F1] == true)
{
keys[VK_F1] = false;
toggleFullscreen();
}
}
void
GLWindow::draw()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
gluLookAt(5.0, 5.0, 5.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0);
glBegin(GL_TRIANGLES);
{
glColor3f(1.0, 0.0, 0.0);
glVertex3f(1.0, 0.0, 0.0);
glColor3f(0.0, 1.0, 0.0);
glVertex3f(0.0, 1.0, 0.0);
glColor3f(0.0, 0.0, 1.0);
glVertex3f(0.0, 0.0, 1.0);
}
glEnd();
}
bool
GLWindow::handleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
{
return false;
}
void
GLWindow::onLMouseDown()
{}
void
GLWindow::onLMouseUp()
{}
void
GLWindow::onMMouseDown()
{}
void
GLWindow::onMMouseUp()
{}
void
GLWindow::onRMouseDown()
{}
void
GLWindow::onRMouseUp()
{}
void
GLWindow::onMouseMove(int x, int y, WPARAM wParam)
{
switch(wParam)
{
case MK_LBUTTON:
break;
case MK_MBUTTON:
break;
case MK_RBUTTON:
break;
case MK_CONTROL:
break;
case MK_SHIFT:
break;
default:break;
}
}
void
GLWindow::onMouseWheel(WPARAM keys, int wheelDelta, int x, int y)
{
switch(keys)
{
case MK_CONTROL:
break;
case MK_LBUTTON:
break;
case MK_MBUTTON:
break;
case MK_RBUTTON:
break;
case MK_SHIFT:
break;
default:
break;
}
}