2011-08-07 10 views
11

Quiero agregar algunos métodos al contexto recuperado de un objeto de lienzo. Por ejemplo, me gustaría tener este método prototipo añadir a cualquier contexto de dibujo 2D que restablece la transformación a una matriz de identidad:Cómo se agregan funciones de prototipo al contexto de lienzo

Context.prototype.identity = function() { 
    this.setTransform(1, 0, 0, 1, 0, 0); 
} 

y luego cada vez que solicito un contexto 2D al igual que

var canvas = document.getElementById("canvas"); 
var context = canvas.getContext("2d"); 

El objeto de contexto tiene automáticamente un método de identidad() para restablecer cualquier transformación al estado predeterminado. Sé que puedo conectar mi método prototipo diciendo:

context.identity = function() { context.setTransform(1, 0, 0, 1, 0, 0); } 

, pero tengo que hacer esto de forma explícita cada vez, y yo prefiero la sintaxis "Context.prototype.identity = función" ya que adjuntar el método para mí automáticamente

curioso

Respuesta

30

esto debería funcionar:

CanvasRenderingContext2D.prototype.identity = function() { 
    return this.setTransform(1, 0, 0, 1, 0, 0); 
} 
Cuestiones relacionadas