# See: http://wiki.flightgear.org/MapStructure # # GPS line. Displays GPS leg information # Class things: var name = 'GPS'; var parents = [LineSymbol]; var __self__ = caller(0)[0]; LineSymbol.makeinstance( name, __self__ ); SymbolLayer.get(name).df_style = { # style to use by default line_width: 5, color: [1,0,1], line_dash: [] }; var getLineStyle = func(property, df_val){ var type = nil; if(typeof(me.model) == 'hash'){ type = me.model.type; } if(type != nil and type != 'current'){ var base_prop = property; property = property~'_'~type; me.getStyle(property, me.getStyle(base_prop, df_val)); } else { me.getStyle(property, df_val); } }; var setRouteStyle = func{ var df_style = SymbolLayer.get(name).df_style; var dash = me.getLineStyle('line_dash', []); var color = me.getLineStyle('color', df_style.color); var line_width = me.getLineStyle('line_width', df_style.line_width); me.element.setColor(color).setStrokeLineWidth(line_width); if(typeof(dash) == 'vector') me.element.setStrokeDashArray(dash); }; var init = func { me.setRouteStyle(); };