Tu-154B2 version 3.1:
[fg:toms-fgdata.git] / Aircraft / tu154b / Nasal / mapcase.nas
1 ######################################################################
2 #
3 # Map case inserted paper images (.svg or .png in Instruments-3d/mapcase/).
4 #
5
6 var mapcase = canvas.new({
7     name: "MapCase",
8     size: [1024, 1024],
9     view: [1024, 988],
10     mipmapping: 1,
11 });
12 mapcase.addPlacement({ node: "mapcase" });
13 mapcase.setColorBackground(0.82, 0.82, 0.82, 0);
14
15 var root = mapcase.createGroup();
16
17 var load_page = func(i) {
18     var dir = getprop("sim/aircraft-dir")~"/";
19     var filename = "Instruments-3d/mapcase/"~page~".svg";
20     var svg = 1;
21     if (io.stat(dir~filename) == nil) {
22        filename = "Instruments-3d/mapcase/"~page~".png";
23        svg = 0;
24        if (io.stat(dir~filename) == nil)
25            return nil;
26     }
27     print("Loading ", filename);
28     var g = root.createChild("group", page);
29     if (svg)
30         canvas.parsesvg(g, filename);
31     else
32         g.createChild("image").setFile(filename).setSize(1024, 988);
33     g.hide();
34     return g;
35 }
36
37 print("Map case page loader started");
38 var page = 1;
39 while (load_page(page) != nil)
40     page += 1;
41 print("Map case page loader done");
42
43 setprop("tu154/instrumentation/mapcase/page", 1);
44
45 var switch_page = func(i) {
46     var pages = size(root.getChildren());
47     if (!pages)
48         return;
49     var page = getprop("tu154/instrumentation/mapcase/page");
50     root.getElementById(page).hide();
51     page += i;
52     if (page < 1)
53         page = pages;
54     else if (page > pages)
55         page = 1;
56     setprop("tu154/instrumentation/mapcase/page", page);
57     root.getElementById(page).show();
58 }
59 switch_page(0);