Class: DrawingService

Defined in: src/drawing/service.coffee

Overview

A class to handle drawing Avatars on 'canvases'. At present a CanvasElementAdaptor is provided, for drawing on an individual HTMLCanvasElement.

The class maintains a registry of which Avatars are being drawn on which canvases, and will redraw all appropriate avatars on calling autoDraw.

Instance Method Summary

Constructor Details

- (void) constructor(compositor)

Create a new DrawingService.

Parameters:

Instance Method Details

- (Avatar) avatarOnCanvas(canvas)

Get the avatar on a given canvas.

Parameters:

  • canvas (Object) A canvas on which an avatar may be drawn

Returns:

  • (Avatar) — An Avatar currently being drawn on the given canvas

- (Array<Avatar>) allAvatars()

Get all avatars currently being drawn.

Returns:

- (Object) startDrawing(avatar, canvas, options)

Start drawing an avatar on a canvas.

Parameters:

  • avatar (Avatar) An Avatar to draw
  • canvas (Object) A canvas to draw on
  • options (Object) Options to use in drawing the avatar

Options Hash: (option):

  • autoDraw (Boolean) Whether to draw the avatar on the canvas when autoDraw is called
  • adaptor (Object) Mandatory -- an adaptor to use for drawing, at present a CanvasElementAdaptor

Returns:

  • (Object) — A promise, resolved when the first draw is complete

- (void) autoDraw()

Automatically draw all appropriate avatars on their canvases. (Those for whom drawing has been started with option autoDraw: true).