Loading files
This file is pinned to the selected release. Download the original to open it in your design tool.
e244db203This file is pinned to the selected release. Download the original to open it in your design tool.
/**
* ControlP5 controlFont.
*
* this example shows how to create a button with controlP5 (1), how to
* load and use a PFont with controlP5 (2), apply a ControlFont to
* the caption label of a button (3), and adjust the location of a
* caption label using the style() property of a controller.
*
* by andreas schlegel, 2012
*/
import controlP5.*;
ControlP5 cp5;
controlP5.Button b;
int buttonValue = 1;
boolean isOpen;
int myColorBackground = color(0,0,0);
void setup() {
size(700,400);
smooth();
cp5 = new ControlP5(this);
// (1)
// create some controllers
cp5.addButton("button")
.setValue(10)
.setPosition(20,20)
.setSize(100,50)
.setId(1);
b = cp5.addButton("buttonValue")
.setValue(4)
.setPosition(100,190)
.setSize(200,200)
.setId(2);
// (2)
// load a new font. ControlFont is a wrapper for processing's PFont
// with processing 1.1 ControlFont.setSmooth() is not supported anymore.
// to display a font as smooth or non-smooth, use true/false as 3rd parameter
// when creating a PFont:
PFont pfont = createFont("Arial",20,true); // use true/false for smooth/no-smooth
ControlFont font = new ControlFont(pfont,241);
// (3)
// change the font and content of the captionlabels
// for both buttons create earlier.
cp5.getController("button")
.getCaptionLabel()
.setFont(font)
.toUpperCase(false)
.setSize(24)
;
b.getCaptionLabel()
.setFont(font)
.setSize(50)
.toUpperCase(false)
.setText("hello")
;
//
// (4)
// adjust the location of a catiption label using the
// style property of a controller.
b.getCaptionLabel().getStyle().marginLeft = 20;
b.getCaptionLabel().getStyle().marginTop = 40;
}
void draw() {
background(ControlP5.SILVER);
// animate button b
float x = b.x(b.getPosition());
x += ((isOpen==true ? 0:-200) - x) * 0.2;;
float y = b.y(b.getPosition());
b.setPosition(x,y);
}
public void controlEvent(ControlEvent theEvent) {
println(theEvent.getController().getId());
}
public void button(float theValue) {
println("a button event. "+theValue);
isOpen = !isOpen;
cp5.getController("button").setCaptionLabel((isOpen==true) ? "close":"open");
}
/*
a list of all methods available for the ControlFont Controller
use ControlP5.printPublicMethodsFor(ControlFont.class);
to print the following list into the console.
You can find further details about class ControlFont in the javadoc.
Format:
ClassName : returnType methodName(parameter type)
controlP5.ControlFont : PFont getFont()
controlP5.ControlFont : int getBaseline()
controlP5.ControlFont : int getBottom()
controlP5.ControlFont : int getCenter()
controlP5.ControlFont : int getHeight()
controlP5.ControlFont : int getOffset(int)
controlP5.ControlFont : int getOverflow()
controlP5.ControlFont : int getSize()
controlP5.ControlFont : int getTextHeight()
controlP5.ControlFont : int getTop()
controlP5.ControlFont : int getWidth()
controlP5.ControlFont : void adjust(PGraphics, Label)
controlP5.ControlFont : void draw(ControlP5, Label)
controlP5.ControlFont : void draw(PGraphics, Label)
controlP5.ControlFont : void init(Label)
controlP5.ControlFont : void setSize(int)
java.lang.Object : String toString()
java.lang.Object : boolean equals(Object)
created: 2015/03/24 12:22:36
*/