New vector rendering for better performance and less renderer specific limitations. r=elemoine (closes #1675, closes #1656, closes #1631, closes #1431, closes #1709)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@7930 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -134,7 +134,6 @@
|
||||
var r = create_renderer();
|
||||
|
||||
var element = document.createElement("div");
|
||||
document.body.appendChild(element);
|
||||
r.root = element;
|
||||
|
||||
r.nodeFactory = function(id, type) {
|
||||
@@ -142,14 +141,15 @@
|
||||
return element;
|
||||
};
|
||||
var g_Node = null;
|
||||
var b_Node = null;
|
||||
r.drawGeometryNode = function(node, geometry, style) {
|
||||
g_Node = node;
|
||||
return node;
|
||||
return {node: node, complete: true};
|
||||
};
|
||||
r.redrawBackgroundNode = function(id, geometry, style, featureId) {
|
||||
var el = r.nodeFactory();
|
||||
el.id = "foo_background";
|
||||
r.root.appendChild(el);
|
||||
b_Node = r.nodeFactory();
|
||||
b_Node.id = "foo_background";
|
||||
r.root.appendChild(b_Node);
|
||||
};
|
||||
|
||||
r.getNodeType = function(geometry, style) {
|
||||
@@ -163,20 +163,25 @@
|
||||
var featureId = 'dude';
|
||||
r.drawGeometry(geometry, style, featureId);
|
||||
t.ok(g_Node.parentNode == r.root, "node is correctly appended to root");
|
||||
t.eq(r.root.childNodes.length, 2, "redrawBackgroundNode appended background node");
|
||||
t.ok(b_Node.parentNode == r.root, "redrawBackgroundNode appended background node");
|
||||
t.eq(g_Node._featureId, 'dude', "_featureId is correct");
|
||||
t.eq(g_Node._style.backgroundGraphic, "foo", "_style is correct");
|
||||
t.eq(g_Node._geometryClass, 'bar', "_geometryClass is correct");
|
||||
|
||||
var _getElement = OpenLayers.Util.getElement;
|
||||
OpenLayers.Util.getElement = function(id) {
|
||||
return g_Node;
|
||||
var returnNode = function(id) {
|
||||
return id == "foo_background" ? b_Node : g_Node;
|
||||
}
|
||||
|
||||
var _getElement = document.getElementById;
|
||||
document.getElementById = returnNode;
|
||||
OpenLayers.Util.getElement = returnNode;
|
||||
|
||||
style = {'display':'none'};
|
||||
r.drawGeometry(geometry, style, featureId);
|
||||
t.ok(g_Node.parentNode != r.root, "node is correctly removed");
|
||||
t.ok(!document.getElementById("foo_background"), "background node correctly removed")
|
||||
t.ok(b_Node.parentNode != r.root, "background node correctly removed")
|
||||
|
||||
document.getElementById = _getElement;
|
||||
|
||||
tearDown();
|
||||
}
|
||||
@@ -216,7 +221,7 @@
|
||||
properDraw = true;
|
||||
return {};
|
||||
};
|
||||
geometry = {CLASS_NAME: 'OpenLayers.Geometry.LineString'};
|
||||
geometry = {id: "foo", CLASS_NAME: 'OpenLayers.Geometry.LineString'};
|
||||
style = true;
|
||||
r.drawGeometry(geometry, style);
|
||||
t.ok(properDraw, "drawGeometry called drawLineString when passed a line string");
|
||||
|
||||
Reference in New Issue
Block a user