void showHelp() { fill(yellow,40); rect(0,0,height,height); pushMatrix(); translate(20,20); fill(dgreen); text(" CSG EDITOR and BLIST OPTIMIZER written by Jarek Rossignac in March 2007",0,0); translate(0,20); fill(dblue); translate(0,20); text("First click in the window to activate it ",0,0); translate(0,20); text("Press 'h' to hide/show this menu ",0,0); translate(0,20); text("To change the truth value of a primitive (green = TRUE, blue = FALSE), click on it ",0,0); translate(0,20); text("To merge a primitive or a root with the next one, hold SPACE or 'm' and click on it ",0,0); translate(0,20); text("To change the operator of a node (+ = OR, x = AND), click on it ",0,0); translate(0,20); text("To split a root hold 'b' and click on it ",0,0); translate(0,20); text("To pivot a node (swap its left and right arguments) hold 'p' and click on it ",0,0); translate(0,20); translate(0,20); text("Press 'h' to hide/show this menu ",0,0); translate(0,20); popMatrix(); noFill(); }