diff --git a/resources/rendertheme.xsd b/resources/rendertheme.xsd
index c01e09e9..e1863fd5 100644
--- a/resources/rendertheme.xsd
+++ b/resources/rendertheme.xsd
@@ -98,6 +98,7 @@
+
diff --git a/vtm/src/org/oscim/layers/tile/vector/VectorTileLoader.java b/vtm/src/org/oscim/layers/tile/vector/VectorTileLoader.java
index 3e81cc86..7debfb4f 100644
--- a/vtm/src/org/oscim/layers/tile/vector/VectorTileLoader.java
+++ b/vtm/src/org/oscim/layers/tile/vector/VectorTileLoader.java
@@ -285,7 +285,7 @@ public class VectorTileLoader extends TileLoader implements RenderStyle.Callback
int nLevel = mCurBucket + level;
- if (USE_MESH_POLY) {
+ if (USE_MESH_POLY || area.mesh) {
MeshBucket mb = mBuckets.getMeshBucket(nLevel);
mb.area = area;
mb.addMesh(mElement);
diff --git a/vtm/src/org/oscim/theme/XmlThemeBuilder.java b/vtm/src/org/oscim/theme/XmlThemeBuilder.java
index 05fee70e..95b36b01 100644
--- a/vtm/src/org/oscim/theme/XmlThemeBuilder.java
+++ b/vtm/src/org/oscim/theme/XmlThemeBuilder.java
@@ -525,6 +525,9 @@ public class XmlThemeBuilder extends DefaultHandler {
else if ("blend-fill".equals(name))
b.blendColor(value);
+ else if ("mesh".equals(name))
+ b.mesh(Boolean.parseBoolean(value));
+
else
logUnknownAttribute(elementName, name, value, i);
}
diff --git a/vtm/src/org/oscim/theme/styles/AreaStyle.java b/vtm/src/org/oscim/theme/styles/AreaStyle.java
index d7025c9f..684a1715 100644
--- a/vtm/src/org/oscim/theme/styles/AreaStyle.java
+++ b/vtm/src/org/oscim/theme/styles/AreaStyle.java
@@ -1,5 +1,6 @@
/*
* Copyright 2014 Hannes Janetzek
+ * Copyright 2016 devemux86
*
* This file is part of the OpenScienceMap project (http://www.opensciencemap.org).
*
@@ -55,6 +56,9 @@ public class AreaStyle extends RenderStyle {
public final int strokeColor;
public final float strokeWidth;
+ /** Tessellation */
+ public final boolean mesh;
+
public AreaStyle(int color) {
this(0, color);
}
@@ -69,6 +73,7 @@ public class AreaStyle extends RenderStyle {
this.texture = null;
this.strokeColor = color;
this.strokeWidth = 1;
+ this.mesh = false;
}
public AreaStyle(AreaBuilder> b) {
@@ -79,9 +84,9 @@ public class AreaStyle extends RenderStyle {
this.blendScale = b.blendScale;
this.color = b.fillColor;
this.texture = b.texture;
-
this.strokeColor = b.strokeColor;
this.strokeWidth = b.strokeWidth;
+ this.mesh = b.mesh;
}
@Override
@@ -136,6 +141,7 @@ public class AreaStyle extends RenderStyle {
public int fadeScale;
public int blendColor;
public int blendScale;
+ public boolean mesh;
public TextureItem texture;
@@ -155,6 +161,7 @@ public class AreaStyle extends RenderStyle {
this.texture = area.texture;
this.strokeColor = area.strokeColor;
this.strokeWidth = area.strokeWidth;
+ this.mesh = area.mesh;
return self();
}
@@ -184,6 +191,11 @@ public class AreaStyle extends RenderStyle {
return self();
}
+ public T mesh(boolean mesh) {
+ this.mesh = mesh;
+ return self();
+ }
+
public T reset() {
fillColor = Color.WHITE;
strokeColor = Color.BLACK;
@@ -193,6 +205,7 @@ public class AreaStyle extends RenderStyle {
blendColor = Color.TRANSPARENT;
style = null;
texture = null;
+ mesh = false;
return self();
}