controlP5

## Class Canvas

- java.lang.Object
- - controlP5.Canvas

-     public abstract class Canvas
      extends java.lang.Object

  Use a Canvas to draw custom graphics into a control window or the default sketch window. The Canvas is an abstract class and must be extended by your custom Canvas class, see the ControlP5canvas example for details.
  +Example
    `

        /**
         * ControlP5 Canvas
         * The ControlWindowCanvas allow you to add custom graphics to
         * the default controlP5 renderer or a controlWindow rednerer.
         *
         * find a list of public methods available for the Canvas Controller
         * at the bottom of this sketch's source code
         *
         * by Andreas Schlegel, 2011
         * www.sojamo.de/libraries/controlp5
         *
         */

        import controlP5.*;

        ControlP5 cp5;

        ControlWindow controlWindow;

        Canvas cc;

        // MyCanvas, your Canvas render class
        class MyCanvas extends Canvas {

          int y;
          int mx = 0;
          int my = 0;
          public void setup(PGraphics pg) {
            y = 200;
          }

          public void update(PApplet p) {
            mx = p.mouseX;
            my = p.mouseY;
          }

          public void draw(PGraphics pg) {
            // renders a square with randomly changing colors
            // make changes here.
            pg.fill(100);
            pg.rect(mx-20, y-20, 240, 30);
            pg.fill(255);
            pg.text("This text is drawn by MyCanvas", mx,y);
          }
        }

        void setup() {
          size(400, 400);
          frameRate(30);
          cp5 = new ControlP5(this);

          // create a control window canvas and add it to
          // the previously created control window.
          cc = new MyCanvas();
          cc.pre(); // use cc.post(); to draw on top of existing controllers.
          cp5.addCanvas(cc); // add the canvas to cp5
        }

        void draw() {
          background(0);
          fill(60);
          rect(100, 100, 200, 200);
        }

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

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

        Format:
        ClassName : returnType methodName(parameter type)

        controlP5.Canvas : void moveTo(ControlWindow)
        controlP5.Canvas : void setup(PGraphics)
        controlP5.Canvas : void update(PApplet)
        java.lang.Object : String toString()
        java.lang.Object : boolean equals(Object)

        created: 2015/03/24 12:20:53

        */

    `

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static int` | `POST`
    `static int` | `PRE`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Canvas()`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract void` | `draw(processing.core.PGraphics theGraphics)` controlWindowCanvas is an abstract class and therefore needs to be extended by your class.
    `int` | `mode()` get the drawing mode of a Canvas.
    `void` | `moveTo(ControlWindow theControlWindow)` move a canvas to another controlWindow
    `void` | `post()` set the drawing mode to POST.
    `void` | `pre()` set the drawing mode to PRE.
    `void` | `setMode(int theMode)`
    `void` | `setup(processing.core.PGraphics theGraphics)`
    `void` | `update(processing.core.PApplet theApplet)`
    `ControlWindow` | `window()`

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

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

- - ### Field Detail

    - #### POST

          public static final int POST

      See Also:
        Constant Field Values

    - #### PRE

          public static final int PRE

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### Canvas

          public Canvas()

  - ### Method Detail

    - #### draw

          public abstract void draw(processing.core.PGraphics theGraphics)

      controlWindowCanvas is an abstract class and therefore needs to be extended by your class. draw(PApplet theApplet) is the only method that needs to be overwritten.

    - #### mode

          public final int mode()

      get the drawing mode of a Canvas. this can be PRE or POST.
      Returns:

    - #### moveTo

          public void moveTo(ControlWindow theControlWindow)

      move a canvas to another controlWindow
      Parameters:
        `theControlWindow` -

    - #### post

          public final void post()

      set the drawing mode to POST.

    - #### pre

          public final void pre()

      set the drawing mode to PRE. PRE is the default.

    - #### setMode

          public final void setMode(int theMode)

      Parameters:
        `theMode` -

    - #### setup

          public void setup(processing.core.PGraphics theGraphics)

    - #### update

          public void update(processing.core.PApplet theApplet)

    - #### window

          public final ControlWindow window()

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