int over(recw,rech,mx,my,lockh)
{
if((mouseX>mx && mouseX<(mx+recw)) && (mouseY>(my-lockh/2) && mouseY<(my+rech)) )
return 1;
else
return 0;
}
void setup()
{ //setup function called initially, only once
size(250, 250);
background(255); //set background white
colorMode(RGB); //set colors to Hue, Saturation, Brightness mode
stroke(#000000);
counter = 0;
}
void draw()
{
int recw=50,rech=100, lockh=rech/5;
int mx=(width-recw)/2, my=(height-rech)/2;
background(255);
fill(#FFFFFF);
rect(mx,my,recw,rech,0);
fill(000000);
rect(mx,locky,recw,lockh);
if(over(recw,rech,mx,my,lockh))
{
if(mouseY<my)
locky=my;
else if(mouseY>(my+rech-lockh))
locky=my+rech-lockh;
else
locky=mouseY;
if(mouseY>locky)
locky++;
else if (mouseY<locky)
locky--;
}
}
void mouseMoved()
{
redraw();
}