@Override
public void invalidate(Renderer renderer, int x, int y, int width, int height, EnumSet<LayerType> layers)
{
if (canvas == null)
return;
canvas.drawARGB(Color.alpha(backgroundColor), Color.red(backgroundColor), Color.green(backgroundColor), Color.blue(backgroundColor));
Canvas androidCanvas = new Canvas(canvas, typefaceMap, imageLoader, this);
if (layers.contains(LayerType.MODEL))
renderer.drawModel(x, y, width, height, androidCanvas);
if (layers.contains(LayerType.TEMPORARY))
renderer.drawTemporaryItems(x, y, width, height, androidCanvas);
if (layers.contains(LayerType.CAPTURE))
renderer.drawCaptureStrokes(x, y, width, height, androidCanvas);
}