# See: http://wiki.flightgear.org/MapStructure
# Class things:
var name = 'WPT';
var parents = [DotSym];
var __self__ = caller(0)[0];
DotSym.makeinstance( name, __self__ );

SymbolLayer.get(name).df_style = { # style to use by default
	line_width: 3,
	scale_factor: 1,
	font: "LiberationFonts/LiberationSans-Regular.ttf",
	font_size: 28,
	font_color: [1,0,1],
	active_color: [1,0,1],
	inactive_color: [1,1,1],
};

var element_type = "group"; # we want a group, becomes "me.element"
var active = nil;

var init = func {
	me.path = me.element.createChild("path")
		.setStrokeLineWidth(me.style.line_width)
		.moveTo(0,-25)
		.lineTo(-5,-5)
		.lineTo(-25,0)
		.lineTo(-5,5)
		.lineTo(0,25)
		.lineTo(5,5)
		.lineTo(25,0)
		.lineTo(5,-5)
		.setColor(1,1,1)
		.close()
		.setScale(me.style.scale_factor);

	me.text = me.newText(me.model.name, me.style.font_color)
		.setTranslation(25,35)
		.setScale(me.style.scale_factor);

	me.draw();
};
var draw = func {
	var active = (getprop(me.options.current_wp_node) == me.model.idx);
	if (active != me.active) {
		me.path.setColor(
			active ?
			me.style.active_color :
			me.style.inactive_color
		);
		me.text.setColor(
			active ?
			me.style.active_color :
			me.style.inactive_color
		);
		me.active = active;
	}
};