X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=widgets.cpp;h=3bf53c77e428530dc5b731f33460077b35db2f27;hp=529212fe10dbb5d0787c95f381596b36cd83b45a;hb=131e7179b596f8268fd80c32312849da83581e55;hpb=0ba76f4df40e2f9847fbecfca631a34c20bf07f4 diff --git a/widgets.cpp b/widgets.cpp index 529212f..3bf53c7 100644 --- a/widgets.cpp +++ b/widgets.cpp @@ -1,24 +1,24 @@ -#define GL_GLEXT_PROTOTYPES 1 - +#include #include -#include -#include #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