1# See: http://wiki.flightgear.org/MapStructure 2# 3# GPS line. Displays GPS leg information 4 5# Class things: 6var name = 'GPS'; 7var parents = [LineSymbol]; 8var __self__ = caller(0)[0]; 9LineSymbol.makeinstance( name, __self__ ); 10 11SymbolLayer.get(name).df_style = { # style to use by default 12 line_width: 5, 13 color: [1,0,1], 14 line_dash: [] 15}; 16 17var getLineStyle = func(property, df_val){ 18 var type = nil; 19 if(typeof(me.model) == 'hash'){ 20 type = me.model.type; 21 } 22 if(type != nil and type != 'current'){ 23 var base_prop = property; 24 property = property~'_'~type; 25 me.getStyle(property, me.getStyle(base_prop, df_val)); 26 } else { 27 me.getStyle(property, df_val); 28 } 29}; 30 31var setRouteStyle = func{ 32 var df_style = SymbolLayer.get(name).df_style; 33 var dash = me.getLineStyle('line_dash', []); 34 var color = me.getLineStyle('color', df_style.color); 35 var line_width = me.getLineStyle('line_width', df_style.line_width); 36 me.element.setColor(color).setStrokeLineWidth(line_width); 37 if(typeof(dash) == 'vector') 38 me.element.setStrokeDashArray(dash); 39}; 40 41var init = func { 42 me.setRouteStyle(); 43}; 44