class Palette { int _x=189; int _y=132; color[][] p_colors; PImage bgImg; Palette(){ p_colors=new color[5][5]; // scheme 0 p_colors[0][0]=color(173,226,191); p_colors[0][1]=color(246,211,221); p_colors[0][2]=color(246,57,103); p_colors[0][3]=color(225,38,67); p_colors[0][4]=color(55,166,203); //scheme 1 p_colors[1][0]=color(0,62,2); p_colors[1][1]=color(128,0,1); p_colors[1][2]=color(213,0,3); p_colors[1][3]=color(217,101,114); p_colors[1][4]=color(41,111,152); //scheme 2 p_colors[2][0]=color(190,55,203); p_colors[2][1]=color(129,225,38); p_colors[2][2]=color(166,246,57); p_colors[2][3]=color(233,246,211); p_colors[2][4]=color(173,173,226); //scheme 3 p_colors[3][0]=color(225,225,225); p_colors[3][1]=color(175,175,175); p_colors[3][2]=color(125,125,125); p_colors[3][3]=color(75,75,75); p_colors[3][4]=color(25,25,25); //scheme 4 p_colors[4][0]=color(214,217,30); p_colors[4][1]=color(82,29,63); p_colors[4][2]=color(30,217,191); p_colors[4][3]=color(9,198,154); p_colors[4][4]=color(9,44,34); bgImg=loadImage("palette.png"); } void drawMe(){ fill(0,50); noStroke(); rect(_x+2,_y+2,222,37); image(bgImg,_x,_y); } void checkPalette(){ if(mouseY>137 && mouseY<137+27 && mouseX>194 && mouseX<194+212){ int pos=(mouseX-194)%37; if(pos<26){ changePalette(floor((mouseX-194)/37)); } } } void changePalette(int id){ println("color selected: "+id); if(id<5){ colors=p_colors[id]; }else{ colors=getRandom(); } frame_col=colors[3]; update=true; } color[] getRandom(){ color[] res=new color[5]; for(int i=0; i<5; i++){ res[i]=color(random(255),random(255),random(255)); } return res; } }