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

controlP5

## Class Slider

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

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

    public class Slider
    extends Controller<Slider>

A slider is either used horizontally or vertically. when adding a slider to controlP5, the width is compared against the height. if the width is bigger, you get a horizontal slider, is the height bigger, you get a vertical slider. a slider can have a fixed slider handle (one end of the slider is fixed to the left or bottom side of the controller), or a flexible slider handle (a handle you can drag).

+Example
  `

      /**
       * ControlP5 Slider. Horizontal and vertical sliders,
       * with and without tick marks and snap-to-tick behavior.
       * by andreas schlegel, 2010
       */

      /**
      * ControlP5 Slider
      *
      * Horizontal and vertical sliders,
      * With and without tick marks and snap-to-tick behavior.
      *
      * find a list of public methods available for the Slider Controller
      * at the bottom of this sketch.
      *
      * by Andreas Schlegel, 2012
      * www.sojamo.de/libraries/controlp5
      *
      */

      import controlP5.*;

      ControlP5 cp5;
      int myColor = color(0,0,0);

      int sliderValue = 100;
      int sliderTicks1 = 100;
      int sliderTicks2 = 30;
      Slider abc;

      void setup() {
        size(700,400);
        noStroke();
        cp5 = new ControlP5(this);

        // add a horizontal sliders, the value of this slider will be linked
        // to variable 'sliderValue'
        cp5.addSlider("sliderValue")
           .setPosition(100,50)
           .setRange(0,255)
           ;

        // create another slider with tick marks, now without
        // default value, the initial value will be set according to
        // the value of variable sliderTicks2 then.
        cp5.addSlider("sliderTicks1")
           .setPosition(100,140)
           .setSize(20,100)
           .setRange(0,255)
           .setNumberOfTickMarks(5)
           ;

        // add a vertical slider
        cp5.addSlider("slider")
           .setPosition(100,305)
           .setSize(200,20)
           .setRange(0,200)
           .setValue(128)
           ;

        // reposition the Label for controller 'slider'
        cp5.getController("slider").getValueLabel().align(ControlP5.LEFT, ControlP5.BOTTOM_OUTSIDE).setPaddingX(0);
        cp5.getController("slider").getCaptionLabel().align(ControlP5.RIGHT, ControlP5.BOTTOM_OUTSIDE).setPaddingX(0);

        cp5.addSlider("sliderTicks2")
           .setPosition(100,370)
           .setWidth(400)
           .setRange(255,0) // values can range from big to small as well
           .setValue(128)
           .setNumberOfTickMarks(7)
           .setSliderMode(Slider.FLEXIBLE)
           ;
        // use Slider.FIX or Slider.FLEXIBLE to change the slider handle
        // by default it is Slider.FIX

      }

      void draw() {
        background(sliderTicks1);

        fill(sliderValue);
        rect(0,0,width,100);

        fill(myColor);
        rect(0,280,width,70);

        fill(sliderTicks2);
        rect(0,350,width,50);
      }

      void slider(float theColor) {
        myColor = color(theColor);
        println("a slider event. setting background to "+theColor);
      }

      /**
      * ControlP5 Slider
      *
      *
      * find a list of public methods available for the Slider Controller
      * at the bottom of this sketch.
      *
      * by Andreas Schlegel, 2012
      * www.sojamo.de/libraries/controlp5
      *
      */

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

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

      Format:
      ClassName : returnType methodName(parameter type)

      controlP5.Slider : ArrayList getTickMarks()
      controlP5.Slider : Slider setColorTickMark(int)
      controlP5.Slider : Slider setHandleSize(int)
      controlP5.Slider : Slider setHeight(int)
      controlP5.Slider : Slider setMax(float)
      controlP5.Slider : Slider setMin(float)
      controlP5.Slider : Slider setNumberOfTickMarks(int)
      controlP5.Slider : Slider setRange(float, float)
      controlP5.Slider : Slider setScrollSensitivity(float)
      controlP5.Slider : Slider setSize(int, int)
      controlP5.Slider : Slider setSliderMode(int)
      controlP5.Slider : Slider setTriggerEvent(int)
      controlP5.Slider : Slider setValue(float)
      controlP5.Slider : Slider setWidth(int)
      controlP5.Slider : Slider showTickMarks(boolean)
      controlP5.Slider : Slider shuffle()
      controlP5.Slider : Slider snapToTickMarks(boolean)
      controlP5.Slider : Slider update()
      controlP5.Slider : TickMark getTickMark(int)
      controlP5.Slider : float getValue()
      controlP5.Slider : float getValuePosition()
      controlP5.Slider : int getDirection()
      controlP5.Slider : int getHandleSize()
      controlP5.Slider : int getNumberOfTickMarks()
      controlP5.Slider : int getSliderMode()
      controlP5.Slider : int getTriggerEvent()
      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 : Slider addCallback(CallbackListener)
      controlP5.Controller : Slider addListener(ControlListener)
      controlP5.Controller : Slider bringToFront()
      controlP5.Controller : Slider bringToFront(ControllerInterface)
      controlP5.Controller : Slider hide()
      controlP5.Controller : Slider linebreak()
      controlP5.Controller : Slider listen(boolean)
      controlP5.Controller : Slider lock()
      controlP5.Controller : Slider plugTo(Object)
      controlP5.Controller : Slider plugTo(Object, String)
      controlP5.Controller : Slider plugTo(Object[])
      controlP5.Controller : Slider plugTo(Object[], String)
      controlP5.Controller : Slider registerProperty(String)
      controlP5.Controller : Slider registerProperty(String, String)
      controlP5.Controller : Slider registerTooltip(String)
      controlP5.Controller : Slider removeBehavior()
      controlP5.Controller : Slider removeCallback()
      controlP5.Controller : Slider removeCallback(CallbackListener)
      controlP5.Controller : Slider removeListener(ControlListener)
      controlP5.Controller : Slider removeProperty(String)
      controlP5.Controller : Slider removeProperty(String, String)
      controlP5.Controller : Slider setArrayValue(float[])
      controlP5.Controller : Slider setArrayValue(int, float)
      controlP5.Controller : Slider setBehavior(ControlBehavior)
      controlP5.Controller : Slider setBroadcast(boolean)
      controlP5.Controller : Slider setCaptionLabel(String)
      controlP5.Controller : Slider setColor(CColor)
      controlP5.Controller : Slider setColorActive(int)
      controlP5.Controller : Slider setColorBackground(int)
      controlP5.Controller : Slider setColorCaptionLabel(int)
      controlP5.Controller : Slider setColorForeground(int)
      controlP5.Controller : Slider setColorValueLabel(int)
      controlP5.Controller : Slider setDecimalPrecision(int)
      controlP5.Controller : Slider setDefaultValue(float)
      controlP5.Controller : Slider setHeight(int)
      controlP5.Controller : Slider setId(int)
      controlP5.Controller : Slider setImages(PImage, PImage, PImage)
      controlP5.Controller : Slider setImages(PImage, PImage, PImage, PImage)
      controlP5.Controller : Slider setLabelVisible(boolean)
      controlP5.Controller : Slider setLock(boolean)
      controlP5.Controller : Slider setMax(float)
      controlP5.Controller : Slider setMin(float)
      controlP5.Controller : Slider setMouseOver(boolean)
      controlP5.Controller : Slider setMoveable(boolean)
      controlP5.Controller : Slider setPosition(PVector)
      controlP5.Controller : Slider setPosition(float, float)
      controlP5.Controller : Slider setSize(PImage)
      controlP5.Controller : Slider setSize(int, int)
      controlP5.Controller : Slider setStringValue(String)
      controlP5.Controller : Slider setUpdate(boolean)
      controlP5.Controller : Slider setValueLabel(String)
      controlP5.Controller : Slider setView(ControllerView)
      controlP5.Controller : Slider setVisible(boolean)
      controlP5.Controller : Slider setWidth(int)
      controlP5.Controller : Slider show()
      controlP5.Controller : Slider unlock()
      controlP5.Controller : Slider unplugFrom(Object)
      controlP5.Controller : Slider unplugFrom(Object[])
      controlP5.Controller : Slider unregisterTooltip()
      controlP5.Controller : Slider update()
      controlP5.Controller : Slider 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
`static int` `FIX`
`static int` `FLEXIBLE`

### Fields inherited from class controlP5.Controller

`autoSpacing`

### 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, HORIZONTAL, 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, VERTICAL, WAIT, WHITE, YELLOW`

