# Range (Javadocs: controlP5)
Date: 2014-04-27

controlP5

## Class Range

- java.lang.Object
- - controlP5.Controller<Range>
  - - controlP5.Range

All Implemented Interfaces:
  CDrawable, ControllerInterface<Range>, ControlP5Constants

    public class Range
    extends Controller<Range>

A range slider works just like a slider but can be adjusted on both ends.

See Also:
  `Slider`

+Example
  `

      /**
      * ControlP5 Range
      *
      * find a list of public methods available for the Range 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);

      int colorMin = 100;

      int colorMax = 100;

      Range range;

      void setup() {
        size(700,400);
        cp5 = new ControlP5(this);
        range = cp5.addRange("rangeController")
                   // disable broadcasting since setRange and setRangeValues will trigger an event
                   .setBroadcast(false)
                   .setPosition(50,50)
                   .setSize(400,40)
                   .setHandleSize(20)
                   .setRange(0,255)
                   .setRangeValues(50,100)
                   // after the initialization we turn broadcast back on again
                   .setBroadcast(true)
                   .setColorForeground(color(255,40))
                   .setColorBackground(color(255,40))
                   ;

        noStroke();
      }

      void draw() {
        background(colorMax);
        fill(colorMin);
        rect(0,0,width,height/2);
      }

      void controlEvent(ControlEvent theControlEvent) {
        if(theControlEvent.isFrom("rangeController")) {
          // min and max values are stored in an array.
          // access this array with controller().arrayValue().
          // min is at index 0, max is at index 1.
          colorMin = int(theControlEvent.getController().getArrayValue(0));
          colorMax = int(theControlEvent.getController().getArrayValue(1));
          println("range update, done.");
        }

      }

      void keyPressed() {
        switch(key) {
          case('1'):range.setLowValue(0);break;
          case('2'):range.setLowValue(100);break;
          case('3'):range.setHighValue(120);break;
          case('4'):range.setHighValue(200);break;
          case('5'):range.setRangeValues(40,60);break;
        }
      }

      /*
      a list of all methods available for the Range Controller
      use ControlP5.printPublicMethodsFor(Range.class);
      to print the following list into the console.

      You can find further details about class Range in the javadoc.

      Format:
      ClassName : returnType methodName(parameter type)

      controlP5.Range : Range setArrayValue(float[])
      controlP5.Range : Range setColorCaptionLabel(int)
      controlP5.Range : Range setColorTickMark(int)
      controlP5.Range : Range setColorValueLabel(int)
      controlP5.Range : Range setHandleSize(int)
      controlP5.Range : Range setHeight(int)
      controlP5.Range : Range setHighValue(float)
      controlP5.Range : Range setHighValueLabel(String)
      controlP5.Range : Range setLowValue(float)
      controlP5.Range : Range setLowValueLabel(String)
      controlP5.Range : Range setMax(float)
      controlP5.Range : Range setMin(float)
      controlP5.Range : Range setNumberOfTickMarks(int)
      controlP5.Range : Range setRange(float, float)
      controlP5.Range : Range setRangeValues(float, float)
      controlP5.Range : Range setWidth(int)
      controlP5.Range : Range showTickMarks(boolean)
      controlP5.Range : Range snapToTickMarks(boolean)
      controlP5.Range : ArrayList getTickMarks()
      controlP5.Range : float getHighValue()
      controlP5.Range : float getLowValue()
      controlP5.Range : float[] getArrayValue()
      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 : Range addCallback(CallbackListener)
      controlP5.Controller : Range addListener(ControlListener)
      controlP5.Controller : Range bringToFront()
      controlP5.Controller : Range bringToFront(ControllerInterface)
      controlP5.Controller : Range hide()
      controlP5.Controller : Range linebreak()
      controlP5.Controller : Range listen(boolean)
      controlP5.Controller : Range lock()
      controlP5.Controller : Range plugTo(Object)
      controlP5.Controller : Range plugTo(Object, String)
      controlP5.Controller : Range plugTo(Object[])
      controlP5.Controller : Range plugTo(Object[], String)
      controlP5.Controller : Range registerProperty(String)
      controlP5.Controller : Range registerProperty(String, String)
      controlP5.Controller : Range registerTooltip(String)
      controlP5.Controller : Range removeBehavior()
      controlP5.Controller : Range removeCallback()
      controlP5.Controller : Range removeCallback(CallbackListener)
      controlP5.Controller : Range removeListener(ControlListener)
      controlP5.Controller : Range removeProperty(String)
      controlP5.Controller : Range removeProperty(String, String)
      controlP5.Controller : Range setArrayValue(float[])
      controlP5.Controller : Range setArrayValue(int, float)
      controlP5.Controller : Range setBehavior(ControlBehavior)
      controlP5.Controller : Range setBroadcast(boolean)
      controlP5.Controller : Range setCaptionLabel(String)
      controlP5.Controller : Range setColor(CColor)
      controlP5.Controller : Range setColorActive(int)
      controlP5.Controller : Range setColorBackground(int)
      controlP5.Controller : Range setColorCaptionLabel(int)
      controlP5.Controller : Range setColorForeground(int)
      controlP5.Controller : Range setColorValueLabel(int)
      controlP5.Controller : Range setDecimalPrecision(int)
      controlP5.Controller : Range setDefaultValue(float)
      controlP5.Controller : Range setHeight(int)
      controlP5.Controller : Range setId(int)
      controlP5.Controller : Range setImages(PImage, PImage, PImage)
      controlP5.Controller : Range setImages(PImage, PImage, PImage, PImage)
      controlP5.Controller : Range setLabelVisible(boolean)
      controlP5.Controller : Range setLock(boolean)
      controlP5.Controller : Range setMax(float)
      controlP5.Controller : Range setMin(float)
      controlP5.Controller : Range setMouseOver(boolean)
      controlP5.Controller : Range setMoveable(boolean)
      controlP5.Controller : Range setPosition(PVector)
      controlP5.Controller : Range setPosition(float, float)
      controlP5.Controller : Range setSize(PImage)
      controlP5.Controller : Range setSize(int, int)
      controlP5.Controller : Range setStringValue(String)
      controlP5.Controller : Range setUpdate(boolean)
      controlP5.Controller : Range setValueLabel(String)
      controlP5.Controller : Range setView(ControllerView)
      controlP5.Controller : Range setVisible(boolean)
      controlP5.Controller : Range setWidth(int)
      controlP5.Controller : Range show()
      controlP5.Controller : Range unlock()
      controlP5.Controller : Range unplugFrom(Object)
      controlP5.Controller : Range unplugFrom(Object[])
      controlP5.Controller : Range unregisterTooltip()
      controlP5.Controller : Range update()
      controlP5.Controller : Range 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

Fields
`int` `alignValueLabel`
`static int` `autoHeight`
`static processing.core.PVector` `autoSpacing`
`static int` `autoWidth`

### Fields inherited from interface controlP5.ControlP5Constants

`acceptClassList, ACTION_BROADCAST, ACTION_CLICK, ACTION_DRAG, ACTION_ENTER, ACTION_EXIT, ACTION_LEAVE, ACTION_MOVE, ACTION_PRESS, ACTION_PRESSED, ACTION_RELEASE, ACTION_RELEASED, ACTION_RELEASEDOUTSIDE, ACTION_WHEEL, ACTIVE, ALL, ALT, AQUA, ARC, ARRAY, BACKSPACE, BASELINE, BITFONT, BLACK, BLUE, BOOLEAN, BOTTOM, BOTTOM_OUTSIDE, CAPTIONLABEL, CENTER, CHECKBOX, COMMANDKEY, CONTROL, controlEventClass, CUSTOM, DECREASE, DEFAULT, DELETE, DONE, DOWN, DROPDOWN, ELLIPSE, ENTER, ESCAPE, EVENT, eventMethod, FADEIN, FADEOUT, FIELD, FLOAT, FUCHSIA, GRAY, GREEN, grixel, HALF_PI, HIDE, HIGHLIGHT, IDLE, IMAGE, INACTIVE, INCREASE, INTEGER, INVALID, J2D, KEYCONTROL, LEFT, LEFT_OUTSIDE, LIME, LINE, LIST, LOAD, MAROON, MENU, METHOD, MOVE, MULTI, MULTIPLES, NAVY, OLIVE, ORANGE, OVER, P2D, P3D, PI, PRESSED, PRINT, PURPLE, RED, RELEASE, RESET, RIGHT, RIGHT_OUTSIDE, SAVE, SHIFT, SILVER, SINGLE, SINGLE_COLUMN, SINGLE_ROW, SPRITE, standard56, standard58, STRING, SWITCH, SWITCH_BACK, SWITCH_FORE, synt24, TAB, TEAL, THEME_A, THEME_CP52014, THEME_CP5BLUE, THEME_RED, THEME_RETRO, THEME_WHITE, TOP, TOP_OUTSIDE, TRANSITION_WAIT_FADEIN, TREE, TWO_PI, UP, VALUELABEL, VERBOSE, WAIT, WHITE, YELLOW`

### Constructor Summary

Constructors
Constructor and Description
`Range(ControlP5 theControlP5, ControllerGroup<?> theParent, java.lang.String theName, float theMin, float theMax, float theDefaultMinValue, float theDefaultMaxValue, int theX, int theY, int theWidth, int theHeight)`
`Range(ControlP5 theControlP5, java.lang.String theName)` Convenience constructor to extend Range.

### Method Summary

Methods
`float[]` `arrayValue()` Deprecated.
`float[]` `getArrayValue()` returns the current float array value of a controller.
`float` `getHighValue()`
`float` `getLowValue()`
`TickMark` `getTickMark()`
`java.util.ArrayList<TickMark>` `getTickMarks()`
`float` `highValue()` Deprecated.
`float` `lowValue()` Deprecated.
`void` `mousePressed()`
`void` `mouseReleased()`
`void` `mouseReleasedOutside()`
`void` `onLeave()`
`Range` `setArrayValue(float[] theArray)`
`Range` `setColorCaptionLabel(int theColor)`
`Range` `setColorTickMark(int theColor)`
`Range` `setColorValueLabel(int theColor)`
`Range` `setDraggable(boolean theFlag)`
`Range` `setHandleSize(int theSize)`
`Range` `setHeight(int theValue)`
`Range` `setHighValue(float theValue)`
`Range` `setHighValueLabel(java.lang.String theLabel)`
`Range` `setLowValue(float theValue)`
`Range` `setLowValueLabel(java.lang.String theLabel)`
`Range` `setMax(float theValue)` sets the maximum value of the Controller.
`Range` `setMin(float theValue)` sets the minimum value of the Controller.
`Range` `setNumberOfTickMarks(int theNumber)`
`Range` `setRange(float theMinValue, float theMaxValue)`
`Range` `setRangeValues(float theLowValue, float theHighValue)`
`Range` `setSliderMode(int theMode)`
`Range` `setValue(float theValue)` set the value of the range-slider.
`Range` `setWidth(int theValue)`
`Range` `showTickMarks(boolean theFlag)`
`Range` `snapToTickMarks(boolean theFlag)`
`java.lang.String` `toString()`
`Range` `update()` updates the value of the controller without having to set the value explicitly.
`Range` `updateDisplayMode(int theMode)`
`Range` `updateInternalEvents(processing.core.PApplet theApplet)` a method for putting input events like e.g.

### Methods inherited from class controlP5.Controller

`add, addCallback, addListener, align, bringToFront, bringToFront, changeValue, continuousUpdateEvents, draw, getAbsolutePosition, getAddress, getArrayValue, getBehavior, getCaptionLabel, getColor, getControllerPlugList, getControlWindow, getDecimalPrecision, getDefaultValue, getHeight, getId, getInfo, getLabel, getMax, getMin, getName, getParent, getPickingColor, getPointer, getPosition, getProperty, getProperty, getStringValue, getTab, getValue, getValueLabel, getView, getWidth, getWindow, hide, init, isActive, isBroadcast, isInside, isLabelVisible, isListening, isLock, isMouseOver, isMousePressed, isMoveable, isUpdate, isUserInteraction, isVisible, keyEvent, linebreak, listen, listenerSize, lock, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, plugTo, plugTo, plugTo, plugTo, registerProperty, registerProperty, registerTooltip, remove, remove, removeBehavior, removeCallback, removeCallback, removeListener, removeProperty, removeProperty, setAbsolutePosition, setAddress, setArrayValue, setBehavior, setBroadcast, setCaptionLabel, setColor, setColorActive, setColorBackground, setColorForeground, setDecimalPrecision, setDefaultValue, setGroup, setGroup, setId, setImage, setImage, setImages, setImages, setImages, setLabelVisible, setLock, setMouseOver, setMousePressed, setMoveable, setParent, setPosition, setPosition, setSize, setSize, setStringValue, setTab, setTab, setUpdate, setUserInteraction, setValueLabel, setValueSelf, setView, setView, setVisible, show, unlock, unplugFrom, unplugFrom, unregisterTooltip, updateAbsolutePosition, updateEvents, updateSize`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface controlP5.ControllerInterface

`parent, setColorLabel, setColorValue, setLabel`

### Field Detail

#### alignValueLabel

    public int alignValueLabel

#### autoHeight

    public static int autoHeight

#### autoSpacing

    public static processing.core.PVector autoSpacing

#### autoWidth

    public static int autoWidth

### Constructor Detail

#### Range

    public Range(ControlP5 theControlP5,
         ControllerGroup<?> theParent,
         java.lang.String theName,
         float theMin,
         float theMax,
         float theDefaultMinValue,
         float theDefaultMaxValue,
         int theX,
         int theY,
         int theWidth,
         int theHeight)

Parameters:
  `theControlP5` - ControlP5
  `theParent` - ControllerGroup
  `theName` - String
  `theMin` - float
  `theMax` - float
  `theDefaultValue` - float
  `theX` - int
  `theY` - int
  `theWidth` - int
  `theHeight` - int

#### Range

    public Range(ControlP5 theControlP5,
         java.lang.String theName)

Convenience constructor to extend Range.

Parameters:
  `theControlP5` -
  `theName` -

+Example
  `

      /**
       * 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;
        }
      }

  `

### Method Detail

#### arrayValue

    @Deprecated
    public float[] arrayValue()

Deprecated.

Overrides:
  `arrayValue` in class `Controller<Range>`

#### getArrayValue

    public float[] getArrayValue()

Description copied from class: `Controller`
returns the current float array value of a controller.

Specified by:
  `getArrayValue` in interface `ControllerInterface<Range>`
Overrides:
  `getArrayValue` in class `Controller<Range>`
Returns:
  float[]
See Also:
  `Controller.getValue()`, `Controller.getStringValue()`

#### getHighValue

    public float getHighValue()

#### getLowValue

    public float getLowValue()

#### getTickMark

    public TickMark getTickMark()

#### getTickMarks

    public java.util.ArrayList<TickMark> getTickMarks()

#### highValue

    @Deprecated
    public float highValue()

Deprecated.

#### lowValue

    @Deprecated
    public float lowValue()

Deprecated.

#### mousePressed

    public void mousePressed()

#### mouseReleased

    public void mouseReleased()

#### mouseReleasedOutside

    public void mouseReleasedOutside()

#### onLeave

    public void onLeave()

#### setArrayValue

    public Range setArrayValue(float[] theArray)

Specified by:
  `setArrayValue` in interface `ControllerInterface<Range>`
Overrides:
  `setArrayValue` in class `Controller<Range>`
Returns:
  Controller

#### setColorCaptionLabel

    public Range setColorCaptionLabel(int theColor)

Description copied from class: `Controller`

Overrides:
  `setColorCaptionLabel` in class `Controller<Range>`
Returns:
  Controller

#### setColorTickMark

    public Range setColorTickMark(int theColor)

#### setColorValueLabel

    public Range setColorValueLabel(int theColor)

Overrides:
  `setColorValueLabel` in class `Controller<Range>`
Returns:
  Controller

#### setDraggable

    public Range setDraggable(boolean theFlag)

#### setHandleSize

    public Range setHandleSize(int theSize)

#### setHeight

    public Range setHeight(int theValue)

Overrides:
  `setHeight` in class `Controller<Range>`
Returns:
  Controller

#### setHighValue

    public Range setHighValue(float theValue)

#### setHighValueLabel

    public Range setHighValueLabel(java.lang.String theLabel)

#### setLowValue

    public Range setLowValue(float theValue)

#### setLowValueLabel

    public Range setLowValueLabel(java.lang.String theLabel)

#### setMax

    public Range setMax(float theValue)

Description copied from class: `Controller`
sets the maximum value of the Controller.

Overrides:
  `setMax` in class `Controller<Range>`
Parameters:
  `theValue` - float
Returns:
  Controller

#### setMin

    public Range setMin(float theValue)

Description copied from class: `Controller`
sets the minimum value of the Controller.

Overrides:
  `setMin` in class `Controller<Range>`
Parameters:
  `theValue` - float
Returns:
  Controller

#### setNumberOfTickMarks

    public Range setNumberOfTickMarks(int theNumber)

#### setRange

    public Range setRange(float theMinValue,
                 float theMaxValue)

#### setRangeValues

    public Range setRangeValues(float theLowValue,
                       float theHighValue)

#### setSliderMode

    public Range setSliderMode(int theMode)

#### setValue

    public Range setValue(float theValue)

set the value of the range-slider. to set the low and high value, use setLowValue and setHighValue or setRangeValues

Specified by:
  `setValue` in interface `ControllerInterface<Range>`
Overrides:
  `setValue` in class `Controller<Range>`
Parameters:
  `theValue` - float
Returns:
  Range
See Also:
  `setLowValue(float)`, `setHighValue(float)`, `setRangeValues(float, float)`

#### setWidth

    public Range setWidth(int theValue)

Overrides:
  `setWidth` in class `Controller<Range>`
Returns:
  Controller

#### showTickMarks

    public Range showTickMarks(boolean theFlag)

#### snapToTickMarks

    public Range snapToTickMarks(boolean theFlag)

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `Controller<Range>`

#### update

    public Range update()

Description copied from class: `Controller`
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().

Specified by:
  `update` in interface `ControllerInterface<Range>`
Overrides:
  `update` in class `Controller<Range>`
Returns:
  Controller
See Also:
  `Controller.setUpdate(boolean)`, `Controller.isUpdate()`

#### updateDisplayMode

    public Range updateDisplayMode(int theMode)

#### updateInternalEvents

    public Range updateInternalEvents(processing.core.PApplet theApplet)

Description copied from interface: `ControllerInterface`
a method for putting input events like e.g. mouse or keyboard events and queries. this has been taken out of the draw method for better overwriting capability.

Specified by:
  `updateInternalEvents` in interface `ControllerInterface<Range>`
Overrides:
  `updateInternalEvents` in class `Controller<Range>`
See Also:
  `ControllerInterface.updateInternalEvents`