diff -r 4b07ff5c2dd6 -r 45cca39b00ac client/js/paper-renderer.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/client/js/paper-renderer.js Wed Jul 25 19:36:31 2012 +0200 @@ -0,0 +1,47 @@ +Rkns.Renderers.Paper = Rkns.Utils.inherit(Rkns.Renderers._Base); + +Rkns.Renderers.Paper__Controllers = {} + +Rkns.Renderers.Paper__Controllers._Base = function(_renderer, _element) { + if (typeof _renderer !== "undefined") { + this._renderer = _renderer; + this._element = _element; + this._element._renderer_controller = this; + } +} + +Rkns.Renderers.Paper__Controllers.Node = Rkns.Utils.inherit(Rkns.Renderers.Paper__Controllers._Base); + +Rkns.Renderers.Paper__Controllers.Node.prototype._init = function() { + this.node_circle = new paper.Path.Circle([0, 0], 20); + this.redraw(); +} + +Rkns.Renderers.Paper__Controllers.Node.prototype.redraw = function() { + var _centerPoint = paper.view.center.add([this._element.position.x, this._element.position.y]); + this.node_circle.position = _centerPoint; + this.node_circle.strokeColor = this._element.created_by.color; +} + +Rkns.Renderers.Paper__Controllers.Edge = Rkns.Utils.inherit(Rkns.Renderers._Base); + +Rkns.Renderers.Paper.prototype._init = function() { + paper.setup(document.getElementById(this._project._opts.canvas_id)); +} + +Rkns.Renderers.Paper.prototype.draw = function() { + var _this = this; + this.nodes = this._project.nodes.map(function(_node) { + return new Rkns.Renderers.Paper__Controllers.Node(_this, _node); + }); + paper.view.draw(); + paper.view.onResize = function() { + _this.redraw(); + } +} + +Rkns.Renderers.Paper.prototype.redraw = function() { + Rkns._(this.nodes).each(function(_node) { + _node.redraw(); + }) +}