add examples
This commit is contained in:
@@ -13,16 +13,15 @@ import org.jeo.map.CartoCSS;
|
||||
import org.jeo.map.RGB;
|
||||
import org.jeo.map.Rule;
|
||||
import org.jeo.map.RuleList;
|
||||
import org.jeo.map.Selector;
|
||||
import org.jeo.map.Style;
|
||||
import org.oscim.core.GeometryBuffer.GeometryType;
|
||||
import org.oscim.core.MapElement;
|
||||
import org.oscim.core.Tag;
|
||||
import org.oscim.core.TagSet;
|
||||
import org.oscim.theme.IRenderTheme;
|
||||
import org.oscim.theme.renderinstruction.Area;
|
||||
import org.oscim.theme.renderinstruction.Line;
|
||||
import org.oscim.theme.renderinstruction.RenderInstruction;
|
||||
import org.oscim.theme.styles.Area;
|
||||
import org.oscim.theme.styles.Line;
|
||||
import org.oscim.theme.styles.RenderStyle;
|
||||
|
||||
public class RenderTheme implements IRenderTheme {
|
||||
|
||||
@@ -117,7 +116,7 @@ public class RenderTheme implements IRenderTheme {
|
||||
|
||||
class StyleSet {
|
||||
int level;
|
||||
RenderInstruction[] ri = new RenderInstruction[2];
|
||||
RenderStyle[] ri = new RenderStyle[2];
|
||||
}
|
||||
|
||||
Map<Rule, StyleSet> mStyleSets = new HashMap<Rule, StyleSet>();
|
||||
@@ -132,11 +131,6 @@ public class RenderTheme implements IRenderTheme {
|
||||
|
||||
sb.append(pad);
|
||||
|
||||
for (Selector s : r.getSelectors()) {
|
||||
sb.append(RuleDebug.formatSelector(s));
|
||||
sb.append(",");
|
||||
}
|
||||
|
||||
if (sb.length() > 0)
|
||||
sb.setLength(sb.length() - 1);
|
||||
|
||||
@@ -183,7 +177,7 @@ public class RenderTheme implements IRenderTheme {
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized RenderInstruction[] matchElement(GeometryType type, TagSet tags,
|
||||
public synchronized RenderStyle[] matchElement(GeometryType type, TagSet tags,
|
||||
int zoomLevel) {
|
||||
MatcherFeature f = mMatchFeature;
|
||||
|
||||
@@ -203,7 +197,7 @@ public class RenderTheme implements IRenderTheme {
|
||||
if (type == GeometryType.POLY) {
|
||||
RGB c = r.color(f, CartoCSS.POLYGON_FILL, RGB.black);
|
||||
out.println(z + " " + c);
|
||||
return new RenderInstruction[] {
|
||||
return new RenderStyle[] {
|
||||
new Area(z, color(c))
|
||||
};
|
||||
|
||||
@@ -212,7 +206,7 @@ public class RenderTheme implements IRenderTheme {
|
||||
float width = r.number(f, CartoCSS.LINE_WIDTH, 2f);
|
||||
//out.println(z + " " + c);
|
||||
|
||||
return new RenderInstruction[] {
|
||||
return new RenderStyle[] {
|
||||
new Line(100 + z, color(c), width)
|
||||
};
|
||||
|
||||
@@ -263,4 +257,10 @@ public class RenderTheme implements IRenderTheme {
|
||||
t.matchElement(GeometryType.POLY, e.tags, 15);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateInstructions() {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,74 +0,0 @@
|
||||
package org.oscim.theme.carto;
|
||||
|
||||
import static java.lang.System.out;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import org.jeo.filter.Filter;
|
||||
import org.jeo.map.Rule;
|
||||
import org.jeo.map.Selector;
|
||||
|
||||
public class RuleDebug {
|
||||
|
||||
static void printRule(Rule r, int level) {
|
||||
|
||||
out.println("> " + level + " >");
|
||||
out.println(formatRule(r, level));
|
||||
}
|
||||
|
||||
public static String formatRule(Rule r, int indent) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
String pad = "";
|
||||
for (int i = 0; i < indent; i++) {
|
||||
pad += " ";
|
||||
};
|
||||
|
||||
sb.append(pad);
|
||||
for (Selector s : r.getSelectors()) {
|
||||
sb.append(formatSelector(s));
|
||||
sb.append(",");
|
||||
}
|
||||
if (sb.length() > 0) {
|
||||
sb.setLength(sb.length() - 1);
|
||||
}
|
||||
sb.append(pad).append(" {").append("\n");
|
||||
|
||||
for (Map.Entry<String, Object> e : r.properties().entrySet()) {
|
||||
sb.append(pad).append(" ").append(e.getKey()).append(": ").append(e.getValue())
|
||||
.append(";\n");
|
||||
}
|
||||
|
||||
for (Rule nested : r.nested()) {
|
||||
sb.append(nested.toString(indent + 2)).append("\n");
|
||||
}
|
||||
|
||||
sb.append(pad).append("}");
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
public static String formatSelector(Selector s) {
|
||||
StringBuffer sb = new StringBuffer();
|
||||
|
||||
if (s.getName() != null) {
|
||||
sb.append(s.getName());
|
||||
}
|
||||
if (s.getId() != null) {
|
||||
sb.append("#").append(s.getId());
|
||||
}
|
||||
for (String c : s.getClasses()) {
|
||||
sb.append(".").append(c);
|
||||
}
|
||||
if (s.getFilter() != null && s.getFilter() != Filter.TRUE) {
|
||||
sb.append("[").append(s.getFilter()).append("]");
|
||||
}
|
||||
if (s.getAttachment() != null) {
|
||||
sb.append("::").append(s.getAttachment());
|
||||
}
|
||||
|
||||
if (s.isWildcard()) {
|
||||
sb.append("*");
|
||||
}
|
||||
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user