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