00001
00002
00003
00004
00005
00006 #ifndef PaletteCreator_h
00007 #define PaletteCreator_h
00008
00009 #include <GL/gl.h>
00010 #include <math.h>
00011
00012
00013
00014
00015 #include "enl_interp.h"
00016
00017
00018 class PaletteCreator{
00019 int activeComp;
00020
00021 float palette[256*4];
00022
00023 double ctrlsX[10], ctrlsY[10];
00024
00025 public:
00026 PaletteCreator(){
00027 activeComp=0;
00028
00029 for(int i=0; i<256; i++){
00030 palette[0+i*4]=cos(i/10.0);
00031 palette[1+i*4]=cos(i/10.0)*sin(i/100.0);
00032 palette[2+i*4]=sin(i/40.0);
00033 palette[3+i*4]=i/255.0;
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053 }
00054
00055 for(int j=0; j<10; j++){
00056 ctrlsX[j]=j;
00057 ctrlsY[j]=j;
00058 }
00059
00060 }
00061 void acquire(int px, int py);
00062
00063 void switchComp(){
00064 activeComp=(activeComp+1)%4;
00065
00066 for(int i=0; i<10; i++)
00067 ctrlsY[i]=palette[(int)(activeComp+(i*25)*4)]*255;
00068 }
00069
00070 void draw();
00071
00072
00073 float *getPalette(){
00074 return palette;
00075 }
00076
00077 };
00078
00079 #endif