void mouseMoved() { int nX = floor( (float)(mouseX - gnBarsLeft) / (float)(gnBarsWidth+gnBarsHSpace) ); int nY = floor( (float)(mouseY - gnBarsTop) / (float)(gnBarsHeight+gnBarsVSpace) ); // inside if( nX >= 0 && nX < 12*7 && nY >= 0 && nY < gpDataMatrices.length ) { int nYearIdx = floor(nX / 12); int nMonthIdx = nX % 12; // skip if same to previous val if( gnPrevYearIdx*12+gnPrevMonthIdx == nX && gnPrevY == nY ) ; else { // println(nY+" "+nYearIdx+" "+nMonthIdx); // if( gnPrevY >= 0 && gnPrevYearIdx >= 0 && gnPrevMonthIdx >= 0 ) // gpBarsMouseEvent[gnPrevY][gnPrevYearIdx][gnPrevMonthIdx] = false; // disable effect for( int k=0; k= 0 && gnPrevYearIdx >= 0 && gnPrevMonthIdx >= 0 ) gpBarsMouseEvent[gnPrevY][gnPrevYearIdx][gnPrevMonthIdx] = false; } }