Skip to content

Commit

Permalink
Merge pull request openlayers#76 from fredj/surface-removal
Browse files Browse the repository at this point in the history
Remove Geometry.Surface, r=tschaub
  • Loading branch information
fredj committed Nov 28, 2011
2 parents 1db5ac3 + dc991e6 commit e960c19
Show file tree
Hide file tree
Showing 12 changed files with 1 addition and 241 deletions.
1 change: 0 additions & 1 deletion build/library.cfg
Expand Up @@ -30,7 +30,6 @@ OpenLayers/Geometry/MultiPolygon.js
OpenLayers/Geometry/Point.js
OpenLayers/Geometry/Polygon.js
OpenLayers/Geometry/Rectangle.js
OpenLayers/Geometry/Surface.js
OpenLayers/Geometry.js
OpenLayers/Layer/GML.js
OpenLayers/Layer/Vector.js
Expand Down
1 change: 0 additions & 1 deletion lib/OpenLayers.js
Expand Up @@ -212,7 +212,6 @@
"OpenLayers/Geometry/Polygon.js",
"OpenLayers/Geometry/MultiLineString.js",
"OpenLayers/Geometry/MultiPolygon.js",
"OpenLayers/Geometry/Surface.js",
"OpenLayers/Renderer.js",
"OpenLayers/Renderer/Elements.js",
"OpenLayers/Renderer/NG.js",
Expand Down
13 changes: 0 additions & 13 deletions lib/OpenLayers/Geometry/Surface.js

This file was deleted.

