This app provides monitoring and information features for the common freifunk user and the technical stuff of a freifunk community.
Code base is taken from a TUM Practical Course project and added here to see if Freifunk Altdorf can use it.
https://www.freifunk-altdorf.de
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
906 B
42 lines
906 B
var Class = require('../../core/class'); |
|
var Container = require('../../dom/container'); |
|
var Node = require('./node'); |
|
|
|
module.exports = Class(Node, Container, { |
|
|
|
initialize: function(width, height){ |
|
this.width = width; |
|
this.height = height; |
|
}, |
|
|
|
localHitTest: function(x, y){ |
|
var node = this.lastChild; |
|
while (node){ |
|
var hit = node.hitTest(x, y); |
|
if (hit) return hit; |
|
node = node.previousSibling; |
|
} |
|
return null; |
|
}, |
|
|
|
renderLayerTo: function(context, xx, yx, xy, yy, x, y){ |
|
if (this._invisible) return; |
|
|
|
x = xx * this.x + xy * this.y + x; |
|
y = yx * this.x + yy * this.y + y; |
|
|
|
var t = xx; |
|
xx = t * this.xx + xy * this.yx; |
|
xy = t * this.xy + xy * this.yy; |
|
t = yx; |
|
yx = t * this.xx + yy * this.yx; |
|
yy = t * this.xy + yy * this.yy; |
|
|
|
var node = this.firstChild; |
|
while (node){ |
|
node.renderTo(context, xx, yx, xy, yy, x, y); |
|
node = node.nextSibling; |
|
} |
|
} |
|
|
|
});
|
|
|