controlp5/reference/controlP5/Bang.html

818 lines
49 KiB
HTML
Raw Normal View History

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_51) on Sun Apr 27 21:39:46 SGT 2014 -->
<title>Bang (Javadocs: controlP5)</title>
<meta name="date" content="2014-04-27">
<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Bang (Javadocs: controlP5)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../controlP5/package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../index-all.html">Index</a></li>
<li><a href="../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../controlP5/Accordion.html" title="class in controlP5"><span class="strong">Prev Class</span></a></li>
<li><a href="../controlP5/BitFont.html" title="class in controlP5"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../index.html?controlP5/Bang.html" target="_top">Frames</a></li>
<li><a href="Bang.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields_inherited_from_class_controlP5.Controller">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">controlP5</div>
<h2 title="Class Bang" class="title">Class Bang</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../controlP5/Controller.html" title="class in controlP5">controlP5.Controller</a>&lt;<a href="../controlP5/Bang.html" title="class in controlP5">Bang</a>&gt;</li>
<li>
<ul class="inheritance">
<li>controlP5.Bang</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../controlP5/CDrawable.html" title="interface in controlP5">CDrawable</a>, <a href="../controlP5/ControllerInterface.html" title="interface in controlP5">ControllerInterface</a>&lt;<a href="../controlP5/Bang.html" title="class in controlP5">Bang</a>&gt;, <a href="../controlP5/ControlP5Constants.html" title="interface in controlP5">ControlP5Constants</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">Bang</span>
extends <a href="../controlP5/Controller.html" title="class in controlP5">Controller</a>&lt;<a href="../controlP5/Bang.html" title="class in controlP5">Bang</a>&gt;</pre>
<div class="block"><p>
The Bang controller triggers an event when pressed. A bang can only be assigned to a function in
your program but not to a field like other controllers. Bang extends superclass Controller, for a
full documentation see the <a href="../controlP5/Controller.html" title="class in controlP5"><code>Controller</code></a> reference.
</p></div>
<dl><script type="text/javascript">
<!--
document.getElementsByTagName('html')[0].className = 'isjs';function toggle(dt) { var display, dd=dt; do{ dd = dd.nextSibling } while(dd.tagName!='DD'); toOpen =!dd.style.display;dd.style.display = toOpen? 'block':''; dt.getElementsByTagName('span')[0].innerHTML = toOpen? '-':'+' ; }
-->
</script>
<div id="test" class="toggleList"><dl><dt onclick="toggle(this);"><span>+</span>Example</dt><dd><code><pre>/**
* ControlP5 Bang
* A bang triggers an event that can be received by a function named after the bang.
* By default a bang is triggered when pressed, this can be changed to 'release'
* using theBang.setTriggerEvent(Bang.RELEASE).
*
* find a list of public methods available for the Bang Controller
* at the bottom of this sketch.
*
* by Andreas Schlegel, 2012
* www.sojamo.de/libraries/controlp5
*
*/
import controlP5.*;
ControlP5 cp5;
int myColorBackground = color(0, 0, 0);
color[] col = new color[] {
color(100), color(150), color(200), color(250)
};
void setup() {
size(400, 600);
noStroke();
cp5 = new ControlP5(this);
for (int i=0;i<col.length;i++) {
cp5.addBang("bang"+i)
.setPosition(40+i*80, 200)
.setSize(40, 40)
.setId(i)
;
}
// change the trigger event, by default it is PRESSED.
cp5.addBang("bang")
.setPosition(40, 300)
.setSize(280, 40)
.setTriggerEvent(Bang.RELEASE)
.setLabel("changeBackground")
;
}
void draw() {
background(myColorBackground);
for (int i=0;i<col.length;i++) {
fill(col[i]);
rect(40+i*80, 50, 40, 80);
}
}
public void bang() {
int theColor = (int)random(255);
myColorBackground = color(theColor);
println("### bang(). a bang event. setting background to "+theColor);
}
public void controlEvent(ControlEvent theEvent) {
for (int i=0;i<col.length;i++) {
if (theEvent.getController().getName().equals("bang"+i)) {
col[i] = color(random(255));
}
}
println(
"## controlEvent / id:"+theEvent.controller().id()+
" / name:"+theEvent.controller().name()+
" / label:"+theEvent.controller().label()+
" / value:"+theEvent.controller().value()
);
}
/*
a list of all methods available for the Bang Controller
use ControlP5.printPublicMethodsFor(Bang.class);
to print the following list into the console.
You can find further details about class Bang in the javadoc.
Format:
ClassName : returnType methodName(parameter type)
controlP5.Bang : Bang setTriggerEvent(int)
controlP5.Bang : Bang setValue(float)
controlP5.Bang : Bang update()
controlP5.Bang : String getInfo()
controlP5.Bang : String toString()
controlP5.Bang : int getTriggerEvent()
controlP5.Controller : Bang addCallback(CallbackListener)
controlP5.Controller : Bang addListener(ControlListener)
controlP5.Controller : Bang bringToFront()
controlP5.Controller : Bang bringToFront(ControllerInterface)
controlP5.Controller : Bang hide()
controlP5.Controller : Bang linebreak()
controlP5.Controller : Bang listen(boolean)
controlP5.Controller : Bang lock()
controlP5.Controller : Bang plugTo(Object)
controlP5.Controller : Bang plugTo(Object, String)
controlP5.Controller : Bang plugTo(Object[])
controlP5.Controller : Bang plugTo(Object[], String)
controlP5.Controller : Bang registerProperty(String)
controlP5.Controller : Bang registerProperty(String, String)
controlP5.Controller : Bang registerTooltip(String)
controlP5.Controller : Bang removeBehavior()
controlP5.Controller : Bang removeCallback()
controlP5.Controller : Bang removeCallback(CallbackListener)
controlP5.Controller : Bang removeListener(ControlListener)
controlP5.Controller : Bang removeProperty(String)
controlP5.Controller : Bang removeProperty(String, String)
controlP5.Controller : Bang setArrayValue(float[])
controlP5.Controller : Bang setArrayValue(int, float)
controlP5.Controller : Bang setBehavior(ControlBehavior)
controlP5.Controller : Bang setBroadcast(boolean)
controlP5.Controller : Bang setCaptionLabel(String)
controlP5.Controller : Bang setColor(CColor)
controlP5.Controller : Bang setColorActive(int)
controlP5.Controller : Bang setColorBackground(int)
controlP5.Controller : Bang setColorCaptionLabel(int)
controlP5.Controller : Bang setColorForeground(int)
controlP5.Controller : Bang setColorValueLabel(int)
controlP5.Controller : Bang setDecimalPrecision(int)
controlP5.Controller : Bang setDefaultValue(float)
controlP5.Controller : Bang setHeight(int)
controlP5.Controller : Bang setId(int)
controlP5.Controller : Bang setImages(PImage, PImage, PImage)
controlP5.Controller : Bang setImages(PImage, PImage, PImage, PImage)
controlP5.Controller : Bang setLabelVisible(boolean)
controlP5.Controller : Bang setLock(boolean)
controlP5.Controller : Bang setMax(float)
controlP5.Controller : Bang setMin(float)
controlP5.Controller : Bang setMouseOver(boolean)
controlP5.Controller : Bang setMoveable(boolean)
controlP5.Controller : Bang setPosition(PVector)
controlP5.Controller : Bang setPosition(float, float)
controlP5.Controller : Bang setSize(PImage)
controlP5.Controller : Bang setSize(int, int)
controlP5.Controller : Bang setStringValue(String)
controlP5.Controller : Bang setUpdate(boolean)
controlP5.Controller : Bang setValueLabel(String)
controlP5.Controller : Bang setView(ControllerView)
controlP5.Controller : Bang setVisible(boolean)
controlP5.Controller : Bang setWidth(int)
controlP5.Controller : Bang show()
controlP5.Controller : Bang unlock()
controlP5.Controller : Bang unplugFrom(Object)
controlP5.Controller : Bang unplugFrom(Object[])
controlP5.Controller : Bang unregisterTooltip()
controlP5.Controller : Bang update()
controlP5.Controller : Bang updateSize()
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 : 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)
*/
</pre></code></dd></dl></div></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields_inherited_from_class_controlP5.Controller">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;controlP5.<a href="../controlP5/Controller.html" title="class in controlP5">Controller</a></h3>
<code><a href="../controlP5/Controller.html#autoHeight">autoHeight</a>, <a href="../controlP5/Controller.html#autoSpacing">autoSpacing</a>, <a href="../controlP5/Controller.html#autoWidth">autoWidth</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields_inherited_from_class_controlP5.ControlP5Constants">
<!-- -->
</a>
<h3>Fields inherited from interface&nbsp;controlP5.<a href="../controlP5/ControlP5Constants.html" title="interface in controlP5">ControlP5Constants</a></h3>
<code><a href="../controlP5/ControlP5Constants.html#acceptClassList">acceptClassList</a>, <a href="../controlP5/ControlP5Constants.html#ACTION_BROADCAST">ACTION_BROADCAST</a>, <a href="../controlP5/ControlP5Constants.html#ACTION_CLICK">ACTION_CLICK</a>, <a href="../controlP5/ControlP5Constants.html#ACTION_DRAG">ACTION_DRAG</a>, <a href="../controlP5/ControlP5Constants.html#ACTION_ENTER">ACTION_ENTER</a>, <a href="../controlP5/ControlP5Constants.html#ACTION_EXIT">ACTION_EXIT</a>, <a href="../controlP5/ControlP5Constants.html#ACTION_LEAVE">ACTION_LEAVE</a>, <a href="../controlP5/ControlP5Constants.html#ACTION_MOVE">ACTION_MOVE</a>, <a href="../controlP5/ControlP5Constants.html#ACTION_PRESS">ACTION_PRESS</a>, <a href="../controlP5/ControlP5Constants.html#ACTION_PRESSED">ACTION_PRESSED</a>, <a href="../controlP5/ControlP5Constants.html#ACTION_RELEASE">ACTION_RELEASE</a>, <a href="../controlP5/ControlP5Constants.html#ACTION_RELEASED">ACTION_RELEASED</a>, <a href="../controlP5/ControlP5Constants.html#ACTION_RELEASEDOUTSIDE">ACTION_RELEASEDOUTSIDE</a>, <a href="../controlP5/ControlP5Constants.html#ACTION_WHEEL">ACTION_WHEEL</a>, <a href="../controlP5/ControlP5Constants.html#ACTIVE">ACTIVE</a>, <a href="../controlP5/ControlP5Constants.html#ALL">ALL</a>, <a href="../controlP5/ControlP5Constants.html#ALT">ALT</a>, <a href="../controlP5/ControlP5Constants.html#AQUA">AQUA</a>, <a href="../controlP5/ControlP5Constants.html#ARC">ARC</a>, <a href="../controlP5/ControlP5Constants.html#ARRAY">ARRAY</a>, <a href="../controlP5/ControlP5Constants.html#BACKSPACE">BACKSPACE</a>, <a href="../controlP5/ControlP5Constants.html#BASELINE">BASELINE</a>, <a href="../controlP5/ControlP5Constants.html#BITFONT">BITFONT</a>, <a href="../controlP5/ControlP5Constants.html#BLACK">BLACK</a>, <a href="../controlP5/ControlP5Constants.html#BLUE">BLUE</a>, <a href="../controlP5/ControlP5Constants.html#BOOLEAN">BOOLEAN</a>, <a href="../controlP5/ControlP5Constants.html#BOTTOM">BOTTOM</a>, <a href="../controlP5/ControlP5Constants.html#BOTTOM_OUTSIDE">BOTTOM_OUTSIDE</a>, <a href="../controlP5/ControlP5Constants.html#CAPTIONLABEL">CAPTIONLABEL</a>, <a href="../controlP5/ControlP5Constants.html#CENTER">CENTER</a>, <a href="../controlP5/ControlP5Constants.html#CHECKBOX">CHECKBOX</a>, <a href="../controlP5/ControlP5Constants.html#COMMANDKEY">COMMANDKEY</a>, <a href="../controlP5/ControlP5Constants.html#CONTROL">CONTROL</a>, <a href="../controlP5/ControlP5Constants.html#controlEventClass">controlEventClass</a>, <a href="../controlP5/ControlP5Constants.html#CUSTOM">CUSTOM</a>, <a href="../controlP5/ControlP5Constants.html#DECREASE">DECREASE</a>, <a href="../controlP5/ControlP5Constants.html#DEFAULT">DEFAULT</a>, <a href="../controlP5/ControlP5Constants.html#DELETE">DELETE</a>, <a href="../controlP5/ControlP5Constants.html#DONE">DONE</a>, <a href="../controlP5/ControlP5Constants.html#DOWN">DOWN</a>, <a href="../controlP5/ControlP5Constants.html#DROPDOWN">DROPDOWN</a>, <a href="../controlP5/ControlP5Constants.html#ELLIPSE">ELLIPSE</a>, <a href="../controlP5/ControlP5Constants.html#ENTER">ENTER</a>, <a href="../controlP5/ControlP5Constants.html#ESCAPE">ESCAPE</a>, <a href="../controlP5/ControlP5Constants.html#EVENT">EVENT</a>, <a href="../controlP5/ControlP5Constants.html#eventMethod">eventMethod</a>, <a href="../controlP5/ControlP5Constants.html#FADEIN">FADEIN</a>, <a href="../controlP5/ControlP5Constants.html#FADEOUT">FADEOUT</a>, <a href="../controlP5/ControlP5Constants.html#FIELD">FIELD</a>, <a href="../controlP5/ControlP5Constants.html#FLOAT">FLOAT</a>, <a href="../controlP5/ControlP5Constants.html#FUCHSIA">FUCHSIA</a>, <a href="../controlP5/ControlP5Constants.html#GRAY">GRAY</a>, <a href="../controlP5/ControlP5Constants.html#GREEN">GREEN</a>, <a href="../controlP5/ControlP5Constants.html#grixel">grixel</a>, <a href="../controlP5/ControlP5Constants.html#HALF_PI">HALF_PI</a>, <a href="../controlP5/ControlP5Constants.html#HIDE">HIDE</a>, <a href="../controlP5/ControlP5Constants.html#HIGHLIGHT">HIGHLIGHT</a>, <a href="../controlP5/ControlP5Constants.html#HORIZONTAL">HOR
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../controlP5/Bang.html#Bang(controlP5.ControlP5, java.lang.String)">Bang</a></strong>(<a href="../controlP5/ControlP5.html" title="class in controlP5">ControlP5</a>&nbsp;theControlP5,
java.lang.String&nbsp;theName)</code>
<div class="block">Convenience constructor to extend Bang.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../controlP5/Bang.html#getInfo()">getInfo</a></strong>()</code></td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><strong><a href="../controlP5/Bang.html#getTriggerEvent()">getTriggerEvent</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../controlP5/Bang.html" title="class in controlP5">Bang</a></code></td>
<td class="colLast"><code><strong><a href="../controlP5/Bang.html#setTriggerEvent(int)">setTriggerEvent</a></strong>(int&nbsp;theEventID)</code>
<div class="block">By default a bang is triggered when the mouse is pressed.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../controlP5/Bang.html" title="class in controlP5">Bang</a></code></td>
<td class="colLast"><code><strong><a href="../controlP5/Bang.html#setValue(float)">setValue</a></strong>(float&nbsp;theValue)</code>
<div class="block">Sets the value of the bang controller.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><strong><a href="../controlP5/Bang.html#toString()">toString</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../controlP5/Bang.html" title="class in controlP5">Bang</a></code></td>
<td class="colLast"><code><strong><a href="../controlP5/Bang.html#update()">update</a></strong>()</code>
<div class="block">updates the value of the controller without having to set the value explicitly.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../controlP5/Bang.html" title="class in controlP5">Bang</a></code></td>
<td class="colLast"><code><strong><a href="../controlP5/Bang.html#updateDisplayMode(int)">updateDisplayMode</a></strong>(int&nbsp;theMode)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../controlP5/Bang.html" title="class in controlP5">Bang</a></code></td>
<td class="colLast"><code><strong><a href="../controlP5/Bang.html#updateViewMode(int)">updateViewMode</a></strong>(int&nbsp;theMode)</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_controlP5.Controller">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;controlP5.<a href="../controlP5/Controller.html" title="class in controlP5">Controller</a></h3>
<code><a href="../controlP5/Controller.html#add(controlP5.ControllerInterface)">add</a>, <a href="../controlP5/Controller.html#addCallback(controlP5.CallbackListener)">addCallback</a>, <a href="../controlP5/Controller.html#addListener(controlP5.ControlListener)">addListener</a>, <a href="../controlP5/Controller.html#align(int, int, int, int)">align</a>, <a href="../controlP5/Controller.html#bringToFront()">bringToFront</a>, <a href="../controlP5/Controller.html#bringToFront(controlP5.ControllerInterface)">bringToFront</a>, <a href="../controlP5/Controller.html#changeValue(float)">changeValue</a>, <a href="../controlP5/Controller.html#continuousUpdateEvents()">continuousUpdateEvents</a>, <a href="../controlP5/Controller.html#draw(processing.core.PGraphics)">draw</a>, <a href="../controlP5/Controller.html#getAbsolutePosition()">getAbsolutePosition</a>, <a href="../controlP5/Controller.html#getAddress()">getAddress</a>, <a href="../controlP5/Controller.html#getArrayValue()">getArrayValue</a>, <a href="../controlP5/Controller.html#getArrayValue(int)">getArrayValue</a>, <a href="../controlP5/Controller.html#getBehavior()">getBehavior</a>, <a href="../controlP5/Controller.html#getCaptionLabel()">getCaptionLabel</a>, <a href="../controlP5/Controller.html#getColor()">getColor</a>, <a href="../controlP5/Controller.html#getControllerPlugList()">getControllerPlugList</a>, <a href="../controlP5/Controller.html#getControlWindow()">getControlWindow</a>, <a href="../controlP5/Controller.html#getDecimalPrecision()">getDecimalPrecision</a>, <a href="../controlP5/Controller.html#getDefaultValue()">getDefaultValue</a>, <a href="../controlP5/Controller.html#getHeight()">getHeight</a>, <a href="../controlP5/Controller.html#getId()">getId</a>, <a href="../controlP5/Controller.html#getLabel()">getLabel</a>, <a href="../controlP5/Controller.html#getMax()">getMax</a>, <a href="../controlP5/Controller.html#getMin()">getMin</a>, <a href="../controlP5/Controller.html#getName()">getName</a>, <a href="../controlP5/Controller.html#getParent()">getParent</a>, <a href="../controlP5/Controller.html#getPickingColor()">getPickingColor</a>, <a href="../controlP5/Controller.html#getPointer()">getPointer</a>, <a href="../controlP5/Controller.html#getPosition()">getPosition</a>, <a href="../controlP5/Controller.html#getProperty(java.lang.String)">getProperty</a>, <a href="../controlP5/Controller.html#getProperty(java.lang.String, java.lang.String)">getProperty</a>, <a href="../controlP5/Controller.html#getStringValue()">getStringValue</a>, <a href="../controlP5/Controller.html#getTab()">getTab</a>, <a href="../controlP5/Controller.html#getValue()">getValue</a>, <a href="../controlP5/Controller.html#getValueLabel()">getValueLabel</a>, <a href="../controlP5/Controller.html#getView()">getView</a>, <a href="../controlP5/Controller.html#getWidth()">getWidth</a>, <a href="../controlP5/Controller.html#getWindow()">getWindow</a>, <a href="../controlP5/Controller.html#hide()">hide</a>, <a href="../controlP5/Controller.html#init()">init</a>, <a href="../controlP5/Controller.html#isActive()">isActive</a>, <a href="../controlP5/Controller.html#isBroadcast()">isBroadcast</a>, <a href="../controlP5/Controller.html#isInside()">isInside</a>, <a href="../controlP5/Controller.html#isLabelVisible()">isLabelVisible</a>, <a href="../controlP5/Controller.html#isListening()">isListening</a>, <a href="../controlP5/Controller.html#isLock()">isLock</a>, <a href="../controlP5/Controller.html#isMouseOver()">isMouseOver</a>, <a href="../controlP5/Controller.html#isMousePressed()">isMousePressed</a>, <a href="../controlP5/Controller.html#isMoveable()">isMoveable</a>, <a href="../controlP5/Controller.html#isUpdate()">isUpdate</a>, <a href="../controlP5/Controller.html#isUserInteraction()">isUserInteraction</a>, <a href="../controlP5/Controller.html#isVisible()">isVisible</a>, <a href="../controlP5/Controller.html#keyEvent(processing.event.KeyEvent)">keyEvent</a>, <a href="../controlP5/Controller.html#linebreak()">linebreak</a>, <a href="../controlP5/Controller.html#listen(boolean)">listen<
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>equals, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_controlP5.ControllerInterface">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;controlP5.<a href="../controlP5/ControllerInterface.html" title="interface in controlP5">ControllerInterface</a></h3>
<code><a href="../controlP5/ControllerInterface.html#parent()">parent</a>, <a href="../controlP5/ControllerInterface.html#setColorLabel(int)">setColorLabel</a>, <a href="../controlP5/ControllerInterface.html#setColorValue(int)">setColorValue</a>, <a href="../controlP5/ControllerInterface.html#setLabel(java.lang.String)">setLabel</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="Bang(controlP5.ControlP5, java.lang.String)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Bang</h4>
<pre>public&nbsp;Bang(<a href="../controlP5/ControlP5.html" title="class in controlP5">ControlP5</a>&nbsp;theControlP5,
java.lang.String&nbsp;theName)</pre>
<div class="block">Convenience constructor to extend Bang.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>theControlP5</code> - </dd><dd><code>theName</code> - </dd><script type="text/javascript">
<!--
document.getElementsByTagName('html')[0].className = 'isjs';function toggle(dt) { var display, dd=dt; do{ dd = dd.nextSibling } while(dd.tagName!='DD'); toOpen =!dd.style.display;dd.style.display = toOpen? 'block':''; dt.getElementsByTagName('span')[0].innerHTML = toOpen? '-':'+' ; }
-->
</script>
<div id="test" class="toggleList"><dl><dt onclick="toggle(this);"><span>+</span>Example</dt><dd><code><pre>/**
* 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<MyButton>, <MyButton>
// is an indicator for the super class about the type of
// custom controller to be created.
class MyButton extends Controller<MyButton> {
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;
}
}
</pre></code></dd></dl></div></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getInfo()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInfo</h4>
<pre>public&nbsp;java.lang.String&nbsp;getInfo()</pre>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../controlP5/Controller.html#getInfo()">getInfo</a></code>&nbsp;in class&nbsp;<code><a href="../controlP5/Controller.html" title="class in controlP5">Controller</a>&lt;<a href="../controlP5/Bang.html" title="class in controlP5">Bang</a>&gt;</code></dd>
<dt><span class="strong">Returns:</span></dt><dd>String</dd></dl>
</li>
</ul>
<a name="getTriggerEvent()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTriggerEvent</h4>
<pre>public&nbsp;int&nbsp;getTriggerEvent()</pre>
</li>
</ul>
<a name="setTriggerEvent(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setTriggerEvent</h4>
<pre>public&nbsp;<a href="../controlP5/Bang.html" title="class in controlP5">Bang</a>&nbsp;setTriggerEvent(int&nbsp;theEventID)</pre>
<div class="block">By default a bang is triggered when the mouse is pressed. use setTriggerEvent(Bang.PRESSED)
or setTriggerEvent(Bang.RELEASE) to define the action for triggering a bang. currently only
Bang.PRESSED and Bang.RELEASE are supported.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>theEventID</code> - </dd>
<dt><span class="strong">Returns:</span></dt><dd>Bang</dd></dl>
</li>
</ul>
<a name="setValue(float)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setValue</h4>
<pre>public&nbsp;<a href="../controlP5/Bang.html" title="class in controlP5">Bang</a>&nbsp;setValue(float&nbsp;theValue)</pre>
<div class="block">Sets the value of the bang controller. since bang can be true or false, false=0 and true=1</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../controlP5/ControllerInterface.html#setValue(float)">setValue</a></code>&nbsp;in interface&nbsp;<code><a href="../controlP5/ControllerInterface.html" title="interface in controlP5">ControllerInterface</a>&lt;<a href="../controlP5/Bang.html" title="class in controlP5">Bang</a>&gt;</code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../controlP5/Controller.html#setValue(float)">setValue</a></code>&nbsp;in class&nbsp;<code><a href="../controlP5/Controller.html" title="class in controlP5">Controller</a>&lt;<a href="../controlP5/Bang.html" title="class in controlP5">Bang</a>&gt;</code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>theValue</code> - float</dd>
<dt><span class="strong">Returns:</span></dt><dd>Bang</dd></dl>
</li>
</ul>
<a name="toString()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../controlP5/Controller.html#toString()">toString</a></code>&nbsp;in class&nbsp;<code><a href="../controlP5/Controller.html" title="class in controlP5">Controller</a>&lt;<a href="../controlP5/Bang.html" title="class in controlP5">Bang</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="update()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>update</h4>
<pre>public&nbsp;<a href="../controlP5/Bang.html" title="class in controlP5">Bang</a>&nbsp;update()</pre>
<div class="block"><strong>Description copied from class:&nbsp;<code><a href="../controlP5/Controller.html#update()">Controller</a></code></strong></div>
<div class="block">updates the value of the controller without having to set the value explicitly. update does
not visually update the controller. the updating status can be set with setUpdate(true/false)
and checked with isUpdate().</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../controlP5/ControllerInterface.html#update()">update</a></code>&nbsp;in interface&nbsp;<code><a href="../controlP5/ControllerInterface.html" title="interface in controlP5">ControllerInterface</a>&lt;<a href="../controlP5/Bang.html" title="class in controlP5">Bang</a>&gt;</code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../controlP5/Controller.html#update()">update</a></code>&nbsp;in class&nbsp;<code><a href="../controlP5/Controller.html" title="class in controlP5">Controller</a>&lt;<a href="../controlP5/Bang.html" title="class in controlP5">Bang</a>&gt;</code></dd>
<dt><span class="strong">Returns:</span></dt><dd>Controller</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../controlP5/Controller.html#setUpdate(boolean)"><code>Controller.setUpdate(boolean)</code></a>,
<a href="../controlP5/Controller.html#isUpdate()"><code>Controller.isUpdate()</code></a></dd></dl>
</li>
</ul>
<a name="updateDisplayMode(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>updateDisplayMode</h4>
<pre>public&nbsp;<a href="../controlP5/Bang.html" title="class in controlP5">Bang</a>&nbsp;updateDisplayMode(int&nbsp;theMode)</pre>
</li>
</ul>
<a name="updateViewMode(int)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>updateViewMode</h4>
<pre>public&nbsp;<a href="../controlP5/Bang.html" title="class in controlP5">Bang</a>&nbsp;updateViewMode(int&nbsp;theMode)</pre>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../controlP5/package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../index-all.html">Index</a></li>
<li><a href="../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../controlP5/Accordion.html" title="class in controlP5"><span class="strong">Prev Class</span></a></li>
<li><a href="../controlP5/BitFont.html" title="class in controlP5"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../index.html?controlP5/Bang.html" target="_top">Frames</a></li>
<li><a href="Bang.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields_inherited_from_class_controlP5.Controller">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>processing library controlP5 by Andreas Schlegel. (c) 2006-2014</small></p>
</body>
</html>