Eigene Dateien/uni/visualisierung/vislu/bsp1/VisLu/V2Ddraw.h

Go to the documentation of this file.
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

Generated on Wed Dec 6 11:07:59 2006 for VisLU by  doxygen 1.5.1-p1