mirror of
https://github.com/konvajs/konva.git
synced 2025-04-05 20:48:28 +08:00
126 lines
3.1 KiB
JavaScript
126 lines
3.1 KiB
JavaScript
///////////////////////////////////////////////////////////////////////
|
|
// Canvas
|
|
///////////////////////////////////////////////////////////////////////
|
|
/**
|
|
* Canvas wrapper constructor
|
|
* @constructor
|
|
* @param {Number} width
|
|
* @param {Number} height
|
|
*/
|
|
Kinetic.Canvas = function(width, height) {
|
|
this.element = document.createElement('canvas');
|
|
this.context = this.element.getContext('2d');
|
|
|
|
// set dimensions
|
|
this.element.width = width;
|
|
this.element.height = height;
|
|
};
|
|
|
|
Kinetic.Canvas.prototype = {
|
|
/**
|
|
* clear canvas
|
|
* @name clear
|
|
* @methodOf Kinetic.Canvas.prototype
|
|
*/
|
|
clear: function() {
|
|
var context = this.getContext();
|
|
var el = this.getElement();
|
|
context.clearRect(0, 0, el.width, el.height);
|
|
},
|
|
/**
|
|
* get element
|
|
* @name getElement
|
|
* @methodOf Kinetic.Canvas.prototype
|
|
*/
|
|
getElement: function() {
|
|
return this.element;
|
|
},
|
|
/**
|
|
* get context
|
|
* @name getContext
|
|
* @methodOf Kinetic.Canvas.prototype
|
|
*/
|
|
getContext: function() {
|
|
return this.context;
|
|
},
|
|
/**
|
|
* set width
|
|
* @name setWidth
|
|
* @methodOf Kinetic.Canvas.prototype
|
|
*/
|
|
setWidth: function(width) {
|
|
this.element.width = width;
|
|
},
|
|
/**
|
|
* set height
|
|
* @name setHeight
|
|
* @methodOf Kinetic.Canvas.prototype
|
|
*/
|
|
setHeight: function(height) {
|
|
this.element.height = height;
|
|
},
|
|
/**
|
|
* get width
|
|
* @name getWidth
|
|
* @methodOf Kinetic.Canvas.prototype
|
|
*/
|
|
getWidth: function() {
|
|
return this.element.width;
|
|
},
|
|
/**
|
|
* get height
|
|
* @name getHeight
|
|
* @methodOf Kinetic.Canvas.prototype
|
|
*/
|
|
getHeight: function() {
|
|
return this.element.height;
|
|
},
|
|
/**
|
|
* set size
|
|
* @name setSize
|
|
* @methodOf Kinetic.Canvas.prototype
|
|
*/
|
|
setSize: function(width, height) {
|
|
this.setWidth(width);
|
|
this.setHeight(height);
|
|
},
|
|
/**
|
|
* strip away all functions that draw pixels onto the bitmap
|
|
* @name strip
|
|
* @methodOf Kinetic.Canvas.prototype
|
|
* @param {CanvasContext} context
|
|
*/
|
|
strip: function() {
|
|
var context = this.context;
|
|
context.stroke = function() {
|
|
};
|
|
context.fill = function() {
|
|
};
|
|
context.fillRect = function(x, y, width, height) {
|
|
context.rect(x, y, width, height);
|
|
};
|
|
context.strokeRect = function(x, y, width, height) {
|
|
context.rect(x, y, width, height);
|
|
};
|
|
context.drawImage = function() {
|
|
};
|
|
context.fillText = function() {
|
|
};
|
|
context.strokeText = function() {
|
|
};
|
|
},
|
|
/**
|
|
* toDataURL
|
|
*/
|
|
toDataURL: function(mimeType, quality) {
|
|
try {
|
|
// If this call fails (due to browser bug, like in Firefox 3.6),
|
|
// then revert to previous no-parameter image/png behavior
|
|
return this.element.toDataURL(mimeType, quality);
|
|
}
|
|
catch(e) {
|
|
return this.element.toDataURL();
|
|
}
|
|
}
|
|
};
|