### Constructor Summary

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

### Method Summary

Methods
`int` `getDirection()`
`int` `getHandleSize()`
`float` `getMax()` returns the maximum value of the controller.
`float` `getMin()` returns the minimum value of the controller.
`int` `getNumberOfTickMarks()` returns the amount of tickmarks available for a slider
`int` `getSliderMode()`
`TickMark` `getTickMark(int theIndex)` returns an instance of a tickmark by index.
`java.util.ArrayList<TickMark>` `getTickMarks()` returns an ArrayList of available tick marks for a slider.
`int` `getTriggerEvent()` returns the current trigger event which is either Slider.PRESSED or Slider.RELEASE
`float` `getValue()`
`float` `getValuePosition()`
`void` `init()`
`Slider` `linebreak()`
`Slider` `scrolled(int theRotationValue)` changes the value of the slider when hovering and using the mouse wheel or the scroll function of a multi-touch track pad.
`Slider` `setColorTickMark(int theColor)` sets the color of tick marks if enabled.
`Slider` `setHandleSize(int theSize)` sets the size of the Slider handle, by default it is set to either the width or height of the slider.
`Slider` `setHeight(int theValue)` set the height of the slider.
`Slider` `setMax(float theValue)` set the maximum value of the slider.
`Slider` `setMin(float theValue)` sets the minimum value of the slider.
`Slider` `setNumberOfTickMarks(int theNumber)` sets the number of tickmarks for a slider, by default tick marks are turned off.
`Slider` `setRange(float theMin, float theMax)`
`Slider` `setScrollSensitivity(float theValue)` sets the sensitivity for the scroll behavior when using the mouse wheel or the scroll function of a multi-touch track pad.
`Slider` `setSensitivity(float theValue)` Deprecated.
`Slider` `setSize(int theWidth, int theHeight)`
`void` `setSliderBarSize(int theSize)` Deprecated.
`Slider` `setSliderMode(int theMode)` use the slider mode to set the mode of the slider bar, which can be Slider.FLEXIBLE or Slider.FIX
`Slider` `setTriggerEvent(int theEventID)` the trigger event is set to Slider.PRESSED by default but can be changed to Slider.RELEASE so that events are triggered when the slider is released.
`Slider` `setValue(float theValue)` set the value of the slider.
`Slider` `setWidth(int theValue)` set the width of the slider.
`Slider` `showTickMarks(boolean theFlag)` shows or hides tickmarks for a slider
`Slider` `shuffle()` assigns a random value to the slider.
`Slider` `snapToTickMarks(boolean theFlag)` enables or disables snap to tick marks.
`Slider` `update()` updates the value of the controller without having to set the value explicitly.
`Slider` `updateDisplayMode(int theMode)`
`Slider` `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, getArrayValue, getBehavior, getCaptionLabel, getColor, getControllerPlugList, getControlWindow, getDecimalPrecision, getDefaultValue, getHeight, getId, getInfo, getLabel, getName, getParent, getPickingColor, getPointer, getPosition, getProperty, getProperty, getStringValue, getTab, getValueLabel, getView, getWidth, getWindow, hide, isActive, isBroadcast, isInside, isLabelVisible, isListening, isLock, isMouseOver, isMousePressed, isMoveable, isUpdate, isUserInteraction, isVisible, keyEvent, 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, setArrayValue, setBehavior, setBroadcast, setCaptionLabel, setColor, setColorActive, setColorBackground, setColorCaptionLabel, setColorForeground, setColorValueLabel, setDecimalPrecision, setDefaultValue, setGroup, setGroup, setId, setImage, setImage, setImages, setImages, setImages, setLabelVisible, setLock, setMouseOver, setMousePressed, setMoveable, setParent, setPosition, setPosition, setSize, setStringValue, setTab, setTab, setUpdate, setUserInteraction, setValueLabel, setValueSelf, setView, setView, setVisible, show, toString, 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

#### FIX

    public static final int FIX

See Also:
  Constant Field Values

#### FLEXIBLE

    public static final int FLEXIBLE

See Also:
  Constant Field Values

### Constructor Detail

#### Slider

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

#### Slider

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

Convenience constructor to extend Slider.

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

#### getDirection

    public int getDirection()

#### getHandleSize

    public int getHandleSize()

#### getMax

    public float getMax()

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

Overrides:
  `getMax` in class `Controller<Slider>`
Returns:
  float

#### getMin

    public float getMin()

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

Overrides:
  `getMin` in class `Controller<Slider>`
Returns:
  float

#### getNumberOfTickMarks

    public int getNumberOfTickMarks()

returns the amount of tickmarks available for a slider

Returns:
  int

#### getSliderMode

    public int getSliderMode()

#### getTickMark

    public TickMark getTickMark(int theIndex)

returns an instance of a tickmark by index.

Parameters:
  `theIndex` -
Returns:
See Also:
  `TickMark`

#### getTickMarks

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

returns an ArrayList of available tick marks for a slider.

Returns:
  ArrayList<TickMark>

#### getTriggerEvent

    public int getTriggerEvent()

returns the current trigger event which is either Slider.PRESSED or Slider.RELEASE

Returns:
  int

#### getValue

    public float getValue()

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

#### getValuePosition

    public float getValuePosition()

#### init

    public void init()

Specified by:
  `init` in interface `ControllerInterface<Slider>`
Overrides:
  `init` in class `Controller<Slider>`

#### linebreak

    public Slider linebreak()

Overrides:
  `linebreak` in class `Controller<Slider>`
Returns:
  Controller

#### scrolled

    public Slider scrolled(int theRotationValue)

changes the value of the slider when hovering and using the mouse wheel or the scroll function of a multi-touch track pad.

Parameters:
  `theRotationValue` -
Returns:
  Slider

#### setColorTickMark

    public Slider setColorTickMark(int theColor)

sets the color of tick marks if enabled. by default the color is set to white.

Parameters:
  `theColor` -
Returns:
  Slider

#### setHandleSize

    public Slider setHandleSize(int theSize)

sets the size of the Slider handle, by default it is set to either the width or height of the slider.

Parameters:
  `theSize` -

#### setHeight

    public Slider setHeight(int theValue)

set the height of the slider.

Overrides:
  `setHeight` in class `Controller<Slider>`
Parameters:
  `theValue` - int
Returns:
  Controller

#### setMax

    public Slider setMax(float theValue)

set the maximum value of the slider.

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

#### setMin

    public Slider setMin(float theValue)

sets the minimum value of the slider.

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

#### setNumberOfTickMarks

    public Slider setNumberOfTickMarks(int theNumber)

sets the number of tickmarks for a slider, by default tick marks are turned off.

Parameters:
  `theNumber` -

#### setRange

    public Slider setRange(float theMin,
                  float theMax)

#### setScrollSensitivity

    public Slider setScrollSensitivity(float theValue)

sets the sensitivity for the scroll behavior when using the mouse wheel or the scroll function of a multi-touch track pad. The smaller the value (closer to 0) the higher the sensitivity. by default this value is set to 0.1

Parameters:
  `theValue` -
Returns:
  Slider

#### setSensitivity

    @Deprecated
    public Slider setSensitivity(float theValue)

Deprecated.

Parameters:
  `theValue` -
Returns:
  Slider
See Also:
  `setScrollSensitivity(float)`

#### setSize

    public Slider setSize(int theWidth,
                 int theHeight)

Overrides:
  `setSize` in class `Controller<Slider>`
Returns:
  Controller

#### setSliderBarSize

    @Deprecated
    public void setSliderBarSize(int theSize)

Deprecated.

#### setSliderMode

    public Slider setSliderMode(int theMode)

use the slider mode to set the mode of the slider bar, which can be Slider.FLEXIBLE or Slider.FIX

Parameters:
  `theMode` - int

#### setTriggerEvent

    public Slider setTriggerEvent(int theEventID)

the trigger event is set to Slider.PRESSED by default but can be changed to Slider.RELEASE so that events are triggered when the slider is released.

Parameters:
  `theEventID` -

#### setValue

    public Slider setValue(float theValue)

set the value of the slider.

Specified by:
  `setValue` in interface `ControllerInterface<Slider>`
Overrides:
  `setValue` in class `Controller<Slider>`
Parameters:
  `theValue` - float

#### setWidth

    public Slider setWidth(int theValue)

set the width of the slider.

Overrides:
  `setWidth` in class `Controller<Slider>`
Parameters:
  `theValue` - int
Returns:
  Controller

#### showTickMarks

    public Slider showTickMarks(boolean theFlag)

shows or hides tickmarks for a slider

Parameters:
  `theFlag` -
Returns:
  Slider

#### shuffle

    public Slider shuffle()

assigns a random value to the slider.

#### snapToTickMarks

    public Slider snapToTickMarks(boolean theFlag)

enables or disables snap to tick marks.

Parameters:
  `theFlag` -
Returns:
  Slider

#### update

    public Slider 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<Slider>`
Overrides:
  `update` in class `Controller<Slider>`
Returns:
  Controller
See Also:
  `Controller.setUpdate(boolean)`, `Controller.isUpdate()`

#### updateDisplayMode

    public Slider updateDisplayMode(int theMode)

#### updateInternalEvents

    public Slider 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<Slider>`
Overrides:
  `updateInternalEvents` in class `Controller<Slider>`
See Also:
  `ControllerInterface.updateInternalEvents`