client/js/paper-renderer.js
author veltr
Wed, 25 Jul 2012 19:36:31 +0200
changeset 1 45cca39b00ac
child 2 3360c3f7fb18
permissions -rw-r--r--
First rendering tests
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
     1
Rkns.Renderers.Paper = Rkns.Utils.inherit(Rkns.Renderers._Base);
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
     2
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
     3
Rkns.Renderers.Paper__Controllers = {}
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
     4
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
     5
Rkns.Renderers.Paper__Controllers._Base = function(_renderer, _element) {
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
     6
    if (typeof _renderer !== "undefined") {
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
     7
        this._renderer = _renderer;
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
     8
        this._element = _element;
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
     9
        this._element._renderer_controller = this;
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    10
    }
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    11
}
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    12
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    13
Rkns.Renderers.Paper__Controllers.Node = Rkns.Utils.inherit(Rkns.Renderers.Paper__Controllers._Base);
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    14
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    15
Rkns.Renderers.Paper__Controllers.Node.prototype._init = function() {
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    16
    this.node_circle = new paper.Path.Circle([0, 0], 20);
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    17
    this.redraw();
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    18
}
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    19
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    20
Rkns.Renderers.Paper__Controllers.Node.prototype.redraw = function() {
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    21
    var _centerPoint = paper.view.center.add([this._element.position.x, this._element.position.y]);
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    22
    this.node_circle.position = _centerPoint;
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    23
    this.node_circle.strokeColor = this._element.created_by.color;
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    24
}
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    25
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    26
Rkns.Renderers.Paper__Controllers.Edge = Rkns.Utils.inherit(Rkns.Renderers._Base);
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    27
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    28
Rkns.Renderers.Paper.prototype._init = function() {
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    29
    paper.setup(document.getElementById(this._project._opts.canvas_id));
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    30
}
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    31
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    32
Rkns.Renderers.Paper.prototype.draw = function() {
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    33
    var _this = this;
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    34
    this.nodes = this._project.nodes.map(function(_node) {
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    35
        return new Rkns.Renderers.Paper__Controllers.Node(_this, _node);
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    36
    });
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    37
    paper.view.draw();
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    38
    paper.view.onResize = function() {
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    39
        _this.redraw();
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    40
    }
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    41
}
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    42
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    43
Rkns.Renderers.Paper.prototype.redraw = function() {
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    44
    Rkns._(this.nodes).each(function(_node) {
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    45
        _node.redraw();
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    46
    })
45cca39b00ac First rendering tests
veltr
parents:
diff changeset
    47
}