18 changes: 0 additions & 18 deletions lib/OpenLayers/Renderer/Elements.js
Expand Up @@ -740,9 +740,6 @@ OpenLayers.Renderer.Elements = OpenLayers.Class(OpenLayers.Renderer, {
case "OpenLayers.Geometry.Polygon":
drawn = this.drawPolygon(node, geometry);
break;
case "OpenLayers.Geometry.Surface":
drawn = this.drawSurface(node, geometry);
break;
case "OpenLayers.Geometry.Rectangle":
drawn = this.drawRectangle(node, geometry);
break;
Expand Down Expand Up @@ -867,21 +864,6 @@ OpenLayers.Renderer.Elements = OpenLayers.Class(OpenLayers.Renderer, {
*/
drawCircle: function(node, geometry) {},

/**
* Method: drawSurface
* Virtual function for drawing Surface Geometry.
* Should be implemented by subclasses.
* This method is only called by the renderer itself.
*
* Parameters:
* node - {DOMElement}
* geometry - {<OpenLayers.Geometry>}
*
* Returns:
* {DOMElement} or false if the renderer could not draw the surface
*/
drawSurface: function(node, geometry) {},

/**
* Method: removeText
* Removes a label
Expand Down
41 changes: 0 additions & 41 deletions lib/OpenLayers/Renderer/SVG.js
Expand Up @@ -214,7 +214,6 @@ OpenLayers.Renderer.SVG = OpenLayers.Class(OpenLayers.Renderer.Elements, {
break;
case "OpenLayers.Geometry.Polygon":
case "OpenLayers.Geometry.Curve":
case "OpenLayers.Geometry.Surface":
nodeType = "path";
break;
default:
Expand Down Expand Up @@ -628,46 +627,6 @@ OpenLayers.Renderer.SVG = OpenLayers.Class(OpenLayers.Renderer.Elements, {
}
},

/**
* Method: drawSurface
* This method is only called by the renderer itself.
*
* Parameters:
* node - {DOMElement}
* geometry - {<OpenLayers.Geometry>}
*
* Returns:
* {DOMElement} or false if the renderer could not draw the surface
*/
drawSurface: function(node, geometry) {

// create the svg path string representation
var d = null;
var draw = true;
for (var i=0, len=geometry.components.length; i<len; i++) {
if ((i%3) == 0 && (i/3) == 0) {
var component = this.getShortString(geometry.components[i]);
if (!component) { draw = false; }
d = "M " + component;
} else if ((i%3) == 1) {
var component = this.getShortString(geometry.components[i]);
if (!component) { draw = false; }
d += " C " + component;
} else {
var component = this.getShortString(geometry.components[i]);
if (!component) { draw = false; }
d += " " + component;
}
}
d += " Z";
if (draw) {
node.setAttributeNS(null, "d", d);
return node;
} else {
return false;
}
},

/**
* Method: drawText
* This method is only called by the renderer itself.
Expand Down
34 changes: 0 additions & 34 deletions lib/OpenLayers/Renderer/SVG2.js
Expand Up @@ -146,7 +146,6 @@ OpenLayers.Renderer.SVG2 = OpenLayers.Class(OpenLayers.Renderer.NG, {
break;
case "OpenLayers.Geometry.Polygon":
case "OpenLayers.Geometry.Curve":
case "OpenLayers.Geometry.Surface":
nodeType = "path";
break;
default:
Expand Down Expand Up @@ -532,39 +531,6 @@ OpenLayers.Renderer.SVG2 = OpenLayers.Class(OpenLayers.Renderer.NG, {
return node;
},

/**
* Method: drawSurface
* This method is only called by the renderer itself.
*
* Parameters:
* node - {DOMElement}
* geometry - {<OpenLayers.Geometry>}
*
* Returns:
* {DOMElement} or false if the renderer could not draw the surface
*/
drawSurface: function(node, geometry) {

// create the svg path string representation
var d = [];
var draw = true;
for (var i=0, len=geometry.components.length; i<len; i++) {
if ((i%3) == 0 && (i/3) == 0) {
var component = this.getShortString(geometry.components[i]);
d.push("M", component);
} else if ((i%3) == 1) {
var component = this.getShortString(geometry.components[i]);
d.push("C", component);
} else {
var component = this.getShortString(geometry.components[i]);
d.push(component);
}
}
d.push("Z");
node.setAttributeNS(null, "d", d.join(" "));
return node;
},

/**
* Method: drawText
* Function for drawing text labels.
Expand Down
36 changes: 0 additions & 36 deletions lib/OpenLayers/Renderer/VML.js
Expand Up @@ -182,7 +182,6 @@ OpenLayers.Renderer.VML = OpenLayers.Class(OpenLayers.Renderer.Elements, {
case "OpenLayers.Geometry.LinearRing":
case "OpenLayers.Geometry.Polygon":
case "OpenLayers.Geometry.Curve":
case "OpenLayers.Geometry.Surface":
nodeType = "olv:shape";
break;
default:
Expand Down Expand Up @@ -878,41 +877,6 @@ OpenLayers.Renderer.VML = OpenLayers.Class(OpenLayers.Renderer.Elements, {
label.style.top = parseInt(label.style.top)+yshift+"px";

},

/**
* Method: drawSurface
*
* Parameters:
* node - {DOMElement}
* geometry - {<OpenLayers.Geometry>}
*
* Returns:
* {DOMElement}
*/
drawSurface: function(node, geometry) {

this.setNodeDimension(node, geometry);

var resolution = this.getResolution();

var path = [];
var comp, x, y;
for (var i=0, len=geometry.components.length; i<len; i++) {
comp = geometry.components[i];
x = ((comp.x - this.featureDx) / resolution - this.offset.x) | 0;
y = (comp.y / resolution - this.offset.y) | 0;
if ((i%3)==0 && (i/3)==0) {
path.push("m");
} else if ((i%3)==1) {
path.push(" c");
}
path.push(" " + x + "," + y);
}
path.push(" x e");

node.path = path.join("");
return node;
},

/**
* Method: moveRoot
Expand Down
22 changes: 0 additions & 22 deletions tests/Geometry/Surface.html

This file was deleted.

13 changes: 1 addition & 12 deletions tests/Renderer/Elements.html
Expand Up @@ -188,7 +188,7 @@
}

function test_Elements_drawGeometry_2(t) {
t.plan(9);
t.plan(8);

setUp();

Expand Down Expand Up @@ -253,17 +253,6 @@
r.drawGeometry(polygon, style);
t.ok(properDraw, "drawGeometry called drawPolygon when passed a polygon");

// surface
var properDraw = false;
r.drawSurface = function(g) {
properDraw = true;
return {};
}
var surface = OpenLayers.Util.applyDefaults({CLASS_NAME: 'OpenLayers.Geometry.Surface'}, geometry);
style = true;
r.drawGeometry(surface, style);
t.ok(properDraw, "drawGeometry called drawSurface when passed a surface");

// rectangle
var properDraw = false;
r.drawRectangle = function(g) {
Expand Down
34 changes: 0 additions & 34 deletions tests/Renderer/SVG.html
Expand Up @@ -297,40 +297,6 @@
t.eq(node.getAttributeNS(null, "height"), "8", "height attribute is correctly set");
}

function test_SVG_drawsurface(t) {
if (!OpenLayers.Renderer.SVG.prototype.supported()) {
t.plan(0);
return;
}

t.plan(3);

var r = new OpenLayers.Renderer.SVG(document.body);

var node = document.createElement('div');

var geometry = {
components: ['foo', 'bar', 'dude']
}
g_GetString = false;
r.getShortString = function(c) {
g_GetString = true;
return c;
}

r.drawSurface(node, geometry);

t.ok(g_GetString, "getShortString is called");

t.eq(node.getAttributeNS(null, "d"), "M foo C bar dude Z", "d attribute is correctly set");

r.getShortString = function(c) {
return false;
}

t.eq(r.drawSurface(node, geometry), false, "drawSurface returns false if one linearRing cannot be drawn");
}

function test_SVG_getcomponentsstring(t) {
if (!OpenLayers.Renderer.SVG.prototype.supported()) {
t.plan(0);
Expand Down
28 changes: 0 additions & 28 deletions tests/Renderer/SVG2.html
Expand Up @@ -282,34 +282,6 @@
t.eq(node.getAttributeNS(null, "height"), "4", "height attribute is correctly set");
}

function test_SVG_drawsurface(t) {
if (!OpenLayers.Renderer.SVG2.prototype.supported()) {
t.plan(0);
return;
}

t.plan(2);

var r = new OpenLayers.Renderer.SVG2(document.body);

var node = document.createElement('div');

var geometry = {
components: ['foo', 'bar', 'dude']
}
g_GetString = false;
r.getShortString = function(c) {
g_GetString = true;
return c;
}

r.drawSurface(node, geometry);

t.ok(g_GetString, "getShortString is called");

t.eq(node.getAttributeNS(null, "d"), "M foo C bar dude Z", "d attribute is correctly set");
}

function test_SVG_getcomponentsstring(t) {
if (!OpenLayers.Renderer.SVG2.prototype.supported()) {
t.plan(0);
Expand Down
1 change: 0 additions & 1 deletion tests/list-tests.html
Expand Up @@ -124,7 +124,6 @@
<li>Geometry/Point.html</li>
<li>Geometry/Polygon.html</li>
<li>Geometry/Rectangle.html</li>
<li>Geometry/Surface.html</li>
<li>Handler.html</li>
<li>Handler/Box.html</li>
<li>Handler/Click.html</li>
Expand Down

0 comments on commit e960c19

Please sign in to comment.