1
0
Fork 0
fgdata/Nasal/canvas/map/APT.symbol

44 lines
1.2 KiB
Text

# See: http://wiki.flightgear.org/MapStructure
# Class things:
var name = 'APT';
var parents = [DotSym];
var __self__ = caller(0)[0];
DotSym.makeinstance( name, __self__ );
var element_type = "group"; # we want a group, becomes "me.element"
var icon_apt = nil;
var text_apt = nil;
# add the draw routine from airports-nd.draw here
var init = func {
var icon_apt = nil;
var style = me.layer.style;
var svg_path = style.svg_path;
if (svg_path != nil) {
canvas.parsesvg(me.element, svg_path);
} else {
icon_apt = me.element.createChild("path", name ~ " icon" )
.moveTo(-17,0)
.arcSmallCW(17,17,0,34,0)
.arcSmallCW(17,17,0,-34,0)
.close()
.setColor(style.color_default)
.setStrokeLineWidth(style.line_width);
}
var text = me.getLabelFromModel();
if(text == nil){
text = me.model.id;
}
var text_apt = me.element.createChild("text", name ~ " label")
.setDrawMode( canvas.Text.TEXT )
.setTranslation(style.text_offset)
.setText(text)
.setFont("LiberationFonts/LiberationSans-Regular.ttf")
.setColor(style.label_font_color)
.setFontSize(style.label_font_size);
# FIXME: this applies scale to the whole group, better do this separately for each element?
me.element.setScale(style.scale_factor);
};
var draw = func;