complete arbitrary sublayer support; fix roundabout tagging issue; couple of small...
[potlatch2.git] / net / systemeD / halcyon / styleparser / StyleList.as
1 package net.systemeD.halcyon.styleparser {
2
3         public class StyleList {
4
5                 /*
6                         A StyleList object is the full list of all styles applied to 
7                         a drawn entity (i.e. node/way).
8                         
9                         Each array element applies to that sublayer (z-index). If there
10                         is no element, nothing is drawn on that sublayer.
11
12                 */
13
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
21                 public function hasStyles():Boolean {
22                         return ( hasShapeStyles() || hasTextStyles() || hasPointStyles() || hasShieldStyles() );
23                 }
24                 
25                 public function addSublayer(s:Number):void {
26                         if (sublayers.indexOf(s)==-1) { sublayers.push(s); }
27                 }
28
29                 private function hasShapeStyles():Boolean  { for (var a:String in shapeStyles ) { return true; }; return false; }
30                 private function hasTextStyles():Boolean   { for (var a:String in textStyles  ) { return true; }; return false; }
31                 private function hasPointStyles():Boolean  { for (var a:String in pointStyles ) { return true; }; return false; }
32                 private function hasShieldStyles():Boolean { for (var a:String in shieldStyles) { return true; }; return false; }
33         }
34 }