|
|||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||
java.lang.ObjectcontrolP5.Controller
controlP5.Slider2D
public class Slider2D
The Slider2D allows to control a handle within a 2D area. This controller returns an arrayValue with the current xy position of its handle.
/**
* ControlP5 Slider2D
*
*
* find a list of public methods available for the Slider2D Controller
* at the bottom of this sketch.
*
* by Andreas Schlegel, 2012
* www.sojamo.de/libraries/controlp5
*
*/
import controlP5.*;
ControlP5 cp5;
Slider2D s;
void setup() {
size(700,400);
cp5 = new ControlP5(this);
s = cp5.addSlider2D("wave")
.setPosition(30,40)
.setSize(100,100)
.setArrayValue(new float[] {50, 50})
//.disableCrosshair()
;
smooth();
}
float cnt;
void draw() {
background(0);
pushMatrix();
translate(160,140);
noStroke();
fill(50);
rect(0, -100, 400,200);
strokeWeight(1);
line(0,0,200, 0);
stroke(255);
for(int i=1;i<400;i++) {
float y0 = cos(map(i-1,0,s.arrayValue()[0],-PI,PI)) * s.arrayValue()[1];
float y1 = cos(map(i,0,s.arrayValue()[0],-PI,PI)) * s.arrayValue()[1];
line((i-1),y0,i,y1);
}
popMatrix();
}
/*
a list of all methods available for the Slider2D Controller
use ControlP5.printPublicMethodsFor(Slider2D.class);
to print the following list into the console.
You can find further details about class Slider2D in the javadoc.
Format:
ClassName : returnType methodName(parameter type)
controlP5.Slider2D : Slider2D enableCrosshair()
controlP5.Slider2D : Slider2D disableCrosshair()
controlP5.Slider2D : Slider2D setArrayValue(float[])
controlP5.Slider2D : Slider2D setMaxX(float)
controlP5.Slider2D : Slider2D setMaxY(float)
controlP5.Slider2D : Slider2D setMinX(float)
controlP5.Slider2D : Slider2D setMinY(float)
controlP5.Slider2D : Slider2D setValue(float)
controlP5.Slider2D : Slider2D shuffle()
controlP5.Slider2D : float getCursorHeight()
controlP5.Slider2D : float getCursorWidth()
controlP5.Slider2D : float getCursorX()
controlP5.Slider2D : float getCursorY()
controlP5.Slider2D : float getMaxX()
controlP5.Slider2D : float getMaxY()
controlP5.Slider2D : float getMinX()
controlP5.Slider2D : float getMinY()
controlP5.Slider2D : float[] getArrayValue()
controlP5.Slider2D : void setValueLabelSeparator(String)
controlP5.Controller : CColor getColor()
controlP5.Controller : ControlBehavior getBehavior()
controlP5.Controller : ControlWindow getControlWindow()
controlP5.Controller : ControlWindow getWindow()
controlP5.Controller : ControllerProperty getProperty(String)
controlP5.Controller : ControllerProperty getProperty(String, String)
controlP5.Controller : Label getCaptionLabel()
controlP5.Controller : Label getValueLabel()
controlP5.Controller : List getControllerPlugList()
controlP5.Controller : PImage setImage(PImage)
controlP5.Controller : PImage setImage(PImage, int)
controlP5.Controller : PVector getAbsolutePosition()
controlP5.Controller : PVector getPosition()
controlP5.Controller : Slider2D addCallback(CallbackListener)
controlP5.Controller : Slider2D addListener(ControlListener)
controlP5.Controller : Slider2D bringToFront()
controlP5.Controller : Slider2D bringToFront(ControllerInterface)
controlP5.Controller : Slider2D hide()
controlP5.Controller : Slider2D linebreak()
controlP5.Controller : Slider2D listen(boolean)
controlP5.Controller : Slider2D lock()
controlP5.Controller : Slider2D plugTo(Object)
controlP5.Controller : Slider2D plugTo(Object, String)
controlP5.Controller : Slider2D plugTo(Object[])
controlP5.Controller : Slider2D plugTo(Object[], String)
controlP5.Controller : Slider2D registerProperty(String)
controlP5.Controller : Slider2D registerProperty(String, String)
controlP5.Controller : Slider2D registerTooltip(String)
controlP5.Controller : Slider2D removeBehavior()
controlP5.Controller : Slider2D removeCallback()
controlP5.Controller : Slider2D removeCallback(CallbackListener)
controlP5.Controller : Slider2D removeListener(ControlListener)
controlP5.Controller : Slider2D removeProperty(String)
controlP5.Controller : Slider2D removeProperty(String, String)
controlP5.Controller : Slider2D setArrayValue(float[])
controlP5.Controller : Slider2D setArrayValue(int, float)
controlP5.Controller : Slider2D setBehavior(ControlBehavior)
controlP5.Controller : Slider2D setBroadcast(boolean)
controlP5.Controller : Slider2D setCaptionLabel(String)
controlP5.Controller : Slider2D setColor(CColor)
controlP5.Controller : Slider2D setColorActive(int)
controlP5.Controller : Slider2D setColorBackground(int)
controlP5.Controller : Slider2D setColorCaptionLabel(int)
controlP5.Controller : Slider2D setColorForeground(int)
controlP5.Controller : Slider2D setColorValueLabel(int)
controlP5.Controller : Slider2D setDecimalPrecision(int)
controlP5.Controller : Slider2D setDefaultValue(float)
controlP5.Controller : Slider2D setHeight(int)
controlP5.Controller : Slider2D setId(int)
controlP5.Controller : Slider2D setImages(PImage, PImage, PImage)
controlP5.Controller : Slider2D setImages(PImage, PImage, PImage, PImage)
controlP5.Controller : Slider2D setLabelVisible(boolean)
controlP5.Controller : Slider2D setLock(boolean)
controlP5.Controller : Slider2D setMax(float)
controlP5.Controller : Slider2D setMin(float)
controlP5.Controller : Slider2D setMouseOver(boolean)
controlP5.Controller : Slider2D setMoveable(boolean)
controlP5.Controller : Slider2D setPosition(PVector)
controlP5.Controller : Slider2D setPosition(float, float)
controlP5.Controller : Slider2D setSize(PImage)
controlP5.Controller : Slider2D setSize(int, int)
controlP5.Controller : Slider2D setStringValue(String)
controlP5.Controller : Slider2D setUpdate(boolean)
controlP5.Controller : Slider2D setValueLabel(String)
controlP5.Controller : Slider2D setView(ControllerView)
controlP5.Controller : Slider2D setVisible(boolean)
controlP5.Controller : Slider2D setWidth(int)
controlP5.Controller : Slider2D show()
controlP5.Controller : Slider2D unlock()
controlP5.Controller : Slider2D unplugFrom(Object)
controlP5.Controller : Slider2D unplugFrom(Object[])
controlP5.Controller : Slider2D unregisterTooltip()
controlP5.Controller : Slider2D update()
controlP5.Controller : Slider2D updateSize()
controlP5.Controller : String getAddress()
controlP5.Controller : String getInfo()
controlP5.Controller : String getName()
controlP5.Controller : String getStringValue()
controlP5.Controller : String toString()
controlP5.Controller : Tab getTab()
controlP5.Controller : boolean isActive()
controlP5.Controller : boolean isBroadcast()
controlP5.Controller : boolean isInside()
controlP5.Controller : boolean isLabelVisible()
controlP5.Controller : boolean isListening()
controlP5.Controller : boolean isLock()
controlP5.Controller : boolean isMouseOver()
controlP5.Controller : boolean isMousePressed()
controlP5.Controller : boolean isMoveable()
controlP5.Controller : boolean isUpdate()
controlP5.Controller : boolean isVisible()
controlP5.Controller : float getArrayValue(int)
controlP5.Controller : float getDefaultValue()
controlP5.Controller : float getMax()
controlP5.Controller : float getMin()
controlP5.Controller : float getValue()
controlP5.Controller : float[] getArrayValue()
controlP5.Controller : int getDecimalPrecision()
controlP5.Controller : int getHeight()
controlP5.Controller : int getId()
controlP5.Controller : int getWidth()
controlP5.Controller : int listenerSize()
controlP5.Controller : void remove()
controlP5.Controller : void setView(ControllerView, int)
java.lang.Object : String toString()
java.lang.Object : boolean equals(Object)
*/
| Field Summary | |
|---|---|
boolean |
isCrosshairs
|
| Fields inherited from class controlP5.Controller |
|---|
autoHeight, autoSpacing, autoWidth |
| Fields inherited from interface controlP5.ControlP5Constants |
|---|
acceptClassList, ACTION_BROADCAST, ACTION_ENTER, ACTION_LEAVE, ACTION_PRESSED, ACTION_RELEASED, ACTION_RELEASEDOUTSIDE, ACTIVE, ALL, ALT, ARC, ARRAY, BACKSPACE, BASELINE, BITFONT, BOOLEAN, BOTTOM, BOTTOM_OUTSIDE, CAPTIONLABEL, CENTER, COMMANDKEY, CONTROL, controlEventClass, CUSTOM, DECREASE, DEFAULT, DELETE, DONE, DOWN, ELLIPSE, ENTER, ESCAPE, EVENT, eventMethod, FADEIN, FADEOUT, FIELD, FLOAT, HALF_PI, HIDE, HIGHLIGHT, HORIZONTAL, IDLE, IMAGE, INACTIVE, INCREASE, INTEGER, INVALID, KEYCONTROL, LEFT, LEFT_OUTSIDE, LINE, LOAD, MENU, METHOD, MOVE, MULTI, MULTIPLES, OVER, PI, PRESSED, PRINT, RELEASE, RESET, RIGHT, RIGHT_OUTSIDE, SAVE, SHIFT, SINGLE, SINGLE_COLUMN, SINGLE_ROW, SPRITE, STRING, SWITCH, SWITCH_BACK, SWITCH_FORE, TAB, TOP, TOP_OUTSIDE, TRANSITION_WAIT_FADEIN, TWO_PI, UP, VALUELABEL, VERBOSE, VERTICAL, WAIT |
| Constructor Summary | |
|---|---|
Slider2D(ControlP5 theControlP5,
java.lang.String theName)
Convenience constructor to extend Slider2D. |
|
| Method Summary | |
|---|---|
Slider2D |
disableCrosshair()
|
Slider2D |
enableCrosshair()
|
float[] |
getArrayValue()
returns the current float array value of a controller. |
float |
getCursorHeight()
|
float |
getCursorWidth()
|
float |
getCursorX()
|
float |
getCursorY()
|
float |
getMaxX()
|
float |
getMaxY()
|
float |
getMinX()
|
float |
getMinY()
|
Slider2D |
setArrayValue(float[] theArray)
|
Slider2D |
setMaxX(float theMaxX)
sets the maximum value for the x-axis |
Slider2D |
setMaxY(float theMaxY)
sets the maximum value for the y-axis |
Slider2D |
setMinX(float theMinX)
sets the minimum value for the x-axis |
Slider2D |
setMinY(float theMinY)
sets the minimum value for the y-axis |
Slider2D |
setValue(float theValue)
|
void |
setValueLabelSeparator(java.lang.String theSeparator)
|
Slider2D |
shuffle()
assigns a random value to the controller. |
Slider2D |
updateDisplayMode(int theMode)
|
Slider2D |
updateInternalEvents(processing.core.PApplet theApplet)
a method for putting input events like e.g. |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface controlP5.ControllerInterface |
|---|
continuousUpdateEvents, draw, parent, setColorLabel, setColorValue, setLabel |
| Methods inherited from interface controlP5.CDrawable |
|---|
draw |
| Field Detail |
|---|
public boolean isCrosshairs
| Constructor Detail |
|---|
public Slider2D(ControlP5 theControlP5,
java.lang.String theName)
theControlP5 - theName -
/**
* ControlP5 extending Controllers
*
* the following example shows how to extend the Controller class to
* create customizable Controllers. You can either extend the Controller class itself,
* or any class that extends Controller itself like the Slider, Button, DropdownList, etc.
*
* How to:
*
* 1) do a super call to the convenience constructor requiring
* 2 parameter (ControlP5 instance, name)
*
* 2) the Controller class has a set of empty methods that allow you to capture
* inputs from the mouse including
* onEnter(), onLeave(), onPress(), onRelease(), onClick(), onScroll(int), onDrag()
* These you can override and include functionality as needed.
*
* 3) use method getPointer() to return the local (relative)
* xy-coordinates of the controller
*
* 4) after instantiation custom controllers are treated the same
* as default controlP5 controllers.
*
* by Andreas Schlegel, 2012
* www.sojamo.de/libraries/controlp5
*
*/
import controlP5.*;
ControlP5 cp5;
PApplet p;
void setup() {
size(400, 400);
cp5 = new ControlP5(this);
// create 2 groups to show nesting of custom controllers and
//
Group g1 = cp5.addGroup("a").setPosition(0,100).setWidth(180);
Group g2 = cp5.addGroup("b").setPosition(0,10).setWidth(180);
g2.moveTo(g1);
// create 2 custom Controllers from class MyButton
// MyButton extends Controller and inherits all methods accordingly.
new MyButton(cp5, "b1").setPosition(0, 0).setSize(180, 200).moveTo(g2);
new MyButton(cp5, "b2").setPosition(205, 15).setSize(180, 200);
}
void draw() {
background(0);
}
// b1 will be called from Controller b1
public void b1(float theValue) {
println("yay button "+theValue);
}
public void controlEvent(ControlEvent theEvent) {
println("controlEvent : "+theEvent);
}
// Create a custom Controller, please not that
// MyButton extends Controller,
// is an indicator for the super class about the type of
// custom controller to be created.
class MyButton extends Controller {
int current = 0xffff0000;
float a = 128;
float na;
int y;
// use the convenience constructor of super class Controller
// MyButton will automatically registered and move to the
// default controlP5 tab.
MyButton(ControlP5 cp5, String theName) {
super(cp5, theName);
// replace the default view with a custom view.
setView(new ControllerView() {
public void display(PApplet p, Object b) {
// draw button background
na += (a-na) * 0.1;
p.fill(current,na);
p.rect(0, 0, getWidth(), getHeight());
// draw horizontal line which can be moved on the x-axis
// using the scroll wheel.
p.fill(0,255,0);
p.rect(0,y,width,10);
// draw the custom label
p.fill(128);
translate(0,getHeight()+14);
p.text(getName(),0,0);
p.text(getName(),0,0);
}
}
);
}
// override various input methods for mouse input control
void onEnter() {
cursor(HAND);
println("enter");
a = 255;
}
void onScroll(int n) {
println("scrolling");
y -= n;
y = constrain(y,0,getHeight()-10);
}
void onPress() {
println("press");
current = 0xffffff00;
}
void onClick() {
Pointer p1 = getPointer();
println("clicked at "+p1.x()+", "+p1.y());
current = 0xffffff00;
setValue(y);
}
void onRelease() {
println("release");
current = 0xffffffff;
}
void onMove() {
println("moving "+this+" "+_myControlWindow.getMouseOverList());
}
void onDrag() {
current = 0xff0000ff;
Pointer p1 = getPointer();
float dif = dist(p1.px(),p1.py(),p1.x(),p1.y());
println("dragging at "+p1.x()+", "+p1.y()+" "+dif);
}
void onReleaseOutside() {
onLeave();
}
void onLeave() {
println("leave");
cursor(ARROW);
a = 128;
}
}
| Method Detail |
|---|
public Slider2D disableCrosshair()
public Slider2D enableCrosshair()
public float[] getArrayValue()
Controller
getArrayValue in interface ControllerInterfacegetArrayValue in class ControllerController.getValue(),
Controller.getStringValue()public float getCursorHeight()
public float getCursorWidth()
public float getCursorX()
public float getCursorY()
public float getMaxX()
public float getMaxY()
public float getMinX()
public float getMinY()
public Slider2D setArrayValue(float[] theArray)
setArrayValue in interface ControllerInterfacesetArrayValue in class Controllerpublic Slider2D setMaxX(float theMaxX)
theMaxX -
public Slider2D setMaxY(float theMaxY)
theMaxY -
public Slider2D setMinX(float theMinX)
theMinX -
public Slider2D setMinY(float theMinY)
theMinY -
public Slider2D setValue(float theValue)
setValue in interface ControllerInterfacesetValue in class ControllertheValue - floatpublic void setValueLabelSeparator(java.lang.String theSeparator)
public Slider2D shuffle()
public Slider2D updateDisplayMode(int theMode)
public Slider2D updateInternalEvents(processing.core.PApplet theApplet)
ControllerInterface
updateInternalEvents in interface ControllerInterfaceupdateInternalEvents in class ControllerControllerInterface.updateInternalEvents
|
|||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||