canvas-camera-2d

0.5.5 • Public • Published

Canvas Warpper for 2D Camera

npm version node stability build status gzipped size code style prettier demo

A wrapper for camera-2d that supports pan, zoom, and rotate.

Controls are as follows:

  • Pan - Left click and hold + mouse move
  • Zoom - Scroll or Alt + Left click and hold with vertical mouse move
  • Rotate - Right click or Control + Left click

Based on orbit-camera.

Also see:

Install

npm i canvas-camera-2d

API

import canvasCamera2d from "canvas-camera-2d";

camera = canvasCamera2d(canvas[, options])

Attaches a modified camera-2d-simple instance to the canvas, i.e., attaching the required event listeners for interaction.

The following options are available:

  • distance: initial distance of the camera. [dtype: number, default: 1]
  • target: x, y position the camera is looking in GL coordinates. [dtype: array of numbers, default: [0,0]]
  • rotation: rotation in radians around the z axis. [dtype: number, default: 0]
  • isFixed: if true panning, rotating, and zooming is disabled. [dtype: bool, default: false]
  • isPan: if true panning is enabled. [dtype: bool, default: true]
  • panSpeed: initial panning speed. [dtype: number, default: 1]
  • isRotate: if true rotation is enabled. [dtype: bool, default: true]
  • rotateSpeed: initial panning speed. [dtype: number, default: 1]
  • isZoom: if true zooming is enabled. [dtype: bool, default: true]
  • zoomSpeed: initial zooming speed. [dtype: number, default: 1]

Returns a new 2D camera object.

The camera's API is augmented with the following additional endpoints:

camera.tick()

Call this at the beginning of each frame to update the current position of the camera.

camera.refresh()

Call after the width and height of the related canvas object changed.

Note: the camera does not update the width and height unless you tell it to using this function!

Returns [relX, relY] the WebGL position of x and y.

camera.dispose()

Unsubscribes all event listeners.

camera.config(options)

Configure the canvas camera. options accepts the following options:

  • isFixed: if true panning, rotating, and zooming is disabled. [default: false]
  • isPan: if true panning is enabled. [dtype: bool, default: true]
  • panSpeed: panning speed. [dtype: float, default: 1.0]
  • isRotate: if true rotation is enabled. [dtype: bool, default: true]
  • rotateSpeed: rotation speed. [dtype: float, default: 1.0]
  • isZoom: if true zooming is enabled. [dtype: bool, default: true]
  • zoomSpeed: zooming speed. [dtype: float, default: 1.0]

Readme

Keywords

Package Sidebar

Install

npm i canvas-camera-2d

Weekly Downloads

2

Version

0.5.5

License

MIT

Unpacked Size

19.1 kB

Total Files

7

Last publish

Collaborators

  • flekschas