scratch
/bower_components/drawingboard.js/js/controls/control.js |
@@ -0,0 +1,51 @@ |
DrawingBoard.Control = function(drawingBoard, opts) { |
this.board = drawingBoard; |
this.opts = $.extend({}, this.defaults, opts); |
|
this.$el = $(document.createElement('div')).addClass('drawing-board-control'); |
if (this.name) |
this.$el.addClass('drawing-board-control-' + this.name); |
|
this.board.ev.bind('board:reset', $.proxy(this.onBoardReset, this)); |
|
this.initialize.apply(this, arguments); |
return this; |
}; |
|
DrawingBoard.Control.prototype = { |
|
name: '', |
|
defaults: {}, |
|
initialize: function() { |
|
}, |
|
addToBoard: function() { |
this.board.addControl(this); |
}, |
|
onBoardReset: function(opts) { |
|
} |
|
}; |
|
//extend directly taken from backbone.js |
DrawingBoard.Control.extend = function(protoProps, staticProps) { |
var parent = this; |
var child; |
if (protoProps && protoProps.hasOwnProperty('constructor')) { |
child = protoProps.constructor; |
} else { |
child = function(){ return parent.apply(this, arguments); }; |
} |
$.extend(child, parent, staticProps); |
var Surrogate = function(){ this.constructor = child; }; |
Surrogate.prototype = parent.prototype; |
child.prototype = new Surrogate(); |
if (protoProps) $.extend(child.prototype, protoProps); |
child.__super__ = parent.prototype; |
return child; |
}; |