1 package net.systemeD.halcyon.styleparser {
3 public class StyleList {
6 A StyleList object is the full list of all styles applied to
7 a drawn entity (i.e. node/way).
9 Each array element applies to that sublayer (z-index). If there
10 is no element, nothing is drawn on that sublayer.
14 public var shapeStyles:Object={};
15 public var textStyles:Object={};
16 public var pointStyles:Object={};
17 public var shieldStyles:Object={};
18 public var maxwidth:Number=0;
19 public var sublayers:Array=[];
20 public var validAt:int=-1; // zoom level at which this StyleList is valid, or -1 for all
22 public function hasStyles():Boolean {
23 return ( hasShapeStyles() || hasTextStyles() || hasPointStyles() || hasShieldStyles() );
26 public function addSublayer(s:Number):void {
27 if (sublayers.indexOf(s)==-1) { sublayers.push(s); }
30 public function toString():String {
33 for (k in shapeStyles) { str+="- SS "+k+"="+shapeStyles[k]+"\n"; }
34 for (k in textStyles) { str+="- TS "+k+"="+textStyles[k]+"\n"; }
35 for (k in pointStyles) { str+="- PS "+k+"="+pointStyles[k]+"\n"; }
36 for (k in shieldStyles) { str+="- sS "+k+"="+shieldStyles[k]+"\n"; }
40 public function isValidAt(zoom:uint):Boolean {
41 return (validAt==-1 || validAt==zoom);
44 private function hasShapeStyles():Boolean { for (var a:String in shapeStyles ) { return true; }; return false; }
45 private function hasTextStyles():Boolean { for (var a:String in textStyles ) { return true; }; return false; }
46 private function hasPointStyles():Boolean { for (var a:String in pointStyles ) { return true; }; return false; }
47 private function hasShieldStyles():Boolean { for (var a:String in shieldStyles) { return true; }; return false; }