# Package controlP5

ControlP5

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  CallbackListener | Use a CallbackListener to listen for controller related actions such as pressed, released, etc.
  CDrawable | The CDrawable interface is used to draw controllers, primarily for internal use.
  ControlKey |
  ControllerInterface<T> | The ControllerInterface is inherited by all ControllerGroup and Controller classes.
  ControllerView<T> | The interface ControllerView can be used to define custom displays for controllers.
  ControlListener | ControlListener is an interface that can be implemented by a custom class to be notified when controller values change.
  ControlP5Constants | Constant variables used with ControlP5 are stored here.
  Pointer |

- Class Summary
  Class | Description
  --- | ---
  Accordion | An Accordion here is a list of ControlGroups which can be expanded and collapsed.
  Background |
  Bang | The Bang controller triggers an event when pressed.
  BitFont |
  Button | A button triggers an event after it has been release.
  ButtonBar |
  CallbackEvent | A CallbackEvent is send when a controller action such as enter, leave, press, etc has occurs.
  Canvas | Use a Canvas to draw custom graphics into a control window or the default sketch window.
  CColor | A CColor instance contains the colors of a controller including the foreground-, background-, active-, captionlabel- and valuelabel-colors.
  Chart | Use charts to display float array data as line chart, yet experimental, but see the ControlP5chart example for more details.
  ChartData | Used by Chart, single chart data is stored here including value, (label) text, and color.
  ChartDataSet | Used by Chart, a chart data set is a container to store chart data.
  CheckBox | A multiple-choice radioButton.
  ColorPicker | A simple color picker using sliders to adjust RGBA values.
  ColorWheel |
  ControlBehavior | The abstract class control behavior allows you to add custom behavior to controllers.
  ControlBroadcaster | The ControlBroadcaster handles all controller value changes and distributes them accordingly to its listeners.
  ControlEvent | A controlEvent is sent to a PApplet or a ControlListener whenever a controller value has changed.
  ControlFont | A ControlFont is a container for a PFont that can be used to customize the font of a label.
  ControlGroup<T> | In previous versions you would use the ControlGroup class to bundle controllers in a group.
  Controller<T> | Controller is an abstract class that is extended by any available controller within controlP5.
  ControllerGroup<T> | ControllerGroup is an abstract class and is extended by class ControlGroup, Tab, or the ListBox.
  ControllerList | Stores objects of type ControllerInterface and CDrawable, mainly for internal use.
  ControllerPlug | The ControllerPlug is used to do all the reflection procedures to link a controller to a variable or function inside your main application.
  ControllerProperties | Values of controllers can be stored inside properties files which can be saved to file or memory.
  ControllerProperty | A controller property saves the value, address, getter and setter of a registered controller.
  ControllerStyle | Labels use the ControllerStyle class to store margin and padding information.
  ControlP5 | controlP5 is a processing and java library for creating simple control GUIs.
  ControlP5Base | The ControlP5Base supports the ControlP5 class and implements all adder methods to add controllers to controlP5.
  ControlP5Legacy |
  ControlTimer | control timer is a timer that can be used for example as a stop watch or a duration timer.
  ControlWindow |
  CP |
  DropdownList | controlP5 is a processing gui library.
  DropdownList.DropdownListView |
  FrameRate |
  Group |
  Icon |
  Knob | A knob is a circular slider which can be used with a limited and unlimited range.
  Label | A custom label using controlP5's BitFonts or PFont based ControlFonts.
  ListBox | A ListBox is a list of vertically aligned items which can be scrolled if required.
  ListBox.ListBoxView |
  Matrix | A matrix is a 2d array with a pointer that traverses through the matrix in a timed interval.
  MultiList | A Multilist is a multi-menu-tree controller.
  MultiListButton | Used by MultiList.
  Numberbox | Click and drag the mouse inside a numberbox and move up and down to change the value of a numberbox.
  Println |
  Radio |
  RadioButton | A radioButton is a list of toggles that can be turned on or off.
  Range | A range slider works just like a slider but can be adjusted on both ends.
  ScrollableList | A ScrollableList is a list of vertically aligned items which can be scrolled if required.
  ScrollableList.ScrollableListView |
  Slider | A slider is either used horizontally or vertically.
  Slider2D | The Slider2D allows to control a handle within a 2D area.
  Spacer |
  Tab | Tabs are used to organize controllers.
  Textarea | a textarea can be used to leave notes, it uses the controlP5 BitFont to render text.
  Textfield | A singleline input textfield, use arrow keys to go back and forth, use backspace to delete characters.
  Textlabel |
  TickMark | Tickmarks are used by the Slider and Knob controller.
  Toggle | a toggle can have two states, true and false, where true has the value 1 and false is 0.
  Tooltip | A tooltip can be registered for individual controllers and is activated on rollover.

- Enum Summary
  Enum | Description
  --- | ---
  Textfield.InputFilter |

- Annotation Types Summary
  Annotation Type | Description
  --- | ---
  ControlElement | Used for automated controller creation using annotations.

## Package controlP5 Description

# ControlP5

ControlP5 (www.sojamo.de/libraries/controlP5) is a library written by Andreas Schlegel for the programming environment processing. ControlP5 is a GUI and controller library for processing that can be used in authoring, application mode. Controllers including Sliders, Buttons, Toggles, Knobs, Textfields, RadioButtons, Checkboxes amongst others can be easily added to a processing sketch and can be arranged in separate control windows, or can be organized in tabs or groups. The controlP5 source code repository is available on github at github.com/sojamo/controlp5.

# Javascript

Currently there is no javascript version of ControlP5, though I had started implementing a slimmed down version for processing.js but since it is currently unclear which javascript version, processing.js or p5.js, will become the default js version of processing, controlP5.js is on hold.

processing library controlP5 by Andreas Schlegel. (c) 2006-2015