Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Commit

Permalink
Added support for On_Resized event to App.
Browse files Browse the repository at this point in the history
Added OpenGL code to draw a rotating triangle.
Rearranged main loop code.
  • Loading branch information
dewyatt committed Jun 12, 2010
1 parent 381873f commit 2140ff6
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 3 deletions.
6 changes: 5 additions & 1 deletion EXCLUDE/GLTSF/include/App.hpp
Expand Up @@ -18,12 +18,16 @@ class App : public Window_Listener
virtual void On_Key_Down(int Key);
virtual void On_Key_Up(int Key);
virtual void On_Char(unsigned int Char);
virtual void On_Resized(unsigned int Width, unsigned int Height);

private:
void Update();
void Draw();

static const int Width = 800;
static const int Height = 600;
static const int Bits_Per_Pixel = 32;
static const bool Fullscreen = false;
static const bool Fullscreen = true;

Window my_Window;
bool my_Done;
Expand Down
45 changes: 43 additions & 2 deletions EXCLUDE/GLTSF/src/App.cpp
@@ -1,5 +1,11 @@
#include "App.hpp"
#include "TSF.hpp"
#include <GL/gl.h>
#include <GL/glu.h>

#pragma comment(lib, "glu32.lib")

GLfloat Rotation = 0.0f;

App::App() : my_Done(false)
{
Expand All @@ -19,6 +25,7 @@ void App::Initialize()
my_Window.Initialize(L"GLTSF", Video_Mode(Width, Height, Bits_Per_Pixel), Fullscreen);
my_Window.Set_Listener(this);
my_Window.Show();
my_Window.Hide_Cursor();
}

void App::Finalize()
Expand All @@ -31,8 +38,10 @@ void App::Run()
Initialize();
while (!my_Done)
{
my_Window.Update();
my_Window.Clear();
my_Window.Handle_Events();

Update();
Draw();
my_Window.Display();
}
}
Expand Down Expand Up @@ -62,3 +71,35 @@ void App::On_Char(unsigned int Char)
{
printf("Char: U+%04X\n", Char);
}

void App::On_Resized(unsigned int Width, unsigned int Height)
{
glViewport(0, 0, Width, Height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();

glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}

void App::Update()
{
Rotation += 0.2f;
}

void App::Draw()
{
glClear(GL_COLOR_BUFFER_BIT);

glLoadIdentity();
glRotatef(Rotation, 0.0f, 0.0f, -1.0f);

glBegin(GL_TRIANGLES);
glColor3f(0.7f, 0.0f, 0.0f);
glVertex3f(0.0f, 0.5f, 0.0f);
glColor3f(0.0f, 0.7f, 0.0f);
glVertex3f(-0.5f, -0.5f, 0.0f);
glColor3f(0.0f, 0.0f, 0.7f);
glVertex3f(0.5f, -0.5f, 0.0f);
glEnd();
}

0 comments on commit 2140ff6

Please sign in to comment.