]> git.sesse.net Git - movit/blobdiff - widgets.cpp
Take LDFLAGS properly from configure, and distinguish better between LDFLAGS and...
[movit] / widgets.cpp
index 529212fe10dbb5d0787c95f381596b36cd83b45a..3bf53c77e428530dc5b731f33460077b35db2f27 100644 (file)
@@ -1,24 +1,24 @@
-#define GL_GLEXT_PROTOTYPES 1
-
+#include <GL/glew.h>
 #include <math.h>
-#include <GL/gl.h>
-#include <GL/glext.h>
 
 #include "widgets.h"
 #include "util.h"
-#include "texture_enum.h"
 
 #define HSV_WHEEL_SIZE 128
 
+namespace movit {
+
+GLuint hsv_wheel_num;
+
 void draw_hsv_wheel(float y, float rad, float theta, float value)
 {
-       glUseProgramObjectARB(0);
+       glUseProgram(0);
        check_error();
        glActiveTexture(GL_TEXTURE0);
        check_error();
        glEnable(GL_TEXTURE_2D);
        check_error();
-       glBindTexture(GL_TEXTURE_2D, HSV_WHEEL);
+       glBindTexture(GL_TEXTURE_2D, hsv_wheel_num);
        check_error();
        glActiveTexture(GL_TEXTURE1);
        check_error();
@@ -81,7 +81,7 @@ void draw_hsv_wheel(float y, float rad, float theta, float value)
 
 void draw_saturation_bar(float y, float saturation)
 {
-       glUseProgramObjectARB(0);
+       glUseProgram(0);
        check_error();
 
        // value slider
@@ -102,7 +102,7 @@ void draw_saturation_bar(float y, float saturation)
        glColor3f(0.0f, 0.0f, 0.0f);
        glPointSize(5.0f);
        glBegin(GL_POINTS);
-       glVertex2f(0.2f * (saturation / 4.0f) * 9.0f / 16.0f, y + 0.01f);
+       glVertex2f(0.2f * saturation * 9.0f / 16.0f, y + 0.01f);
        glEnd();
 
        glColor3f(1.0f, 1.0f, 1.0f);
@@ -110,6 +110,8 @@ void draw_saturation_bar(float y, float saturation)
 
 void make_hsv_wheel_texture()
 {
+       glGenTextures(1, &hsv_wheel_num);
+
        static unsigned char hsv_pix[HSV_WHEEL_SIZE * HSV_WHEEL_SIZE * 4];
        for (int y = 0; y < HSV_WHEEL_SIZE; ++y) {
                for (int x = 0; x < HSV_WHEEL_SIZE; ++x) {
@@ -130,10 +132,9 @@ void make_hsv_wheel_texture()
                                hsv_pix[(y * HSV_WHEEL_SIZE + x) * 4 + 3] = 255;
                        }
                }
-               printf("\n");
        }
 
-       glBindTexture(GL_TEXTURE_2D, HSV_WHEEL);
+       glBindTexture(GL_TEXTURE_2D, hsv_wheel_num);
        check_error();
        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
        check_error();
@@ -156,3 +157,5 @@ void read_colorwheel(float xf, float yf, float *rad, float *theta, float *value)
        }
 }
 
+
+}  // namespace movit