00001 #ifndef V2Ddraw_cpp
00002 #define V2Ddraw_cpp
00003
00004 #include<math.h>
00005 #include<GL/glew.h>
00006 #include<GL/glut.h>
00007 #include "VTexture.h"
00008
00011 class V2Ddraw {
00012
00013 public:
00014
00017 static void drawBox(int x, int y, int width, int height) {
00018 glBegin(GL_QUADS);
00019 glVertex2f(x,y);
00020 glVertex2f(x+width,y);
00021 glVertex2f(x+width,y+height);
00022 glVertex2f(x,y+height);
00023 glEnd();
00024 }
00027 static void drawBox(int x, int y, int width, int height, int temp) {
00028 glBegin(GL_QUADS);
00029 glTexCoord2f(0.0f,0.0f);
00030 glVertex2f(x,y);
00031 glTexCoord2f(1.0f,0.0f);
00032 glVertex2f(x+width,y);
00033 glTexCoord2f(1.0f,1.0f);
00034 glVertex2f(x+width,y+height);
00035 glTexCoord2f(0.0f,1.0f);
00036 glVertex2f(x,y+height);
00037 glEnd();
00038 }
00041 static void drawTexBox(VTexture* tex,int x, int y, int width, int height) {
00042 glEnable(GL_TEXTURE_2D);
00043 glEnable(GL_BLEND);
00044 glBlendFunc(GL_SRC_ALPHA,GL_DST_ALPHA);
00045 tex->bind();
00046 glBegin(GL_QUADS);
00047 glTexCoord2f(0,0);
00048 glVertex2f(x,y);
00049 glTexCoord2f(1,0);
00050 glVertex2f(x+width,y);
00051 glTexCoord2f(1,1);
00052 glVertex2f(x+width,y+height);
00053 glTexCoord2f(0,1);
00054 glVertex2f(x,y+height);
00055 glEnd();
00056 glDisable(GL_TEXTURE_2D);
00057 glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
00058 }
00061 static void drawRect(int x, int y, int width, int height) {
00062 glBegin(GL_LINE_LOOP);
00063 glVertex2f(x,y);
00064 glVertex2f(x+width,y);
00065 glVertex2f(x+width,y+height);
00066 glVertex2f(x,y+height);
00067 glEnd();
00068 }
00071 static void drawCircle(int x, int y, int radius) {
00072 glBegin(GL_LINE_LOOP);
00073 for(float angle = 0; angle < 360; angle+=45) {
00074 glVertex2f(x + sin(angle)*radius, y + cos(angle)*radius);
00075 }
00076 glEnd();
00077 }
00078
00079 };
00080
00081 #endif