controlP5
Class Canvas

java.lang.Object
  extended by controlP5.Canvas
Direct Known Subclasses:
ControlWindowCanvas

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;

  public void setup(PApplet theApplet) {
    y = 200;
  }  

  public void draw(PApplet p) {
    // renders a square with randomly changing colors
    // make changes here.
    p.fill(100);
    p.rect(p.mouseX-20, y-20, 240, 30);
    p.fill(255);
    p.text("This text is drawn by MyCanvas", p.mouseX,y);
    p.text("This text is drawn by MyCanvas", p.mouseX,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 ControlWindowCanvas 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(PApplet) 
 controlP5.Canvas : void draw(PApplet) 
 java.lang.Object : String toString() 
 java.lang.Object : boolean equals(Object) 
 */
 
 

Field Summary
static int POST
           
static int PRE
           
 
Constructor Summary
Canvas()
           
 
Method Summary
abstract  void draw(processing.core.PApplet theApplet)
          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.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.PApplet theApplet)
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.PApplet theApplet)

window

public final ControlWindow window()


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