prepare for adopting MapStructure
[fg:hoorays-fgdata.git] / Nasal / canvas / map / FIX.symbol
1 # Class things:
2 var name = 'FIX';
3 var parents = [DotSym];
4 var __self__ = caller(0)[0];
5 DotSym.makeinstance( name, __self__ );
6
7 var element_type = "group"; # we want a group, becomes "me.element"
8 var inited = 0; # this allows us to track whether draw() is an init() or an update()
9 var range_vor = nil; # two elements that get drawn when needed
10 var radial_vor = nil; # if one is nil, the other has to be nil
11
12 var draw = func {
13         # print("drawing fix" ); # weird: even having just a print statement here causes a segfault, need to investigate
14         var fix = me.model;
15
16         var lat = fix.lat;
17         var lon = fix.lon;
18         var name = fix.id;
19
20         var fix_grp = me.element.createChild("group",'fix-'); # one group for each fix
21
22         # the fix symbol
23         var icon_fix = fix_grp.createChild("path", "fix-icon-")
24                 .moveTo(-15,15)
25                 .lineTo(0,-15)
26                 .lineTo(15,15)
27                 .close()
28                 .setStrokeLineWidth(3)
29                 .setColor(0,0.6,0.85)
30                 .setScale(0.5,0.5); # FIXME: do proper LOD handling here - we need to scale according to current texture dimensions vs. original/design dimensions
31         return; # FIXME: not returning here yields a weird segfault here ATM ....
32         # the fix label
33         var text_fix = fix_grp.createChild("text", 'fix-label-')
34                 .setDrawMode( canvas.Text.TEXT )
35                 .setText("Foo")
36                 .setFont("LiberationFonts/LiberationSans-Regular.ttf")
37                 .setFontSize(28)
38                 .setTranslation(5,25);
39         # the fix position
40         fix_grp.setGeoPosition(lat, lon)
41                 .set("z-index",3);
42 };
43