We are about to switch to a new forum software. Until then we have removed the registration on this forum.
If I use rect() to draw a rectangle and want to put the text " TEST " inside
rect(10,10,100,100);
text(" TEST ", 20,20);
Text does not appear in rectangle.
Answers
You may try out function text() w/ more arguments:
https://processing.org/reference/text_.html
Be aware that it all depends on the PFont used and its metrics like textSize(), textWidth(), etc.
I'll bet it's because the rectangle and the text are the same color. Try inserting
fill(0)
between the two lines above.That did it, so now I know I have to set fill color for rect() then text() so now I have a draw loop. When mousePressed() I want to redraw rect as red with black text inside. So I have a testdone variable. Its initialized to 1 so draw just loops testing for testdone to change from 1 to 0. Mouse press ocurrs, in mousePressed() i redraw rect() with fill red and text().
But no matter where I place it in draw , or mousepressed() it only flashes red and then back to blue.
So i put if in draw to change fill from to red for testdone==0, still , just a flash.
I am really struggling with WHEN things get executed. Why doesn't putting the redraw in the mousePressed() loop , which only gets executed once , cause it to change to a red rect() and stay until testdone set back to 1 in draw loop.
The flow is:
int testdone=1;
setup(){ size(1000,600) }
draw() {
if(testdone==1)} fill(0,0,255) // blue box with black TEST inside rect(x,y,w,h) fill(0); text("TEST",100,100);}
if (testdone==0){ fill(255,0,0) // red box with black TEST inside rect(x,y,w,h) fill(0) text("TEST",100,100);
//execute loops to process image loadPIxels();
[ loop code ]
updatePixels();
testdone=1;
}
mousepresssed() {
if (testdone ==1){ testdone=0; } }
The reference says rect () will draw a rectangle but it doesn't seem to be executed when i call it, it gets updated in draw loop according to what rules?
I do a fill(255,0,0) and rect(x,y,w,h); in mousePressed() and println("text"); statement just before and after "test" prints to let me know i am in the mousePressed() loop but rect() never changes! so when does it get drawn to the screen again?