# 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;