Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

glcontext.hh

Go to the documentation of this file.
00001 #ifndef _glcontext_hh_
00002 #define _glcontext_hh_
00003 
00004 #include <SDL/SDL.h>
00005 #include "context.hh"
00006 
00007 namespace anoid {
00008     namespace context {
00009 
00010         class GLContext: public Context {
00011             private:
00012                 bool drawingTriangles, drawingQuads;
00013                 void init(int width, int height, bool window);
00014                 void endDrawing();
00015             protected:
00016                 simple::Matrix _current;
00017                 void quit(int code);
00018                 int frames;
00019                 Uint32 then;
00020             public:
00021                 GLContext(): frames(0), drawingTriangles(false), drawingQuads(false) {}
00022                 virtual void initWindow(int width, int height);
00023                 virtual void initFullscreen(int width, int height);
00024                 virtual void setView();
00025                 virtual void loadIdentity();
00026                 virtual void pushMatrix();
00027                 virtual void popMatrix();
00028                 virtual void rotate(simple::Matrix &rotation);
00029                 virtual void scale(simple::Vector &scale);
00030                 virtual void translate(simple::Vector &translation);
00031                 virtual int beginFigure();
00032                 virtual void endFigure();
00033                 virtual void removeFigure(int id);
00034                 virtual void drawTriangle(simple::Vector &A, simple::Vector &B, simple::Vector &C, simple::Vector &normal, int a = 0);
00035                 virtual void drawQuad(simple::Vector &A, simple::Vector &B, simple::Vector &C, simple::Vector &D, simple::Vector &normal, int a = 0);
00036                 virtual void drawFigure(int id);
00037                 virtual simple::Matrix getMatrix();
00038                 virtual void setMatrix(simple::Matrix &m);
00039                 virtual void swapBuffers();
00040                 virtual ~GLContext();
00041         };
00042 
00043     };
00044 };
00045 
00046 #endif

Anoid NG © Michael Westergaard, Martin Stig Stissing, Ronni Michael Laursen, and Kristian Bisgaard Lassen